1、pinpong库是一套控制开源硬件主控板的Python库,基于Firmata协议并兼容MicroPython语法,5分钟即可让你上手使用Python控制开源硬件。借助于pinpong库,直接用Python代码就能给各种常见的开源硬件编程。其原理是给开源硬件烧录一个特定的固件,使开源硬件可以通过串口与电脑通讯,执行各种命令。

pinpong库的名称由“Pin”和“Pong”组成,“Pin”指引脚,“PinPong”为“乒乓球”的谐音,指信号的往复。pinpong库的设计,是为了让开发者在开发过程中不用被繁杂的硬件型号束缚,而将重点转移到软件的实现。哪怕程序编写初期用Arduino开发,部署时改成了掌控板,只要修改一下硬件的参数就能正常运行,实现了“一次编写处处运行”。

2、pinpong库导入方法
pinpong库由于支持众多的主控板及开源硬件,因此分成了3个包,board、extension和libs,board包中放置主板支持的功能及常用库,extension为定制类主控,libs中放置其他传感器的扩展库。pinpong库支持多块主控板的使用,因此可以指定板型及端口号并生成对象,因为行空板上固定为协处理器并且端口号固定,因此可以省略掉这些参数而直接初始化。

from pinpong.board import xxx   #board包中的库
from pinpong.libs.xxx    #libs包中的库
from pinpong.extension.xxx    #extension包中的主板Board().begin() #初始化,连接协处理器,检查固件为空或版本不对则自动烧录

3、实验硬件

4、9G舵机
是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。舵机主要由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原理是由接收机或者单片机发出信号给舵机,其内部有一个基准电路,产生周期为20ms,宽度为1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。经由电路板上的IC 判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到达定位。适用于那些需要角度不断变化并可以保持的控制系统。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。一般舵机旋转的角度范围是0 度到180 度。

PWM信号和舵机转动角度的关系
说到舵机的控制信号,一般是脉宽调制(PWM)信号,如下图,直观反映了PWM信号和舵机转动角度的关系,你也可以简单的理解为,通过给舵机通电的时间控制,结合角度传感器的反馈信号检测和控制,实现了舵机的精确角度控制。舵机的控制信号周期为20MS的脉宽调制信号(PWM),其中脉宽从0.5ms-2.5ms,相应的舵盘位置从0-180度,呈线型变化。也就是说,给舵机提供一定的脉宽,他的输出轴就会保持一定的对应角度,无论外接转矩怎么改变,知道给他提供另外一个脉冲信号,他才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路,产生周期为20MS,宽度为1.5MS的脉冲信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。舵机是一种位置伺服驱动器,转动范围不能超过180度,适用于那些需要不断变化并可以保持的驱动器中,比喻说机器人的关节、飞机的舵面等。

【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
行空板测试外接传感器模块——Mind+代码编程
测试程序二十一:行空板P21口控制舵机
实验接线:行空板P21口接9G舵机模块

#【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
#行空板测试外接传感器模块——Mind+代码编程
#测试程序二十一:行空板P21口控制舵机
#实验接线:行空板P21口接9G舵机模块from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
from pinpong.board import Servo
import timeBoard().begin()
servo1 = Servo(Pin((Pin.P21)))while True:servo1.write_angle(45)time.sleep(2)servo1.write_angle(90)time.sleep(2)servo1.write_angle(180)time.sleep(2)servo1.write_angle(0)time.sleep(2)

实验测试视频(29秒)

https://v.youku.com/v_show/id_XNTg4MTgyMDg0OA==.html

【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
行空板测试外接传感器模块——Mind+图形编程
测试程序二十二:行空板P21口控制舵机
实验接线:行空板P21口接9G舵机模块

实验串口返回情况

实验场景图

5、DHT11温湿度传感器
DHT11是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。

模块描述
(1)可以检测周围环境的湿度和温度
(2)传感器采用DHT11
(3)湿度测量范围:20%-95%(0度-50度范围)湿度测量误差:±5%
(4)温度测量范围:0度-50度 温度测量误差:±2度
(5)工作电压3.3V-5V
(6)输出形式 数字输出
(7)设有固定螺栓孔,方便安装
(8)小板PCB尺寸:3.2cm*1.4cm
(9)电源指示灯(红色)
(10)每套重量约为8g

【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
行空板测试外接传感器模块——Mind+代码编程
测试程序二十三:行空板P21口读取DHT11温湿度传感器数值
实验接线:行空板P21口接DHT11温湿度传感器模块

