“(RB-13K023)基于Arduino 互動(dòng)電子入門(mén)套件”的版本間的差異

來(lái)自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
?Arduino編譯環(huán)境下載
?硬件連接
 
(未顯示1個(gè)用戶的18個(gè)中間版本)
第33行: 第33行:
 
打開(kāi)Arduino主程序后,軟件會(huì)自動(dòng)識(shí)別系統(tǒng)的語(yǔ)言,然后設(shè)置開(kāi)發(fā)環(huán)境為系統(tǒng)語(yǔ)言,如果需要設(shè)置為其他語(yǔ)言同樣可以,只要打開(kāi):File > Preferences,找到Editor language項(xiàng),將其設(shè)為需要的語(yǔ)言(例如:簡(jiǎn)體中文),然后關(guān)閉Arduino主程序并重新打開(kāi),開(kāi)發(fā)環(huán)境界面就會(huì)變成中文。
 
打開(kāi)Arduino主程序后,軟件會(huì)自動(dòng)識(shí)別系統(tǒng)的語(yǔ)言,然后設(shè)置開(kāi)發(fā)環(huán)境為系統(tǒng)語(yǔ)言,如果需要設(shè)置為其他語(yǔ)言同樣可以,只要打開(kāi):File > Preferences,找到Editor language項(xiàng),將其設(shè)為需要的語(yǔ)言(例如:簡(jiǎn)體中文),然后關(guān)閉Arduino主程序并重新打開(kāi),開(kāi)發(fā)環(huán)境界面就會(huì)變成中文。
 
<br>
 
<br>
?
[[image:arduino1231.jpg|thumb|500px|center|]]
+
[[image:tu3.png|thumb|500px|center|]]
 
<br>
 
<br>
?
[[image:arduino1232.jpg|thumb|700px|center|]]
+
[[image:tu4.png|thumb|700px|center|]]
 
<br>
 
<br>
?
[[image:arduino1233.jpg|thumb|500px|center|]]
+
[[image:tu55.png|thumb|500px|center|]]
 
<br>
 
<br>
 +
 
===打開(kāi)LED blink例程===
 
===打開(kāi)LED blink例程===
 
<br>
 
<br>
 
打開(kāi)軟件選擇文件 - 示例 - 01.Basics - Blink  
 
打開(kāi)軟件選擇文件 - 示例 - 01.Basics - Blink  
 
<br>
 
<br>
?
[[image:arduino1234.jpg|thumb|500px|center|blink]]
+
[[image:tu5.png|thumb|500px|center|blink]]
 
<br>
 
<br>
 +
 
===設(shè)置板卡型號(hào)===
 
===設(shè)置板卡型號(hào)===
 
Arduino包括多種版本的主控器,其中比較常見(jiàn)的是Uno、Leonardo以及Mega系列的控制器。在軟件上點(diǎn)擊工具然后在“板”一項(xiàng)下選擇相應(yīng)的型號(hào),這時(shí)你需要根據(jù)自己的主控硬件的固件類型來(lái)選擇板卡。(樣例中選用的是以Uno為bootloader的控制器)<br\>
 
Arduino包括多種版本的主控器,其中比較常見(jiàn)的是Uno、Leonardo以及Mega系列的控制器。在軟件上點(diǎn)擊工具然后在“板”一項(xiàng)下選擇相應(yīng)的型號(hào),這時(shí)你需要根據(jù)自己的主控硬件的固件類型來(lái)選擇板卡。(樣例中選用的是以Uno為bootloader的控制器)<br\>
 
工具 - 板 - Arduino Uno
 
工具 - 板 - Arduino Uno
 
<br>
 
<br>
?
[[image:arduino1235.jpg|thumb|500px|center|]]
+
[[image:tu6.png|thumb|500px|center|]]
 
<br>
 
<br>
 +
 
===設(shè)置串口===
 
===設(shè)置串口===
 
工具 > 串口 > xx,這里的xx應(yīng)選擇在你的電腦設(shè)備管理器中看到的一致。
 
工具 > 串口 > xx,這里的xx應(yīng)選擇在你的電腦設(shè)備管理器中看到的一致。
 
<br>
 
<br>
?
[[image:arduino1236.jpg|thumb|500px|center|]]
+
[[image:tu7.png|thumb|500px|center|]]
 
<br>
 
<br>
 +
 
===下載程序===
 
===下載程序===
 
如圖,點(diǎn)擊驗(yàn)證,程序只進(jìn)行了驗(yàn)證,而沒(méi)有下載到控制器中,下載需要再點(diǎn)擊上傳鍵;若直接點(diǎn)擊上傳鍵,將程序會(huì)先進(jìn)行驗(yàn)證然后直接下載程序到你的Arduino控制板上。
 
