当前位置: 首页 > news >正文

深圳做网站设计制作开发网站遭到攻击

深圳做网站设计制作开发,网站遭到攻击,南软科技网站开发,外贸网站 cms实例3:树莓派呼吸灯 实验目的 通过背景知识学习,了解digital与analog的区别。通过GPIO对外部LED灯进行呼吸控制,熟悉PWM技术。 实验要求 通过python编程,用GPIO控制LED灯,使之亮度逐渐增大,随后减小&am…

实例3:树莓派呼吸灯

实验目的

  1. 通过背景知识学习,了解digital与analog的区别。
  2. 通过GPIO对外部LED灯进行呼吸控制,熟悉PWM技术。

实验要求

通过python编程,用GPIO控制LED灯,使之亮度逐渐增大,随后减小,并循环上述过程,实现呼吸效果,周期为4s。

实验知识

1. 查看树莓派GPIO引脚图

pinout

参考链接:树莓派官方4B引脚图的详细资料

2.安装及引入RPi.GPIO库

sudo pip install RPi.GPIO # 命令行pip安装RPi.GPIO
import RPi.GPIO as GPIO # 在Python代码引入RPi.GPIO库

3. RPi.GPIO库的用法

GPIO.setmode(GPIO.BOARD) #初始化GPIO引脚编码方式,需放在代码正式开始处
# GPIO引脚由多种编码方式,比如BCM、wiringPi、BOARD等,方便起见,课程均采用BOARD编码模式
GPIO.setup(12, GPIO.OUT) #初始化GPIO引脚设置,需放在代码正式开始处
GPIO.setup(12, GPIO.IN) #12为引脚号 GPIO.IN或者GPIO.OU为输入输出模式
print(GPIO.input(12)) #GPIO.input查看GPIO输入的电平信号
#GPIO.HIGH为高电平 ,GPIO.LOW为低电平 也可用于条件判断作其他操作
# GPIO.output向端口发送高低电平信号
GPIO.output(12, GPIO.HIGH) # 此处以12号端口为例
GPIO.output(12, GPIO.LOW)
GPIO.cleanup() #在使用完GPIO后要作清理,避免后续引脚被占用

参考链接:Python RPi.GPIO库官方文档

图片2:树莓派LED灯细节图
在这里插入图片描述

4.什么是模拟?

LED灯在数字信号0和1的切换下发生亮灭的变化,但是,LED灯在亮和灭之间存在着许多中间状态,比如30%亮度、50%亮度,这些状态应该如何表示呢?这就要提到模拟、数字以及PWM技术了。
模拟信号(Analog)是指用连续变化的物理量表示的信号,分布于自然界的各个角落,如气温、电流、电压的变化。
在模拟电路中,电压和电流可直接用来进行控制对象,比如家庭音箱的音量。简单来说,随着电流的增大,播放音乐的音量也在逐步增大。

5.什么是数字?

数字信号(Digital)是人为的、抽象出来的、在幅度取值上不连续的信号。
比如我们在控制LED灯闪烁时,是通过0和1,也就是高低电平信号来控制LED的亮和灭,只存在两种状态,要么高电平,要么低电平,没有其他中间值。
在计算机中,大小常用有限位的二进制数表示的这种离散的、不连续的信号被称为数字信号。
模拟信号在现实的传输过程中经常会被外界干扰,造成传输信息有偏差,比如打电话时的模糊,老式电视机上的雪花噪点,将模拟信号转化为数字信号则可以解决这个问题。

图片4:使模拟信号数字化的图

6.什么是PWM?

PWM正是一种将模拟信号转换数字信号的技术,它对模拟信号电平进行数字编码。
PWM,全称为Pulse-width modulation,意为脉冲宽度调制,通过对数字信号每一个周期内高电平的占比时长的调节,来使得信号对外的表现为0~1之间的一个中间值。
高电平的占比时常也就是占空比(Duty Cycle),占空比指电路被接通的时间占整个电路工作周期的百分比。
当方波在一个周期内高电平(1)的时长为周期的一半时,低电平(0)的时长也为周期的一半,那么这个周期对外展现出的值就是(1x50% + 0x50%)=0.5
当我们希望LED对外呈现30%的亮度时,只需要让高电平(1)的时间占比为周期的30%,其余70%的时间为低电平(0),那么这个周期对外展现出的值就是(1x30% + 0x70%)=0.3
如此一来,LED灯就呈现出了30%的亮度。

图片5:PWM示意图
在这里插入图片描述

7. RPi的GPIO库中PWM的用法

