<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎入門 >> Arduino開發(fā)學習 >> 正文

      Arduino學習記錄 基礎知識總結_arduino pullup

      作者:佚名    文章來源:網(wǎng)絡整理    點擊數(shù):    更新時間:2025/3/14

      一、INPUT和OUTPUT
      1.當引腳設置為INPUT狀態(tài)時,引腳為高阻抗狀態(tài)(100兆歐)。此時引腳可以用于讀取傳感器信號或開關信號。
      2.當引腳設置為OUTPUT狀態(tài)時,引腳為低阻抗狀態(tài)。這意味著Arduino可以向其它電路元器件提供電流。也就是說,Arduino引腳在輸出(OUTPUT)模式下可以電亮LED或者驅動電機。
      3.INPUT_PULLUP模式:Arduino微控制器自帶內部上拉電阻。在該模式下可以使用該內部上拉電阻。

      二、引腳的作用

       
      1.數(shù)字引腳:
      ●引腳1-13用作數(shù)字輸入/輸出引腳。其中,引腳13連接到板載的LED指示燈;引腳 3、5、6、9、10、11具有PWM功能。
      ●數(shù)字引腳可以開啟或者關閉。打開時,處于5V的高電平狀態(tài);關閉時,處于0V的低電平狀態(tài)。
      ●當數(shù)字引腳配置為輸出時,它們設置為0或5V。當配置為輸入時,電壓可以在0-5V之間變化, 并轉換為數(shù)字表示(0或1)。
      ●脈寬調制(PWM)是一種調制技術,用于將消息編碼為脈沖信號。pwm由兩個關鍵部分組成:頻率和占空比。頻率決定完成單個周期所需要的時間以及信號從高到低的波動速度。占空比決定信號在總時間段內保持高電平的時間。
      2.電源:
      ●VIN引腳:使用外部電源為UNO開發(fā)板供電
      ●5V和3.3V:向外部組件提供穩(wěn)壓的5V和3.3V
      ●RESET引腳:復位Arduino開發(fā)板
      3.模擬輸入:
      ●A0-A5作為ADC(模數(shù)轉換器)。這些引腳用作模擬輸入,但也可以用作數(shù)字輸入或者輸出。
      ●模數(shù)轉換:ADC是用于將模擬信號轉換為數(shù)字信號的電子電路。引腳A0-A5能夠讀取模擬電壓。ADC可以通過1024個數(shù)字電平表示模擬電壓,將電壓轉換為微處理器可以理解的位。e.g IP語音(將聲波轉換為模擬電壓,通過設備的ADC,轉換成數(shù)字數(shù)據(jù),通過互聯(lián)網(wǎng)傳輸?shù)浇邮斩恕?/P>

      三、PWM(方波控制信號)
      1.工作原理:采用不同的占空比來模擬“模擬輸出”。
      2.作用:
      ●提供模擬輸出;如果數(shù)字輸出被過濾,則其模擬電壓將介于0%-100%之間
      ●生成音頻信號
      ●控制燈光亮度,為電機提供變速控制
      ●生成調制信號,例如驅動用于遠程控制的紅外LED
      3.使用:
      ●analogWrite(pin,dutyCycle)
      pin值選擇(3,5,6,9,10,11),dutyCycle的值在0~255之間。這種方式pwm信號的頻率是固定的默認值(490Hz)。

      # define analogPin 3
      void setup()
      {
       pinMode(analogPin,OUTPUT);
      }
      void loop()
      {
       analogWrite(analogPin,100);  // 輸出PWM,占空比為 100/255
      }

      ●delayMicroseconds()手動實現(xiàn)頻率可調的PWM
      (1)兩次的digitalWrite輸出狀態(tài)必須相反;
      (2)可以用delay()實現(xiàn)毫秒級延遲,用delayMicroseconds()實現(xiàn)微妙級延遲

      (3)特點
      1.pwm的比例可以更精確
      2.周期和頻率可控制
      3.所有pin腳都可以輸出,不僅局限于6個腳
      4.缺點:CPU無法進行其他活動

      void setup()
      {
        pinMode(8, OUTPUT);    // 設置8號引腳為輸出模式
      }
      void loop()
      {
        digitalWrite(8, HIGH);
        delayMicroseconds(100);    // 輸出PWM,占空比為100/1000=10%
        digitalWrite(8, LOW);
        delayMicroseconds(1000 - 100);  // 修改這里的1000可以調整頻率,總周期為1000us,所以頻率為1000Hz.
      }

      四、三段代碼的區(qū)別

       

      ●第一段代碼定義了一個布爾型變量pushButton,將2號引腳的電平狀態(tài)賦給pushButton,并直接根據(jù)pushButton的真假賦予1/0進入條件判定,同時在判定時加入了邏輯運算符!,使得判定的值相反。所以該代碼的運算結果為按下按鈕時LED燈亮,松開按鈕時LED燈不亮。
      ●第二段代碼定義了一個整形變量sensorVal,將2號引腳的電平狀態(tài)賦給sensorVal,在條件判定時,按鈕的邏輯狀態(tài)是反的,當按鈕沒有按下時,2號引腳為高電平狀態(tài),在if語句中要使13號引腳為低電平狀態(tài),LED燈不亮,當按鈕按下時則相反。同時該段代碼的第2行和第10行還啟動了串口通訊,并把速率調到9600,則用戶可以在串口中看到sensorVal的值。
      ●第三段代碼運用了兩個按鈕操作,因此定義了兩個boolean變量。但在if語句的判定中沒有使用!運算,即運行結果為當兩個按鈕都沒有按下時,13號引腳的狀態(tài)為高電平,LED燈亮;當按下了其中一個按鈕或者兩個按鈕時,13號引腳為低電平狀態(tài),LED燈不亮。

      五、邏輯運算符

      ●&&邏輯與:只有在兩個操作數(shù)都為真時才返回真。
      ●&:取地址的單目運算符;位運算符,表示“按位與”,是雙目運算符。
      ●||邏輯或:任意一個為真時返回真。
      ●!邏輯非:當操作數(shù)為假時返回真。

      六、串口通訊

      void setup(){
          Serial.begin(9600);
      }
      void loop(){
          if (Serial.available()){
              int value=Serial.read();
      } 


      1.Serial begin(9600)
      設置串口通信波特比率為9600
      2.if(Serial.avilable())
      判斷Arduino串口是否收到數(shù)據(jù),函數(shù)Serial.available()返回值為int型,不帶參數(shù)
      3.int var=Serial.read()
      將串口數(shù)據(jù)讀入到變量var中,函數(shù)Serial.read()也不帶參數(shù),返回值為串口數(shù)據(jù),int型

      七、傳感器
      1.主要參數(shù)
      vcc:5V電源
      Trig:控制端(觸發(fā))
      Echo:接收端(回聲)
      Gnd:接地端
      探測距離:2cm-450cm
      感應角度:<15度
      探測精度:0.3cm

      2.工作原理

       
      const int TrigPin=8;       //設置發(fā)射腳位
      const int EchoPin=9;      //設置接收腳位
      float cm;                 //浮點型數(shù)據(jù)類型(加小數(shù)點,提高精準度)
      void setup() {
      Serial.begin(9600);
      pinMode(TrigPin,OUTPUT);
      pinMode(EchoPin,INPUT);
      }
      void loop() {
      digitalWrite(TrigPin,LOW);        //用低高低電平發(fā)送脈沖給Trigpin引腳
      delayMicroseconds(2);             //微秒級延時
      digitalWrite(TrigPin,HIGH);
      delayMicroseconds(10);
      digitalWrite(TrigPin,LOW);
      cm=pulseIn(EchoPin,HIGH)/58.0;    //讀取脈沖寬度,換算成厘米
      Serial.print(cm);                 //顯示距離
      Serial.print("cm");               //顯示單位
      Serial.println();                 //回車
      delay(1000);
      }

      ●const的作用是將定義的腳位存儲在只讀存儲器,即存儲在UNO板的硬盤當中,在運行過程中節(jié)約UNO板的資源。
      在C語言中,關鍵字const用來定義常量,,如果一個變量被const修飾,那么它的值就不能再改變。
      ●pulseIn函數(shù)其實就是一個簡單的測量脈沖寬度的函數(shù),默認單位是us=10^-6s。也就是說pulseIn測出來的是超聲波從發(fā)射到接收所經(jīng)過的時間。對于除數(shù)58也很好理解,聲音在干燥、攝氏 20度的空氣中的傳播速度大約為343米/秒,合34,300厘米/秒。或者,我們作一下單位換算,34,300除以1,000,000厘米/微秒。即為:0.0343厘米/微秒,再換一個角度,1/(0.0343 厘米/微秒)即:29.15 微秒/厘米。這就意味著,每291.5微秒表示10CM的距離。1厘米就是29.15微秒。但是發(fā)送后到接收到回波,聲音走過的是2倍的距離呀。所以實際距離就是1厘米,對應58.3微秒。實際上整個測距過程是測的發(fā)出聲波到收到回波的時間,你的程序里的第一個distance實際上是時間us。所以換成距離cm,要除以58。當然除以58.3可能更精確。所以我們可以用 pulseIn(EchoPin, HIGH) / 58.00獲取測得的距離。

      Tags:Arduino開發(fā)板,Arduino,入門教程  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      關于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 久久88色综合色鬼| 狠狠色婷婷七月色综合| 丁香六月婷婷综合激情动漫| 开心五月激情综合婷婷| 久久综合久久综合久久综合| 亚洲综合色区在线观看| 婷婷五月综合色视频| 色综合天天综合网站中国| 一本一本久久A久久综合精品 | 久久综合久久综合亚洲| 成人综合久久综合| 浪潮AV色综合久久天堂| 国产成人综合精品一区| 亚洲国产综合91精品麻豆| 久久乐国产精品亚洲综合| 天天躁日日躁狠狠躁综合 | 亚洲国产综合在线| 亚洲综合日韩久久成人AV| 日韩字幕一中文在线综合| 久久精品水蜜桃av综合天堂| 国产综合无码一区二区色蜜蜜| 色综合久久久久久久久五月| 国产色婷婷精品综合在线 | 国产色婷婷五月精品综合在线| 国产婷婷综合在线视频中| 色五月丁香五月综合五月4438| 六月婷婷缴清综合在线| 91精品国产综合久| 亚洲国产综合自在线另类| 久久久久青草线蕉综合超碰| 亚洲色欲久久久综合网东京热 | 国产精品亚洲综合专区片高清久久久| 色综合久久精品亚洲国产| 色欲天天天综合网| 伊人色综合久久天天| 亚洲综合一区二区精品导航| 91精品国产综合久久香蕉 | 久久精品水蜜桃av综合天堂| 91精品综合久久久久久五月天| 久久综合亚洲色一区二区三区 | 亚洲五月综合缴情婷婷|