数码之家

 找回密码
 立即注册
搜索
查看: 464|回复: 22

【花雕体验】09 行空板硬件控制pinpong库的系列测试(之二)

[复制链接]
发表于 2022-6-18 19:27:01 | 显示全部楼层 |阅读模式
本帖最后由 eagler8 于 2022-6-18 19:28 编辑

行空板板身集成了光线传感器、麦克风、蜂鸣器、Wifi、蓝牙、加速度传感器、按键,正面配置有一块LCD彩屏,可实时呈现多种Python运行结果,包括文字、图片、视频,游戏画面,以及数据图表等。




【花雕体验】01上手行空板
https://www.mydigit.cn/thread-318081-1-1.html
【花雕体验】02 行空板简单使用
https://www.mydigit.cn/thread-318186-1-1.html
【花雕体验】03 搭建行空板开发环境之Mind+编程
https://www.mydigit.cn/thread-318338-1-1.html
【花雕体验】04 测试行空板常用功能
https://www.mydigit.cn/thread-318549-1-1.html
【花雕体验】05 搭建行空板开发环境之SSH连接与Jupyter编程
https://www.mydigit.cn/thread-319055-1-1.html
【花雕体验】06 搭建行空板开发环境之Thonny编程
https://www.mydigit.cn/thread-319154-1-1.html
【花雕体验】07 搭建行空板开发环境之VSCode编程
https://www.mydigit.cn/thread-319184-1-1.html
【花雕体验】08 行空板硬件控制pinpong库的系列测试(之一)
https://www.mydigit.cn/thread-319260-1-1.html
【花雕体验】09 行空板硬件控制pinpong库的系列测试(之二)
https://www.mydigit.cn/thread-319427-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +10 收起 理由
玛德陛下 + 10 謝謝分享

查看全部打赏

 楼主| 发表于 2022-6-18 20:02:35 | 显示全部楼层
5、行空板板载资源的系列测试
(4)板载声音传感器(硅麦)
【科普知识点】声音广泛的存在于生活中,我们可以利用声音做出很多交互控制,例如楼道的声控灯。 通过声音传感器,你可以在检测头(Mic)前拍掌或大声说话,就可以通过声音来控制了灯了。传感器将声音在咪头的震动,转换为电信号输出。 声音传感器内置一个对声音敏感的电容式驻极体话筒或者硅麦。声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。这一电压随后被转化成0-5V的电压,经过A/D转换被数据采集器接受。 声音传感器相当于一个话筒,它能感受到声音,并将感受到的声音大小转换成相应的模拟信号输出,被广泛应用于手机、录音机、声控照明灯、医疗器械、深海测量、交通干道噪声监测、工业企业噪声检测等场景中。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-18 20:22:11 | 显示全部楼层
行空板上的麦克风并非普通的声音传感器,而是使用了高质量的硅麦,可以直接录音做语音识别,因此接到了CPU而非协处理上,所以获取环境声音强度不使用pinpong库,而使用unihiker库中Audio类获取。

获取环境音量 sound_level
注:环境音量范围为0%-100%,与电脑上麦克风音量类似。

  1. 语法:Audio对象.sound_level()
  2. 返回值: 音量大小
  3. 输入参数: 无
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-18 20:38:55 | 显示全部楼层
本帖最后由 eagler8 于 2022-6-19 05:08 编辑

【花雕体验】09行空板硬件控制pinpong库的系列测试(之二)
行空板板载资源的测试——Mind+代码编程
测试程序八:板载声音传感器(测量环境声音强度)

  1. #【花雕体验】09行空板硬件控制pinpong库的系列测试(之二)
  2. # 行空板板载资源的测试——Mind+代码编程
  3. # 测试程序八:板载声音传感器(测量环境声音强度)

  4. #  -*- coding: UTF-8 -*-
  5. import time
  6. from unihiker import Audio

  7. audio = Audio() #实例化音频
  8. print("板载声音传感器(测量环境声音强度)")

  9. while True:
  10.     value = audio.sound_level() #获取环境音量
  11.     print("环境音=%d"%(value)) #终端打印信息
  12.     time.sleep(1) #等待1秒 保持状态
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-18 20:41:49 | 显示全部楼层
实验串口返回情况


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 05:09:08 | 显示全部楼层
【花雕体验】09行空板硬件控制pinpong库的系列测试(之二)
行空板板载资源的测试——Mind+图形编程
测试程序九:板载声音传感器(设定阙值的声控开关)



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 05:13:06 | 显示全部楼层
实验串口返回情况


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2022-6-19 09:42:05 | 显示全部楼层
谢谢楼主分享  学习一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 10:03:46 | 显示全部楼层
by64214 发表于 2022-6-19 09:42
谢谢楼主分享  学习一下

谢谢老师的鼓励
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 10:27:53 | 显示全部楼层
(5)板载蜂鸣器
【科普知识点】蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。按其驱动方式的原理分,可分为:有源蜂鸣器(内含驱动线路,也叫自激式蜂鸣器)和无源蜂鸣器(外部驱动,也叫他激式蜂鸣器)。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 10:31:56 | 显示全部楼层
本帖最后由 eagler8 于 2022-6-19 11:21 编辑

