ArduinoUNO实战-第十八章-三基色LED实现七彩色渐变
目录
- 一、参考
- 二、目标
- 三、理论学习
- 四、实物图
- 五、代码
- 7色光切换
- 颜色渐变
一、参考
- Arduino火焰传感器(含代码)
- 火焰传感器与 Arduino 连接
二、目标
驱动一颗RGB三基色LED产生七色光的变化
引脚最长的为共阳的正极,剩下3个分别为红色、绿色、蓝色。
三、理论学习
四、实物图
淘宝链接:https://item.taobao.com/item.htm?spm=a1z0d.7625083.1998302264.5.5c5f4e69AeWU7v&id=638544134425
五、代码
7色光切换
// 定义三基色
#define LED_R 6
#define LED_G 4
#define LED_B 5// 红、绿、蓝、黄、紫、青、白
enum{Color_R,Color_G,Color_B,Color_RG,Color_RB,Color_GB,Color_RGB};void setup()
{Serial.begin(115200);// 三基色pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); }int color_index = 0;
void loop()
{Change_Color(color_index);color_index++//if(color_index>7)if(color_index == Color_RGB+1){//color_index = 0;color_index = Color_R;}delay(1000);}// 切换颜色
void Change_Color(unsigned char data_color) {switch(data_color) {case Color_R: // 红色digitalWrite(LED_R, LOW);digitalWrite(LED_G, HIGH);digitalWrite(LED_B, HIGH);break;case Color_G: // 绿色digitalWrite(LED_R, HIGH);digitalWrite(LED_G, LOW);digitalWrite(LED_B, HIGH);break;case Color_B: // 蓝色digitalWrite(LED_R, HIGH);digitalWrite(LED_G, HIGH);digitalWrite(LED_B, LOW);break;case Color_RG: // 黄色digitalWrite(LED_R, LOW);digitalWrite(LED_G, LOW);digitalWrite(LED_B, HIGH);break;case Color_RB: // 紫色digitalWrite(LED_R, LOW);digitalWrite(LED_G, HIGH);digitalWrite(LED_B, LOW);break;case Color_GB: // 青色digitalWrite(LED_R, HIGH);digitalWrite(LED_G, LOW);digitalWrite(LED_B, LOW);break;case Color_RGB: // 白色digitalWrite(LED_R, LOW);digitalWrite(LED_G, LOW);digitalWrite(LED_B, LOW);break;default:break;} }
颜色渐变
参考:使用RGB共阳极LED,基于Arduino实现七彩渐变
需要把三根线接到板子带波浪线的引脚,比如3,,5,6
颜色值是从0~255
#define LED_R 3
#define LED_G 5
#define LED_B 6int PWMValue = 0void setup()
{// 初始化三个颜色都是不亮,都是低电平analogWrite(LED_R, 255);analogWrite(LED_G, 255);analogWrite(LED_B, 255);
}void loop()
{int i = 0;// 红色逐渐变亮PWMValue = 255;for(i = 0;i<255;i++){analogWrite(LED_R, PWMValue--);analogWrite(LED_G, 255);analogWrite(LED_B, 255);delay(10);}// 红色逐渐变暗PWMValue = 0;for(i = 0;i<255;i++){analogWrite(LED_R, PWMValue++);analogWrite(LED_G, 255);analogWrite(LED_B, 255);delay(10);}// 绿色逐渐变亮PWMValue = 255;for(i = 0;i<255;i++){analogWrite(LED_R, 255);analogWrite(LED_G, PWMValue--);analogWrite(LED_B, 255);delay(10);}// 绿色逐渐变暗PWMValue = 0;for(i = 0;i<255;i++){analogWrite(LED_R, 255);analogWrite(LED_G, PWMValue++);analogWrite(LED_B, 255);delay(10);}
}
ArduinoUNO实战-第十八章-三基色LED实现七彩色渐变相关推荐
- R语言实战-第十八章 R处理缺失数据的高级方法
第18章 处理缺失数据的高级方法 # 目的:识别缺失数据:检查导致数据缺失的原因:删除包含的缺失值的实例或用合理的数值代替(插补)缺失值 #主要包: mice包 #主要数据集:VIM包中的sleep数 ...
- 17.三基色LED七彩跳变
实验现象: 本实验使用UNO 驱动一颗RGB三基色LED产生七色光的变化.(引脚最长的为共阳的正极,剩下3个分别为红色.绿色.蓝色.) 理论学习: 三基色组合七色光原理: 红+绿=黄 绿+蓝= ...
- 数字图像处理:第十八章 彩色图象处理
第十八章 彩色图象处理 目录 1. 引言 2. 彩色空间 3. 不同彩色空间之间的转换 4. 彩色图象的分割 作业 1. 引言 彩色图象是多光谱图象的一种特殊情况,对应于人类 ...
- dev c++怎么调试_「正点原子NANO STM32开发板资料连载」第十八章 USMART 调试组件...
1)实验平台:ALIENTEK NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第十八章 U ...
- 三个子系统_「正点原子Linux连载」第五十八章Linux INPUT子系统实验(一)
1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南> 关注官方微信号公众号,获取更多资料:正点原子 第五十八章Linux INPUT子系统实 ...
- 嵌入式实时操作系统ucos-ii_「正点原子NANO STM32开发板资料连载」第三十八章 UCOSII 实验 3...
1)实验平台:alientek NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第三十八章 ...
- 【正点原子FPGA连载】 第二十八章OV5640 DP显示实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...
- 【ALIENTEK 战舰STM32开发板例程系列连载+教学】第五十八章 UCOSII实验1-任务调度
第五十八章 UCOSII实验1-任务调度 前面我们所有的例程都是跑的裸机程序(裸奔),从本章开始,我们将分3个章节向大家介绍UCOSII(实时多任务操作系统内核)的使用.本章,我们将向大家介绍UCOS ...
- 【正点原子STM32连载】第五十八章 USB虚拟串口(Slave)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...
- 【正点原子STM32连载】 第三十八章 红外遥控实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...
最新文章
- vprintf() 函数的用法。
- Vuejs——组件——slot内容分发
- CentOS7 编译安装golang和rpm安装golang
- 带你自学Python系列(六):列表解析和列表切片
- 动手学深度学习(PyTorch实现)(七)--LeNet模型
- 游戏开发需要掌握的法则有哪些?
- 7-19 输出全排列 (20 分)
- Python实现股票数据下载工具
- 51单片机(二)—— 如何烧写51单片机程序
- x86 x64 x86_64 AMD64 区别
- 程序猿面试八股文分享~
- 邓俊辉数据结构学习心得系列——如何正确衡量一个算法的好坏
- RAC环境备份归档日志和恢复数据库方法
- 基于PL/SQL的数据库备份方法
- 严重: The web application [] appears to have started a thread named [Thread-
- 52数学能力测评历年真题及答案(五年级)
- 便利店的选址有什么诀窍吗?需要掌握哪些选址技巧?
- 最新可用版PanDownload网页端PHP系统源码
- 两栈共享空间 C语言实现
- 共享文件夹w7和服务器系统区别,w7服务器怎样共享文件夹共享文件夹
热门文章
- hdu 5145 NPY and girls 莫队
- js控制页面只刷新一次
- cron每小时执行一次_crontab每小时运行一次
- 使用nvim来代替VSCode,神操作
- android 积分墙广告平台有哪些,积分墙平台有哪些(全面解读积分墙)
- Java中.setvalue(-1)_Java State.setValue方法代碼示例
- 【日语】日语中各种句形的简体和敬体
- windows无法格式化u盘_U盘被写保护无法格式化怎么办?优盘无法格式化的解决办法...
- 揭秘淘宝用户增长全链路项目管理
- 调起百度地图客户端之导航功能