如圖,點(diǎn)擊驗(yàn)證,程序只進(jìn)行了驗(yàn)證,而沒(méi)有下載到控制器中,下載需要再點(diǎn)擊上傳鍵;若直接點(diǎn)擊上傳鍵,將程序會(huì)先進(jìn)行驗(yàn)證然后直接下載程序到你的Arduino控制板上。
 
<br>
 
<br>
?
[[image:arduino1237.jpg|thumb|500px|center|]]
+
[[image:tu8.png|thumb|500px|center|]]
 
<br>
 
<br>
 +
 
===程序效果===
 
===程序效果===
 
程序運(yùn)行的效果就是:Adruino Uno板載的13號(hào)引腳LED燈在閃爍。
 
程序運(yùn)行的效果就是:Adruino Uno板載的13號(hào)引腳LED燈在閃爍。
第67行: 第72行:
 
[http://www.alsrobot.com.cn/wiki/index.php?title=Arduino%E9%A9%B1%E5%8A%A8%E7%9A%84%E5%AE%89%E8%A3%85 Arduino UNO驅(qū)動(dòng)安裝方法]<br/>
 
[http://www.alsrobot.com.cn/wiki/index.php?title=Arduino%E9%A9%B1%E5%8A%A8%E7%9A%84%E5%AE%89%E8%A3%85 Arduino UNO驅(qū)動(dòng)安裝方法]<br/>
 
==例程列表==
 
==例程列表==
?
* Hello World!
+
基礎(chǔ)實(shí)驗(yàn)                                                             
?
* LED 閃爍實(shí)驗(yàn)
+
* 串口通信控制LED燈實(shí)驗(yàn)                                                             
?
* 交通燈設(shè)計(jì)實(shí)驗(yàn)
+
* 智能骰子實(shí)驗(yàn)                                           
?
* 按鍵控制 LED 實(shí)驗(yàn)
+
* 遠(yuǎn)紅外火焰?zhèn)鞲衅鲬?yīng)用                             
?
* 搶答器設(shè)計(jì)實(shí)驗(yàn)
+
* 干簧管控制繼電器實(shí)驗(yàn)                                               
?
* 模擬值讀取實(shí)驗(yàn)
+
* 數(shù)字傳感器控制流水燈                                                   
?
* PWM 調(diào)控?zé)艄饬炼葘?shí)驗(yàn)
+
* 智能門(mén)鈴                                         
?
* 蜂鳴器發(fā)聲實(shí)驗(yàn)
+
* PWM控制LED燈亮度實(shí)驗(yàn)                                         
?
* 感光燈實(shí)驗(yàn)
+
* 全彩LED模擬呼吸燈實(shí)驗(yàn)                                                         
?
* LM35 溫度傳感器實(shí)驗(yàn)
+
* PWM控制電機(jī)轉(zhuǎn)速                                             
?
* 繼電器的應(yīng)用實(shí)驗(yàn)
+
* 紅外熱釋電傳感器人體檢測(cè)報(bào)警實(shí)驗(yàn)                                                                             
 +
* 溫度報(bào)警器                                                     
 +
* 電子琴                                                                   
 +
* 看誰(shuí)搖的快                                                               
 +
* 指針亮度計(jì)
 +
* 記憶大考驗(yàn)
 +
* 串行轉(zhuǎn)并行
 +
* 密碼解鎖
 +
擴(kuò)展實(shí)驗(yàn)     
 +
* “Hello World!”實(shí)驗(yàn) 
 +
* 交通燈設(shè)計(jì)實(shí)驗(yàn) 
 +
* 搶答器設(shè)計(jì)實(shí)驗(yàn) 
 +
* 模擬值讀取實(shí)驗(yàn)
 
* 伺服舵機(jī)控制實(shí)驗(yàn)
 
* 伺服舵機(jī)控制實(shí)驗(yàn)
?
* 多段數(shù)碼管顯示實(shí)驗(yàn)
+
* 紅外線通信實(shí)驗(yàn)
?
* 74HC595 的應(yīng)用實(shí)驗(yàn)
+
 
 
==精選例程==
 
==精選例程==
?
===PWM控制電機(jī)轉(zhuǎn)速===
+
===數(shù)字傳感器控制流水燈實(shí)驗(yàn)===
 
====實(shí)驗(yàn)簡(jiǎn)介====
 
