最近要弄下Arduino。动过手,知道问题,细节可能在哪。
知识点我不清楚,直接看程序。直接控制也相对简单。
- 程序
/*
实战案例1:控制三色LED灯的闪烁
2019/3/12
*/
int redpin=9;
int greenpin=10;
int bluepin=11;
int i,val,tmp;
//enum{redpin=9,greenpin=10,bluepin=11}
void setup() {
//分别定义这三个引脚为输出引脚
//需要选择支持PWM的引脚
pinMode(redpin,OUTPUT);
pinMode(greenpin,OUTPUT);
pinMode(bluepin,OUTPUT);
}
void loop() {
//红色缓缓点亮,再熄灭.如果慢慢暗下去,就是呼吸灯了
for(val=0;val<255;val++)
{
analogWrite(redpin,val);
delay(20);//20ms延时
}
analogWrite(redpin,0);
delay(2000);
//绿色缓缓点亮,再熄灭.
for(val=0;val<255;val++)
{
analogWrite(greenpin,val);
delay(20);//20ms延时
}
analogWrite(greenpin,0);
delay(2000);
//蓝色缓缓点亮,再熄灭.
for(val=0;val<255;val++)
{
analogWrite(bluepin,val);
delay(20);//20ms延时
}
analogWrite(bluepin,0);
delay(2000);
}
- attention
- analogWrite():analogWrite()
句法:analogWrite(pin, value)
描述:将模拟值( PWM波 )写入引脚。 可用于点亮不同亮度的LED或以各种速度驱动电机。
参数:
pin :要写入的引脚。 允许的数据类型:int。
value :占空比:介于0(始终关闭)和255(始终打开)之间。
允许的数据类型:int 。(如果把value的值,写成256??我没试过~)
因而,引脚要的选择要支持PWM。
参考文章:
Arduino学习笔记6:多彩的LED灯
Arduino 003 Ubuntu(Linux) 系统下,如何给板子烧写程序
Arduino语法-时间函数(delay)