树莓派:双色LED灯实验
树莓派:双色LED灯实验
- 简介
- 一、实验效果
- 二、组件
- 三、实验原理
- 四、实验步骤
- 五、代码实现
简介
双色LED灯(双基色 LED灯),是指模块只能显示2种颜色,一般是红色和绿色,可以有三种状态:灭、颜色1亮、颜色2亮;根据颜色组合的不同,分为红蓝双色,黄蓝双色,红绿双色等等。
双色 LED常于指示状态:比如红色表示设备异常,绿色表示正常。
一、实验效果
树莓派:双色LED灯实验
二、组件
1、树莓派主板*1
2、树莓派电源*1
3、40P软排线*1
4、双色LED模块*1
5、面包板*1
6、跳线若干
三、实验原理
将引脚S(绿色)和中间管脚R(红色)连接到树莓派的GPO 接口上,对树莓派进行编程控制,将LED的颜色从红色变为绿色,然后使用PWM混合其他颜色。
该模块的原理图如下所示:
四、实验步骤
建立电路:
树莓派 | 面包板 | 双色LED模块 |
---|---|---|
GPIO1 | GPIO18 | G(S) |
GPIO0 | GPIO17 | R(中间) |
GND | GND | GND |
五、代码实现
WM的频率:P决定了输出的数字信号on (1) 和 off(0 )的切换速度,频率越高,切换就越快。
占空比:指一串理想脉冲序列中,正脉冲的持续时间与脉冲总周期的比值,用来调节灯的亮度。
import RPi.GPIO as GPIO
import timecolors = [0xFF00, 0x00FF, 0x0FF0, 0xF00F]
makerobo_pins = (11, 12) # PIN管脚字典GPIO.setmode(GPIO.BOARD) # 采用实际的物理管脚给GPIO口
GPIO.setwarnings(False) # 去除GPIO口警告
GPIO.setup(makerobo_pins, GPIO.OUT) # 设置Pin模式为输出模式
GPIO.output(makerobo_pins, GPIO.LOW) # 设置Pin管脚为低电平(0V)关闭LEDp_R = GPIO.PWM(makerobo_pins[0], 2000) # 设置频率为2KHz
p_G = GPIO.PWM(makerobo_pins[1], 2000) # 设置频率为2KHz# 初始化占空比为0(led关闭)
p_R.start(0)
p_G.start(0)def makerobo_pwm_map(x, in_min, in_max, out_min, out_max):return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_mindef makerobo_set_Color(col): # 例如:col = 0x1122R_val = col >> 8G_val = col & 0x00FF# 把0-255的范围同比例缩小到0-100之间R_val = makerobo_pwm_map(R_val, 0, 255, 0, 100)G_val = makerobo_pwm_map(G_val, 0, 255, 0, 100)p_R.ChangeDutyCycle(R_val) # 改变占空比p_G.ChangeDutyCycle(G_val) # 改变占空比# 调用循环函数
def makerobo_loop():while True:for col in colors:makerobo_set_Color(col)time.sleep(0.5)
# 释放资源
def makerobo_destroy():p_G.stop()p_R.stop()GPIO.output(makerobo_pins, GPIO.LOW) # 关闭所有LEDGPIO.cleanup() # 释放资源# 程序入口
if __name__ == "__main__":try:makerobo_loop() # 调用循环函数except KeyboardInterrupt: # 当按下Ctrl+C时,将执行destroy()子程序。makerobo_destroy() # 释放资源
树莓派:双色LED灯实验相关推荐
- Arduino小白学习记录:双色LED灯实验
目录 一.介绍 二.材料准备 三.实验原理 四.实验过程 五.代码 六.效果展示 七.总结分析 一.介绍 双色发光二极管(LED)能够发出两种不同颜色的光,通常是红的和绿色的,而不是仅有一种颜色.它采 ...
- 树莓派学习002_双色LED灯实验
一.实验流程 首先,通过运行一个简单的例程来感受一下树莓派编程烧录的过程. S1.开机,新建名为CLBDEMO的文件夹. 使用VNC工具远程操作(注意:电脑和树莓派需连接同一个热点). S2.传输文件 ...
- arduino串口监视器显示nan_Arduino小白的学习记录:双色LED灯实验
一.介绍 双色发光二极管(LED)能够发出两种不同颜色的光,通常是红的和绿色的,而不是仅有一种颜色.它采用3mm或5mm环氧树脂封装.它有3个引脚,共阴极或者共阳极可用.双色LED具有两个LED端子或 ...
- 树莓派基础实验1:双色LED灯实验
一.介绍 双色发光二极管(LED)能够发出红色和绿色,两种不同颜色的光.正电压指向LED端子之一,使LED发出相应的颜色的光,一次只能有一个引脚接受电压,常用着各种设备的指示灯. 二.组件 ★R ...
- 一、树莓派双色LED实验
前言: 首次在树莓派上实验双色LED,本文缺乏细节,只是做基本参考. 原套装中接线我认为并不合理,此处做了修改. 截图均为真实场景. LED灯介绍: 双色LED灯(双基色 LED灯),是指模块只能显 ...
- 【Arduino基础】三色LED灯实验
实验现象 使用Arduino驱动RGB三基色LED灯产生七色光的变化. 理论学习 三基色组合七色光原理: 红+绿=黄 绿+蓝=青 红+蓝=紫 红+绿+蓝=白 可以由3种基色组合出来"红黄绿青 ...
- Arduino控制RGB三色LED灯实验、程序代码、连线图、仿真
目录 RGB三色灯简介 PWM控制 PWM功能简介 硬件电路连接 所需器件 控制代码 测试结果 RGB三色灯简介 RGB色彩模式包含红绿蓝三种,通过控制红(R).绿(B).蓝(G)三种颜色的变化使其相 ...
- Arduino学习(四) 双色LED实验
双色LED是一种可以显示二色颜色的LED灯, 可以有三种状态: 灭, 颜色1亮, 颜色2亮 . 根据颜色组合的不同, 分为红蓝双色, 黄蓝双色, 红绿双色等等. 双色LED是一种常用的LE ...
- Arduino使用三色\\双色LED
剩下的37款传感器套件中还有4个跟LED相关的,本文就一并进行介绍. 1.三色LED 总共有两个三色LED,引脚类似,但是形状不一样,首先给出淘宝上的图片,左边的类似贴片LED,右边的头比较大: 然后 ...
最新文章
- 监控Oracle性能的SQL
- squid rebuild 阶段swap.state 持续增大耗尽磁盘
- vim关闭下一行也是注释_10分钟教你为自己打造一个专属VIM
- Idea之使用Gradle开发Java项目
- 数据结构实验之图论三:判断可达性(dfs/bfs)
- Python 字典dict操作定义
- Ferguson游戏
- leetcode 40. 组合总和 II 思考分析
- 程序员面试金典——11.5找出字符串
- anaconda r 语言_Centos7系统下R、 Rstudio及sparklyr的安装与配置
- iOS:const的使用
- 一、Oracle11g简介
- ppt转html5原理,如何实现PPT转成H5?
- ios 微信分享重新编码链接_iOS微信分享及从Safari跳转到App
- Go技术日报(2021-11-16/17)——gRPC的错误处理实践
- Windows10莫名其妙多了个CD驱动器,删除方法记录
- 怎么在html中使logo,如何用CSS3设计腾讯QQ LOGO?
- 佳驰电子冲刺科创板:年利润3.2亿 源峰磐钰与国家产投是股东
- Gif添加文字怎么操作?如何在线gif动图上添加文字?
- 天使的分裂【NOIP2016提高A组模拟9.24】
热门文章
- 中缀表达式转后缀表达式两位数_什么是圆形磁动势?永磁无刷电机是怎么转起来的?...
- MAC 删除自带 ABC 输入法的方法
- STM32 ADC单通道与多通道_DMA学习笔记
- 代码段+数据段+bss段+stack+heap
- DTW学习(dynamic time warping)——思想、代码实现
- wm8978G音频芯片怎么样
- Python 6个维度,数万条数据帮你揭秘房租大涨!
- Unet++语义分割网络(网络结构分析+代码分析)
- 在智能制造背景下,MES有哪些发展趋势?
- 在微信小游戏中实现语音互动