====實(shí)驗(yàn)簡(jiǎn)介====
?
你知道什么是直流電機(jī)嗎?定義輸出或輸入為直流電能的旋轉(zhuǎn)電機(jī),稱為直流電機(jī),它是能實(shí)現(xiàn)直流電能和機(jī)械能互相轉(zhuǎn)換的電機(jī)。當(dāng)它作電動(dòng)機(jī)運(yùn)行時(shí)是直流電動(dòng)機(jī),將電能轉(zhuǎn)換為機(jī)械能;作發(fā)電機(jī)運(yùn)行時(shí)是直流發(fā)電機(jī),將機(jī)械能轉(zhuǎn)換為電能。直流電機(jī)的結(jié)構(gòu)應(yīng)由定子和轉(zhuǎn)子兩大部分組成。直流電機(jī)運(yùn)行時(shí)靜止不動(dòng)的部分稱為定子,定子的主要作用是產(chǎn)生磁場(chǎng),由機(jī)座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。運(yùn)行時(shí)轉(zhuǎn)動(dòng)的部分稱為轉(zhuǎn)子,其主要作用是產(chǎn)生電磁轉(zhuǎn)矩和感應(yīng)電動(dòng)勢(shì),是直流電機(jī)進(jìn)行能量轉(zhuǎn)換的樞紐,所以通常又稱為電樞,由轉(zhuǎn)軸、電樞鐵心、電樞繞組、換向器和風(fēng)扇等組成。在PWM 驅(qū)動(dòng)控制的調(diào)整系統(tǒng)中,接一個(gè)固定的頻率來(lái)接通和斷開(kāi)電源,并根據(jù)需要改變一個(gè)周期內(nèi)“接通”和“斷開(kāi)”時(shí)間的長(zhǎng)短。通過(guò)改變直流電機(jī)電樞上電壓的“占空比”來(lái)改變平均電壓的大小,從而控制電動(dòng)機(jī)的轉(zhuǎn)速。本實(shí)驗(yàn)通過(guò)按鍵開(kāi)關(guān)調(diào)節(jié)PWM 輸出值,從而控制風(fēng)扇的轉(zhuǎn)速,調(diào)節(jié)風(fēng)力大小。
+
單向傾角開(kāi)關(guān)是一個(gè)可以檢測(cè)傾斜、晃動(dòng)的特殊開(kāi)關(guān),本例中使用傾角開(kāi)關(guān)和干簧管作為觸發(fā),當(dāng)兩個(gè)傳感器中任何一個(gè)被觸發(fā)時(shí),6 個(gè)LED 都會(huì)開(kāi)始按照順序閃爍。傾角傳感器:傾角傳感器是姿態(tài)傳感器的一種,主要應(yīng)用在物體狀態(tài)的水平檢測(cè),同樣他具備測(cè)量角度的大小。目前傾角傳感器主要分為幾個(gè)大類,有單軸傾角傳感器和雙軸傾角傳感器,以及利用傾角傳感器原理制作而成的傾角儀。
 +
 
 
====硬件設(shè)備====
 
====硬件設(shè)備====
 
*CarDuino UNO R3 控制器×1
 
*CarDuino UNO R3 控制器×1
第90行: 第108行:
 
*大面包板×1
 
*大面包板×1
 
*跳線若干
 
*跳線若干
?
*直流電機(jī)×1
+
*LED燈×6
?
*扇葉×1
+
*470歐姆電阻×8
?
*IRF520×1
+
*干簧管×1
?
*1N4007×1
+
*單向傾角開(kāi)關(guān)×1
?
*按鍵開(kāi)關(guān)×2
+
 
?
*電阻×2
+
 
====硬件連接====
 
====硬件連接====
?
PWM 控制電機(jī)轉(zhuǎn)速實(shí)驗(yàn)原理圖<br/>
+
數(shù)字傳感器控制流水燈實(shí)驗(yàn)<br/>
?
[[image:13k02101.jpg|thumb|500px|center|]]
+
[[image:tu1.png|thumb|800px|center|]]
?
PWM 控制電機(jī)轉(zhuǎn)速實(shí)驗(yàn)面包板接插圖<br/>
+
 
?
[[image:13k02102.png|thumb|500px|center|]]
+
====試驗(yàn)程序====
?
PWM 控制電機(jī)轉(zhuǎn)速實(shí)驗(yàn)實(shí)物連接圖<br/>
+
  /*****************************************************************
?
[[image:13k02103.png|thumb|700px|center|]]
+
  奧松機(jī)器人RobotBase www.robotbase.cn
?
====例子程序====
+
  目的: 數(shù)字傳感器控制流水燈實(shí)驗(yàn)
?
<pre style='color:blue'>int switchPin1=7; //定義switchPin1 引腳為7 連接加速按鍵
+
  目標(biāo)系統(tǒng): ArduinoUNO R3 控制器
?
int switchPin2=8; //定義switchPin2 引腳為8 連接減速按鍵
+
  應(yīng)用軟件: Arduino IDE 1.7.7
?
int motorspeed=9; //定義motorspeed 引腳為9
+
  發(fā)布時(shí)間: 2015-11-19
?
int a=0; //變量a 用來(lái)存儲(chǔ)數(shù)值
+
  說(shuō)明: 若用于商業(yè)用途,請(qǐng)保留此段文字或注明代碼來(lái)源
?
void setup()
+
  哈爾濱奧松機(jī)器人科技股份有限公司保留所有版權(quán)
?
{
+
  *****************************************************************/
