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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5208|回復: 0
打印 上一主題 下一主題
收起左側

通過藍牙模塊發送按鍵信號,arduino源碼

[復制鏈接]
跳轉到指定樓層
樓主
功能簡介:5個微動開關接到arduino的UNO R3 I/O口;
定義一個虛擬串口連接藍牙模塊;
微動開關加了去抖動;
每個開關按下然后彈起會從串口發送一段字符串。

源碼:

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

  4. // 定義變量
  5. int ledState = LOW;         // 當前led狀態
  6. int buttonState[5] = {0};             // 讀取的當前按鍵狀態
  7. int lastButtonState[5] = {0};   // 上次讀取的按鍵狀態
  8. int a[5]={0};

  9. // 使用長整型變量
  10. long lastDebounceTime[5] = {0};  // 上次按鍵觸發時間
  11. long debounceDelay = 50;    // 去抖時間,根據實際情況調整

  12. #include <SoftwareSerial.h>
  13. //使用軟件串口,能將數字口模擬成串口
  14. SoftwareSerial BL(5, 6);  //新建對象,接收腳為5,發送腳為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的狀態
  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]);// 讀取按鍵狀態賦值到一個變量
  28.   //如果按鍵狀態變化,不過是由于抖動還是按鍵按下造成的下面的程序都需要進行這一步處理
  29.   if (reading[j] != lastButtonState[j]) {
  30.     // 復位去抖時間,就是把當前時間保存下來
  31.     lastDebounceTime[j] = millis();
  32.   }
  33.   if ((millis() - lastDebounceTime[j]) > debounceDelay) {
  34.     // 等過了去抖時間,再次去檢測按鍵的狀態
  35.     if (reading[j] != buttonState[j]) {
  36.       buttonState[j] = reading[j];

  37.       // 如果按鍵仍然保持上次的狀態,我們認為這個按鍵按下是真實有效的
  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的最終結果輸出到對應的引腳
  55.   digitalWrite(ledPin, ledState);
  56.   // 保存當前值,一邊下一個循環檢測的時候使用

  57. …………余下代碼請下載附件…………
復制代碼

下載:
Switch5_0314.rar (1.2 KB, 下載次數: 21)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产永久免费 | 999国产精品视频 | 欧美激情久久久久久 | 北条麻妃国产九九九精品小说 | 亚洲欧美一区二区三区国产精品 | 夜夜骚| 欧美精品在线免费观看 | 欧美精品成人一区二区三区四区 | 亚洲中国字幕 | 九九热国产视频 | 欧美中文一区 | av网站免费看 | 成人免费精品视频 | 一区二区久久电影 | 波多野结衣先锋影音 | 久久毛片 | av首页在线| 人人鲁人人莫人人爱精品 | 99re热这里只有精品视频 | 久久精品欧美一区二区三区麻豆 | 91精品国产综合久久久亚洲 | 韩国理论电影在线 | 亚洲欧美一区二区三区国产精品 | 紧缚调教一区二区三区视频 | 欧美激情一区二区 | 男人天堂免费在线 | 伊人伊人伊人 | 99久久电影 | 亚洲视频中文字幕 | 免费的黄色片子 | 久草中文在线 | 91中文| 国产午夜精品久久 | h片免费在线观看 | 亚洲成人网在线播放 | 国产精品久久久久久吹潮 | 极品久久 | 九九热免费在线观看 | 久久精品久久久久久 | 一区二区中文 | 午夜久草 |