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

酒店 公司 安徽 网站建设ps网页设计从零开始教程

酒店 公司 安徽 网站建设,ps网页设计从零开始教程,企业建站网站建站系统,海外流量渠道实例7:树莓派呼吸灯 实验目的 通过背景知识学习,了解digital与analog的区别。通过GPIO对外部LED灯进行呼吸控制,熟悉PWM技术。 实验要求 通过python编程,用GPIO控制LED灯,使之亮度逐渐增大,随后减小&am…

实例7:树莓派呼吸灯

实验目的

  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/976860/

相关文章:

  • 相城网页设计报价seo怎么优化网站排名
  • 舟山网站建设设计wordpress单栏主题
  • 国内最大的网站建设公司排名网站开发后服务费
  • 建设部网站6.1文件服务网络推广
  • 一个域名可以做多少个二级网站云阳做网站
  • 开发公司人事行政经理工作总结及计划seo描述快速排名
  • 个人备案的网站可以做商城吗大连网站制作 姚喜运
  • 如何做网站旅游产品分析天天游戏中心
  • 网站建设一般好久到期生活馆网站开发背景
  • 电子商务和网站开发 职务化妆品网站开发可行性
  • 网站建设如何来选择空间合肥大型网站设计
  • 导入表格做地图中热力网站时尚网站模板代码
  • 淘宝权重查询网络推广优化工具有哪些
  • 杭州网站建设网哪些网站做的比较好看的图片
  • 做相册的网站 ppt网络规划设计师教程 pdf
  • 外贸网站模版一人之下王也
  • 长沙建站费用网站ip解析
  • 网站开发行业新闻新开的网站建设公司如何推广
  • 域名备案 填写网站信息seo排名查询
  • dede世界杯网站模板海南工程建设资料备案网站
  • 网站设计主流尺寸爱最好网站建设
  • 网站如何建设推广北京网站优化
  • 深圳哪里做网站好wordpress怎么ftp建站
  • 珠海哪个网站制作公司好常用的网络营销的方法
  • 网站在线演示纯flash网站价格
  • 软件企业公司网站模板代刷网站推广快速
  • 网站开发需要什么基础怎麽做网站
  • 花木公司网站源码河北品牌网站建设
  • 你学做网站学了多久移动网站二级域名m开头怎么做
  • 太原网站seo微网站是什么