树莓派:双色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灯实验相关推荐

  1. Arduino小白学习记录:双色LED灯实验

    目录 一.介绍 二.材料准备 三.实验原理 四.实验过程 五.代码 六.效果展示 七.总结分析 一.介绍 双色发光二极管(LED)能够发出两种不同颜色的光,通常是红的和绿色的,而不是仅有一种颜色.它采 ...

  2. 树莓派学习002_双色LED灯实验

    一.实验流程 首先,通过运行一个简单的例程来感受一下树莓派编程烧录的过程. S1.开机,新建名为CLBDEMO的文件夹. 使用VNC工具远程操作(注意:电脑和树莓派需连接同一个热点). S2.传输文件 ...

  3. arduino串口监视器显示nan_Arduino小白的学习记录:双色LED灯实验

    一.介绍 双色发光二极管(LED)能够发出两种不同颜色的光,通常是红的和绿色的,而不是仅有一种颜色.它采用3mm或5mm环氧树脂封装.它有3个引脚,共阴极或者共阳极可用.双色LED具有两个LED端子或 ...

  4. 树莓派基础实验1:双色LED灯实验

    一.介绍    双色发光二极管(LED)能够发出红色和绿色,两种不同颜色的光.正电压指向LED端子之一,使LED发出相应的颜色的光,一次只能有一个引脚接受电压,常用着各种设备的指示灯. 二.组件 ★R ...

  5. 一、树莓派双色LED实验

    前言: 首次在树莓派上实验双色LED,本文缺乏细节,只是做基本参考. 原套装中接线我认为并不合理,此处做了修改.  截图均为真实场景. LED灯介绍: 双色LED灯(双基色 LED灯),是指模块只能显 ...

  6. 【Arduino基础】三色LED灯实验

    实验现象 使用Arduino驱动RGB三基色LED灯产生七色光的变化. 理论学习 三基色组合七色光原理: 红+绿=黄 绿+蓝=青 红+蓝=紫 红+绿+蓝=白 可以由3种基色组合出来"红黄绿青 ...

  7. Arduino控制RGB三色LED灯实验、程序代码、连线图、仿真

    目录 RGB三色灯简介 PWM控制 PWM功能简介 硬件电路连接 所需器件 控制代码 测试结果 RGB三色灯简介 RGB色彩模式包含红绿蓝三种,通过控制红(R).绿(B).蓝(G)三种颜色的变化使其相 ...

  8. Arduino学习(四) 双色LED实验

    双色LED是一种可以显示二色颜色的LED灯,  可以有三种状态:  灭,  颜色1亮, 颜色2亮 .  根据颜色组合的不同,  分为红蓝双色,  黄蓝双色, 红绿双色等等. 双色LED是一种常用的LE ...

  9. Arduino使用三色\\双色LED

    剩下的37款传感器套件中还有4个跟LED相关的,本文就一并进行介绍. 1.三色LED 总共有两个三色LED,引脚类似,但是形状不一样,首先给出淘宝上的图片,左边的类似贴片LED,右边的头比较大: 然后 ...

最新文章

  1. 监控Oracle性能的SQL
  2. squid rebuild 阶段swap.state 持续增大耗尽磁盘
  3. vim关闭下一行也是注释_10分钟教你为自己打造一个专属VIM
  4. Idea之使用Gradle开发Java项目
  5. 数据结构实验之图论三:判断可达性(dfs/bfs)
  6. Python 字典dict操作定义
  7. Ferguson游戏
  8. leetcode 40. 组合总和 II 思考分析
  9. 程序员面试金典——11.5找出字符串
  10. anaconda r 语言_Centos7系统下R、 Rstudio及sparklyr的安装与配置
  11. iOS:const的使用
  12. 一、Oracle11g简介
  13. ppt转html5原理,如何实现PPT转成H5?
  14. ios 微信分享重新编码链接_iOS微信分享及从Safari跳转到App
  15. Go技术日报(2021-11-16/17)——gRPC的错误处理实践
  16. Windows10莫名其妙多了个CD驱动器,删除方法记录
  17. 怎么在html中使logo,如何用CSS3设计腾讯QQ LOGO?
  18. 佳驰电子冲刺科创板:年利润3.2亿 源峰磐钰与国家产投是股东
  19. Gif添加文字怎么操作?如何在线gif动图上添加文字?
  20. 天使的分裂【NOIP2016提高A组模拟9.24】

热门文章

  1. 中缀表达式转后缀表达式两位数_什么是圆形磁动势?永磁无刷电机是怎么转起来的?...
  2. MAC 删除自带 ABC 输入法的方法
  3. STM32 ADC单通道与多通道_DMA学习笔记
  4. 代码段+数据段+bss段+stack+heap
  5. DTW学习(dynamic time warping)——思想、代码实现
  6. wm8978G音频芯片怎么样
  7. Python 6个维度,数万条数据帮你揭秘房租大涨!
  8. Unet++语义分割网络(网络结构分析+代码分析)
  9. 在智能制造背景下,MES有哪些发展趋势?
  10. 在微信小游戏中实现语音互动