实验材料与文件
硬件:Arduino、红外遥控传感器、遥控器
软件:Mixly IDE
【实验】遥控灯实验步骤
1.软硬件连接
–号连接GND
S是连数据接口
中间则连5V
2.图形化编程块
我给了灯亮度的约束值,最暗的亮度我给了5,不让它熄灭,最亮是255。
3.代码块
#include <IRremote.h>
volatile int LED;
volatile boolean LED_status;
IRrecv irrecv_5(5);
decode_results results_5;
long ir_item;
void setup(){
LED = 0;
LED_status = 0;
Serial.begin(9600);
irrecv_5.enableIRIn();
}
void loop(){
if (irrecv_5.decode(&results_5)) {
ir_item=results_5.value;
String type="UNKNOWN";
String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};
if(results_5.decode_type>=1&&results_5.decode_type<=13){
type=typelist[results_5.decode_type];
}
Serial.print("IR TYPE:"+type+" ");
Serial.println(ir_item,HEX);
irrecv_5.resume();
} else {
}
if (ir_item == 0XFF629D) {
LED_status = !LED_status;
LED = LED_status * 128;
}
if (LED_status == 1) {
if (ir_item == 0XFFA25D) {
LED = constrain(LED - 5, 5, 255); //我给了灯亮度的约束值,最暗的亮度我给了5,不让它熄灭,最亮是255。
Serial.print("LED IS:");
Serial.println(LED);
}
if (ir_item == 0XFFE21D) {
LED = constrain(LED + 5, 5, 255);
Serial.print("LED IS:");
Serial.println(LED);
}
}
analogWrite(9,LED);
}