- /*
- 【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+圖形編程+仿真編程)
- 實(shí)驗(yàn)一百七十三:2262/2272四路無(wú)線(xiàn)遙控套件 M4非鎖接收板 四鍵無(wú)線(xiàn)遙控器發(fā)射模塊
- */
- /*以下四個(gè)管腳定義,對(duì)應(yīng)遙控器上的四個(gè)按鍵(遙控器為推薦的無(wú)線(xiàn)遙控器315MHz(SKU:FIT0355))*/
- int D0 = 8; //解碼芯片數(shù)字輸出管腳D0,串口值0001,按鍵A
- int D1 = 9; //解碼芯片數(shù)字輸出管腳D1,串口值0010,按鍵B
- int D2 = 10; //解碼芯片數(shù)字輸出管腳D2,串口值1000,按鍵C
- int D3 = 11; //解碼芯片數(shù)字輸出管腳D3,串口值0100,按鍵D
- int ledPin = 13; //接收指示燈
- volatile int state = LOW;
- void setup()
- {
- Serial.begin(9600);
- /*以下管腳的順序分別對(duì)應(yīng)遙控器的4個(gè)按鍵*/
- pinMode(D3, INPUT); //分別初始化為輸入端口,讀取解碼芯片輸出管腳的電平
- pinMode(D1, INPUT);
- pinMode(D0, INPUT);
- pinMode(D2, INPUT);
- pinMode(ledPin, OUTPUT);
- attachInterrupt(1, blink, RISING); //數(shù)字口2,中斷1,對(duì)應(yīng)解碼芯片的接收中斷管腳
- digitalWrite(ledPin, LOW);
- }
- void loop()
- {
- if (state != LOW) //如果接收到遙控器的命令,則進(jìn)入該語(yǔ)句
- {
- state = LOW;
- delay(1); //適當(dāng)延時(shí),等待管腳電平穩(wěn)定
- digitalWrite(ledPin, HIGH);
- Serial.print(digitalRead(D3)); //分別讀取解碼芯片輸出管腳的電平,并打印出來(lái)
- Serial.print(digitalRead(D1));
- Serial.print(digitalRead(D0));
- Serial.println(digitalRead(D2));
- delay(300);
- digitalWrite(ledPin, LOW);
- }
- }
- void blink()
- {
- state = ! state;
- }
復(fù)制代碼
|