【花雕体验】08 行空板硬件控制pinpong库的系列测试(之一)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1925|回复: 25

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

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

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


动图


【花雕体验】01 上手行空板
https://www.arduino.cn/thread-108726-1-1.html
【花雕体验】02 行空板简单使用
https://www.arduino.cn/thread-108729-1-1.html
【花雕体验】03 搭建行空板开发环境之Mind+编程
https://www.arduino.cn/thread-108737-1-1.html
【花雕体验】04 测试行空板常用功能
https://www.arduino.cn/thread-108746-1-1.html
【花雕体验】05 搭建行空板开发环境之SSH连接与Jupyter编程
https://www.arduino.cn/thread-108772-1-1.html
【花雕体验】06 搭建行空板开发环境之Thonny编程
https://www.arduino.cn/thread-108782-1-1.html
【花雕体验】07 搭建行空板开发环境之VSCode编程
https://www.arduino.cn/thread-108784-1-1.html
【花雕体验】08 行空板硬件控制pinpong库的系列测试(之一)
https://www.arduino.cn/thread-108786-1-1.html

 楼主| 发表于 2022-6-17 17:56 | 显示全部楼层
本帖最后由 eagler8 于 2022-6-18 04:48 编辑

1、行空板板载传感器与接口布局图

17.1-176-0.jpg
 楼主| 发表于 2022-6-17 18:12 | 显示全部楼层
2、行空板上板载了一颗单片机协处理器负责板载元件及GPIO的控制,因此我们通过Python进行控制需要使用pinpong库(固件内置,不用安装)。

安装:

  1. pip install pinpong
复制代码


更新:

  1. pip install -U pinpong
复制代码


 楼主| 发表于 2022-6-17 18:19 | 显示全部楼层
本帖最后由 eagler8 于 2022-6-17 18:23 编辑

3、pinpong库是一套控制开源硬件主控板的Python库,基于Firmata协议并兼容MicroPython语法,5分钟即可让你上手使用Python控制开源硬件。

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

pinpong库的名称由“Pin”和“Pong”组成,“Pin”指引脚,“PinPong”为“乒乓球”的谐音,指信号的往复。

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

官方文档:https://pinpong.readthedocs.io/zh_CN/latest/

点击观看pinpong入门视频互动教程:

https://www.bilibili.com/video/BV17K4y1T7MF

17.1-175.jpg



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

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

17.1-176.jpg



 楼主| 发表于 2022-6-18 04:43 | 显示全部楼层
本帖最后由 eagler8 于 2022-6-18 07:01 编辑

5、行空板板载资源的系列测试
(1)板载蓝色LED灯(简称L)
【科普知识点】发光二极管(英语:light-emitting diode,简称LED)是一种半导体光源,当电流通过它时会发光;即一种电致发光的半导体电子元件,其内电子与电子空穴复合,以光子的形式释放能量。发光二极管结构的核心部分是p-n结,周边部分有环氧树脂密封其引线与框架以保护内部芯线。当p-n结通以正向电流时,能发射可见或非可见辐射,此辐射为透过三价与五价元素所组成复合光源。发光二极管只能够往一个方向导通(通电),叫作正向偏置;当电流流过时,电子与电洞(电子空穴)在其内复合而发出单色光,这叫“电致发光效应”;而光线的波长、颜色跟其所采用的半导体物料种类与故意掺入的元素杂质有关。发光二极管具有效率高、寿命长、不易破损、反应速度快、可靠性高等传统光源不及的优点。

发光二极管(LED)于1962年出现时,只能发出低光度的红光,被惠普买下专利后当作指示灯利用。其后发展出其他单色光的版本,时至今日,能够发出的光已经遍及可见光、红外线及紫外线,光度亦提高到相当高的程度。随着白光发光二极管的出现,用途已由初期的指示灯及显示板等指示用途,逐渐发展至近年的照明用途。白光LED的发光效率近期亦有所进步,其每千流明成本,因大量资金投入已使价格下降,近年在照明用途上愈趋普及。

17.1-177.jpg
 楼主| 发表于 2022-6-18 05:02 | 显示全部楼层
本帖最后由 eagler8 于 2022-6-18 05:04 编辑

行空板背面有一颗蓝色LED灯(标记为L)可供用户控制。
L灯为高低电平控制,接到了行空板的P25接口上,因此控制P25即可控制L灯。

  1. 语法:Pin(Pin.P25, Pin.OUT).write_digital(电平信号)
  2. 返回值:无
  3. 输入参数:1高电平, 0低电平
复制代码


17.1-178.jpg


 楼主| 发表于 2022-6-18 06:00 | 显示全部楼层
#【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
# 行空板板载资源的测试
# 测试程序一:板载蓝色LED灯(简称L)

  1. #【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
  2. # 行空板板载资源的测试
  3. # 测试程序一:板载蓝色LED灯(简称L)

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

  7. Board().begin()    #初始化
  8. #引脚初始化为电平输出模式,P25为L灯的引脚
  9. led = Pin(Pin.P25, Pin.OUT)
  10. print("板载蓝色LED灯测试")

  11. while True:
  12.   #led.value(1) #输出高电平 方法1
  13.   led.write_digital(1) #输出高电平 方法2
  14.   print("1点亮LED") #终端打印信息
  15.   time.sleep(1) #等待1秒 保持状态

  16.   #led.value(0) #输出低电平 方法1
  17.   led.write_digital(0) #输出低电平 方法2
  18.   print("0熄灭LED") #终端打印信息
  19.   time.sleep(1) #等待1秒 保持状态
复制代码




 楼主| 发表于 2022-6-18 06:14 | 显示全部楼层
实验场景图(点亮熄灭蓝色LED)


17.1-179.jpg
 楼主| 发表于 2022-6-18 06:18 | 显示全部楼层
【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
行空板板载资源的测试——Mind+图形编程
测试程序二:板载蓝色LED灯(简称L)

17.1-180.jpg

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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 08:32 , Processed in 0.138856 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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