<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                **【整理與體驗】 一克拉** * * * * * **案例1:超聲波測距程序及調試** 步驟: 1接板(如何中接?要練習) 2找代碼(如何找?百度或arduino中國在線等) 3定uno板定端口(如何做?打開軟件arduino在工具菜單下) 4復制代碼到arduino中燒寫上傳 5測距:(arduino軟件右上角有串口監視器,打開就可看到數據) * * * * * * * * * * //超聲波測距程序及調試 const int TrigPin = 2; const int EchoPin = 3; float cm; void setup() { Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); } void loop() { //發一個10ms的高脈沖去觸發TrigPin digitalWrite(TrigPin, LOW); delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米 cm = (int(cm * 100.0)) / 100.0; //保留兩位小數 Serial.print(cm); Serial.print("cm"); Serial.println(); delay(1000); } ### 【說 明】 1、看測試。燒載完成后-打開串口窗口-查看電路正確的接線,模塊與著被測物體對著,結果可以看到上圖所示的測距距離。 2、重要代碼。 pulseIn(EchoPin, HIGH), 此函數是計算EchoPin的高電平時間,先將引腳拉高,開始計時,直到該引腳變為低電平為止,單位為ms,如果超出還沒讀取到的話,將返回0. cm = pulseIn(EchoPin, HIGH) / 58.0;可能很多人會問為什么要除以58.0呢,聲速是340m/s換算一下就是函數返回的值是ms,1s=1000ms,cm=t/1000*34/2=0.017*t=t/58.8, 所以會有除以58.0. 3、聲音要是在真空是什么情況?原來真空下聲音是不能傳播的,在不同溫度和壓強下的聲速是不一樣的。 ----------------------------------------------------------------- * * * * * #### **案例2:Arduino實驗之超聲測距+【LCD1602屏顯示】** * * * * * 步驟: 1接板(如何中接?認識UNO板及傳感器,要練習) 2找代碼(如何找?百度或arduino中國在線等) 3定uno板定端口(如何做?打開軟件arduino在工具菜單下) 4復制代碼到arduino中 5屏顯: 接-板上接LED顯示屏(正、負、scl、sda角) 找-找型號找庫,調庫代碼放在setup前,本程序加了3句,調庫 setup中加上2句話,Loop中加上5句 6燒寫上傳 7測距:(arduino軟件右上角有串口監視器,打開就可看到數據) * * * * * #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C mylcd(0x27,16,2); //頭三句調庫 連屏 const int TrigPin = 2; //發出信號腳 const int EchoPin = 3; //接收信號腳 float cm; //單位 void setup() { mylcd.init(); mylcd.backlight(); //共2句 定屏屬性 Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); } void loop() { //發一個10ms的高脈沖去觸發TrigPin digitalWrite(TrigPin, LOW); delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米 cm = (int(cm * 100.0)) / 100.0; //保留兩位小數 Serial.print(cm); Serial.print("cm"); Serial.println(); mylcd.setCursor(0, 0); //光標從這里開始 mylcd.print(cm); mylcd.setCursor(0, 1); //換行后顯示距離 mylcd.print("cm"); mylcd.clear(); //清屏 共5句 開屏-顯示-清屏 delay(1000); } * * * * * * * * * * **案例3:超聲波測距程序及調試,+【用LCD1602屏顯示+報警】** * * * * * 步驟: 1接板(如何中接?認識UNO板及傳感器,要練習) 2找代碼(如何找?百度或arduino中國在線等) 3定uno板定端口(如何做?打開軟件arduino在工具菜單下) 4復制代碼到arduino中 5屏顯: 接-板上接LED顯示屏(正、負、scl、sda角) 找-找型號找庫,調庫代碼放在setup前,本程序加了3句,調庫 setup中加上2句話,Loop中加上5句 6米斯奇:加邏輯,復制到arduino中修改 7燒寫上傳 8測距:(arduino軟件右上角有串口監視器,打開就可看到數據) * * * * * //超聲波測距程序及調試,【用LCD1602屏顯示+報警】 #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C mylcd(0x27,16,2); const int TrigPin = 2; const int EchoPin = 3; float cm; void setup() { pinMode(11, OUTPUT); //D11口設為報警口 mylcd.init(); mylcd.backlight(); Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); } void loop() { //發一個10ms的高脈沖去觸發TrigPin digitalWrite(TrigPin, LOW); delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米 cm = (int(cm * 100.0)) / 100.0; //保留兩位小數 Serial.print(cm); Serial.print("cm"); Serial.println(); if (cm >= 30.00) { //大于30厘米就報警 digitalWrite(11,HIGH); } else { digitalWrite(11,LOW); } mylcd.setCursor(0, 0); mylcd.print(cm); mylcd.setCursor(0, 1); mylcd.print("cm"); delay(1000); mylcd.clear(); } * * * * * * * * * * **案例4:超聲波測距程序及調試,【用LCD1602屏顯示+區塊報警+Mixly助手】** * * * * * 步驟: 1接板(如何中接?接泡沫板、接超聲波、接LED屏、接藍牙注意收發要反著接) 2定uno板.定端口(如何做?打開軟件arduino在工具菜單下) 3找-找型號找庫,調庫代碼放在setup前,本程序加了3句,調庫 setup中加上2句話,Loop中加上5句 4復制下面代碼(復制到arduinoIDE中) 5加邏輯,米斯奇中做并把代碼復制到arduino中修改 6燒寫上傳,先用右上角端口監視器看一下 7測距:(打開就可看到數據) 8**控制手機**。手機appinventor:先查看藍牙是否接到板,接好后,在App中編程,把組件全聯起來。如何修改藍牙名稱? * * * * * #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C mylcd(0x27,16,2); const int TrigPin = 2; const int EchoPin = 3; float cm; void setup() { pinMode(11, OUTPUT); //D11口設為報警口 mylcd.init(); mylcd.backlight(); Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); } void loop() { //發一個10ms的高脈沖去觸發TrigPin digitalWrite(TrigPin, LOW); delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); //下面兩句是關鍵函數 cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米 cm = (int(cm * 100.0)) / 100.0; //保留兩位小數 if (cm> 50) { Serial.print(cm); Serial.print("安全"); //串口輸出 中英文都可以 Serial.println(); mylcd.setCursor(0, 0); mylcd.print(cm); mylcd.setCursor(0, 1); mylcd.print("Security"); //LED屏顯只認英文 delay(2000); mylcd.clear(); } if (cm < 50 && cm > 30) { Serial.print(cm); Serial.print("正常"); Serial.println(); mylcd.setCursor(0, 0); mylcd.print(cm); mylcd.setCursor(0, 1); mylcd.print("Normal"); delay(2000); mylcd.clear(); } if (cm < 30) { Serial.print(cm); Serial.print("危險"); Serial.println(); mylcd.setCursor(0, 0); mylcd.print(cm); mylcd.setCursor(0, 1); mylcd.print("Danger"); delay(2000); mylcd.clear(); } } * * * * * * * * * * **案例5:超聲波測距程序及調試 【用LCD1602屏顯示+區塊報警(Mixly助手)+控制手機】** 步驟: 1接板(如何中接?接泡沫板、接超聲波、接LED屏、接藍牙注意收發要反著接) 2定uno板.定端口(如何做?打開軟件arduino在工具菜單下) 3找-找型號找庫,調庫代碼放在setup前,本程序加了3句,調庫 setup中加上2句話,Loop中加上5句 4復制下面代碼(復制到arduinoIDE中) 5加邏輯,米斯奇中做并把代碼復制到arduino中修改 6燒寫上傳,先用右上角端口監視器看一下 7測距:(打開就可看到數據) 8**控制手機**。手機appinventor:先查看藍牙是否接到板,接好后,在App中編程,把組件全聯起來。 **如何修改藍牙名稱?** * * * * * #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C mylcd(0x27,16,2); const int TrigPin = 2; const int EchoPin = 3; float cm; void setup() { pinMode(11, OUTPUT); //D11口設為報警口 mylcd.init(); mylcd.backlight(); Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); } void loop() { //發一個10ms的高脈沖去觸發TrigPin digitalWrite(TrigPin, LOW); delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); //下面兩句是關鍵函數 cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米 cm = (int(cm * 100.0)) / 100.0; //保留兩位小數 if (cm> 50) { Serial.print(cm); Serial.print("安全"); //串口輸出 中英文都可以 Serial.println(); mylcd.setCursor(0, 0); mylcd.print(cm); mylcd.setCursor(0, 1); mylcd.print("Security"); //LED屏顯只認英文 delay(2000); mylcd.clear(); } if (cm < 50 && cm > 30) { Serial.print(cm); Serial.print("正常"); Serial.println(); mylcd.setCursor(0, 0); mylcd.print(cm); mylcd.setCursor(0, 1); mylcd.print("Normal"); delay(2000); mylcd.clear(); } if (cm < 30) { Serial.print(cm); Serial.print("危險"); Serial.println(); mylcd.setCursor(0, 0); mylcd.print(cm); mylcd.setCursor(0, 1); mylcd.print("Danger"); delay(2000); mylcd.clear(); } } * * * * * ### 控制手機 1、加藍牙。 把藍牙接到Uno板上,注意收發反接TX/RX腳 2、手機上裝千月串口(事先就裝好) 先打開手機藍牙功能,再打開千月串口軟件,選擇藍牙并建立通迅。 下載地址: (1)千月藍牙管理http://dl.pconline.com.cn/download/1026564.html (2)千月無線手機版http://a.xiazaiba.com/app/26599.html (3)千月官網-暢享無線http://www.bluesoleil.com.cn/ (4)手機應用管理:輸入千月串口或藍牙串口助手下載 作用:進行藍牙串口通迅測試,連接單片機與電腦和手機的通迅模板。一是幫助搜索藍牙設備,二是接收并顯示數據,三是設置ASCII與HEX的輸入輸出模式。 3、手機上安裝AI伴侶(事先就裝好) 手機版AI下載:我的云盤https://pan.baidu.com/s/1nwXvrlR 作用:測試環節。當App做好后,就要對它進行測試。 ### 特別提醒: 桌面版AI伴侶,利于不帶手機的教學測試(安裝這類軟件時都要先關閉退出衛士殺毒軟件類)使用這款AI伴侶的前提條件是:電腦必須具備硬件加速功能(支持WebGL) 下載地址:http://blog.sina.com.cn/s/blog_62218b990102wu1m.html 我的云盤: win10 x64 https://pan.baidu.com/s/1pNoShWv win7 x64 https://pan.baidu.com/s/1kWx755P win7 x32 https://pan.baidu.com/s/1c31jAQs winxp https://pan.baidu.com/s/1c2TZ8QW **4、手機App。**(AppInventor 此軟件必須在根目錄中,且為英文名) **第一步:組件及布局** ![](https://box.kancloud.cn/1dcb72cc8bfda1b2e08b54891e97bc62_1708x1337.png) **第二步:編程部分 組件邏輯聯系** ![](https://box.kancloud.cn/937e8be6bf754ebf31c04562b556b36e_2690x1335.png) **第三步:**先在開發環境中點擊菜單“連接->AI伴侶”,出現二維碼。 **第四步:**打開手機藍牙-打開手機千月串口對接測試藍牙-打開AI伴侶掃描二維碼,之后:用編碼進行連接,如下圖, ![](https://box.kancloud.cn/68c98294436a650ec27a5e8c7004f582_363x676.png) ![](https://box.kancloud.cn/c79c4e4ad3392465c6cbb956d0ef18d1_690x495.jpg) 源文件下載(我的云盤):https://pan.baidu.com/s/1ggShRBd * * * * * * * * * * ## 學習小結: ①做手機app,版面可以設科學點美觀點,雖然并不第一重要。 ②apk程序文件如何去掉風險提示?因為程序沒有通過認證去不掉。 ③手機程序(屏幕程序)與手機控物程序(手機與物聯)不同。 **手機程序:** 方法一:軟件AppInventor,AI伴侶,藍牙串口助手(千月串口)等 方法二:在線app **手機控物程序:** 軟件 手機程序app inventor,手機安裝(AI伴侶,千月串品,訊飛語音+),arduino+米斯奇,S4A,各種傳感器等 ①先把實物傳感器按s4a軟件要求接好。如 把藍牙和arduino板接好。(裝配成功) ②調試一下,把uno板接上電腦,并在電腦上打開軟件arduino,寫入(燒錄)相關代碼調試。 代碼從哪來?如何找到? 一是會編,二是會調用借用。一般不必自己編,已經有的代碼和庫文件要會調用。 如何證明燒寫成功?用arduinoIDE自帶的串口助手(在arduino右上角),選好接的串口號com,波特率?輸入幾個字符,發送一下,看顯示。(電腦與板卡通信成功) ③千月串口app,arduino的藍牙管理軟件,在手機上安裝,打開手機藍牙功能,并打開千月串口,找藍牙設備。 發送字符,看返回值,測試一下。(手機與板卡通信成功) ④邏輯代碼,代碼在米斯奇里做好,復制粘貼到arduino,反復修改調試,驗證、上傳,直到成功。 ⑤編手機遙控程序 軟件app inventor,注意先建項目,查看連接端口,編好后,下載到本地,并傳送到手機安裝測試 、 * * * * * * * * * * ### 總結: 電腦控物--- 電腦與單片機 。 如各種傳感器 手機控物---手機通過藍牙或WIFI,聯系控物。如 釣魚船 單片機控手機(電腦)---單片機通過藍牙等通迅組件,通過在手機app建立聯系,控制手機。如 超聲波傳感器的停車安全距離提示
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看