宜城龙山 发表于 2022-12-17 10:32

【行空板 Python编程学习主控板评测五】pinpong库使用

<div class='showpostmsg'><p align="center"><a name="_Hlk119705700"></a><b>【行空板 Python编程学习主控板评测五】pinpong库使用</b></p>

<p align="left" >&nbsp;</p>

<p align="left" ><b>一、Pingong库简介</b></p>

<p align="left" >pinpong库是一套控制开源硬件主控板的Python库,基于Firmata协议并兼容MicroPython语法,5分钟即可让你上手使用Python控制开源硬件。</p>

<p align="left" >借助于pinpong库,直接用Python代码就能给各种常见的开源硬件编程。其原理是给开源硬件烧录一个特定的固件,使开源硬件可以通过串口与电脑通讯,执行各种命令。</p>

<p align="left" >pinpong库的名称由&ldquo;Pin&rdquo;和&ldquo;Pong&rdquo;组成,&ldquo;Pin&rdquo;指引脚,&ldquo;PinPong&rdquo;为&ldquo;乒乓球&rdquo;的谐音,指信号的往复。</p>

<p align="left" >pinpong库的设计,是为了让开发者在开发过程中不用被繁杂的硬件型号束缚,而将重点转移到软件的实现。哪怕程序编写初期用Arduino开发,部署时改成了掌控板,只要修改一下硬件的参数就能正常运行,实现了&ldquo;一次编写处处运行&rdquo;。</p>

<p align="left" >本次评测的行空板支持pinpong库。</p>

<p align="left" >在mind+下选择开展图标便可进入pinpong库界面,如下图。支持的常用传感器类型多达10余种。本次主要针对DHT11温度传感器、舵机、超声传感器进行评测。</p>

<p align="center" > &nbsp;</p>

<p align="left" ><b>二、传感器介绍</b></p>

<ol>
        <li >温度传感器DHT11</li>
</ol>

<p >DHT11是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11与MCU之间能采用简单的单总线进行通信,仅仅需要一个I/O口。传感器内部湿度和温度数据40Bit的数据一次性传给MCU,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11功耗很低,5V电源电压下,工作平均最大电流 0.5mA。</p>

<p >DHT11 的技术参数如下:</p>

<ul>
        <li >工作电压范围:3.3V-5.5V</li>
        <li >工作电流 :平均 0.5mA</li>
        <li >输出:单总线数字信号</li>
        <li >测量范围:湿度 20~90%RH,温度 0~50℃</li>
        <li >精度 :湿度&plusmn;5%,温度&plusmn;2℃</li>
        <li >分辨率 :湿度 1%,温度 1℃</li>
</ul>

<p >DHT11 的管脚排列如下图所示:</p>

<p align="left" > &nbsp;</p>

<ol start="2">
        <li align="left" >舵机SG92R</li>
</ol>

<ul>
        <li >舵机的基本参数:</li>
        <li >外形尺寸:23&times;12.2&times;27mm</li>
        <li >输入电压:4.2v-6v</li>
        <li >工作温度:0-55℃</li>
        <li >舵机有三条线:</li>
        <li >信号线(黄线)</li>
        <li >红线(电源线VCC)</li>
        <li >棕色(底线GND)</li>
</ul>

<p >舵机工作原理:舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化。即给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。</p>

<p align="center" > &nbsp;</p>

<p align="left" ><b>三、Mind+环境测试</b></p>

<p >在pingong中选择DHT11传感器、舵机、超声传感器模块,在Mind+下我们得到如下积木界面:</p>

<p align="center" >&nbsp; &nbsp;</p>

<p ><b>1</b><b>、温度传感器DHT11</b></p>

<p >程序如下:</p>

<p align="center" > &nbsp;</p>

<p >运行结果如下:</p>

<p align="center" > &nbsp;</p>

<p ><b>2</b><b>、舵机SG92R</b></p>

<p >程序如下:</p>

<p align="center" > &nbsp;</p>

<p align="center" > &nbsp;</p>

<p align="center" > &nbsp;</p>

<p align="center" > &nbsp;</p>

<p align="center" >&nbsp;</p>

<p align="left" ><b>四、总结</b></p>

<p align="left" >通过使用pingong库在python环境下进行硬件开发简单易学,尤其适合中小学生,可以提高他们对硬件开发的兴趣。</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

Jacktang 发表于 2022-12-17 20:36

<p>用pingong库在python环境下可以到中小学编程普及一下,是个好主意</p>

yaoquan5201314 发表于 2022-12-31 19:56

<p>我用行空板的uart读取红外二氧化碳传感器数据,利用行空板的官方例程修改,运行错误,不知道咋弄。感觉行空板兼容dfrobot的传感器模组和其它控制器比较好,要想用行空板读取其它的传感器还是比较难的。</p>
页: [1]
查看完整版本: 【行空板 Python编程学习主控板评测五】pinpong库使用