#【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
#行空板测试外接传感器模块——Mind+代码编程
#测试程序二十三:行空板P21口读取DHT11温湿度传感器数值
#实验接线:行空板P21口接DHT11温湿度传感器模块from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
from pinpong.board import DHT11
import timeBoard().begin()
print("行空板P21口读取DHT11温湿度传感器数值")
DHT11 = DHT11(Pin((Pin.P21)))while True:print("温度=")print(DHT11.temp_c())print("湿度=")print(DHT11.humidity())time.sleep(1)

实验串口返回情况

【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
行空板测试外接传感器模块——Mind+图形编程
测试程序二十四:行空板P21口读取DHT11数值并控制LED
实验接线:行空板P21口接DHT11温湿度传感器模块
行空板P22口接LED模块

实验串口返回情况

实验场景图

6、蜂鸣器
(1)有源蜂鸣器(Active buzzer)内建了一组固定的频率,只要接通电源,就会发出固定的音调。蜂鸣器的源,这里指的是震荡源。也就是说有源蜂鸣器内部带有多谐振荡器,可以产生 1.5kHZ-2.5kHZ 的电压信号,由此有源蜂鸣器才能发声。有源蜂鸣器、无源蜂鸣器的外型很像,一般有源蜂鸣器会在上面贴一个白色贴纸,另外,有源蜂鸣器底部也会有胶封,无源蜂鸣器的底部可以直接看到电路板。有源蜂鸣器往往比无源的贵一点,就是因为里面多个震荡电路。有源蜂鸣器的优点是,编程控制简单方便,适合大部分的简单使用场景。缺点是只能在固定频率上运行,从而降低了随着应用需求变化而实现备用频率的灵活性。有源蜂鸣器工作的理想信号是直流电,通常标示为VDC、VDD等。因为蜂鸣器内部有一简单的振荡电路,能将恒定的直流电转化成一定频率的脉冲信号,从而实现磁场交变,带动铝片振动发音。但是在某些有源蜂鸣器在特定的交流信号下也可以工作,只是对交流信号的电压和频率要求很高,此种工作方式一般不采用。

(2)无源蜂鸣器(Passive Buzzer)在字义上说,即不带振荡源,在没有振荡电路情况下接上直流电,因输出电压没有变化,蜂鸣器片仍然保持沉默,所以我们需从外接振荡器。看似不方便,但亦有其优点。首先,零件数量少,售价较低是常识吧!其次,我们可脱离一般蜂鸣器只可发出单音的局限,自由控制输出声音频率,便可透过编程写出不同音阶和延续时间,合成一首旋律美妙的音乐。无源蜂鸣器没有内部驱动电路,有些公司和工厂称为讯响器,国标中称为声响器。无源蜂鸣器工作的理想信号方波。如果给予直流信号蜂鸣器是不响应的,因为磁路恒定,钼片不能振动发音。

【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
行空板测试外接传感器模块——Mind+代码编程
测试程序二十五:行空板P21口驱动蜂鸣器(无源)
实验接线:行空板P21口接蜂鸣器模块

#【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
#行空板测试外接传感器模块——Mind+代码编程
#测试程序二十五:行空板P21口驱动蜂鸣器(无源)
#实验接线:行空板P21口接蜂鸣器模块from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
from pinpong.board import Tone
import timeBoard().begin()
tone1 = Tone(Pin((Pin.P21)))while True:tone1.on()tone1.freq(200)time.sleep(1)tone1.off()time.sleep(1)

【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
行空板测试外接传感器模块——Mind+图形编程
测试程序二十六:声光经警报器
实验接线:行空板P21口接蜂鸣器模块,P22口接LED

实验场景图

7、超声波测距模块
(1)主要参数
使用电压:DC—5V
静态电流:小于2mA
电平输出:高5V
电平输出:底0V
感应角度:不大于15度
探测距离:2cm-450cm
高精度 可达0.2cm
接线方式:VCC、trig(控制端)、echo(接收端)、 GND

测距原理
超声波具有频率较高,沿直线传播、方向性好、绕射小、穿透力强、传播速度慢(约340m/s,与声速相同)等特点。超声波对固体和液体的穿透能力强,尤其对于在阳光下不透明的固体,可以穿透几十m的深度。超声波遇到杂质或分界面时会产生反射波,利用这一特性可构成超声波探伤仪或测距仪。超声波遇到移动物体时会产生多普勒效应(DopplerEffect),使接收到的频率发生变化,由此可制成多普勒测距系统。超声波测距原理是超声波发射探头发出的超声波脉冲,经媒质(空气)传到物体表面,反射后通过媒质(空气)传到接收探头,测出超声脉冲从发射到接收所需的时间,根据媒质中的声速,求得从探头到物体表面之间的距离。设探头到物体表面的距离为L,超声在空气中的传播速为v,从发射到接收所需的传播时间为t,则有:L=vt/2。由此可见,被测距离L与传播时间之间具有确定的函数关系,只要能测出时间t,即可求出距离L,通过软件实现直接在显示器上显示L的值。

