<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)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> Arduino開發(fā)學(xué)習(xí) >> 正文

      Arduino基礎(chǔ)25個(gè)實(shí)驗(yàn)代碼_Arduino程序代碼大全

      作者:佚名    文章來源:網(wǎng)絡(luò)整理    點(diǎn)擊數(shù):    更新時(shí)間:2024/4/6

      arduino基礎(chǔ)25個(gè)實(shí)驗(yàn)代碼

      雙色LED燈項(xiàng)目源碼

      int redPin = 11;      // 紅色LED引腳
      int greenPin = 10;    // 綠色LED引腳
      int val = 0;          // PWM輸出值
      void setup() {
        pinMode(redPin, OUTPUT);    // 將紅色LED引腳設(shè)置為輸出模式
        pinMode(greenPin, OUTPUT);  // 將綠色LED引腳設(shè)置為輸出模式
        Serial.begin(9600);         // 初始化串口通信,波特率為9600
      }
      void loop() {
        for (val = 255; val > 0; val--) {         // 從255遞減到1,調(diào)整PWM輸出值
          analogWrite(redPin, val);               // 設(shè)置紅色LED的亮度(占空比)
          analogWrite(greenPin, 255 - val);       // 設(shè)置綠色LED的亮度(占空比)
          Serial.println(val, DEC);               // 在串口上打印當(dāng)前PWM輸出值(10進(jìn)制)
          delay(30);                              // 延遲30毫秒
        }
        for (val = 0; val < 255; val++) {         // 從0遞增到254,調(diào)整PWM輸出值
          analogWrite(redPin, val);               // 設(shè)置紅色LED的亮度(占空比)
          analogWrite(greenPin, 255 - val);       // 設(shè)置綠色LED的亮度(占空比)
          Serial.println(val, DEC);               // 在串口上打印當(dāng)前PWM輸出值(10進(jìn)制)
          delay(30);                              // 延遲30毫秒
        }
      }
      
      /*這段代碼使用了Arduino的analogWrite函數(shù)來控制兩個(gè)LED的亮度。首先,通過循環(huán)遞減PWM輸出值,使紅色LED從高亮變暗,綠色LED從暗到高亮。然后,通過循環(huán)遞增PWM輸出值,使紅色LED從暗到高亮,綠色LED從高亮變暗。每次調(diào)整亮度后,程序會(huì)在串口上打印出當(dāng)前的PWM輸出值。每次亮度調(diào)整后都會(huì)延遲30毫秒,以便能夠觀察到亮度的變化。*/

      RGB-LED項(xiàng)目源碼

      const int redPin = 11;    // 紅色LED引腳
      const int greenPin = 10;  // 綠色LED引腳
      const int bluePin = 9;    // 藍(lán)色LED引腳
      void setup() {
        pinMode(redPin, OUTPUT);    // 將紅色LED引腳設(shè)置為輸出模式
        pinMode(greenPin, OUTPUT);  // 將綠色LED引腳設(shè)置為輸出模式
        pinMode(bluePin, OUTPUT);   // 將藍(lán)色LED引腳設(shè)置為輸出模式
      }
      void loop() {
        color(0, 255, 255);   // 設(shè)置顏色為青色(紅色亮度為0,綠色亮度為255,藍(lán)色亮度為255)
        delay(1000);          // 延遲1秒
        color(255, 0, 255);   // 設(shè)置顏色為洋紅色(紅色亮度為255,綠色亮度為0,藍(lán)色亮度為255)
        delay(1000);          // 延遲1秒
        color(255, 255, 0);   // 設(shè)置顏色為黃色(紅色亮度為255,綠色亮度為255,藍(lán)色亮度為0)
        delay(1000);          // 延遲1秒
        color(0, 255, 255);   // 設(shè)置顏色為青色
        delay(1000);          // 延遲1秒
        color(0, 128, 255);   // 設(shè)置顏色為天藍(lán)色(紅色亮度為0,綠色亮度為128,藍(lán)色亮度為255)
        delay(1000);          // 延遲1秒
        color(0, 0, 255);     // 設(shè)置顏色為藍(lán)色(紅色亮度為0,綠色亮度為0,藍(lán)色亮度為255)
        delay(1000);          // 延遲1秒
        color(255, 0, 255);   // 設(shè)置顏色為洋紅色
        delay(1000);          // 延遲1秒
        color(255, 255, 0);   // 設(shè)置顏色為黃色
        delay(1000);          // 延遲1秒
        color(255, 0, 0);     // 設(shè)置顏色為紅色(紅色亮度為255,綠色亮度為0,藍(lán)色亮度為0)
        delay(1000);          // 延遲1秒
        color(128, 255, 0);   // 設(shè)置顏色為淺綠色(紅色亮度為128,綠色亮度為255,藍(lán)色亮度為0)
        delay(1000);          // 延遲1秒
      }
      void color(unsigned char red, unsigned char green, unsigned char blue) {
        analogWrite(redPin, red);       // 設(shè)置紅色LED的亮度(占空比)
        analogWrite(greenPin, green);   // 設(shè)置綠色LED的亮度(占空比)
        analogWrite(bluePin, blue);     // 設(shè)置藍(lán)色LED的亮度(占空比)
      }
      
      /*該代碼使用了三個(gè)PWM引腳來控制RGB LED的顏色。color函數(shù)用來設(shè)置各個(gè)顏色通道的亮度(占空比),然后通過調(diào)用analogWrite函數(shù)來輸出相應(yīng)的PWM信號(hào),從而實(shí)現(xiàn)顏色的變化。在loop函數(shù)中,按照預(yù)定的順序依次設(shè)置不同的顏色,并且每次顏色變化后延遲1秒,以觀察顏色的變化效果。*/

      繼電器項(xiàng)目源碼

      const int relayPin = 7;
      void setup() {
        pinMode(relayPin,OUTPUT);
       }
       void loop() {
         digitalWrite(relayPin,HIGH);
         delay(1000);
         digitalWrite(relayPin,LOW);
         delay(1000);
       }
      

      激光項(xiàng)目實(shí)驗(yàn)

      // 定義字母的摩爾斯編碼
      char* letters[] = {
        ".-",    // A
        "-...",  // B
        "-.-.",  // C
        "-..",   // D
        ".",     // E
        "..-.",  // F
        "--.",   // G
        "....",  // H
        "..",    // I
        ".---",  // J
        "-.-",   // K
        ".-..",  // L
        "--",    // M
        "-.",    // N
        "---",   // O
        ".--.",  // P
        "--.-",  // Q
        ".-.",   // R
        "...",   // S
        "-",     // T
        "..-",   // U
        "...-",  // V
        ".--",   // W
        "-..-",  // X
        "-.--",  // Y
        "--.."   // Z
      };
      // 定義數(shù)字的摩爾斯編碼
      char* numbers[] = {
        "-----",  // 0
        ".----",  // 1
        "..---",  // 2
        "...--",  // 3
        "....-",  // 4
        ".....",  // 5
        "-....",  // 6
        "--...",  // 7
        "---..",  // 8
        "----."   // 9
      };
      const int laserPin = 7;  // 激光器引腳
      static int dotDelay = 200;  // 點(diǎn)的延遲時(shí)間
      void setup()
      {
        pinMode(laserPin, OUTPUT);
        Serial.begin(9600);
      }
      void loop()
      {
        char ch = 0;
        if (Serial.available() > 0)
        {
          ch = Serial.read();
        }
        morseSignal(ch);  // 發(fā)送摩爾斯信號(hào)
      }
      // 發(fā)送一個(gè)點(diǎn)或者一個(gè)劃
      void flashDot(char cha)
      {
        digitalWrite(laserPin, HIGH);  // 激光器打開
        if (cha == '.')  // 如果是點(diǎn),則延遲dotDelay毫秒
        {
          delay(dotDelay);
        }
        else  // 否則為劃,則延遲3倍的dotDelay毫秒
        {
          delay(dotDelay * 3);
        }
        digitalWrite(laserPin, LOW);  // 激光器關(guān)閉
        delay(dotDelay);  // 延遲dotDelay毫秒
      }
      // 發(fā)送一個(gè)序列
      void flashSequence(const char *sequence)
      {
        int i = 0;
        while (sequence[i] != '\0')  // 遍歷序列直到字符串的結(jié)尾
        {
          flashDot(sequence[i]);  // 發(fā)送每個(gè)字符
          i++;
        }
        delay(dotDelay * 3);  // 延遲3倍的dotDelay毫秒,作為字符之間的間隔
      }
      // 發(fā)送摩爾斯信號(hào)
      void morseSignal(char ch)
      {
        if (ch >= 'a' && ch <= 'z')  // 如果是小寫字母
        {
          flashSequence(letters[ch - 'a']);  // 發(fā)送對(duì)應(yīng)字母的摩爾斯編碼
        }
        else if (ch >= 'A' && ch <= 'Z')  // 如果是大寫字母
        {
          flashSequence(letters[ch - 'A']);  // 發(fā)送對(duì)應(yīng)字母的摩爾斯編碼
        }
        else if (ch >= '0' && ch <= '9')  // 如果是數(shù)字
        {
          flashSequence(numbers[ch - '0']);  // 發(fā)送對(duì)應(yīng)數(shù)字的摩爾斯編碼
        }
        else if (ch == ' ')  // 如果是空格
        {
          delay(dotDelay * 4);  // 延遲4倍的dotDelay毫秒,作為空格的間隔
        }
      }
      
      /*這段代碼使用一個(gè)激光器LED來發(fā)送摩爾斯信號(hào)。通過串口接收輸入的字符,并根據(jù)字符來發(fā)送對(duì)應(yīng)的摩爾斯編碼。摩爾斯編碼存儲(chǔ)在數(shù)組中,大寫字母'A'到'Z'、小寫字母'a'到'z'以及數(shù)字'0'到'9'都有對(duì)應(yīng)的摩爾斯編碼。使用flashDot函數(shù)發(fā)送一個(gè)點(diǎn)(.)或一個(gè)劃(-),使用flashSequence函數(shù)發(fā)送一個(gè)摩爾斯編碼序列。morseSignal函數(shù)根據(jù)輸入的字符調(diào)用適當(dāng)?shù)暮瘮?shù)來發(fā)送摩爾斯信號(hào)。*/

      輕觸項(xiàng)目源碼

      const int keyPin = 7;   // 按鍵輸入引腳
      const int ledPin = 13;  // LED輸出引腳
      void setup() {
        pinMode(keyPin, INPUT);   // 設(shè)置按鍵引腳為輸入模式
        pinMode(ledPin, OUTPUT);  // 設(shè)置LED引腳為輸出模式
      }
      void loop() {
        boolean Value = digitalRead(keyPin);  // 讀取按鍵引腳的值,將結(jié)果保存在Value變量中
        if (Value == HIGH) {  // 如果按鍵引腳的值為高電平(按下狀態(tài))
          digitalWrite(ledPin, LOW);  // 將LED引腳設(shè)置為低電平(滅)
        } else {  // 否則(未按下狀態(tài))
          digitalWrite(ledPin, HIGH);  // 將LED引腳設(shè)置為高電平(亮)
        }
      }
      
      /*這段代碼使用了一個(gè)按鍵和一個(gè)LED。按鍵連接到keyPin引腳,LED連接到ledPin引腳。在setup()函數(shù)中,將keyPin設(shè)置為輸入模式,ledPin設(shè)置為輸出模式。在loop()函數(shù)中,通過digitalRead()函數(shù)讀取keyPin引腳的狀態(tài),并將結(jié)果保存在Value變量中。如果Value等于HIGH,表示按鍵被按下,此時(shí)將ledPin引腳設(shè)置為低電平(LED熄滅)。否則,如果Value不等于HIGH,表示按鍵未被按下,此時(shí)將ledPin引腳設(shè)置為高電平(LED點(diǎn)亮)*/

      傾斜開關(guān)項(xiàng)目源碼

      const int sigPin = 7;   // 信號(hào)輸入引腳
      const int ledPin = 13;  // LED輸出引腳
      boolean sigState = 0;   // 信號(hào)狀態(tài)變量,初始值為低電平
      void setup()
      {
        pinMode(ledPin, OUTPUT);  // 設(shè)置LED引腳為輸出模式
        pinMode(sigPin, INPUT);   // 設(shè)置信號(hào)引腳為輸入模式
        Serial.begin(9600);       // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        sigState = digitalRead(sigPin);  // 讀取信號(hào)引腳的值,將結(jié)果保存在sigState變量中
        Serial.println(sigState);        // 將信號(hào)狀態(tài)打印到串口監(jiān)視器
        if (sigState == HIGH)  // 如果信號(hào)引腳的值為高電平(信號(hào)輸入)
        {
          digitalWrite(ledPin, LOW);  // 將LED引腳設(shè)置為低電平(LED熄滅)
        }
        else  // 否則,信號(hào)引腳的值為低電平(信號(hào)未輸入)
        {
          digitalWrite(ledPin, HIGH);  // 將LED引腳設(shè)置為高電平(LED點(diǎn)亮)
        }
      }
      
      
      /*這段代碼使用了一個(gè)信號(hào)輸入引腳和一個(gè)LED輸出引腳。信號(hào)輸入引腳連接到sigPin引腳,LED輸出引腳連接到ledPin引腳。在setup()函數(shù)中,將ledPin設(shè)置為輸出模式,sigPin設(shè)置為輸入模式。同時(shí)初始化串口通信,并設(shè)置波特率為9600。在loop()函數(shù)中,通過digitalRead()函數(shù)讀取sigPin引腳的狀態(tài),并將結(jié)果保存在sigState變量中。然后,通過Serial.println()函數(shù)將sigState的值打印到串口監(jiān)視器中。根據(jù)sigState的值,如果為HIGH,表示信號(hào)輸入,將ledPin引腳設(shè)置為低電平(LED熄滅);否則,如果sigState不為HIGH,表示信號(hào)未輸入,將ledPin引腳設(shè)置為高電平(LED點(diǎn)亮)。*/

      振動(dòng)開關(guān)項(xiàng)目源碼

      const int vibswPin = 8;   // 震動(dòng)開關(guān)輸入引腳
      const int ledPin = 13;    // LED輸出引腳
      int val = 0;              // 震動(dòng)開關(guān)狀態(tài)變量,初始值為低電平
      void setup()
      {
        pinMode(vibswPin, INPUT);   // 設(shè)置震動(dòng)開關(guān)引腳為輸入模式
        pinMode(ledPin, OUTPUT);    // 設(shè)置LED引腳為輸出模式
        //Serial.begin(9600);       // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        val = digitalRead(vibswPin);  // 讀取震動(dòng)開關(guān)引腳的值,將結(jié)果保存在val變量中
        //Serial.println(val);        // 將震動(dòng)開關(guān)狀態(tài)打印到串口監(jiān)視器
        if (val == LOW)  // 如果震動(dòng)開關(guān)引腳的值為低電平(檢測(cè)到震動(dòng))
        {
          digitalWrite(ledPin, HIGH);  // 將LED引腳設(shè)置為高電平(LED點(diǎn)亮)
          delay(500);                  // 延時(shí)500毫秒
        }
        else  // 否則,震動(dòng)開關(guān)引腳的值為高電平(未檢測(cè)到震動(dòng))
        {
          digitalWrite(ledPin, LOW);  // 將LED引腳設(shè)置為低電平(LED熄滅)
        }
      }
      
      /*這段代碼使用了一個(gè)震動(dòng)開關(guān)輸入引腳和一個(gè)LED輸出引腳。震動(dòng)開關(guān)輸入引腳連接到vibswPin引腳,LED輸出引腳連接到ledPin引腳。在setup()函數(shù)中,將vibswPin設(shè)置為輸入模式,將ledPin設(shè)置為輸出模式。在loop()函數(shù)中,通過digitalRead()函數(shù)讀取vibswPin引腳的狀態(tài),并將結(jié)果保存在val變量中。然后,根據(jù)val的值判斷當(dāng)前震動(dòng)開關(guān)的狀態(tài),如果為LOW,表示檢測(cè)到震動(dòng),將ledPin引腳設(shè)置為高電平(LED點(diǎn)亮),并延時(shí)500毫秒;否則,如果val不為LOW,表示未檢測(cè)到震動(dòng),將ledPin引腳設(shè)置為低電平(LED熄滅)。*/

      紅外遙控項(xiàng)目源碼

      #include <IRremote.h>  // 引入紅外庫
      const int irReceiverPin = 7;    // 紅外接收器引腳
      const int ledPin = 13;          // LED輸出引腳
      IRrecv irrecv(irReceiverPin);   // 創(chuàng)建紅外接收器實(shí)例
      decode_results results;         // 存儲(chǔ)解碼結(jié)果的變量
      void setup()
      {
        pinMode(ledPin, OUTPUT);      // 設(shè)置LED引腳為輸出模式
        Serial.begin(9600);           // 初始化串口通信,波特率為9600
        irrecv.enableIRIn();          // 啟用紅外接收器
      }
      void loop()
      {
        if (irrecv.decode(&results))  // 如果成功接收到紅外信號(hào)并解碼
        { 
          Serial.print("irCode: ");  // 打印提示信息
          Serial.print(results.value, HEX);  // 打印解碼得到的紅外碼值
          Serial.print(", bits: ");  // 打印解碼得到的位數(shù)
          Serial.println(results.bits);  
          irrecv.resume();            // 繼續(xù)等待下一個(gè)紅外信號(hào)
        }
        delay(600);                   // 延遲600毫秒
        if (results.value == 0xFFA25D)  // 如果解碼得到的紅外碼值為0xFFA25D
        {
          digitalWrite(ledPin, HIGH);  // 將LED引腳設(shè)置為高電平(LED點(diǎn)亮)
        }
        else
        {
          digitalWrite(ledPin, LOW);   // 將LED引腳設(shè)置為低電平(LED熄滅)
        }
      }
      
      /*這段代碼使用了一個(gè)紅外接收器引腳和一個(gè)LED輸出引腳。紅外接收器的引腳連接到irReceiverPin引腳,LED輸出引腳連接到ledPin引腳。在setup()函數(shù)中,將ledPin設(shè)置為輸出模式,初始化串口通信,并啟用紅外接收器。在loop()函數(shù)中,首先判斷是否成功接收到紅外信號(hào)并解碼,如果是,則打印解碼得到的紅外碼值和位數(shù),然后通過irrecv.resume()繼續(xù)等待下一個(gè)紅外信號(hào)。接著延時(shí)600毫秒,然后根據(jù)解碼得到的紅外碼值判斷是否與預(yù)設(shè)的值相等,如果相等,則將ledPin引腳設(shè)置為高電平(LED點(diǎn)亮),否則將其設(shè)置為低電平(LED熄滅)。*/

      蜂鳴器項(xiàng)目源碼

      const int buzzerPin = 7;  // 蜂鳴器引腳
      int fre;                  // 頻率變量
      void setup()
      {
        pinMode(buzzerPin, OUTPUT);  // 設(shè)置蜂鳴器引腳為輸出模式
      }
      void loop()
      {
        for(int i = 200; i <= 800; i++)  // 遞增循環(huán),從200到800
        {
          tone(buzzerPin, i);  // 在蜂鳴器引腳上產(chǎn)生頻率為i的音調(diào)
          delay(5);           // 延遲5毫秒
        }
        
        delay(4000);  // 延遲4000毫秒
        
        for(int i = 800; i >= 200; i--)  // 遞減循環(huán),從800到200
        {
          tone(buzzerPin, i);  // 在蜂鳴器引腳上產(chǎn)生頻率為i的音調(diào)
          delay(10);          // 延遲10毫秒
        }
      }
      
      /*這段代碼使用了一個(gè)蜂鳴器引腳。蜂鳴器的引腳連接到buzzerPin引腳。在setup()函數(shù)中,將buzzerPin設(shè)置為輸出模式。在loop()函數(shù)中,首先使用一個(gè)循環(huán)從200遞增到800,在每次循環(huán)中,通過tone()函數(shù)在蜂鳴器引腳上產(chǎn)生頻率為i的音調(diào),并延遲5毫秒。接著延遲4000毫秒,然后使用另一個(gè)循環(huán)從800遞減到200,在每次循環(huán)中,同樣通過tone()函數(shù)在蜂鳴器引腳上產(chǎn)生頻率為i的音調(diào),并延遲10毫秒。這樣就形成了一個(gè)簡(jiǎn)單的音效循環(huán):從低音到高音再到低音。*/

      干簧管傳感器項(xiàng)目源碼

      const int digitalInPin = 7;  // 數(shù)字輸入引腳
      const int ledPin = 13;       // LED輸出引腳
      void setup()
      {
        pinMode(digitalInPin, INPUT);   // 設(shè)置數(shù)字輸入引腳為輸入模式
        pinMode(ledPin, OUTPUT);        // 設(shè)置LED輸出引腳為輸出模式
      }
      void loop()
      {
        boolean stat = digitalRead(digitalInPin);  // 讀取數(shù)字輸入引腳的狀態(tài),并將結(jié)果存儲(chǔ)在stat變量中
        
        if(stat == HIGH)  // 如果狀態(tài)為高電平(輸入信號(hào)為高)
        {
          digitalWrite(ledPin, LOW);  // 將LED引腳設(shè)置為低電平(熄滅LED)
        }
        else  // 如果狀態(tài)為低電平(輸入信號(hào)為低)
        {
          digitalWrite(ledPin, HIGH);  // 將LED引腳設(shè)置為高電平(點(diǎn)亮LED)
        }
      }
      
      /*這段代碼使用了一個(gè)數(shù)字輸入引腳和一個(gè)LED輸出引腳。數(shù)字輸入引腳的引腳連接到digitalInPin引腳,LED輸出引腳連接到ledPin引腳。在setup()函數(shù)中,將digitalInPin設(shè)置為輸入模式,將ledPin設(shè)置為輸出模式。在loop()函數(shù)中,首先通過digitalRead()函數(shù)讀取數(shù)字輸入引腳的狀態(tài),并將結(jié)果存儲(chǔ)在stat變量中。然后判斷stat變量的值,如果為高電平(輸入信號(hào)為高),則將LED引腳設(shè)置為低電平(熄滅LED)。如果為低電平(輸入信號(hào)為低),則將LED引腳設(shè)置為高電平(點(diǎn)亮LED)。這樣就實(shí)現(xiàn)了根據(jù)數(shù)字輸入引腳狀態(tài)控制LED引腳的電平,從而控制LED的點(diǎn)亮和熄滅。*/

      U型光電傳感器項(xiàng)目源碼

      const int sensorPin = 7;   // U型光電傳感器的引腳
      const int ledPin = 13;     // LED的引腳
      void setup()
      {
        pinMode(sensorPin, INPUT);    // 設(shè)置U型光電傳感器引腳為輸入模式
        pinMode(ledPin, OUTPUT);      // 設(shè)置LED引腳為輸出模式
      }
      void loop()
      {
        int sensorValue = digitalRead(sensorPin);   // 讀取U型光電傳感器引腳的狀態(tài),并將結(jié)果存儲(chǔ)在sensorValue變量中
        
        if (sensorValue == HIGH)    // 如果sensorValue為高電平(有物體被檢測(cè)到)
        {
          digitalWrite(ledPin, HIGH);   // 將LED引腳設(shè)置為高電平(點(diǎn)亮LED)
        }
        else    // 如果sensorValue為低電平(沒有物體被檢測(cè)到)
        {
          digitalWrite(ledPin, LOW);    // 將LED引腳設(shè)置為低電平(熄滅LED)
        }
      }
      
      /*這段代碼使用了一個(gè)U型光電傳感器引腳和一個(gè)LED引腳。U型光電傳感器引腳連接到sensorPin引腳,LED引腳連接到ledPin引腳。在setup()函數(shù)中,將sensorPin設(shè)置為輸入模式,將ledPin設(shè)置為輸出模式。在loop()函數(shù)中,首先通過digitalRead()函數(shù)讀取U型光電傳感器引腳的狀態(tài),并將結(jié)果存儲(chǔ)在sensorValue變量中。然后判斷sensorValue變量的值,如果為高電平(有物體被檢測(cè)到),則將LED引腳設(shè)置為高電平(點(diǎn)亮LED)。如果為低電平(沒有物體被檢測(cè)到),則將LED引腳設(shè)置為低電平(熄滅LED)。這樣就實(shí)現(xiàn)了根據(jù)U型光電傳感器的狀態(tài)控制LED引腳的電平,從而控制LED的點(diǎn)亮和熄滅。*/

      雨滴探測(cè)傳感器項(xiàng)目源碼

      const int sensorPin = A0;   // 雨滴傳感器的模擬引腳連接到A0
      const int ledPin = 13;     // LED的引腳連接到數(shù)字引腳13
      int sensorValue = 0;       // 存儲(chǔ)傳感器讀數(shù)
      void setup()
      {
        pinMode(ledPin, OUTPUT);   // 將LED引腳設(shè)置為輸出模式
        Serial.begin(9600);        // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        sensorValue = analogRead(sensorPin);    // 讀取傳感器的模擬值
        Serial.print("Sensor Value: ");
        Serial.println(sensorValue);             // 打印傳感器讀數(shù)到串口
        
        if (sensorValue < 500)    // 如果傳感器讀數(shù)小于500(表示檢測(cè)到水滴)
        {
          digitalWrite(ledPin, HIGH);    // 將LED引腳設(shè)置為高電平(點(diǎn)亮LED)
        }
        else      // 如果傳感器讀數(shù)大于等于500(表示未檢測(cè)到水滴)
        {
          digitalWrite(ledPin, LOW);    // 將LED引腳設(shè)置為低電平(熄滅LED)
        }
        delay(100);   // 稍微延遲一段時(shí)間,避免頻繁讀取傳感器數(shù)據(jù)
      }
      /*這段代碼使用了一個(gè)雨滴傳感器的模擬引腳A0和一個(gè)LED的數(shù)字引腳13。在setup()函數(shù)中,將ledPin設(shè)置為輸出模式,并且初始化串口通信,波特率為9600。在loop()函數(shù)中,首先通過analogRead()函數(shù)讀取傳感器模擬引腳的值,并將結(jié)果存儲(chǔ)在sensorValue變量中。然后通過Serial.print()和Serial.println()函數(shù)將sensorValue的值打印到串口上。接下來,根據(jù)sensorValue的值判斷是否點(diǎn)亮LED。如果sensorValue小于500(表示檢測(cè)到水滴),則將ledPin引腳設(shè)置為高電平(點(diǎn)亮LED)。如果sensorValue大于等于500(表示未檢測(cè)到水滴),則將ledPin引腳設(shè)置為低電平(熄滅LED)。最后,通過delay()函數(shù)稍微延遲一段時(shí)間,避免頻繁讀取傳感器數(shù)據(jù)。*/

      PS2操縱桿項(xiàng)目源碼

      const int xPin = A0;   // X軸模擬引腳連接到A0
      const int yPin = A1;   // Y軸模擬引腳連接到A1
      const int btPin = 7;   // 按鈕引腳連接到數(shù)字引腳7
      void setup()
      {
        pinMode(btPin, INPUT);         // 將按鈕引腳設(shè)置為輸入模式
        digitalWrite(btPin, HIGH);    // 上拉按鈕引腳
        Serial.begin(9600);            // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        Serial.print("X: ");
        Serial.print(analogRead(xPin), DEC);      // 讀取X軸模擬引腳的值,并打印到串口
        Serial.print("\tY: ");
        Serial.print(analogRead(yPin), DEC);      // 讀取Y軸模擬引腳的值,并打印到串口
        Serial.print("\tZ:");
        Serial.println(digitalRead(btPin));       // 讀取按鈕引腳的狀態(tài)(高電平或低電平),并打印到串口
        delay(100);                              // 稍微延遲一段時(shí)間,避免頻繁讀取傳感器數(shù)據(jù)
      }
      /*這段代碼使用了兩個(gè)模擬引腳A0和A1,以及一個(gè)數(shù)字引腳7。在setup()函數(shù)中,將按鈕引腳設(shè)置為輸入模式,并且上拉按鈕引腳。然后初始化串口通信,波特率為9600。在loop()函數(shù)中,首先通過analogRead()函數(shù)讀取X軸模擬引腳的值,并使用Serial.print()函數(shù)將其打印到串口上。接著通過相同的方式讀取Y軸模擬引腳的值和按鈕引腳的狀態(tài),并將它們打印到串口上。最后,通過delay()函數(shù)稍微延遲一段時(shí)間,以避免頻繁讀取傳感器數(shù)據(jù)。*/

      電位器傳感器項(xiàng)目源碼

      const int analogPin = A0;   // 模擬輸入引腳連接到A0
      const int ledPin = 13;     // LED引腳連接到數(shù)字引腳13
      int inputValue = 0;
      void setup()
      {
        pinMode(ledPin, OUTPUT);    // 將LED引腳設(shè)置為輸出模式
        Serial.begin(9600);        // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        inputValue = analogRead(analogPin);    // 讀取模擬輸入引腳的值并存儲(chǔ)在inputValue變量中
        digitalWrite(ledPin, HIGH);    // 將LED引腳設(shè)置為高電平(點(diǎn)亮LED)
        delay(inputValue);    // 延遲inputValue毫秒
        digitalWrite(ledPin, LOW);    // 將LED引腳設(shè)置為低電平(熄滅LED)
        delay(inputValue);    // 延遲inputValue毫秒
      }
      
      /*這段代碼使用了一個(gè)模擬輸入引腳A0和一個(gè)LED的數(shù)字引腳13。在setup()函數(shù)中,將ledPin設(shè)置為輸出模式,并且初始化串口通信,波特率為9600。在loop()函數(shù)中,首先通過analogRead()函數(shù)讀取模擬輸入引腳的值,并將結(jié)果存儲(chǔ)在inputValue變量中。然后,將ledPin引腳設(shè)置為高電平(點(diǎn)亮LED)。接著,通過delay()函數(shù)延遲inputValue毫秒。然后,將ledPin引腳設(shè)置為低電平(熄滅LED)。再次通過delay()函數(shù)延遲inputValue毫秒。最后,循環(huán)執(zhí)行這個(gè)過程。*/

      模擬霍爾傳感器項(xiàng)目

      const int ledPin = 13;    // LED引腳連接到數(shù)字引腳13
      int sensorPin = A0;    // 模擬輸入引腳連接到A0
      int digitalPin = 7;    // 模擬霍爾傳感器引腳連接到數(shù)字引腳7
      int sensorValue = 0;    // 存儲(chǔ)模擬輸入引腳的值
      boolean digitalValue = 0;    // 存儲(chǔ)模擬霍爾傳感器引腳的狀態(tài)
      void setup()
      {
        pinMode(digitalPin, INPUT);    // 將模擬霍爾傳感器引腳設(shè)置為輸入模式
        pinMode(ledPin, OUTPUT);    // 將LED引腳設(shè)置為輸出模式
        Serial.begin(9600);    // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        sensorValue = analogRead(sensorPin);    // 讀取模擬輸入引腳的值并存儲(chǔ)在sensorValue變量中
        digitalValue = digitalRead(digitalPin);    // 讀取模擬霍爾傳感器引腳的狀態(tài)(高電平或低電平)并存儲(chǔ)在digitalValue變量中
        Serial.print("Sensor Value: "); 
        Serial.println(sensorValue);    // 打印模擬輸入引腳的值到串口
        Serial.print("Digital Value: "); 
        Serial.println(digitalValue);    // 打印模擬霍爾傳感器引腳的狀態(tài)到串口
        
        if (digitalValue == HIGH)
        {
          digitalWrite(ledPin, LOW);    // 如果模擬霍爾傳感器引腳為高電平,則將LED引腳設(shè)置為低電平(熄滅LED)
        }
        
        if (digitalValue == LOW)
        {
          digitalWrite(ledPin, HIGH);    // 如果模擬霍爾傳感器引腳為低電平,則將LED引腳設(shè)置為高電平(點(diǎn)亮LED)
        }
        
        delay(1000);    // 延遲1秒
      }
      /*這段代碼使用了一個(gè)LED的數(shù)字引腳13,一個(gè)模擬輸入引腳A0和一個(gè)按鈕的數(shù)字引腳7。在setup()函數(shù)中,將按鈕引腳設(shè)置為輸入模式,將LED引腳設(shè)置為輸出模式,并初始化串口通信,波特率為9600。在loop()函數(shù)中,首先通過analogRead()函數(shù)讀取模擬輸入引腳的值,并將結(jié)果存儲(chǔ)在sensorValue變量中。然后,通過digitalRead()函數(shù)讀取按鈕引腳的狀態(tài),并將結(jié)果存儲(chǔ)在digitalValue變量中。接著,使用Serial.print()和Serial.println()函數(shù)將sensorValue和digitalValue打印到串口上。然后,根據(jù)digitalValue的值判斷按鈕引腳的狀態(tài),如果是高電平,則將LED引腳設(shè)置為低電平,否則將LED引腳設(shè)置為高電平。最后,通過delay()函數(shù)延遲1秒。循環(huán)執(zhí)行這個(gè)過程。*/

      模擬溫度傳感器

      const int digitalPin = 7;    // 數(shù)字引腳7連接到模塊的數(shù)字輸入引腳
      int analogPin = A0;    // 模擬輸入引腳連接到A0
      const int ledPin = 13;    // LED引腳連接到數(shù)字引腳13
      boolean Dstate = 0;    // 存儲(chǔ)模塊的數(shù)字輸入引腳狀態(tài)
      int Astate = 0;    // 存儲(chǔ)模擬輸入引腳的值
      void setup()
      {
        pinMode(ledPin,OUTPUT);    // 將LED引腳設(shè)置為輸出模式
        pinMode(digitalPin, INPUT);    // 將模塊的數(shù)字輸入引腳設(shè)置為輸入模式
        Serial.begin(9600);    // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        Astate = analogRead(analogPin);    // 讀取模擬輸入引腳的值并存儲(chǔ)在Astate變量中
        Dstate = digitalRead(digitalPin);    // 讀取模塊的數(shù)字輸入引腳狀態(tài)(高電平或低電平)并存儲(chǔ)在Dstate變量中
        Serial.print("D0:");
        Serial.println(Dstate);    // 打印模塊的數(shù)字輸入引腳狀態(tài)到串口
        Serial.print("A0:");
        Serial.println(Astate);    // 打印模擬輸入引腳的值到串口
        
        if (Dstate == HIGH)
        {
          // 點(diǎn)亮LED
          digitalWrite(ledPin,LOW);
        }
        else{
          // 熄滅LED
          digitalWrite(ledPin,HIGH);
        }
        delay(1000);    // 延遲1秒
      }
      
      /*段代碼通過讀取模擬輸入引腳A0的數(shù)值來獲取模擬輸入的值,并通過讀取模塊的數(shù)字輸入引腳7的狀態(tài)來獲取模塊的狀態(tài)。根據(jù)模塊狀態(tài)的不同,代碼會(huì)控制LED引腳的狀態(tài)以點(diǎn)亮或熄滅LED。最后,通過delay()函數(shù)實(shí)現(xiàn)了1秒的延遲。*/
      

      聲音傳感器實(shí)驗(yàn)

      const int ledPin = 13;    // LED引腳連接到數(shù)字引腳13
      const int soundPin = A0;    // 聲音傳感器引腳連接到模擬引腳A0
      void setup()
      {
        pinMode(ledPin, OUTPUT);    // 將LED引腳設(shè)置為輸出模式
        Serial.begin(9600);    // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        int value = analogRead(soundPin);    // 讀取聲音傳感器輸入引腳的值并存儲(chǔ)在value變量中
        Serial.println(value);    // 打印聲音傳感器值到串口
        
        if (value > 600)
        {
          digitalWrite(ledPin, HIGH);    // 點(diǎn)亮LED
          delay(200);    // 延遲200毫秒
        }
        else
        {
          digitalWrite(ledPin, LOW);    // 熄滅LED
        }
      }
      /*這段代碼通過讀取聲音傳感器引腳A0的數(shù)值來獲取聲音傳感器的數(shù)值,如果數(shù)值大于600,則點(diǎn)亮LED引腳;否則,熄滅LED引腳。最后,通過delay()函數(shù)實(shí)現(xiàn)了200毫秒的延遲。*/

      光敏傳感器

      const int photocellPin = A0;    // 光敏電阻引腳連接到模擬引腳A0
      const int ledPin = 13;    // LED引腳連接到數(shù)字引腳13
      const int relayPin = 8;    // 繼電器引腳連接到數(shù)字引腳8
      int outputValue = 0;    // 存儲(chǔ)光敏電阻引腳的值
      void setup()
      {
        pinMode(relayPin, OUTPUT);    // 將繼電器引腳設(shè)置為輸出模式
        pinMode(ledPin, OUTPUT);    // 將LED引腳設(shè)置為輸出模式
        Serial.begin(9600);    // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        outputValue = analogRead(photocellPin);    // 讀取光敏電阻引腳的值并存儲(chǔ)在outputValue變量中
        Serial.println(outputValue);    // 打印光敏電阻值到串口
        
        if (outputValue >= 400)
        {
          digitalWrite(ledPin, HIGH);    // 點(diǎn)亮LED
          digitalWrite(relayPin, LOW);    // 繼電器導(dǎo)通
        }
        else
        {
          digitalWrite(ledPin, LOW);    // 熄滅LED
          digitalWrite(relayPin, HIGH);    // 繼電器斷開導(dǎo)通
        }
        delay(1000);    // 延遲1秒
      }
      
      /*這段代碼通過讀取光敏電阻引腳A0的數(shù)值來獲取光敏電阻的數(shù)值。如果數(shù)值大于等于400,則點(diǎn)亮LED引腳并導(dǎo)通繼電器引腳;否則,熄滅LED引腳并斷開繼電器引腳的導(dǎo)通。最后,通過delay()函數(shù)實(shí)現(xiàn)了1秒的延遲。*/

      火焰?zhèn)鞲衅?/P>

      const int digitalInPin = 8;    // 數(shù)字輸入引腳連接到數(shù)字引腳8
      const int ledPin = 13;    // LED引腳連接到數(shù)字引腳13
      const int buzzerPin = 7;    // 蜂鳴器引腳連接到數(shù)字引腳7
      void setup()
      {
        pinMode(digitalInPin, INPUT);    // 將數(shù)字輸入引腳設(shè)置為輸入模式
        pinMode(ledPin, OUTPUT);    // 將LED引腳設(shè)置為輸出模式
        pinMode(buzzerPin, OUTPUT);    // 將蜂鳴器引腳設(shè)置為輸出模式
        Serial.begin(9600);    // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        boolean stat = digitalRead(digitalInPin);    // 讀取數(shù)字輸入引腳的狀態(tài)并存儲(chǔ)在stat變量中
        Serial.print("DO:");    // 打印"DO:"
        Serial.println(stat);    // 打印數(shù)字輸入引腳的狀態(tài)到串口
        Serial.println("");    // 打印一個(gè)空行
        
        if (stat == HIGH)
        {
          digitalWrite(ledPin, LOW);    // 熄滅LED
          noTone(buzzerPin);    // 停止蜂鳴器聲音
        }
        
        if (stat == LOW)
        {
          digitalWrite(ledPin, HIGH);    // 點(diǎn)亮LED
          tone(buzzerPin, 320, 200);    // 播放蜂鳴器聲音,頻率為320 Hz,持續(xù)時(shí)間為200毫秒
        }
        
        delay(500);    // 延遲500毫秒
      }
      
      /*這段代碼通過讀取數(shù)字輸入引腳8的狀態(tài)來獲取數(shù)字輸入的狀態(tài)。如果狀態(tài)為HIGH,則熄滅LED引腳并停止蜂鳴器聲音;如果狀態(tài)為LOW,則點(diǎn)亮LED引腳并播放蜂鳴器聲音。最后,通過delay()函數(shù)實(shí)現(xiàn)了500毫秒的延遲。*/

      煙霧傳感器

      const int ledPin = 13;    // LED引腳連接到數(shù)字引腳13
      const int analogPin = A0;    // 模擬輸入引腳連接到模擬引腳A0
      const int digitalPin = 7;    // 數(shù)字輸入引腳連接到數(shù)字引腳7
      int Astate = 0;    // 存儲(chǔ)模擬輸入引腳的值
      boolean Dstate = 0;    // 存儲(chǔ)數(shù)字輸入引腳的狀態(tài)
      void setup()
      {
        pinMode(digitalPin, INPUT);    // 將數(shù)字輸入引腳設(shè)置為輸入模式
        pinMode(ledPin, OUTPUT);    // 將LED引腳設(shè)置為輸出模式
        Serial.begin(9600);    // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        Astate = analogRead(analogPin);    // 讀取模擬輸入引腳的值并存儲(chǔ)在Astate變量中
        Serial.println(Astate);    // 打印模擬輸入引腳的值到串口
        
        Dstate = digitalRead(digitalPin);    // 讀取數(shù)字輸入引腳的狀態(tài)并存儲(chǔ)在Dstate變量中
        Serial.println(Dstate);    // 打印數(shù)字輸入引腳的狀態(tài)到串口
        
        if (Dstate == HIGH)
        {
          digitalWrite(ledPin, LOW);    // 熄滅LED
        }
        
        if (Dstate == LOW)
        {
          digitalWrite(ledPin, HIGH);    // 點(diǎn)亮LED
        }
        
        delay(200);    // 延遲200毫秒
      }
      
      /*這段代碼通過讀取模擬輸入引腳A0的值和數(shù)字輸入引腳7的狀態(tài)來獲取輸入的數(shù)值和狀態(tài)。然后,根據(jù)數(shù)字輸入引腳的狀態(tài),控制LED引腳的亮滅。最后,通過delay()函數(shù)實(shí)現(xiàn)了200毫秒的延遲。*/

      觸摸開關(guān)傳感器

      const int SensorPin = 7;     // 傳感器引腳連接到數(shù)字引腳7
      const int ledPin = 13;       // LED引腳連接到數(shù)字引腳13
      int SensorState = 0;         // 存儲(chǔ)傳感器引腳的狀態(tài)
      void setup()
      {
        pinMode(SensorPin, INPUT);   // 將傳感器引腳設(shè)置為輸入模式
        pinMode(ledPin, OUTPUT);     // 將LED引腳設(shè)置為輸出模式
        Serial.begin(9600);          // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        SensorState = digitalRead(SensorPin);      // 讀取傳感器引腳的狀態(tài)并存儲(chǔ)在SensorState變量中
        Serial.println(SensorState);               // 打印傳感器引腳的狀態(tài)到串口
        if (SensorState != HIGH)   // 如果傳感器引腳未檢測(cè)到高電平(LOW)
        {
          digitalWrite(ledPin, LOW);               // 將LED引腳設(shè)為低電平,熄滅LED
        }
        else
        {
          digitalWrite(ledPin, HIGH);              // 將LED引腳設(shè)為高電平,點(diǎn)亮LED
        }
      }
      
      

      旋轉(zhuǎn)編碼器

      const int clkPin = 2;     // CLK引腳連接到數(shù)字引腳2
      const int dtPin = 3;      // DT引腳連接到數(shù)字引腳3
      const int swPin = 4;      // SW引腳連接到數(shù)字引腳4
      int encoderVal = 0;       // 編碼器值
      void setup()
      {
        pinMode(clkPin, INPUT);    // 將CLK引腳設(shè)置為輸入模式
        pinMode(dtPin, INPUT);     // 將DT引腳設(shè)置為輸入模式
        pinMode(swPin, INPUT);     // 將SW引腳設(shè)置為輸入模式
        digitalWrite(swPin, HIGH); // 上拉SW引腳
        Serial.begin(9600);        // 初始化串口通信,波特率為9600
      }
      void loop()
      {
        int change = getEncoderTurn();    // 獲取旋轉(zhuǎn)的增量值
        encoderVal = encoderVal + change; // 更新編碼器值
        if (digitalRead(swPin) == LOW)    // 當(dāng)檢測(cè)到SW引腳為低電平時(shí)
        {
          encoderVal = 0;                 // 重置編碼器值為0
        }
        Serial.println(encoderVal);       // 打印編碼器值到串口
      }
      int getEncoderTurn(void)
      {
        static int oldA = HIGH;
        static int oldB = HIGH;
        int result = 0;
        int newA = digitalRead(dtPin);
        int newB = digitalRead(clkPin);
        if (newA != oldA || newB != oldB)
        {
          if (oldA == HIGH && newA == LOW)
          {
            result = (oldB * 2 - 1);       // 計(jì)算旋轉(zhuǎn)增量值
          }
        }
        oldA = newA;
        oldB = newB;
        return result;                     // 返回旋轉(zhuǎn)增量值
      }
      /*這段代碼實(shí)現(xiàn)了一個(gè)用于讀取旋轉(zhuǎn)編碼器值并在串口輸出的功能。它通過連接到Arduino的CLK(時(shí)鐘)、DT(數(shù)據(jù))和SW(開關(guān))引腳來監(jiān)測(cè)編碼器的旋轉(zhuǎn)和按下操作。
      代碼的主要作用如下:
      在setup()函數(shù)中,設(shè)置了CLK、DT和SW引腳的模式為輸入,并將SW引腳設(shè)置為高電平輸入,以使用內(nèi)部上拉電阻。
      在loop()函數(shù)中,通過調(diào)用getEncoderTurn()函數(shù)獲取旋轉(zhuǎn)增量值,并根據(jù)旋轉(zhuǎn)方向更新編碼器值encoderVal。
      如果檢測(cè)到SW引腳為低電平(即按下狀態(tài)),則將編碼器值重置為0。
      在每次循環(huán)結(jié)束后,通過串口輸出當(dāng)前的編碼器值,使用Serial.println(encoderVal)語句。
      getEncoderTurn()函數(shù)用于檢測(cè)旋轉(zhuǎn)編碼器的旋轉(zhuǎn)方向。它通過讀取CLK和DT引腳的狀態(tài)來判斷旋轉(zhuǎn)方向,并返回相應(yīng)的旋轉(zhuǎn)增量值。*/

      紅外避障

      const int ledPin = 13;      // LED引腳連接到數(shù)字引腳13
      const int avoidPin = 7;     // 避障傳感器引腳連接到數(shù)字引腳7
      void setup()
      {
        pinMode(ledPin, OUTPUT);   // 將LED引腳設(shè)置為輸出模式
        pinMode(avoidPin, INPUT);  // 將避障傳感器引腳設(shè)置為輸入模式
      }
      void loop()
      {
        boolean avoidVal = digitalRead(avoidPin);  // 讀取避障傳感器的狀態(tài)
        if (avoidVal == LOW)                       // 當(dāng)檢測(cè)到避障傳感器為低電平時(shí)
        {
          digitalWrite(ledPin, HIGH);              // 點(diǎn)亮LED燈
        }
        else                                     
        {
          digitalWrite(ledPin, LOW);               // 熄滅LED燈
        }
      }
      /*以上代碼添加了詳細(xì)的注釋,解釋了每個(gè)變量和函數(shù)的作用,以及代碼的流程。該代碼使用Arduino控制一個(gè)LED燈,根據(jù)避障傳感器的狀態(tài)點(diǎn)亮或熄滅LED燈。
      在setup()函數(shù)中,將LED引腳設(shè)置為輸出模式,避障傳感器引腳設(shè)置為輸入模式。
      在loop()函數(shù)中,通過讀取避障傳感器引腳的狀態(tài)來獲取避障傳感器的值。
      當(dāng)避障傳感器為低電平時(shí),表示檢測(cè)到障礙物,此時(shí)通過將LED引腳設(shè)置為高電平來點(diǎn)亮LED燈。
      當(dāng)避障傳感器為高電平時(shí),表示沒有檢測(cè)到障礙物,此時(shí)通過將LED引腳設(shè)置為低電平來熄滅LED燈。
      這個(gè)過程將不斷循環(huán)執(zhí)行,實(shí)時(shí)監(jiān)測(cè)避障傳感器的狀態(tài)并控制LED的亮滅。*/
      

      紅外循跡

      const int trackingPin = 7;   // 跟蹤傳感器引腳連接到數(shù)字引腳7
      const int ledPin = 13;       // LED引腳連接到數(shù)字引腳13
      void setup()
      {
        pinMode(trackingPin, INPUT);  // 將跟蹤傳感器引腳設(shè)置為輸入模式
        pinMode(ledPin, OUTPUT);      // 將LED引腳設(shè)置為輸出模式
      }
      void loop()
      {
        boolean val = digitalRead(trackingPin);  // 讀取跟蹤傳感器的狀態(tài)
        if (val != HIGH)                         // 當(dāng)跟蹤傳感器不為高電平時(shí)
        {
          digitalWrite(ledPin, LOW);             // 熄滅LED燈
        }
        else                                    
        {
          digitalWrite(ledPin, HIGH);            // 點(diǎn)亮LED燈
        }
      }
      以上代碼添加了詳細(xì)的注釋,解釋了每個(gè)變量和函數(shù)的作用,以及代碼的流程。該代碼使用Arduino控制一個(gè)LED燈,根據(jù)跟蹤傳感器的狀態(tài)點(diǎn)亮或熄滅LED燈。
      在setup()函數(shù)中,將跟蹤傳感器引腳設(shè)置為輸入模式,LED引腳設(shè)置為輸出模式。
      在loop()函數(shù)中,通過讀取跟蹤傳感器引腳的狀態(tài)來獲取跟蹤傳感器的值。
      當(dāng)跟蹤傳感器不為高電平時(shí),表示沒有檢測(cè)到跟蹤目標(biāo),此時(shí)將LED引腳設(shè)置為低電平,熄滅LED燈。
      當(dāng)跟蹤傳感器為高電平時(shí),表示檢測(cè)到跟蹤目標(biāo),此時(shí)將LED引腳設(shè)置為高電平,點(diǎn)亮LED燈。
      這個(gè)過程將不斷循環(huán)執(zhí)行,實(shí)時(shí)監(jiān)測(cè)跟蹤傳感器的狀態(tài)并控制LED的亮滅。
      /**/

      注意:以上代碼為人工編寫以及AI輔助。所以難免會(huì)存在問題。

      代碼為Ardunino書本上源碼。

      最后編寫不易,覺得好用請(qǐng)點(diǎn)贊。

      Tags:Arduino,程序代碼,代碼  
      責(zé)任編輯:admin
      請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個(gè)字
      [ 查看全部 ] 網(wǎng)友評(píng)論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 日韩亚洲国产综合久久久| 亚洲精品第一国产综合精品 | 天天久久影视色香综合网| 中文字幕色综合久久| 精品亚洲综合久久中文字幕| 亚洲综合免费视频| 一本久久a久久精品综合香蕉| 亚洲综合日韩久久成人AV| 国产成人亚洲综合一区| 国产亚洲综合久久系列| 伊人久久久大香线蕉综合直播| 国产成人综合精品一区| 97久久天天综合色天天综合色hd | 狠狠色丁香婷婷综合久久来来去| 久久综合中文字幕| 天天干天天色综合网| 情人伊人久久综合亚洲| 狠狠综合视频精品播放| 伊人久久亚洲综合影院首页| 国产色综合久久无码有码| 一本久久综合亚洲鲁鲁五月天| 国产成人精品综合网站| 色综合久久中文字幕无码| 伊人久久青草青青综合| 亚洲国产综合无码一区二区二三区| 亚洲精品第一综合99久久| 青青青伊人色综合久久| 亚洲AV综合色区无码一区| 亚洲VA综合VA国产产VA中| 狠狠色狠狠色很很综合很久久| 亚洲色图综合网站| 久久久久综合一本久道| 91精品国产综合久| 色综合天天综一个色天天综合网| 久久综合亚洲鲁鲁五月天| 亚洲国产综合精品中文第一| 伊人久久亚洲综合影院首页| 国产99久久亚洲综合精品| 日日狠狠久久偷偷色综合0| 狠狠爱天天综合色欲网| 亚洲综合在线另类色区奇米|