?
pinMode(switchPin1, INPUT); //設(shè)定switchPin1 引腳為輸入狀態(tài)
+
  int i,j; //定義變量i
?
pinMode(switchPin2, INPUT); //設(shè)定switchPin2 引腳為輸入狀態(tài)
+
  void setup()
?
pinMode(motorspeed,OUTPUT); //設(shè)定motorspeed 引腳為輸出狀態(tài)
+
  {
?
}
+
      pinMode(2,INPUT);
?
void loop()
+
      pinMode(3,INPUT);
?
{
+
      for(j=4;j<=9;j++)
?
if (LOW== digitalRead(switchPin1)) //如果switchPin1 為低電平則執(zhí)行下面的語(yǔ)句
+
      pinMode(j,OUTPUT);
?
{
+
  }
?
a=a+10;
+
  void loop()
?
analogWrite(motorspeed,a); //將a 的值賦給motorspeed
+
  {
?
delay(1000); //延時(shí)1 秒
+
      if (LOW==( digitalRead(2) && digitalRead(3) ) )
?
}
+
      {
?
if (LOW== digitalRead(switchPin2)) //如果switchPin2 為低電平則執(zhí)行下面的語(yǔ)句
+
          for(i=4;i<=9;i++)
?
{
+
        {
?
a=a-10;
+
            digitalWrite(i,HIGH);
?
analogWrite(motorspeed,a); //將a 的值賦給motorspeed
+
            delay(100); //延時(shí)0.1 秒
?
delay(1000); //延時(shí)1 秒
+
            digitalWrite(i,LOW);
?
}
+
            delay(100); //延時(shí)0.1 秒
?
}</pre>
+
        }
 +
      }
 +
  }
 +
===密碼解鎖游戲?qū)嶒?yàn)===
 +
====實(shí)驗(yàn)簡(jiǎn)介====
 +
人們使用的鎖具由傳統(tǒng)的機(jī)械式鎖逐漸發(fā)展為安全性能更好,功能更多的電子密碼鎖。密碼解鎖游戲的原理是通過(guò)一個(gè)旋轉(zhuǎn)變位器調(diào)制出對(duì)應(yīng)的密碼,用3 個(gè)紅色LED顯示相應(yīng)的位,蜂鳴器用于提示操作。
 +
====硬件設(shè)備====
 +
*CarDuino UNO R3 控制器×1
 +
*USB 下載線×1
 +
*大面包板×1
 +
*跳線若干
 +
*紅色LED×3
 +
*黑色按鍵×1
 +
*旋轉(zhuǎn)變位器×1
 +
*蜂鳴器×1
 +
*470歐姆電阻×4
 +
====硬件連接====
 +
密碼解鎖游戲?qū)嶒?yàn)<br/>
 +
[[image:tu2.png|thumb|500px|center|]]
 +
