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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

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

[复制链接]
 楼主| 发表于 2022-6-20 03:15 | 显示全部楼层
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+代码编程
测试程序十六:使用按钮控制行空板外接LED灯的亮灭
实验接线:在行空板P21接一个LED灯,在行空板P22接口接一个按钮模块

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

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

  8. Board().begin()               #初始化
  9. print("使用按钮控制行空板外接LED灯的亮灭")


  10. btn = Pin(Pin.P22, Pin.IN) #引脚初始化为电平输入
  11. led = Pin(Pin.P21, Pin.OUT) #L灯引脚初始化为输出

  12. while True:
  13.   #v = btn.value()  #读取引脚电平方法1
  14.   v = btn.read_digital()  #读取引脚电平方法2
  15.   print(v)  #终端打印读取的电平状态
  16.   #led.value(v)  #将按钮状态设置给led灯引脚  输出电平方法1
  17.   led.write_digital(v) #将按钮状态设置给led灯引脚  输出电平方法2
  18.   time.sleep(1)
复制代码


 楼主| 发表于 2022-6-20 03:21 | 显示全部楼层
实验串口返回情况


17.1-216.jpg
 楼主| 发表于 2022-6-20 03:24 | 显示全部楼层
实验场景图


17.1-217.jpg
 楼主| 发表于 2022-6-20 09:14 | 显示全部楼层
(3)模拟输出(PWM)
【科普知识点】模拟量输出是计算机或控制系统输出的模拟量,在单片机控制系统中,输出信号中模拟量为数不少,它们是单片机输出的数字信号经过模拟量输出通道处理后得到的。模拟量输出通道的任务是把计算机处理后的数字量信号先通过数据总线、隔离装置,再通过D/A转换器转换成模拟电压或电流信号,经放大用以驱动相应的执行器,从而达到控制的目的。

17.1-218.jpg

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


17.1-219.jpg
 楼主| 发表于 2022-6-20 10:03 | 显示全部楼层
行空板支持8路10位PWM,分别对应引脚为:  P21 P22 P23(金手指部分P0 P2 P3 P10 P16)

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

17.1-220.jpg

 楼主| 发表于 2022-6-20 10:40 | 显示全部楼层
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+代码编程
测试程序十七:PWM输出实验,控制LED灯亮度变化
实验接线:外置LED灯接到行空板P21引脚上

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

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

  8. Board().begin()               #初始化
  9. print("PWM输出实验,控制LED灯亮度变化")

  10. # PWM模拟输出引脚支持: P0  P2  P3  P10  P16  P21  P22  P23
  11. #pwm21 = PWM(Pin(Pin.P21)) #将引脚传入PWM初始化  模拟输出方法1
  12. pwm21 = Pin(Pin.P21, Pin.PWM) #初始化引脚为PWM模式 模拟输出方法2

  13. while True:
  14.     for i in range(1023):
  15.         print(i)
  16.         #pwm21.duty(i) #PWM输出 方法1
  17.         pwm21.write_analog(i) #PWM输出 方法2
  18.         time.sleep(0.05)
复制代码


 楼主| 发表于 2022-6-20 10:42 | 显示全部楼层
实验串口返回情况


17.1-221-.jpg
 楼主| 发表于 2022-6-20 10:45 | 显示全部楼层
实验场景图


17.1-222.jpg
 楼主| 发表于 2022-6-20 11:45 | 显示全部楼层
【花雕体验】10 行空板硬件控制pinpong库的系列测试(之三)
行空板基础GPIO使用——Mind+图形编程
测试程序十八:PWM输出实验,控制LED灯亮度变化
实验接线:外置LED灯接到行空板P21引脚上

17.1-223-.jpg

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

本版积分规则

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

GMT+8, 2024-12-27 08:26 , Processed in 0.140535 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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