• 【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)


    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() #初始化,连接协处理器,检查固件为空或版本不对则自动烧录
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    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 time
    
    Board().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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    实验测试视频(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 time
    
    Board().begin()
    print("行空板P21口读取DHT11温湿度传感器数值")
    DHT11 = DHT11(Pin((Pin.P21)))
    
    while True:
        print("温度=")
        print(DHT11.temp_c())
        print("湿度=")
        print(DHT11.humidity())
        time.sleep(1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    实验串口返回情况

    在这里插入图片描述

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

    在这里插入图片描述

    实验串口返回情况

    在这里插入图片描述

    实验场景图

    在这里插入图片描述

    (待续)

  • 相关阅读:
    风格迁移篇---重用鉴别器进行编码:朝向无监督的图像到图像转换
    面试官:Redis如何保证高可用?
    【UBOOT】1-使用与烧写
    XP-CLR分析学习笔记
    【UNI-APP】阿里NLS一句话听写typescript模块
    【数据mock】大数据Mock商城数据
    vue.js实现自定义tab滑动切换效果
    求生之路2专用服务器搭建对抗模式,药抗模式,特殊模式Ubuntu系统另附上游戏代码以及控制台代码
    ES倒排序索引
    【从测试小白到管理】这几点让我终身受益,没有人永远18岁,但永远有人18岁......
  • 原文地址:https://blog.csdn.net/weixin_41659040/article/details/125519167