锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

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

时间:2022-10-25 06:30:04 7p8pin连接器

6、基础GPIO使用
行空板引脚操作及pinpong通用语法相同。

在这里插入图片描述

【花雕体验】01手空板
https://blog.csdn.net/weixin_41659040/article/details/125234791
花雕体验02 简单使用行空板
https://blog.csdn.net/weixin_41659040/article/details/125241515
花雕体验03 构建行空板开发环境Mind
https://blog.csdn.net/weixin_41659040/article/details/125253024
花雕体验04 测试行空板的常用功能
https://blog.csdn.net/weixin_41659040/article/details/125270783
花雕体验05 构建行空板开发环境SSH连接与Jupyter编程
https://blog.csdn.net/weixin_41659040/article/details/125319343
花雕体验06 构建行空板开发环境Thonny编程
https://blog.csdn.net/weixin_41659040/article/details/125326750
花雕体验07 构建行空板开发环境VSCode编程
https://blog.csdn.net/weixin_41659040/article/details/125330242
花雕体验08 行空板硬件控制pinpong库系列测试(一)
https://blog.csdn.net/weixin_41659040/article/details/125336810
花雕体验09 行空板硬件控制pinpong库系列测试(二)
https://blog.csdn.net/weixin_41659040/article/details/125350752
10. 行空板硬件控制pinpong库系列测试(三)
https://blog.csdn.net/weixin_41659040/article/details/125358494

(1)数字输出
【科普知识点】数字信号输出高低电平,负载端需要数字处理电路,接收到的脉冲进一步转化为所需信号。二进制数字信号为01010101010110110……,数字输出的波形如图所示。

四路3行空板载pin引脚(P2.包括03针接口)P21(A)\P22(A)\P23(~)\P具体位置见图。

所有引脚均支持数字输出,电平电压为3.3V。

10. 行空板硬件控制pinpong库系列测试(三)
行空板基础GPIO使用——Mind 代码编程
测试程序14:外接LED灯一秒闪烁一次
实验接线:行空板P21接一个LED灯

#【花雕体验】10 行空板硬件控制pinpong库系列测试(三) #行空板基础GPIO使用——Mind 代码编程 #测试程序14:外接LED灯一秒闪烁一次 #实验接线:在行空板P21接一个LED灯  # -*- coding: UTF-8 -*- import time from pinpong.board import Board,Pin  Board().begin()               #初始化 print("外接LED灯一秒闪烁一次")   led = Pin(Pin.P21, Pin.OUT) #引脚最初化为电平输出  while True:   #led.value(1) #输出高电平 方法1   led.write_digital(1) #输出高电平 方法2   print("1") #终端打印信息   time.sleep(1) #等待1秒 保持状态    #led.value(0) #输出低电平 方法1   led.write_digital(0) #输出低电平 方法2   print("0") #终端打印信息   time.sleep(1) #等待1秒 保持状态 

实验串口返回

实验场景图

10. 行空板硬件控制pinpong库系列测试(三)
行空板基础GPIO使用——Mind 图形编程
测试程序15:外接LED灯0.5秒闪烁一次
实验接线:行空板P21接一个LED灯


实验串口返回

(2)数字输入
数字信号是指一组殊的状态来描述信号,典型的就是当前用最为常见的二进制数字来表示的信号,之所以采用二进制数字表示信号, 其根本原因是电路只能表示两种状态,即电路的通与断。在实际的数字信号传输中,通常是将一定范围的信息变化归类为状态0或状态1, 这种状态的设置大大提高了数字信号的抗噪声能力。不仅如此,在保密性、抗干扰、传输质量等方面,数字信号都比模拟信号要好,且更加节约信号传输通道资源。数字信号输入是逻辑编码,由0和1组成。

行空板板载四路3pin引脚(P2.0三针接口),包括P21(A)\P22(A)\P23(~)\P24,具体位置见图。

所有引脚均支持数字输入,电平电压为3.3V。

【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+代码编程
测试程序十六:使用按钮控制行空板外接LED灯的亮灭
实验接线:在行空板P21接一个LED灯,在行空板P22接口接一个按钮模块

#【花雕体验】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)

实验串口返回情况

实验场景图

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


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

行空板支持8路10位PWM,分别对应引脚为: P21 P22 P23(金手指部分P0 P2 P3 P10 P16)

注意: 其中P8与P2共用一路PWM,P9与P10共用一路PWM,因此P8与P9也可以使用PWM,但使用时P2和P10不能使用。


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

#【花雕体验】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)

实验串口返回情况

实验场景图


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

实验串口返回情况

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

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

行空板支持8路12位高精度模拟输入ADC,分别对应引脚为: P0 P1 P2 P3 P4 P10 P21 P22

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

#【花雕体验】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() #读取A0口模拟信号数值 0-4095 模拟输入方法1
  v = adc21.read_analog() #读取A0口模拟信号数值 0-4095 模拟输入方法2
  print("P21=", v)
  time.sleep(0.5)

实验串口返回情况

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

实验串口返回情况

实验场景图

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章