|
楼主 |
发表于 2021-1-4 16:27:01
|
显示全部楼层
- /*
- 【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
- 实验一百七十三:2262/2272四路无线遥控套件 M4非锁接收板 四键无线遥控器发射模块
- */
- /*以下四个管脚定义,对应遥控器上的四个按键(遥控器为推荐的无线遥控器315MHz(SKU:FIT0355))*/
- int D0 = 8; //解码芯片数字输出管脚D0,串口值0001,按键A
- int D1 = 9; //解码芯片数字输出管脚D1,串口值0010,按键B
- int D2 = 10; //解码芯片数字输出管脚D2,串口值1000,按键C
- int D3 = 11; //解码芯片数字输出管脚D3,串口值0100,按键D
- int ledPin = 13; //接收指示灯
- volatile int state = LOW;
- void setup()
- {
- Serial.begin(9600);
- /*以下管脚的顺序分别对应遥控器的4个按键*/
- pinMode(D3, INPUT); //分别初始化为输入端口,读取解码芯片输出管脚的电平
- pinMode(D1, INPUT);
- pinMode(D0, INPUT);
- pinMode(D2, INPUT);
- pinMode(ledPin, OUTPUT);
- attachInterrupt(1, blink, RISING); //数字口2,中断1,对应解码芯片的接收中断管脚
- digitalWrite(ledPin, LOW);
- }
- void loop()
- {
- if (state != LOW) //如果接收到遥控器的命令,则进入该语句
- {
- state = LOW;
- delay(1); //适当延时,等待管脚电平稳定
- digitalWrite(ledPin, HIGH);
- Serial.print(digitalRead(D3)); //分别读取解码芯片输出管脚的电平,并打印出来
- Serial.print(digitalRead(D1));
- Serial.print(digitalRead(D0));
- Serial.println(digitalRead(D2));
- delay(300);
- digitalWrite(ledPin, LOW);
- }
- }
- void blink()
- {
- state = ! state;
- }
复制代码 |
|