Arduino板子试玩
刚才一时兴起,翻出去年买的玩具。o(︶︿︶)o 唉 买了就没碰的。
看了下简单的教程,做了一个实验。
- 红外接受管 收到 mini遥控器的信号,然后就改变5mm全彩LED灯的颜色。
硬件如下:
- 红外线接受管 。
- 5mm彩色LED灯。
- Mini遥控器。
- DFRduino Uno R3。
- 多彩面包线。
- USB连接线 。
组装效果:
IDE效果
帖下测试代码吧。
//这段代码来自IRremote库中examples中的 IRrecvDemo#include//调用IRremote.h库int RECV_PIN = 0; //定义RECV_PIN变量为0IRrecv irrecv(RECV_PIN); //设置RECV_PIN(也就是0引脚)为红外接收端decode_results results; //定义results变量为红外结果存放位置// 三色灯int redPin = 9;int greenPin = 10;int bluePin = 11;void setup() { Serial.begin(9600); //串口波特率设为9600 irrecv.enableIRIn(); //启动红外解码 //启动彩色灯 pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT);}void loop() { //是否接收到解码数据,把接收到的数据存储在变量results中 if (irrecv.decode(&results)) { //接收到的数据以16进制的方式在串口输出 Serial.println(results.value, HEX); changeRGB(); irrecv.resume(); // 继续等待接收下一组信号 }}void changeRGB() { //R:0-255 G:0-255 B:0-255 colorRGB(random(0, 255), random(0, 255), random(0, 255));}void colorRGB(int red, int green, int blue) { analogWrite(redPin, constrain(red, 0, 255)); analogWrite(greenPin, constrain(green, 0, 255)); analogWrite(bluePin, constrain(blue, 0, 255));}