找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(173)---四鍵無(wú)線(xiàn)遙控模塊套件

查看數(shù): 5235 | 評(píng)論數(shù): 38 | 收藏 0
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2020-12-31 10:31

正文摘要:

37款傳感器與模塊的提法,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊,依照實(shí)踐出真知(一定要?jiǎng)邮肿觯┑睦砟睿詫W(xué)習(xí)和交流為目的,這里準(zhǔn)備 ...

回復(fù)

ID:401478 發(fā)表于 2021-1-5 10:23
太好了  大俠辛苦了 加油!
ID:513258 發(fā)表于 2021-1-4 17:29
  1. /*
  2.   【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+圖形編程+仿真編程)
  3.   實(shí)驗(yàn)一百七十三:2262/2272四路無(wú)線(xiàn)遙控套件 M4非鎖接收板 四鍵無(wú)線(xiàn)遙控器發(fā)射模塊
  4.   程序之二:Arduino IC 2262/2272遙控器
  5. */

  6. #define PIN_D2_INT  0
  7. #define R06A_VT 2
  8. #define R06A_D0 3
  9. #define R06A_D1 4
  10. #define R06A_D2 5
  11. #define R06A_D3 6

  12. bool r06a_0, r06a_1, r06a_2, r06a_3 = false;
  13. int dirty = 0;

  14. void pinD2ISR() {
  15.   digitalWrite(13, !digitalRead(13));

  16.   if (digitalRead(R06A_D0) == HIGH) {
  17.     r06a_0 = !r06a_0;
  18.   }

  19.   if (digitalRead(R06A_D1) == HIGH) {
  20.     r06a_1 = !r06a_1;
  21.   }

  22.   if (digitalRead(R06A_D2) == HIGH) {
  23.     r06a_2 = !r06a_2;
  24.   }

  25.   if (digitalRead(R06A_D3) == HIGH) {
  26.     r06a_3 = !r06a_3;
  27.   }

  28.   dirty = 1;
  29. }

  30. void setup() {
  31.   attachInterrupt(PIN_D2_INT, pinD2ISR, RISING);
  32.   pinMode(R06A_D0, INPUT);
  33.   pinMode(R06A_D1, INPUT);
  34.   pinMode(R06A_D2, INPUT);
  35.   pinMode(R06A_D3, INPUT);
  36.   Serial.begin(9600);
  37. }

  38. void loop() {
  39.   if (dirty) {
  40.     dirty = 0;

  41.     Serial.print("A: ");
  42.     Serial.println(r06a_2 ? "HIGH" : "LOW ");

  43.     Serial.print("B: ");
  44.     Serial.println(r06a_0 ? "HIGH" : "LOW ");

  45.     Serial.print("C: ");
  46.     Serial.println(r06a_3 ? "HIGH" : "LOW ");

  47.     Serial.print("D: ");
  48.     Serial.println(r06a_1 ? "HIGH" : "LOW ");

  49.     Serial.println("");
  50.   }
  51. }
復(fù)制代碼


ID:513258 發(fā)表于 2021-1-4 16:27
  1. /*
  2.   【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+圖形編程+仿真編程)
  3.   實(shí)驗(yàn)一百七十三:2262/2272四路無(wú)線(xiàn)遙控套件 M4非鎖接收板 四鍵無(wú)線(xiàn)遙控器發(fā)射模塊  
  4. */

  5. /*以下四個(gè)管腳定義,對(duì)應(yīng)遙控器上的四個(gè)按鍵(遙控器為推薦的無(wú)線(xiàn)遙控器315MHz(SKU:FIT0355))*/
  6. int D0 = 8;    //解碼芯片數(shù)字輸出管腳D0,串口值0001,按鍵A
  7. int D1 = 9;    //解碼芯片數(shù)字輸出管腳D1,串口值0010,按鍵B
  8. int D2 = 10;   //解碼芯片數(shù)字輸出管腳D2,串口值1000,按鍵C
  9. int D3 = 11;   //解碼芯片數(shù)字輸出管腳D3,串口值0100,按鍵D
  10. int ledPin = 13;   //接收指示燈

  11. volatile int state = LOW;

  12. void setup()
  13. {
  14.   Serial.begin(9600);
  15.   /*以下管腳的順序分別對(duì)應(yīng)遙控器的4個(gè)按鍵*/
  16.   pinMode(D3, INPUT);  //分別初始化為輸入端口,讀取解碼芯片輸出管腳的電平
  17.   pinMode(D1, INPUT);
  18.   pinMode(D0, INPUT);
  19.   pinMode(D2, INPUT);
  20.   pinMode(ledPin, OUTPUT);
  21.   attachInterrupt(1, blink, RISING); //數(shù)字口2,中斷1,對(duì)應(yīng)解碼芯片的接收中斷管腳
  22.   digitalWrite(ledPin, LOW);
  23. }

  24. void loop()
  25. {
  26.   if (state != LOW) //如果接收到遙控器的命令,則進(jìn)入該語(yǔ)句
  27.   {
  28.     state = LOW;
  29.     delay(1);   //適當(dāng)延時(shí),等待管腳電平穩(wěn)定
  30.     digitalWrite(ledPin, HIGH);
  31.     Serial.print(digitalRead(D3));  //分別讀取解碼芯片輸出管腳的電平,并打印出來(lái)
  32.     Serial.print(digitalRead(D1));
  33.     Serial.print(digitalRead(D0));
  34.     Serial.println(digitalRead(D2));
  35.     delay(300);
  36.     digitalWrite(ledPin, LOW);
  37.   }
  38. }

  39. void blink()
  40. {
  41.   state = ! state;
  42. }
復(fù)制代碼


ID:513258 發(fā)表于 2021-1-1 20:51

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表