====試驗(yàn)程序====
 +
  /*****************************************************************
 +
  奧松機(jī)器人RobotBase www.robotbase.cn
 +
  目的: 密碼解鎖游戲?qū)嶒?yàn)
 +
  目標(biāo)系統(tǒng): Arduino UNO R3 控制器
 +
  應(yīng)用軟件: Arduino IDE 1.7.7
 +
  發(fā)布時(shí)間: 2015-11-19
 +
  說(shuō)明: 若用于商業(yè)用途,請(qǐng)保留此段文字或注明代碼來(lái)源
 +
  哈爾濱奧松機(jī)器人科技股份有限公司保留所有版權(quán)
 +
  const int LED1 = 8;
 +
  const int LED2 = 9;
 +
  const int LED3 = 10; // 三盞LED 代表三個(gè)級(jí)別
 +
  const int BTN = 11; // 游戲開(kāi)始按鈕和確認(rèn)按鈕
 +
  const int BUZ = 7; // 蜂鳴器給玩家提示
 +
  const int POT = A0; // 通過(guò)電位計(jì)模擬解鎖的感覺(jué)
 +
  bool btnState1;
 +
  bool btnState2; // 獲取按鈕按下的狀態(tài)
 +
  int r; // 單片機(jī)生成的隨機(jī)數(shù)
 +
  int answer; // 玩家的回答
 +
  void (*reset)(void) = 0; // 軟復(fù)位
 +
  // 每一級(jí)需要不同的精確度
 +
  bool isOK(int level, int r, int ans)
 +
  {
 +
      if(level == 0) return r - 2 < ans && ans < r + 2;
 +
      if(level == 1) return r - 5 < ans && ans < r + 5;
 +
      if(level == 2) return r - 10 < ans && ans < r + 10;
 +
  }
 +
  void setup()
 +
{
 +
      pinMode(LED1, OUTPUT);
 +
      pinMode(LED2, OUTPUT);
 +
      pinMode(LED3, OUTPUT);
 +
      pinMode(BUZ, OUTPUT);
 +
      pinMode(BTN, INPUT_PULLUP);
 +
      randomSeed(analogRead(A1)); // 隨機(jī)種子
 +
  }
 +
  void loop()  
 +
{
 +
      // 初始化游戲,關(guān)閉小燈和蜂鳴器
 +
      digitalWrite(LED1, LOW);
 +
      digitalWrite(LED2, LOW);
 +
      digitalWrite(LED3, LOW);
 +
      noTone(BUZ);
 +
      // 按下按鈕后游戲開(kāi)始,避免直接進(jìn)入游戲,過(guò)于突然
 +
      while(1)
 +
    {
 +
        btnState1 = digitalRead(BTN);
 +
        delay(20);
 +
        btnState2 = digitalRead(BTN);
 +
        if(btnState1 == HIGH && btnState2 == LOW) break;
 +
    }
 +
    // 接收玩家的回答并做判斷
 +
    for(int level = 0; level < 3; level++)
 +
    {
 +
        // 生成隨機(jī)數(shù),使用蜂鳴器做提示
 +
        r = random(0, 1024);
 +
        while(1)
 +
      {
 +
          answer = analogRead(POT); // 不斷更新玩家的輸入
 +
          tone(BUZ, 2000, abs(r - answer)); // 輸入不同,蜂鳴器發(fā)聲不同
 +
          // level = 0,第一級(jí),范圍固定
 +
          // level = 1,第二級(jí),范圍勻速變化
 +
          // level = 2,第三級(jí),范圍變速變化
 +
          if(level == 0) r = r;
 +
          if(level == 1) r = (r+1)%1024;
 +
          if(level == 2) r = (r+random(1,6))%1024;
 +
          btnState1 = digitalRead(BTN);
 +
          delay(20);
 +
          btnState2 = digitalRead(BTN);
 +
          // 如果玩家按下了確認(rèn)按鈕
 +
          if(btnState1 == HIGH && btnState2 == LOW)
 +
          {
 +
          // 如果玩家回答正確
 +
              if(isOK(level, r, answer))
 +
              {
 +
              // 點(diǎn)亮當(dāng)前級(jí)別的小燈
 +
                  digitalWrite(LED1+level, HIGH);
 +
                  break;
 +
              }
 +
              else // 如果回答錯(cuò)誤
 +
            {
 +
                  // 直接重啟整個(gè)游戲
 +
                  reset();
 +
              }
 +
          }
 +
      }
 +
  }
 +
  // 游戲結(jié)束
 +
  while(1);
 +
  }
  
 
==產(chǎn)品相關(guān)推薦==
 
==產(chǎn)品相關(guān)推薦==

2016年5月3日 (二) 16:08的最后版本

13K02301.png

目錄

產(chǎn)品概述

Arduino互動(dòng)電子入門(mén)套件是哈爾濱奧松機(jī)器人科技有限公司專門(mén)為Arduino電子愛(ài)好者精心打造的一款適合電子類專業(yè)學(xué)生學(xué)習(xí)的入門(mén)套件。即使你沒(méi)有學(xué)過(guò)電子電 路相關(guān)知識(shí),也可以按照手冊(cè)講解一步步完成每個(gè)設(shè)計(jì)實(shí)驗(yàn),在整個(gè)實(shí)驗(yàn)的過(guò)程中,你只需在面包板上通過(guò)跳線插拔連接元件,無(wú)須使用電烙鐵焊接,避免了初學(xué)者 焊接元件浪費(fèi)原料不環(huán)保的習(xí)慣。愛(ài)上Arduino互動(dòng)入門(mén)套件是哈爾濱奧松機(jī)器人科技有限公司專門(mén)為Arduino愛(ài)好者精心打造的一款入門(mén)學(xué)習(xí)套件,此套件完全按照《愛(ài)上Arduino》(Arduino創(chuàng)始人所著《Getting Started with Arduino》中文譯著)一書(shū)內(nèi)容配置,除了書(shū)中涉及到的基本元件外,還增加了擴(kuò)展講解部分中的直流電機(jī)、風(fēng)扇、干簧管、磁鋼、傾角傳感器、紅外熱釋電傳感器等。即使你沒(méi)有學(xué)過(guò)電子電路相關(guān)知識(shí),也可以按照中文教材書(shū)籍講解一步步完成每個(gè)實(shí)驗(yàn)操作,在整個(gè)實(shí)驗(yàn)的過(guò)程中,你只需在面包板上通過(guò)跳線插拔連接元件,無(wú)須使用電烙鐵焊接,避免了初學(xué)者焊接元件浪費(fèi)原料不環(huán)保的習(xí)慣。本套件除基本入門(mén)操作講解外,還附帶18節(jié)實(shí)驗(yàn)課程,這部分課程完全考慮初學(xué)者學(xué)習(xí)興趣,由易到難,循序漸進(jìn),精心編排,每個(gè)實(shí)驗(yàn)均配有電路圖、元件插接圖,實(shí)驗(yàn)詳細(xì)說(shuō)明和具有功能注釋的例子程序。打好學(xué)習(xí)基礎(chǔ),啟發(fā)創(chuàng)新思維,領(lǐng)悟開(kāi)源創(chuàng)意文化,這款套件是你走進(jìn)Arduino電子世界的必備之選。

主控器技術(shù)參數(shù)

  1. 主控器:Carduino UNO R3
  2. 微處理器:ATmega328
  3. Flash 內(nèi)存:32 KB (ATmega328 其中0.5 KB 用于引導(dǎo)程序)
  4. 工作電壓:5V
  5. 輸入電壓:接上USB 時(shí)無(wú)須外部供電或外部7V~12V DC 輸入
  6. 輸出電壓:5V DC 輸出和3.3V DC 輸出和外部電源輸入
  7. 時(shí)鐘頻率:16 MHz
  8. 輸入電壓:7-12V(推薦)
  9. 輸入電壓:6-20V(限制)
  10. 支持USB 接口協(xié)議及供電(不需外接電源)
  11. 支持ISP 下載功能
  12. 數(shù)字I/O 端口:14(6 個(gè)PWM 輸出口)
  13. 模擬輸入端口:6
  14. 直流電流:40mA(I/O 端口)
  15. 直流電流:50mA(3.3V 端口)
  16. EEPROM:1 KB (ATmega328)
  17. SRAM:2 KB (ATmega328)
  18. 尺寸:75x55x15mm

Arduino編譯環(huán)境下載

當(dāng)前最新版Arduino 1.7.9 下載地址: http://www.arduino.org/Software

第一個(gè)Arduino實(shí)驗(yàn)

點(diǎn)亮13號(hào)引腳的LED燈,持續(xù)一秒,然后滅掉,再持續(xù)一秒,一直循環(huán)。
在這第一個(gè)實(shí)驗(yàn)中,我們假設(shè)讀者使用控制器的型號(hào)是Arduino UNO,并獲取了Arduino開(kāi)發(fā)環(huán)境,而且已經(jīng)安裝了USB驅(qū)動(dòng)。

連接Arduino控制板和電腦

將USB線一端插在Arduino控制板上,一端插在電腦的USB接口上。(獨(dú)立工作時(shí)Arduino控制板可以選擇從USB供電, 也可以選擇由電源適配器供電)

設(shè)置Arduino開(kāi)發(fā)環(huán)境語(yǔ)言

打開(kāi)Arduino主程序后,軟件會(huì)自動(dòng)識(shí)別系統(tǒng)的語(yǔ)言,然后設(shè)置開(kāi)發(fā)環(huán)境為系統(tǒng)語(yǔ)言,如果需要設(shè)置為其他語(yǔ)言同樣可以,只要打開(kāi):File > Preferences,找到Editor language項(xiàng),將其設(shè)為需要的語(yǔ)言(例如:簡(jiǎn)體中文),然后關(guān)閉Arduino主程序并重新打開(kāi),開(kāi)發(fā)環(huán)境界面就會(huì)變成中文。

Tu3.png


Tu4.png


Tu55.png


打開(kāi)LED blink例程


打開(kāi)軟件選擇文件 - 示例 - 01.Basics - Blink

blink


設(shè)置板卡型號(hào)

Arduino包括多種版本的主控器,其中比較常見(jiàn)的是Uno、Leonardo以及Mega系列的控制器。在軟件上點(diǎn)擊工具然后在“板”一項(xiàng)下選擇相應(yīng)的型號(hào),這時(shí)你需要根據(jù)自己的主控硬件的固件類型來(lái)選擇板卡。(樣例中選用的是以Uno為bootloader的控制器)
工具 - 板 - Arduino Uno

Tu6.png


設(shè)置串口

工具 > 串口 > xx,這里的xx應(yīng)選擇在你的電腦設(shè)備管理器中看到的一致。

Tu7.png


下載程序

如圖,點(diǎn)擊驗(yàn)證,程序只進(jìn)行了驗(yàn)證,而沒(méi)有下載到控制器中,下載需要再點(diǎn)擊上傳鍵;若直接點(diǎn)擊上傳鍵,將程序會(huì)先進(jìn)行驗(yàn)證然后直接下載程序到你的Arduino控制板上。

Tu8.png


程序效果

程序運(yùn)行的效果就是:Adruino Uno板載的13號(hào)引腳LED燈在閃爍。

Arduino UNO驅(qū)動(dòng)安裝

Arduino UNO驅(qū)動(dòng)安裝方法

例程列表

基礎(chǔ)實(shí)驗(yàn)

  • 串口通信控制LED燈實(shí)驗(yàn)
  • 智能骰子實(shí)驗(yàn)
  • 遠(yuǎn)紅外火焰?zhèn)鞲衅鲬?yīng)用
  • 干簧管控制繼電器實(shí)驗(yàn)
  • 數(shù)字傳感器控制流水燈
  • 智能門(mén)鈴
  • PWM控制LED燈亮度實(shí)驗(yàn)
  • 全彩LED模擬呼吸燈實(shí)驗(yàn)
  • PWM控制電機(jī)轉(zhuǎn)速
  • 紅外熱釋電傳感器人體檢測(cè)報(bào)警實(shí)驗(yàn)
  • 溫度報(bào)警器
  • 電子琴
  • 看誰(shuí)搖的快
  • 指針亮度計(jì)
  • 記憶大考驗(yàn)
  • 串行轉(zhuǎn)并行
  • 密碼解鎖

擴(kuò)展實(shí)驗(yàn)

  • “Hello World!”實(shí)驗(yàn)
  • 交通燈設(shè)計(jì)實(shí)驗(yàn)
  • 搶答器設(shè)計(jì)實(shí)驗(yàn)
  • 模擬值讀取實(shí)驗(yàn)
  • 伺服舵機(jī)控制實(shí)驗(yàn)
  • 紅外線通信實(shí)驗(yàn)

精選例程

數(shù)字傳感器控制流水燈實(shí)驗(yàn)

實(shí)驗(yàn)簡(jiǎn)介

單向傾角開(kāi)關(guān)是一個(gè)可以檢測(cè)傾斜、晃動(dòng)的特殊開(kāi)關(guān),本例中使用傾角開(kāi)關(guān)和干簧管作為觸發(fā),當(dāng)兩個(gè)傳感器中任何一個(gè)被觸發(fā)時(shí),6 個(gè)LED 都會(huì)開(kāi)始按照順序閃爍。傾角傳感器:傾角傳感器是姿態(tài)傳感器的一種,主要應(yīng)用在物體狀態(tài)的水平檢測(cè),同樣他具備測(cè)量角度的大小。目前傾角傳感器主要分為幾個(gè)大類,有單軸傾角傳感器和雙軸傾角傳感器,以及利用傾角傳感器原理制作而成的傾角儀。

硬件設(shè)備

  • CarDuino UNO R3 控制器×1
  • USB 下載線×1
  • 大面包板×1
  • 跳線若干
  • LED燈×6
  • 470歐姆電阻×8
  • 干簧管×1
  • 單向傾角開(kāi)關(guān)×1

硬件連接

數(shù)字傳感器控制流水燈實(shí)驗(yàn)

Tu1.png

試驗(yàn)程序

 /*****************************************************************
 奧松機(jī)器人RobotBase www.robotbase.cn
 目的: 數(shù)字傳感器控制流水燈實(shí)驗(yàn)
 目標(biāo)系統(tǒng): ArduinoUNO R3 控制器
 應(yīng)用軟件: Arduino IDE 1.7.7
 發(fā)布時(shí)間: 2015-11-19
 說(shuō)明: 若用于商業(yè)用途,請(qǐng)保留此段文字或注明代碼來(lái)源
 哈爾濱奧松機(jī)器人科技股份有限公司保留所有版權(quán)
 *****************************************************************/
 int i,j; //定義變量i
 void setup()
 {
     pinMode(2,INPUT);
     pinMode(3,INPUT);
     for(j=4;j<=9;j++)
     pinMode(j,OUTPUT);
 }
 void loop()
 {
     if (LOW==( digitalRead(2) && digitalRead(3) ) )
     {
         for(i=4;i<=9;i++)
        {
            digitalWrite(i,HIGH);
            delay(100); //延時(shí)0.1 秒
            digitalWrite(i,LOW);
            delay(100); //延時(shí)0.1 秒
        }
     }
 }

