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

2022-06-192万
AI 快速预览详细 收起
本文介绍了行空板的基础GPIO操作方法,通过使用pinpong库进行引脚配置和控制。文章提供了具体的代码示例和调试经验,帮助用户快速掌握基础GPIO操作。适合零基础的新手,让读者能够轻松上手并完成项目。
6、基础GPIO使用
行空板引脚操作与pinpong通用语法相同。

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

【花雕体验】01上手行空板
https://mc.dfrobot.com.cn/thread-313417-1-1.html
【花雕体验】02 行空板简单使用
https://mc.dfrobot.com.cn/thread-313421-1-1.html
【花雕体验】03 搭建行空板开发环境之Mind+编程
https://mc.dfrobot.com.cn/thread-313427-1-1.html
【花雕体验】04 测试行空板常用功能
https://mc.dfrobot.com.cn/thread-313434-1-1.html
【花雕体验】05 搭建行空板开发环境之SSH连接与Jupyter编程
https://mc.dfrobot.com.cn/thread-313461-1-1.html
【花雕体验】06 搭建行空板开发环境之Thonny编程
https://mc.dfrobot.com.cn/thread-313465-1-1.html
【花雕体验】07 搭建行空板开发环境之VSCode编程
https://mc.dfrobot.com.cn/thread-313468-1-1.html
【花雕体验】08 行空板硬件控制pinpong库的系列测试(之一)
https://mc.dfrobot.com.cn/thread-313470-1-1.html
【花雕体验】09 行空板硬件控制pinpong库的系列测试(之二)
https://mc.dfrobot.com.cn/thread-313486-1-1.html
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
https://mc.dfrobot.com.cn/thread-313492-1-1.html



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(29)
驴友花雕
驴友花雕
作者
实验场景图

驴友花雕
驴友花雕
作者
实验串口返回情况

驴友花雕
驴友花雕
作者
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+图形编程
测试程序二十:打印行空板P21口模拟值
实验接线:行空板P21口接一个电位器模块

驴友花雕
驴友花雕
作者
实验串口返回情况

驴友花雕
驴友花雕
作者
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+代码编程
测试程序十九:打印行空板P21口模拟值
实验接线:行空板P21口接一个电位器模块
[code]#【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
#行空板基础GPIO使用——Mind+代码编程
#测试程序十九:打印行空板P21口模拟值
#实验接线:行空板P21口接一个电位器模块
# -*- coding: UTF-8 -*-
import time
from pinpong.board import Board,Pin
Board().begin() #初始化
# ADC模拟输入引脚支持: P0 P1 P2 P3 P4 P10 P21 P22
#adc21 = ADC(Pin(Pin.P21)) #将Pin传入ADC中实现模拟输入 模拟输入方法1
adc21 = Pin(Pin.P21, Pin.ANALOG) #引脚初始化为电平输出 模拟输入方法2
print("打印行空板P21口模拟值")
while True:
#v = adc21.read() #读取模拟信号数值 0-4095 模拟输入方法1
v = adc21.read_analog() #读取模拟信号数值 0-4095 模拟输入方法2
print("P21=", v)
time.sleep(0.5)[/code]
驴友花雕
驴友花雕
作者
行空板支持8路12位高精度模拟输入ADC,分别对应引脚为: P0 P1 P2 P3 P4 P10 P21 P22

驴友花雕
驴友花雕
作者
【科普知识点】模拟数字转换器(英语:Analog-to-digital converter, ADC, A/D 或 A to D)是用于将模拟形式的连续信号转换为数字形式的离散信号的一类设备。一个模拟数字转换器可以提供信号用于测量。与之相对的设备成为数字模拟转换器。典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。然而,有一些模拟数字转换器并非纯的电子设备,例如旋转编码器,也可以被视为模拟数字转换器。模拟数字转换器的分辨率是指,对于允许范围内的模拟信号,它能输出离散数字信号值的个数。这些信号值通常用二进制数来存储,因此分辨率经常用比特作为单位,且这些离散值的个数是2的幂指数。例如,一个具有8位分辨率的模拟数字转换器可以将模拟信号编码成256个不同的离散值(因为28 = 256),从0到255(即无符号整数)或从-128到127(即带符号整数),至于使用哪一种,则取决于具体的应用。

