總網頁瀏覽量

2013年2月21日 星期四

手機藍芽遙控車解決方案 = Motoduino (arduino) + Blutooth + android mobile


來做做android手機遙控車,不用寫任何程式也可以玩,利用Motoduino一塊板子簡單即可以簡單做到,請參考一下做法


一.  使用材料 : (材料購買網站)
1.      Motoduino 或  Arduino + 馬達驅動板
2.      TTL藍芽模組
3.      9V電池一顆 電池釦線
4.      USB傳輸線 (下載程式用)
5.      小車體套件包

圖一

安裝過程 (step by step):

 Step 1
        圖一是所有組裝材料及工具首先可以先把車子底盤兩面的土黃色貼紙撕下,需要花點時間撕下因為黏膠很強,如圖二,或不撕保持貼紙在上面也可以。

圖二


Step 2:
       利用螺絲及馬達固定鐵片把馬達固定在車子底盤上如圖三及圖四



圖三


圖四

Step 3:
         測速馬盤可以不裝上馬達轉軸上面,如要安裝上去要特別注意不要推的太進去,容易卡到馬達固定鐵片邊緣,圖三的測速馬盤就推太進去且利用四條馬達電線(兩黑兩紅)直接接上馬達或用焊接方式也可以



Step 4:
        萬向輪的固定比較麻煩一點,利用銅柱螺絲鎖在底盤上,固定方式請參考圖五及圖六




圖五


圖六


Step 5:
        接下來固定motoduino(arduino)板子於車子底盤上,需要兩根較長的螺絲訂定,如圖七紅色圈起來的地方。

圖七


Step 6:
        接下來利用四條電線(兩黑兩紅)直接接上馬達或用焊接方式,如圖八。注意紅黑接線的位置不要搞錯,如果接錯放心馬達不會燒掉,頂多是馬達正反轉會相反。可以在下一步驟座調適


圖八


Step 7:
         四條馬達電線接到motoduino板子上的馬達接頭 ,接線方式請參考圖九 ,以及插上藍芽模組子上,注意藍芽模組不可以接反


圖九

Step 8:
           圖十為安裝完成接上電池的狀態

圖十

Step 9:
         安裝手機APP程式到手機上。下載點請至 http://www.motoduino.com/download-twn/ 找到 Motoduino Remote Car(檔名為 mduino2.apk) ,注意手機版本要2.2以上。程式執行後畫面會出現四個按鈕,此時按下手機Menu鍵會看到一個Connect 按下Connect進入藍芽裝置搜尋畫面後按下Device Discovery開始蒐尋遙控車的藍芽裝置,後續請參考motoduino使用手冊(motoduino)


Step 10:
           一切都沒問題後就可以開始玩玩手機遙控車,按鈕遙控功能試完後記得試試一個Sensor(G-Sensor)功能,只要手機前後或左右傾斜就可以控制車子前進方向



Motoduino介紹網站: http://www.motoduino.com (source code下載處)