(3)【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
行空板测试外接传感器模块——Mind+图形编程
测试程序二十七:行空板P21驱动超声波测距
实验接线:行空板P21口接Trig,P22口接Echo

(4)实验串口返回情况

(5)实验场景图

【花雕体验】14 行空板pinpong库测试外接传感器模块相关推荐

  1. 【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)

    6.基础GPIO使用 行空板引脚操作与pinpong通用语法相同. [花雕体验]01上手行空板 https://blog.csdn.net/weixin_41659040/article/detail ...

  2. 【行空板教程】写字板

    [行空板教程]写字板 前言 我们知道行空板有一块2.8寸的彩屏还一块触摸屏,不搞点事情总感觉浪费了,之前做了语音识别的教程,很多读者都用语音识别做了很多有趣的小项目,那么我就想能不能做一个手写输入法呢 ...

  3. 【花雕体验】08 行空板硬件控制pinpong库的系列测试(之一)

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

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

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

  5. 【花雕体验】05 搭建行空板开发环境之SSH连接与Jupyter编程

    行空板支持多种编程软件,除了内置Jupyter编辑器,同时还支持IDLE,Thonny,VSCode等一切能输出py文件的编程软件,或者使用更极客的SSH命令行工具,以及还有Mind+的支持,也可以使 ...

  6. 【花雕体验】02 行空板简单使用

    早上起来,在看旺仔爸爸的视频时,偶然知道了行空板的主控芯片是福州一家企业生产的,作为福州人有点自豪了,看来还是有缘分的. [花雕体验]01上手行空板 https://blog.csdn.net/wei ...

  7. 【花雕体验】04 测试行空板的常用功能

    行空板是一款专为Python学习和使用设计的新一代国产开源硬件,采用单板计算机架构,集成LCD彩屏.WiFi蓝牙.多种常用传感器和丰富的拓展接口.同时,其自带Linux操作系统和Python环境,还预 ...

  8. 【花雕体验】01上手行空板

    上手行空板 [花雕体验]01上手行空板 https://blog.csdn.net/weixin_41659040/article/details/125234791 [花雕体验]02 行空板简单使用 ...

  9. 【花雕体验】07 搭建行空板开发环境之VSCode编程

    行空板作为一台4核单板微型计算机,运行完整Python,亦可体验海量Python库,极简操作只需2步即可拥抱Python,多种连接方式,集成度高,利于教学,接口丰富扩展性强,是新一代Python教学利 ...

最新文章

  1. Java程序员的春天!springdocker部署
  2. Windows环境下maven 安装与环境变量配置
  3. Flume的Avro Sink和Avro Source研究之一: Avro Source
  4. SpringBoot入门教程(一)详解intellij idea搭建SpringBoot
  5. 这么多Apache顶级项目,SkyWalking为何一枝独秀?
  6. 真正好的东西,就会脱颖而出
  7. Notification通知
  8. EntityTransaction
  9. 【多目标优化求解】基于matlab金鹰算法求解多目标优化问题【含Matlab源码 188期】
  10. 输入框中有内容才激活组件
  11. 第9章 项目-房屋出租系统
  12. 计算机基础excel操作试题,大学计算机基础 excel测试题 求答案~~喵~~
  13. MCE | 癌相关基因 ALK 参与胖瘦调节
  14. 简易计算机系统综合设计--函数发生器
  15. 关于获取电信光猫超级密码
  16. java ee 7精粹_Java EE 7精粹 ([美]Arun Gupta) 中文pdf扫描版[68MB]
  17. 吉他“和弦”是什么?
  18. 微信搜索引擎中索引的分布式演进
  19. EasyExcel报错空指针异常
  20. 【最全】ISTQB- FL模拟题(含答案)

热门文章

  1. 分布式与集群的区别究竟是什么?
  2. United Plugins Total Bundle for Mac(联合音频插件合集包)
  3. 蓝桥杯刷题021——填字母游戏(DFS)
  4. C++ COleDateTime
  5. Nouveau——第三方开源NVIDIA驱动
  6. dts、dws文件介绍
  7. 绝对定位和相对定位的区别(详解)
  8. 计算机毕业设计Node.js+Vue二手图书回收销售网站(程序+源码+LW+部署)
  9. python按固定采样点个数分割wav格式音频
  10. iPad应用开发实践指南:菜鸟如何用ios 5开发ipad上的复杂应用程序