(RB-13K023)基于Arduino 互動電子入門套件

來自ALSROBOT WiKi
2016年5月3日 (二) 16:08Arduino77討論 | 貢獻(xiàn)的版本

(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
13K02301.png

目錄

產(chǎn)品概述

Arduino互動電子入門套件是哈爾濱奧松機器人科技有限公司專門為Arduino電子愛好者精心打造的一款適合電子類專業(yè)學(xué)生學(xué)習(xí)的入門套件。即使你沒有學(xué)過電子電 路相關(guān)知識,也可以按照手冊講解一步步完成每個設(shè)計實驗,在整個實驗的過程中,你只需在面包板上通過跳線插拔連接元件,無須使用電烙鐵焊接,避免了初學(xué)者 焊接元件浪費原料不環(huán)保的習(xí)慣。愛上Arduino互動入門套件是哈爾濱奧松機器人科技有限公司專門為Arduino愛好者精心打造的一款入門學(xué)習(xí)套件,此套件完全按照《愛上Arduino》(Arduino創(chuàng)始人所著《Getting Started with Arduino》中文譯著)一書內(nèi)容配置,除了書中涉及到的基本元件外,還增加了擴展講解部分中的直流電機、風(fēng)扇、干簧管、磁鋼、傾角傳感器、紅外熱釋電傳感器等。即使你沒有學(xué)過電子電路相關(guān)知識,也可以按照中文教材書籍講解一步步完成每個實驗操作,在整個實驗的過程中,你只需在面包板上通過跳線插拔連接元件,無須使用電烙鐵焊接,避免了初學(xué)者焊接元件浪費原料不環(huán)保的習(xí)慣。本套件除基本入門操作講解外,還附帶18節(jié)實驗課程,這部分課程完全考慮初學(xué)者學(xué)習(xí)興趣,由易到難,循序漸進(jìn),精心編排,每個實驗均配有電路圖、元件插接圖,實驗詳細(xì)說明和具有功能注釋的例子程序。打好學(xué)習(xí)基礎(chǔ),啟發(fā)創(chuàng)新思維,領(lǐng)悟開源創(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 時無須外部供電或外部7V~12V DC 輸入
  6. 輸出電壓:5V DC 輸出和3.3V DC 輸出和外部電源輸入
  7. 時鐘頻率:16 MHz
  8. 輸入電壓:7-12V(推薦)
  9. 輸入電壓:6-20V(限制)
  10. 支持USB 接口協(xié)議及供電(不需外接電源)
  11. 支持ISP 下載功能
  12. 數(shù)字I/O 端口:14(6 個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

第一個Arduino實驗

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

連接Arduino控制板和電腦

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

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

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

Tu3.png


Tu4.png


Tu55.png


打開LED blink例程


打開軟件選擇文件 - 示例 - 01.Basics - Blink

blink


設(shè)置板卡型號

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

Tu6.png


設(shè)置串口

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

Tu7.png


下載程序

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

Tu8.png


程序效果

程序運行的效果就是:Adruino Uno板載的13號引腳LED燈在閃爍。

Arduino UNO驅(qū)動安裝

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

例程列表

基礎(chǔ)實驗

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

擴展實驗

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

精選例程

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

實驗簡介

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

硬件設(shè)備

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

硬件連接

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

Tu1.png

試驗程序

 /*****************************************************************
 奧松機器人RobotBase www.robotbase.cn
 目的: 數(shù)字傳感器控制流水燈實驗
 目標(biāo)系統(tǒng): ArduinoUNO R3 控制器
 應(yīng)用軟件: Arduino IDE 1.7.7
 發(fā)布時間: 2015-11-19
 說明: 若用于商業(yè)用途,請保留此段文字或注明代碼來源
 哈爾濱奧松機器人科技股份有限公司保留所有版權(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); //延時0.1 秒
            digitalWrite(i,LOW);
            delay(100); //延時0.1 秒
        }
     }
 }

密碼解鎖游戲?qū)嶒?/span>

實驗簡介

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

硬件設(shè)備

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

硬件連接

密碼解鎖游戲?qū)嶒?br />

Tu2.png

試驗程序

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

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

Erweima.png

產(chǎn)品購買地址

基于Arduino互動電子套件

周邊產(chǎn)品推薦

動手玩兒轉(zhuǎn)Arduino
基于Arduino魔法書互動套件

相關(guān)問題解答

Arduino 驅(qū)動安裝失?。孔钊慕鉀Q辦法
如何利用Xbee模塊實現(xiàn)兩個Arduino UNO控制器的通信

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

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