驴友花雕
驴友花雕
作者
(4)模拟输入(ADC)
【科普知识点】模拟输入是指输入模拟信号(模拟量)。可以说,模拟输入就是输入连续信号。模拟输入是指传统方式的输入.数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。模拟量是与数字量对应的,所谓“模拟量”就是一般经常见到的,未经转化的连续变化量;数字量是断续的量,一般是(但不全是)经过转化的,可以用数字表示的量。举例说:用数字万用表测一个电压或电流信号,显然这时的量是连续变化的,所以是模拟量。到了万用表里,经过转换(称为A/D转换),就变成可以用数字计算机处理的量,这时就叫数字量了。再如:传统的手表,指针是连续移动的,所显示的时间就是模拟量的时间,而石英表、电子表显示的就是数字量的时间。所以,可以说,模拟输入就是输入连续信号。

驴友花雕
驴友花雕
作者
实验串口返回情况

驴友花雕
驴友花雕
作者
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+图形编程
测试程序十八:PWM输出实验,控制LED灯亮度变化
实验接线:外置LED灯接到行空板P21引脚上

驴友花雕
驴友花雕
作者
实验场景图

驴友花雕
驴友花雕
作者
实验串口返回情况

驴友花雕
驴友花雕
作者
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+代码编程
测试程序十七:PWM输出实验,控制LED灯亮度变化
实验接线:外置LED灯接到行空板P21引脚上
[code]#【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
#行空板基础GPIO使用——Mind+代码编程
#测试程序十七:PWM输出实验,控制LED灯亮度变化
#实验接线:外置LED灯接到行空板P21引脚上
# -*- coding: UTF-8 -*-
import time
from pinpong.board import Board,Pin
Board().begin() #初始化
print("PWM输出实验,控制LED灯亮度变化")
# PWM模拟输出引脚支持: P0 P2 P3 P10 P16 P21 P22 P23
#pwm21 = PWM(Pin(Pin.P21)) #将引脚传入PWM初始化 模拟输出方法1
pwm21 = Pin(Pin.P21, Pin.PWM) #初始化引脚为PWM模式 模拟输出方法2
while True:
for i in range(1023):
print(i)
#pwm21.duty(i) #PWM输出 方法1
pwm21.write_analog(i) #PWM输出 方法2
time.sleep(0.05)[/code]
驴友花雕
驴友花雕
作者
行空板支持8路10位PWM,分别对应引脚为: P21 P22 P23(金手指部分P0 P2 P3 P10 P16)
注意: 其中P8与P2共用一路PWM,P9与P10共用一路PWM,因此P8与P9也可以使用PWM,但使用时P2和P10不能使用。

驴友花雕
驴友花雕
作者
【科普知识点】PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。PWM的一个优点是从处理器到被控系统信号都是数字形式的,再进行数模转换。可将噪声影响降到最低(可以跟电脑一样)。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。

驴友花雕
驴友花雕
作者
(3)模拟输出(PWM)
【科普知识点】模拟量输出是计算机或控制系统输出的模拟量,在单片机控制系统中,输出信号中模拟量为数不少,它们是单片机输出的数字信号经过模拟量输出通道处理后得到的。模拟量输出通道的任务是把计算机处理后的数字量信号先通过数据总线、隔离装置,再通过D/A转换器转换成模拟电压或电流信号,经放大用以驱动相应的执行器,从而达到控制的目的。

驴友花雕
驴友花雕
作者
实验场景图

驴友花雕
驴友花雕
作者
实验串口返回情况

驴友花雕
驴友花雕
作者
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+代码编程
测试程序十六:使用按钮控制行空板外接LED灯的亮灭
实验接线:在行空板P21接一个LED灯,在行空板P22接口接一个按钮模块
[code]#【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
#行空板基础GPIO使用——Mind+代码编程
#测试程序十六:使用按钮控制行空板外接LED灯的亮灭
#实验接线:在行空板P21接一个LED灯,在行空板P22接口接一个按钮模块
#-*- coding: UTF-8 -*-
import time
from pinpong.board import Board,Pin
Board().begin() #初始化
print("使用按钮控制行空板外接LED灯的亮灭")
btn = Pin(Pin.P22, Pin.IN) #引脚初始化为电平输入
led = Pin(Pin.P21, Pin.OUT) #L灯引脚初始化为输出
while True:
#v = btn.value() #读取引脚电平方法1
v = btn.read_digital() #读取引脚电平方法2
print(v) #终端打印读取的电平状态
#led.value(v) #将按钮状态设置给led灯引脚 输出电平方法1
led.write_digital(v) #将按钮状态设置给led灯引脚 输出电平方法2
time.sleep(1)[/code]
驴友花雕
驴友花雕
作者
行空板板载四路3pin引脚(P2.0三针接口),包括P21(~A)\P22(~A)\P23(~)\P24,具体位置见图。
所有引脚均支持数字输入,电平电压为3.3V。