行空板背面板载一颗蜂鸣器(无源),可以发出设定的音调。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2022-6-19 10:50:51 来自手机浏览器 | 显示全部楼层
感觉全论坛就一人在玩这个。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 11:22:53 | 显示全部楼层
本帖最后由 eagler8 于 2022-6-19 11:23 编辑
玛德陛下 发表于 2022-6-19 10:50
感觉全论坛就一人在玩这个。。。

刚上手没有几天,还在学习中,谢谢您的鼓励
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 11:30:28 | 显示全部楼层
【花雕体验】09行空板硬件控制pinpong库的系列测试(之二)
行空板板载资源的测试——Mind+代码编程
测试程序十:测试板载蜂鸣器(简单曲子)

  1. #【花雕体验】08行空板硬件控制pinpong库的系列测试(之二)
  2. # 行空板板载资源的测试——Mind+代码编程
  3. #测试程序十:测试板载蜂鸣器(简单曲子)

  4. #  -*- coding: UTF-8 -*-
  5. from pinpong.extension.unihiker import *
  6. from pinpong.board import Board,Pin

  7. Board().begin()
  8. print("测试板载蜂鸣器(简单曲子)")

  9. while True:
  10.     buzzer.pitch(392,2)
  11.     buzzer.pitch(392,2)
  12.     buzzer.pitch(440,2)
  13.     buzzer.pitch(440,2)
  14.     buzzer.pitch(392,2)
  15.     buzzer.pitch(494,2)
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 11:35:07 | 显示全部楼层
【花雕体验】09行空板硬件控制pinpong库的系列测试(之二)
行空板板载资源的测试——Mind+图形编程
测试程序十一:连续播放三首内置的小曲段



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 11:50:58 | 显示全部楼层
(6)板载加速度传感器
【科普知识点】加速度传感器是一种能够测量加速度的传感器。通常由质量块、阻尼器、弹性元件、敏感元件和适调电路等部分组成。传感器在加速过程中,通过对质量块所受惯性力的测量,利用牛顿第二定律获得加速度值。根据传感器敏感元件的不同,常见的加速度传感器包括电容式、电感式、应变式、压阻式、压电式等。图为放大拍摄的板载加速度传感器芯片。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 13:11:30 | 显示全部楼层
网络上大致搜索了一下,型号为ICM-20689,是六轴加速度计传感器芯片IC 封装QFN24 丝印IC2689。查到的介绍是:

ICM-20689 是一款 6 轴 MotionTracking 设备,将 3 轴陀螺仪、3 轴加速度计组合在一个小型 4x4x0.9mm(24 引脚 QFN)封装中。

大型 4K 字节 FIFO 可减少串行总线接口上的流量,并通过允许系统处理器突发读取传感器数据然后进入低功耗模式来降低功耗±250dps、±500dps、±1000dps 和 ±2000dps 的陀螺仪可编程 FSR,具有±2g、±4g、±8g和±16g可编程FSR的加速度计,EIS FSYNC 支持ICM-20689 包括片上 16 位 ADC、可编程数字滤波器、嵌入式温度传感器和可编程中断。 该器件的工作电压范围低至 1.71 V。通信端口包括 I²C 和 8 MHz 的高速 SPI。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 13:16:45 | 显示全部楼层
行空板背面板载一颗6轴加速度陀螺仪传感器,可以分别读取加速度和陀螺仪的x、y、z的值

  1. 语法:
  2. 加速度:accelerometer.get_x() accelerometer.get_y() accelerometer.get_z() accelerometer.get_x()
  3. 陀螺仪:gyroscope.get_x() gyroscope.get_y() gyroscope.get_z()
  4. 返回值:加速度陀螺仪的值
  5. 输入值:无
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 14:04:09 | 显示全部楼层
【花雕体验】09行空板硬件控制pinpong库的系列测试(之二)
行空板板载资源的测试——Mind+代码编程
测试程序十二:测试板载6轴加速度陀螺仪传感器

  1. #【花雕体验】09行空板硬件控制pinpong库的系列测试(之二)
  2. #行空板板载资源的测试——Mind+代码编程
  3. #测试程序十二:测试板载6轴加速度陀螺仪传感器

  4. # -*- coding: utf-8 -*-
  5. import time
  6. from pinpong.board import *
  7. from pinpong.extension.unihiker import *

  8. Board().begin()  #初始化
  9. print("测试板载6轴加速度陀螺仪传感器")

  10. while True:
  11.   print(accelerometer.get_x())                    #读取加速度X的值
  12.   print(accelerometer.get_y())                    #读取加速度Y的值
  13.   print(accelerometer.get_z())                    #读取加速度Z的值
  14.   print(accelerometer.get_strength())             #读取加速度强度(x、y、z方向的合力)
  15.   print(gyroscope.get_x())                        #读取陀螺仪X的值
  16.   print(gyroscope.get_y())                        #读取陀螺仪Y的值
  17.   print(gyroscope.get_z())                        #读取陀螺仪Z的值
  18.   print("------------------")
  19.   time.sleep(1)
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-19 14:06:33 | 显示全部楼层
实验串口返回情况


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-26 01:08 , Processed in 0.109200 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表