Arduino篇-红外遥控器控制小车

#include <IRremote.h> const int irReceiverPin =2; //定义红外接收模块的信号接收为D2引脚 IRrecv irrecv (irReceiverPin); //定义一个红外接收模块信号的变量 decode_results results; int madaR1=3; int madaR2=5; int madaL1=9; int madaL2=10;

void setup () { pinMode(madaR1,OUTPUT); pinMode(madaR2,OUTPUT);

pinMode(madaL1,OUTPUT); pinMode(madaL2,OUTPUT);

Serial .begin(9600) ;//定义波特率 irrecv . enableIRIn() ;//给红外接收模块进行使能

} void loop() { if (irrecv. decode (&results)) //当红外接收模块接收到信号时 { Serial.print ("irCode: "); //打印出"irCode: Serial. print (results.value, HEX); //打印出 当前信号16进制的值 Serial.print(",bits: ") ;//打印出",bits: Serial. println (results.bits); //打印出 比特值 irrecv. resume(); //接收下一个信号 } delay(600); //延时600毫秒 (按键消抖) if (results.value==0xFF18E7){ qianjin(); } if (results.value==0xFF10EF) { zhuozhuan(); } if(results.value==0xFF5AA5) { youzhuan(); } if(results.value==0xFF4AB5) { houtui(); } } void qianjin(){ digitalWrite(madaR1,HIGH); digitalWrite(madaR2,LOW); digitalWrite(madaL1,HIGH); digitalWrite(madaL2,LOW); delay(3000); }

void houtui(){ digitalWrite(madaR1,LOW); digitalWrite(madaR2,HIGH); digitalWrite(madaL1,LOW); digitalWrite(madaL2,HIGH); delay(3000); }

void zhuozhuan(){ digitalWrite(madaR1,200); digitalWrite(madaR2,LOW); digitalWrite(madaL1,100); digitalWrite(madaL2,LOW); delay(2000); }

void youzhuan(){ digitalWrite(madaR1,100); digitalWrite(madaR2,LOW); digitalWrite(madaL1,200); digitalWrite(madaL2,LOW); delay(2000); }

经验分享 程序员 微信小程序 职场和发展