密碼解鎖游戲?qū)嶒?yàn)

實(shí)驗(yàn)簡(jiǎn)介

人們使用的鎖具由傳統(tǒng)的機(jī)械式鎖逐漸發(fā)展為安全性能更好,功能更多的電子密碼鎖。密碼解鎖游戲的原理是通過(guò)一個(gè)旋轉(zhuǎn)變位器調(diào)制出對(duì)應(yīng)的密碼,用3 個(gè)紅色LED顯示相應(yīng)的位,蜂鳴器用于提示操作。

硬件設(shè)備

  • CarDuino UNO R3 控制器×1
  • USB 下載線×1
  • 大面包板×1
  • 跳線若干
  • 紅色LED×3
  • 黑色按鍵×1
  • 旋轉(zhuǎn)變位器×1
  • 蜂鳴器×1
  • 470歐姆電阻×4

硬件連接

密碼解鎖游戲?qū)嶒?yàn)

Tu2.png

試驗(yàn)程序

 /*****************************************************************
 奧松機(jī)器人RobotBase www.robotbase.cn
 目的: 密碼解鎖游戲?qū)嶒?yàn)
 目標(biāo)系統(tǒng): Arduino UNO R3 控制器
 應(yīng)用軟件: Arduino IDE 1.7.7
 發(fā)布時(shí)間: 2015-11-19
 說(shuō)明: 若用于商業(yè)用途,請(qǐng)保留此段文字或注明代碼來(lái)源
 哈爾濱奧松機(jī)器人科技股份有限公司保留所有版權(quán)
 const int LED1 = 8;
 const int LED2 = 9;
 const int LED3 = 10; // 三盞LED 代表三個(gè)級(jí)別
 const int BTN = 11; // 游戲開(kāi)始按鈕和確認(rèn)按鈕
 const int BUZ = 7; // 蜂鳴器給玩家提示
 const int POT = A0; // 通過(guò)電位計(jì)模擬解鎖的感覺(jué)
 bool btnState1;
 bool btnState2; // 獲取按鈕按下的狀態(tài)
 int r; // 單片機(jī)生成的隨機(jī)數(shù)
 int answer; // 玩家的回答
 void (*reset)(void) = 0; // 軟復(fù)位
 // 每一級(jí)需要不同的精確度
 bool isOK(int level, int r, int ans)
 {
     if(level == 0) return r - 2 < ans && ans < r + 2;
     if(level == 1) return r - 5 < ans && ans < r + 5;
     if(level == 2) return r - 10 < ans && ans < r + 10;
 }
 void setup()
{
     pinMode(LED1, OUTPUT);
     pinMode(LED2, OUTPUT);
     pinMode(LED3, OUTPUT);
     pinMode(BUZ, OUTPUT);
     pinMode(BTN, INPUT_PULLUP);
     randomSeed(analogRead(A1)); // 隨機(jī)種子
 }
 void loop() 
{
     // 初始化游戲,關(guān)閉小燈和蜂鳴器
     digitalWrite(LED1, LOW);
     digitalWrite(LED2, LOW);
     digitalWrite(LED3, LOW);
     noTone(BUZ);
     // 按下按鈕后游戲開(kāi)始,避免直接進(jìn)入游戲,過(guò)于突然
     while(1) 
    {
        btnState1 = digitalRead(BTN);
        delay(20);
        btnState2 = digitalRead(BTN);
        if(btnState1 == HIGH && btnState2 == LOW) break;
    }
   // 接收玩家的回答并做判斷
   for(int level = 0; level < 3; level++)
   {
       // 生成隨機(jī)數(shù),使用蜂鳴器做提示
       r = random(0, 1024);
       while(1) 
      {
          answer = analogRead(POT); // 不斷更新玩家的輸入
          tone(BUZ, 2000, abs(r - answer)); // 輸入不同,蜂鳴器發(fā)聲不同
          // level = 0,第一級(jí),范圍固定
          // level = 1,第二級(jí),范圍勻速變化
          // level = 2,第三級(jí),范圍變速變化
         if(level == 0) r = r;
         if(level == 1) r = (r+1)%1024;
         if(level == 2) r = (r+random(1,6))%1024;
         btnState1 = digitalRead(BTN);
         delay(20);
         btnState2 = digitalRead(BTN);
         // 如果玩家按下了確認(rèn)按鈕
         if(btnState1 == HIGH && btnState2 == LOW)
         {
         // 如果玩家回答正確
             if(isOK(level, r, answer))
             {
             // 點(diǎn)亮當(dāng)前級(jí)別的小燈
                 digitalWrite(LED1+level, HIGH);
                 break;
             }
             else // 如果回答錯(cuò)誤
            {
                 // 直接重啟整個(gè)游戲
                 reset();
             }
         }
     }
 }
 // 游戲結(jié)束
 while(1);
 }

產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購(gòu)買(mǎi)地址

基于Arduino互動(dòng)電子套件

周邊產(chǎn)品推薦

動(dòng)手玩兒轉(zhuǎn)Arduino
基于Arduino魔法書(shū)互動(dòng)套件

相關(guān)問(wèn)題解答

Arduino 驅(qū)動(dòng)安裝失???最全的解決辦法
如何利用Xbee模塊實(shí)現(xiàn)兩個(gè)Arduino UNO控制器的通信

相關(guān)學(xué)習(xí)資料

愛(ài)上Arduino與愛(ài)上Processing的互動(dòng)視頻教程
火焰?zhèn)鞲衅魇褂醚菔疽曨l
電壓傳感器使用演示視頻
奧松機(jī)器人技術(shù)論壇