久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

搜索
查看: 5347|回復(fù): 0
收起左側(cè)

通過(guò)藍(lán)牙模塊發(fā)送按鍵信號(hào),arduino源碼

[復(fù)制鏈接]
ID:171737 發(fā)表于 2017-3-18 11:49 | 顯示全部樓層 |閱讀模式
功能簡(jiǎn)介:5個(gè)微動(dòng)開關(guān)接到arduino的UNO R3 I/O口;
定義一個(gè)虛擬串口連接藍(lán)牙模塊;
微動(dòng)開關(guān)加了去抖動(dòng);
每個(gè)開關(guān)按下然后彈起會(huì)從串口發(fā)送一段字符串。

源碼:

  1. // 引腳定義
  2. int buttonPin[5] ={2,4,7,8,12};    // 按鍵位置
  3. const int ledPin = 13;      // led位置

  4. // 定義變量
  5. int ledState = LOW;         // 當(dāng)前l(fā)ed狀態(tài)
  6. int buttonState[5] = {0};             // 讀取的當(dāng)前按鍵狀態(tài)
  7. int lastButtonState[5] = {0};   // 上次讀取的按鍵狀態(tài)
  8. int a[5]={0};

  9. // 使用長(zhǎng)整型變量
  10. long lastDebounceTime[5] = {0};  // 上次按鍵觸發(fā)時(shí)間
  11. long debounceDelay = 50;    // 去抖時(shí)間,根據(jù)實(shí)際情況調(diào)整

  12. #include <SoftwareSerial.h>
  13. //使用軟件串口,能將數(shù)字口模擬成串口
  14. SoftwareSerial BL(5, 6);  //新建對(duì)象,接收腳為5,發(fā)送腳為6

  15. void setup() {
  16.   BL.begin(115200);
  17.   for(int i=0;i<5;i++){
  18.   pinMode(buttonPin[i],INPUT);
  19.   }
  20.   pinMode(ledPin, OUTPUT);

  21.   // 初始化led的狀態(tài)
  22.   digitalWrite(ledPin, ledState);
  23. }

  24. void loop() {
  25.   int reading[5]={0};
  26.   for(int j=0;j<5;j++){
  27.   reading[j] = digitalRead(buttonPin[j]);// 讀取按鍵狀態(tài)賦值到一個(gè)變量
  28.   //如果按鍵狀態(tài)變化,不過(guò)是由于抖動(dòng)還是按鍵按下造成的下面的程序都需要進(jìn)行這一步處理
  29.   if (reading[j] != lastButtonState[j]) {
  30.     // 復(fù)位去抖時(shí)間,就是把當(dāng)前時(shí)間保存下來(lái)
  31.     lastDebounceTime[j] = millis();
  32.   }
  33.   if ((millis() - lastDebounceTime[j]) > debounceDelay) {
  34.     // 等過(guò)了去抖時(shí)間,再次去檢測(cè)按鍵的狀態(tài)
  35.     if (reading[j] != buttonState[j]) {
  36.       buttonState[j] = reading[j];

  37.       // 如果按鍵仍然保持上次的狀態(tài),我們認(rèn)為這個(gè)按鍵按下是真實(shí)有效的
  38.       if (buttonState[j] == HIGH) {
  39.         ledState = HIGH;
  40.      //BL.println("0000000000000000");
  41.       }
  42.       else {
  43.         ledState = LOW;
  44.         switch(j){
  45.       case 0:BL.println("aa00000000000000");break;
  46.       case 1:BL.println("00aa000000000000");break;
  47.       case 2:BL.println("00000000aa000000");break;
  48.       case 3:BL.println("0000aa0000000000");break;
  49.       case 4:BL.println("0000000000aa0000");break;  
  50.       }
  51.       }
  52.     }   
  53.   }
  54.   // 把led的最終結(jié)果輸出到對(duì)應(yīng)的引腳
  55.   digitalWrite(ledPin, ledState);
  56.   // 保存當(dāng)前值,一邊下一個(gè)循環(huán)檢測(cè)的時(shí)候使用

  57. …………余下代碼請(qǐng)下載附件…………
復(fù)制代碼
0.png
下載:
Switch5_0314.rar (1.2 KB, 下載次數(shù): 21)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91麻豆精品一区二区三区 | 日本免费小视频 | 色在线看| 国产精品久久久久久久久久三级 | 九九热在线视频观看这里只有精品 | 91精品国产91久久久久久密臀 | 欧美aaa级| 国产色婷婷久久99精品91 | 欧美日韩精品久久久免费观看 | 欧美久久久久久久久 | 欧美日韩在线一区二区 | 一级片在线观看 | 一级全黄视频 | 亚洲电影一区二区三区 | 精品免费国产视频 | 伊人婷婷| 亚洲国产成人精品女人久久久 | 精品国产乱码久久久久久丨区2区 | 粉嫩高清一区二区三区 | 欧美激情国产精品 | 国产亚洲精品美女久久久久久久久久 | 激情小视频 | 51ⅴ精品国产91久久久久久 | h视频免费观看 | 国产精品一区二区在线免费观看 | 国产免费视频在线 | 午夜一级做a爰片久久毛片 精品综合 | 日韩精品免费在线观看 | 精品一区二区三区在线视频 | 成人国产综合 | 久久av一区二区 | 国产一区二区免费电影 | 久久久久亚洲精品 | 国产黄色免费网站 | 日韩在线精品视频 | 国产目拍亚洲精品99久久精品 | 黄色亚洲网站 | 婷婷丁香在线视频 | 亚洲成人动漫在线观看 | 久草在线青青草 | 国产在线观看av |