import RPi.GPIO as GPIO	#	引入GPIO库
GPIO.setmode(GPIO.BOARD) #初始化GPIO引脚编码方式,需放在代码正式开始处
GPIO.setup(12, GPIO.OUT) #初始化GPIO引脚设置,需放在代码正式开始处
p = GPIO.PWM(channel, frequency)	#	创建pwm实例 channel为引脚号 frequency为频率
p.start(dc)	#	开始pwm	dc为初始占空比(0.0 <= dc <= 100.0)
p.stop() # 停止pwm
p.ChangeFrequency(freq)   # 改变频率(Hz)freq
p.ChangeDutyCycle(dc)  # 改变占空比(0.0 <= dc <= 100.0)
GPIO.cleanup() # 清理GPIO引脚

参考链接:RPi GPIO库中PWM()函数的详细资料

8.mini pupper学习套件-LED模块的使用

mini pupper学习套件中的LED模块自带板载限流电阻,能够保护LED模块。
接线如下:

引脚作用树莓派对应口
GND接地GND口
R红灯正极PWM口
G绿灯正极PWM口
B蓝灯正极PWM口

实验步骤

1.硬件连接

  1. 将灯的任一正极(R/G/B/Y)接入树莓派上的PWM端口(例如33号端口)
    树莓派的GPIO中仅有部分为PWM口,你可以通过查看树莓派GPIO的引脚图来确认哪个端口是PWM端。
  2. 将灯的GND端接入树莓派上的GND端口(例如34号端口)
    你可以通过查看树莓派GPIO的引脚图来确认哪个端口是GND端。

2.编写Python程序led_breathe.py

#!/usr/bin/python
# coding:utf-8
# led_breathe.py
# 树莓派GPIO控制外部LED灯呼吸,周期为4秒。
import time
import RPi.GPIO as GPIO# GPIO初始化
LED = 33    # 外部led灯连接的树莓派PWM端口,可根据需要调整
GND = 34    # 接地的端口
period = 4  # 呼吸周期
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LED, GPIO.OUT)
p = GPIO.PWM(LED, 50)  # 引脚=LED 频率=50Hz
p.start(0)
print("PWM控制呼吸灯开始,端口号为%d,周期为%d秒。" % (LED, period))
try:    # try和except为固定搭配,用于捕捉执行过程中,用户是否按下ctrl+C终止程序while 1:for dc in range(0, 101, 1):p.ChangeDutyCycle(dc)time.sleep(period / 200)for dc in range(100, -1, -1):p.ChangeDutyCycle(dc)time.sleep(period / 200)
except KeyboardInterrupt:pass
p.stop()
GPIO.cleanup()

3.运行程序,观察实验效果

在led_breathe.py的目录下执行以下命令:

sudo python led_breathe.py

应该能观察到用LED灯亮度逐渐增大,随后减小,并循环上述过程,体现了呼吸的效果,周期为4s。

图片3:gif图片 LED呼吸效果
在这里插入图片描述

实验总结

经过本知识点的学习和实验操作,你应该能达到以下水平:

知识点内容了解熟悉掌握
模拟与数字模拟与数字的区别
树莓派树莓派GPIO中的PWM端口
PWMPWM技术的用法
硬件mini pupper学习套件的LED模块的使用

版权信息:教材尚未完善,此处预留版权信息处理方式
mini pupper相关内容可访问:https://github.com/mangdangroboticsclub

http://www.yayakq.cn/news/749400/

相关文章:

  • 怎么推广公司的网站做个网站找别人做的吗
  • 北京网站建设公司哪家最好长汀网站建设
  • 甘肃省两学一做专题网站富顺县规划和建设局网站
  • 网站封了给个能用的wordpress用户组阅读文章
  • 好的文案网站电商网站流程图
  • 网站更新与维护wordpress 自定义模板下载
  • wordpress 上传网站数字博物馆网站建设
  • 开个网络公司要多少钱排名优化课程
  • 淘宝网站怎么做特价二次开发焦点吧
  • 网站海报是怎么做的wordpress速度加快
  • 唐山网址建站潍坊做外贸网站
  • 大气手机企业网站平面设计鉴赏网站
  • 《网站建设与管理》方案wordpress免费虚拟主机
  • 商城网站模板框架新钥匙网站建设
  • 合肥网站关键词seo优化公司男科医院在线咨询免费
  • 全国中小企业网站做网站哪家好 青岛
  • 天津网站优化公司电话江都区城乡建设局网站
  • 做外贸网站做成哪种形式好互联网招商
  • 无锡网站制作方案wordpress文章参数
  • 做建材一般去什么网站宣传体育直播网站建设
  • 1号店网上购物商城廊坊网站建设优化
  • 怎么样建设网站赚钱十五种常见的销售策略
  • a站为什么不火了化工seo顾问
  • 宿迁网站建设费用域名备案和网站备案
  • 杭州公司车牌摇号申请流程佛山网站优化好
  • 进网站后台加什么原因中企动力有多少家分公司
  • 申请网站建设费用的请示dz门户做视频网站
  • 衡水自助建站系统求一个2023年没封的
  • 网站app的区别是什么wordpress 收款插件
  • 广告推广平台网站哪些公司需要网页电商设计师