35 則留言:

  1. 請問所需的電壓至少9V嗎?
    我們的車子一開始可以動,後來就沒有辦法動了

    想請問車子不動的原因可能有什麼呢?
    謝謝你

    回覆刪除
    回覆
    1. 板子電壓至少9V(請看arduino規格), 馬達電壓參考你自己馬達規格.
      有可能是電池沒電,或你可以自己外加獨立電源給馬達!

      刪除
  2. 手機Android版本是Froyo-X2(2.2.2)為甚麼會無法與藍芽模組建立連線?

    有收尋到但是無法配對

    回覆刪除
  3. 請問一下
    我手機是4.0.1的版本
    藍芽可以搜索

    藍牙也可以值˙接配對
    去手機設定那邊開啟藍芽,在岸搜尋欄芽裝置在按下配對,輸入配對鑰匙1234
    可以配對

    可是不能用程式配對
    會一直顯示 無法連接到裝置

    請問這是位啥?

    回覆刪除
    回覆
    1. 請問您的手機是哪一型號? 板子的接法?

      刪除
    2. 您好,我也有遇到相同的問題;我的手機型號是Xperia p android 4.1.2 設定的藍芽裡面可以成功配對,但是進到程式之後就不能配對了

      刪除
    3. 有可能手機較新藍芽模組是4.0的關係! 我再借手機測試看看!

      刪除
  4. 您好...我也遇到相同的問題...我借了三隻手機...HTC Desire C 版本為4.0.2 與Sony Xperia
    版本為4.1.2 還有samsung S3 版本為 4.2.1 都是藍牙可以配對成功...但是盡到程式就不能配對....請問這可以怎麼處理...或是什麼方式可以驅動??

    回覆刪除
  5. 你好~ 我的車子不是用motoduino這塊板子 我用的是一般arduino的版子
    那請問 sketch部分我有需要改嗎

    回覆刪除
    回覆
    1. 那請問該怎麼改呢=~= 因為我不是很拿手XD

      刪除
  6. const int Motor_E1 = 4;
    const int Motor_E2 = 5;
    const int Motor_M1 = 6;
    const int Motor_M2 = 7;
    char val;

    void setup()
    {
    Serial.begin(57600);
    pinMode(Motor_M1, OUTPUT);
    pinMode(Motor_M2, OUTPUT);

    }

    void loop()
    {
    if(Serial.available())
    {
    val = Serial.read();
    switch(val)
    {
    case 'f': // 車子前進
    forward( 255);
    break;
    case 'b': // 車子後退
    backward( 255);
    break;
    case 'l': // 車子向左轉
    left( 255);
    break;
    case 'r': // 車子向右轉
    right( 255);
    break;
    case 's': // 車子停止
    motorstop( 0);
    break;
    }

    }

    }

    void motorstop( byte motorspeed)
    {

    digitalWrite( Motor_E1, motorspeed);
    digitalWrite( Motor_E2, motorspeed);

    }

    void forward( byte motorspeed)
    {

    digitalWrite( Motor_M1, HIGH);
    digitalWrite( Motor_M2, HIGH);

    analogWrite( Motor_E1, motorspeed);
    analogWrite( Motor_E2, motorspeed);

    }

    void backward( byte motorspeed)
    {
    digitalWrite( Motor_M1, LOW);
    digitalWrite( Motor_M2, LOW);

    analogWrite( Motor_E1, motorspeed);
    analogWrite( Motor_E2, motorspeed);

    }

    void right( byte motorspeed)
    {

    digitalWrite( Motor_M1, HIGH);
    digitalWrite( Motor_M2, HIGH);

    analogWrite( Motor_E1, motorspeed);
    analogWrite( Motor_E2, 0);

    }

    void left( byte motorspeed)
    {

    digitalWrite( Motor_M1, HIGH);
    digitalWrite( Motor_M2, HIGH);

    analogWrite( Motor_E1, 0);
    analogWrite( Motor_E2, motorspeed);

    }

    回覆刪除
    回覆
    1. 要配合你的硬體修改! 不是一兩句話就可以說清楚,多google一下網站,就可以得到答案!

      刪除
    2. 那請問arduino uno跟motoduino差別在哪裡呢

      刪除
    3. 請問motorspeed可以自己改速度嗎??

      刪除
    4. motorspeed可以自己改速度!

      刪除
  7. 請問有材料購買網址嗎?上面網址找不到

    回覆刪除
    回覆
    1. http://goods.ruten.com.tw/item/show?21521486726385

      刪除
  8. 請問藍芽連的到 程式中連不到 有解決方案了嗎 o'_'o

    回覆刪除
    回覆
    1. 抱歉! 不太懂您的意思! 可以說清楚點? baud rate要注意一致性!

      刪除
    2. 我遇到的問題其實也跟三樓一樣 在app中無法配對

      刪除
  9. 你好!請問值要把程式輸入在連接藍芽就能ㄌ?
    還是需要驅動程式?

    回覆刪除
    回覆
    1. 你指的驅動程式? 藍牙模組不需要任何程式寫入,程式是寫在Arduino上,及手機上

      刪除
    2. 所以只要程式摳好,手機載好APP程式就能ㄌ?

      刪除
  10. 請問一下 開啟序列埠'COM3'時發生錯誤。 (Port busy) 是甚麼意思?

    回覆刪除
    回覆
    1. 建議不要用COM3用 COM4以後! 另外port busy的問題, 關掉Arduino IDE 及拔掉Arduion USB接頭再插上去試試!

      刪除
    2. avrdude: ser_open(): can't open device "\\.\COM4": 存取被拒。 是甚麼意思?

      刪除
    3. avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x32
      avrdude: stk500_recv(): programmer is not responding
      avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x32

      刪除
  11. 看起來你對Arduino不熟! 先確定你的Arduino 接到哪個COM port?

    回覆刪除
  12. 我們是要做專題製作的高中生 能否要line方便請教您?

    回覆刪除
  13. 您好,請問一下,馬達的電源是不是獨立供應較好,我用電池9v馬達共用板子電源都無法讓馬達起動,但用獨立電源給馬達就可以了。

    回覆刪除
    回覆
    1. 獨立電源給馬達就可以,換電池9v馬達共用板子電源都無法讓馬達起動,那有把 jumper 跳過來嗎?

      刪除
  14. 是的,本來預設JP9 是在+5v,但仍無法驅動馬達,所以後來才改外部EXT供電,不知這是正常的嗎? 還是這板子有點問題?

    回覆刪除
  15. 1. 馬達是哪一種?
    2. 可能電池電流不足,試試直接接9V變壓器!
    3. 建議驅動馬達最好外接獨立電源

    回覆刪除