[Arduino]_用Android手機經Bluetooth遙控Arduino小車(2012/8/9 update)

===== 4/20手機端程式更新:http://thkaw.pixnet.net/blog/post/89074541 =====

=====================================================

8/9手機端程式修正,請先看這篇,做到手機端的時候看4/20那篇,

如果有問題再看8/9這一篇!http://thkaw.pixnet.net/blog/post/92089951

=====================================================

前面廢話太多,教學可以直接轉到下面去看(炸

Arduino已經出來不少時辰

前陣子系上審手機的預算下來買了幾隻Android Phone

想說更早之前google有釋出與Arduino配套的”ADK”

 

所以也買了Mega ADK 2560

 

但礙於小弟技術太差,USB端地連線遲遲無法正常運作,除錯除了很久

結果最後發現是我的ATRIX被鎖上USB周邊裝置連線了…跟SAMSUNG的Galaxy Tab一樣

 

雖然可以破,但我已經花了太多時間在連線上(約莫前前後後零零碎碎有1個月的時間)

搞得我二年級下學期產出很低…QQ

 

正好在學期末,在一次系上老師在系辦吃羊肉爐的時候,我進去找老師…發現桌上有一包包裹

原來是Dr. CKH也訂了片Arduino來玩,但他比較聰明,直接買了motoduino(一種專門控制馬達的Arduino)

還帶了一根藍芽模組

 

突然…,Dr. DL問我是否能用藍芽做呢?

原本以為藍芽還要處理更多協定會把事情搞得更複雜…

但還是抱著姑且一試的心態回家G了一下

才發現原來走無線PORT口簡單到無法置信的地步

 

說穿了藍芽模組主要的功能就只是把TX跟RX這兩條線換成無線通路如此而已…

更簡單的是已經有人在Android上寫好藍芽連線的底層,只要呼叫來用就可以快速達到連線的功能

 

嗚嗚,如果我早一點知道,我就不用浪費時間去debug那該死的usb host

 

以及還發現MEGA ADK 上的PWM根本沒辦法推動有掛附載的直流馬達…頂多讓沒有負載的直流馬達用很微弱的力量旋轉

所以必須要再疊塊Moto Shield上去

 

結果零零總總加上之前的ADK就已經花了新台幣三千多塊(還好是學校的錢)

得到一個結論:做Arduino真的不能亂選板子|||…

 

其實網路上也有在賣Motoduino搭配已經幫妳寫好的軟體一起同捆出售

只要1300,比起我買了Moto Shield跟BT模組也只多了250元左右

 

但…物盡其用吧,當初跟上頭講要買ADK的也是我,買了Motoduino的話,ADK又扔一邊

這學期產出又不高,到時候被白眼就GG了

 

星期五是學期最後一天,早上考完試中午聚完餐回家沒多久快遞就打來送貨了…

上面那張圖我為了拍照,藍芽模組亂插的…不是那樣插喔!

下午休息完之後,就花了晚上的時間把遙控功能做出來了(終於有產出了)

 

我發現廢話講太多(也講完了)

 ===========================================================

直接切入正題

 

硬體部分,藍芽模組連到Arduino很簡單

模組TX對Arduino的RX

模組RX對Arduino的TX

電源上去就結束了

 

馬達連接部份沒有分正負極,馬達A跟B要分清楚就是

 

 

軟體部分才是重點

手機要連線Bluetooth需要”amarino”這個基底程式

先到官方網站抓四個檔案

http://www.amarino-toolkit.net/index.php/download.html

分別是

Amarino

MeetAndroid

Amarino Plug-in Bundle

Amarino Library

 

把Amarino跟Amarino Plug-in Bundle這兩個apk丟到手機上安裝起來

假設你已經有Android程式開發的基礎能力

eclipse with Android SDK也都安裝好了

 

因為接著要來設置Android手機上的程式,這裡我拿了multi-color-lamp這個專案的code來修改(其實初步也沒改啥,改比較多的是Arduino的sketch)

http://www.buildcircuit.com/multi-color-lamp-using-amarino-android-and-arduino/

 

下載multi color lamp的手機程式

http://code.google.com/p/amarino/downloads/detail?name=MultiColorLamp.zip&can=2&q=

 

===== 4/20手機端程式更新:http://thkaw.pixnet.net/blog/post/89074541 =====

 

接著開啟你的eclipse

之後用匯入專案的方式把那隻程式開起來

 

編譯API要用Android 2.2(要是看看別的也可以,我沒試過就是了)

但你還是會看到有幾個錯誤,正常

因為你還沒有把amarino參考進來

 

在Package Exploer上的Project按右鍵選“Build Path”=>”Configure Build Path”

 

 

沒意外的話你會看到一個有錯誤的Reference,刪掉他,然後新增一個指向到剛剛你抓來的Amarino Library jar檔

確定之後,返回剛剛的畫面應該就可以看到錯誤解決了

 

這隻程式目前我只動一個地方,就是39行的

private static final String DEVICE_ADDRESS = “00:11:12:06:00:60”;

 

後面是你要連結的藍芽模組MAC位置

我未來應該會把這隻程式修成可以即時填入MAC

 

之後正常程序compiler這隻程式並送到手機上

 

 

接著是Arduino的部分

因為要做馬達控制,所以我也是拿multi color lamp的sketch來改

所以也不一樣

這裡附上CODE,需要的人可以自取~

https://docs.google.com/open?id=0B3fyBbL11HpIZjNkMjc5OTAtYTA1MC00MGRmLTk3NjctNDY0YWEzMjNiODJh

 

註解之後的版本才會補上,先這樣吧

 

燒進去Arduino之後就可以與手機連線測試一下

Red跟Blue的SeekBar分別是驅動A Moto跟B Moto

 

中間Green部分是兩顆一起作動

 

不過要注意電源供應,乾電池可能會有問題…像我一開始用6顆1.5V的AA鹼性電池

單獨馬達作動都OK,偏偏一起作動就會讓馬達板熄火…需RESET

 

而用USB跟之後換了一個8V的鋰電池就沒事…怪,大概瞬間輸出電流鹼性電池撐不住吧(?!)

 

 

錄了個示範影片:

 

 

還有個人要在這裡推薦一本還不錯的書…馬達修改的範例程式碼有一些是直接從這來的

當然,學程式就是這樣,模仿是必須的,這本內容還不賴,裡面有很多重點範例(剛去博客來看已經賣光了= =a)

 

如果有程式或硬體電路上的問題,歡迎來信或留言討論!

圖庫:https://picasaweb.google.com/112900880353798406790/ArduinoStuff

 

thx for:

http://www.amarino-toolkit.net/index.php/getting-started.html

http://www.buildcircuit.com/multi-color-lamp-using-amarino-android-and-arduino/

http://code.google.com/p/android-car/downloads/detail?name=MultiColorLamp.zip&can=2&q=

73 Comments

  1. 請問一下
    你的齒輪組也是用工作樂的70097嗎?
    還是有其他的替代品?
    這個齒輪組現在都缺貨ˊˋ
    版主回覆:(11/29/2011 08:07:34 AM)
    是的,不過我這一組是從利基科技的產品拆下來用的
    上半部原本是搭載利基的多功能自走車(超音波&羅盤)
    但因為是封閉系統,就直接把上面拆了,用下面的底盤
    不一定要這組阿~
    還有很多可以選擇,而且真的是輪子會比較好
    履帶問題很多,放久老化又容易鬆脫

  2. 可以和你拿 你所附的code嗎? 你的連結壞了!!! 謝謝!
    版主回覆:(01/15/2012 03:04:05 PM)
    沒壞喔~
    要從左上角翻選單選下載~

  3. 謝謝您!! 感激不盡^^

  4. 請問可以提供 arduino端 的程式部分嗎??
    最近想研究arduino+bt控制qq
    版主回覆:(03/08/2012 01:08:41 PM)
    我文章有阿…你沒仔細找喔@@

  5. 請問一件事﹐你的android 一搜尋就能找得到藍芽模組嗎?
    是這樣的﹐最近也在研究android手機經藍牙控制小車﹐前陣子在網路上買了一整套的小車套件﹐外加一張 Bluetooth Bee藍牙無線模組。這張Bluetooth Bee我裝上去之後﹐Android手機都搜尋不到這個設備﹐但我的 NB﹑一支2G的手機﹑一支Moto A3100(mobile 6.x)﹐卻都可以找的到這個藍牙設備。
    我的android手機是ZTE, 版本是2.3.4﹐也借了支HTC Desire﹐不過都一樣找不到這個Bluetooth bee。看了你的文章後﹐安裝了Amarino﹐也仍然是抓不到。
    我的手機搜尋別的藍牙裝置倒是都很快﹐就這個 Bluetooth Bee 找不到﹐但若說 Bluetooth Bee有問題的話﹐NB 或其它非android 手機又一下子就找到。
    想請問一下﹐android 手機在搜尋這種藍牙模組有沒有什麼地方要特別注意的?
    奇怪﹐一直沒辦法留言﹐老是說認證碼不正確﹐用悄悄話不知道行不行….
    版主回覆:(05/03/2012 01:17:47 PM)
    這就奇怪了,你還有辦法借到其他android phone嗎?
    因為聽起來那片BT應該是正常的才對…

  6. 暫時沒辦法測了﹐賣家要我把東西寄回去給他測。
    等我東西回來了﹐我在來跟你請教。謝謝~~

  7. 你好,又來請教你了。
    賣家東西寄回來給我了﹐看來是Bluetooth Bee換了一張,因為MAC 不同了﹐現在我的Android可以找的到這張Bluetooth了。
    我仿照你的方式﹐使用multi color lamp的手機程式做測試﹐也是只有改了39行的MAC Address﹐不過當我放到手機上執行每次都是一執行就是
    MultiColorLamp 應用程式異常終止
    反覆的測試後﹐發現是第59行
    Amarino.connect(MultiColorLamp.this, DEVICE_ADDRESS);
    一執行就死了
    我將 59行和整個 onStart() 註解掉﹐畫面就可執行的出來。
    如果只把onStart()裏面的程式註解掉﹐並保留第59行﹐則一執行仍然是異常終止。
    請問你知道這有可能是什麼情況嗎?
    版主回覆:(05/18/2012 12:49:28 PM)
    你可能需要用LogCat看錯誤訊息讓我知道我才知道為何會錯誤@@
    要不然你可以嘗試一下我之後自己改寫的版本
    http://thkaw.pixnet.net/blog/post/89074541
    請確定本文章上面的
    Amarino
    MeetAndroid
    Amarino Plug-in Bundle
    Amarino Library
    都有安裝妥當,順序要對喔~

  8. 以下是我的 LogCat﹐第59行就是Amarino.connect(MultiColorLamp.this, DEVICE_ADDRESS);
    05-21 21:36:29.600: E/AndroidRuntime(1101): FATAL EXCEPTION: main
    05-21 21:36:29.600: E/AndroidRuntime(1101): java.lang.NoClassDefFoundError: at.abraxas.amarino.Amarino
    05-21 21:36:29.600: E/AndroidRuntime(1101): at edu.mit.media.amarino.multicolorlamp.MultiColorLamp.onCreate(MultiColorLamp.java:59)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1709)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1761)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at android.app.ActivityThread.access$1500(ActivityThread.java:124)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:947)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at android.os.Handler.dispatchMessage(Handler.java:99)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at android.os.Looper.loop(Looper.java:130)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at android.app.ActivityThread.main(ActivityThread.java:3822)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at java.lang.reflect.Method.invokeNative(Native Method)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at java.lang.reflect.Method.invoke(Method.java:507)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    05-21 21:36:29.600: E/AndroidRuntime(1101): at dalvik.system.NativeStart.main(Native Method)
    版主回覆:(05/20/2012 06:54:49 AM)
    05-21 21:36:29.600: E/AndroidRuntime(1101): java.lang.NoClassDefFoundError: at.abraxas.amarino.Amarino
    沒有找到Amarino的類別檔
    我覺得是你前面的四個套件沒有裝妥耶@@

  9. 我再來提個奇怪的問題…..
    這兩天我一直執行MultiColorLamp﹐不管怎麼執行都是異常終止。
    今天晚上我用電腦接著手機要做實機debug﹐看看LogCat的資料。
    我剛剛前面貼的資料就是實機執行﹐在Eclipse上用Run as方式執行﹐同樣是出現了異常終止。
    不過﹐我剛又執行一次﹐這次在第59行設定中斷點﹐並在onStart中也設定中斷點﹐然後改用Debug as 方式執行﹐沒想到……竟然…..可以在手機上Run了…..
    一行程式碼也沒改耶…..
    ="=
    版主回覆:(05/21/2012 02:17:22 PM)
    你中斷點設在那一行當然停在那一行不會繼續執行下去阿XD
    如果設在onStart副程式裡面,或許還是會異常中止

  10. 不是的﹐你誤會我的意思。
    我設了中斷點﹐先讓程式到了第59行停止﹐然後開始逐步執行﹐竟然沒在第59行就異常中止﹐跳到了onStart中的中斷點﹐接著繼續逐步執行﹐竟然也都沒出現異常中止。一直到new Thread()我就不再逐步執行﹐就直接run下去了﹐這次在手機上出現了調顏色的畫面了﹐而且操手也沒問題。
    我之所以奇怪的是﹐程式一行都沒改﹐Amarino的類別檔也一開始就更換好了﹐所以之前的編譯也都不會出錯﹐只是之前每次把apk放到手機上執行﹐一執行就出現異常終止。今天改用連接實機執行﹐第一次是用Run as的方式﹐依然是一執行就出現異常終止﹐第二次只不過設定了中斷點﹐然後用Debug as的方式執行﹐沒想到程式就能正常在手棧上執行了。
    昨天我原本也一直認為是Amarino的類別沒抓到﹐反覆好幾次在Java Build Path中移除再加入﹐也重新上網下載AmarinoLibrary_v0_55.jar﹐卻都沒有用處﹐今天程式碼都沒更動之下﹐改用Debug as在實機上執行﹐竟然就能在手機上正常執行程式讓我很訝異就是了….之前寫的程式是沒這麼碰過…
    版主回覆:(05/21/2012 02:18:18 PM)
    這樣還真是有點奇怪
    如果你用debug模式去執行,他照裡來說也會佈署一份程式,之後會留在手機裡
    所以你說如果不用接電腦跑debug mode,他就會出現錯誤是吧?
    所以compiler都過…你手機root過了嘛?

  11. 唉…..好想摔手機喔…..
    為了想再確認一次是怎麼回事﹐現在不管用什麼方式都是到了第59行就出現異常終止﹐Log就跟前面貼的一樣…..程式都執行不起來了…..
    版主回覆:(05/22/2012 06:44:39 AM)
    你已經試過我上面回復你的那隻我自己另外寫程式了嘛?
    結構有點不一樣,說不定可以成功喔

  12. 我試過你另外寫的那支程式了﹐不過情況相同﹐在第100行
    Amarino.connect(this, DEVICE_ADDRESS);
    一樣就異常終止了。
    我這兩天拿一台NB來試﹐情況也相同﹐不過在NB上我已經兩次用實機連線以Debug as 方式執行 MultiColorLamp 都可以正常的讓程式在我的手機上執行。但是用你另外寫的那支程式卻不論用什麼方式也不行。
    我想暫時先不理這段了﹐目前好不容易能讓手機程式可以執行﹐就先來進行後面arduino的部分﹐不然光前面這段我已經卡很久了……
    我沒學過電子方面的東西﹐arduino這個對我挑戰更大﹐後續可能還有問題需要請教你﹐我自已先研究看看。感謝你的幫忙~~~
    版主回覆:(05/22/2012 06:46:04 AM)
    真是太神奇…
    讓我想到當初我用自己的Atrix連接MEGA ADK時,也是卡了一堆莫名其妙的問題
    後來才知道是Atrix以及部分手機的機種並沒有把與外部開發裝置連接的Library放進去
    如果你換了一支手機,或者有機會借到別支手機,再請你試看看能不能WORK~
    因為我這邊一切都正常@@,我是有root過的官方ROM,2.3.5 Motorola Atrix
    前幾天有自己刷成CM9,還沒測試過
    除了這隻之外我也沒用過其他隻手機跑過我寫的這隻程式
    不好意思沒幫上你的忙
    玩Arduino跟Android結合就代表著硬體跟軟體的結合
    加油啦,彼此學習切磋共勉之!

  13. 抱歉您好 請問 我在寫個 ANDROID 程式在裡面加入
    Amarino.connect(this, DEVICE_ADDRESS);
    程式就會強行關閉
    我使用您的程式去開啟也是會
    請問這是甚麼問題呢
    版主回覆:(05/23/2012 05:10:51 PM)
    抱歉出遊晚回
    你是第二個回報此問題的網友@@
    請問一下手機機型跟rom版本
    我看我有沒有辦法借到一樣的機型來測試抓bug

  14. 版主您好
    我在使用您的兩支程式也都出現跟樓上兩位大大情況一樣,
    會跳出 " 很抱歉 xxx 已停止 " 的字樣 .
    我po一下我燒錄用的手機型號 : Samsung i9250 Galaxy Nexus
    手機裡Android版本是4.0.2
    麻煩版主提供協助
    致上萬分感謝
    版主回覆:(06/25/2012 03:51:52 PM)
    謝謝你的回報
    第五位使用者遭遇這個問題
    今天鐵了心把所有事情擱著研究了一下到底怎麼了
    才發現連我的也會
    google了一下錯誤訊息,發現其實是ADT的問題
    因為我這隻程式是在ADT16版寫的,在17版跟更新的的時候會出問題
    我會盡快提供修改方法以及更新完成的版本(大概是等一下會發文,請屆時參照!)

  15. 你好~想請教你程式應該怎麼寫呢?
    控制車子程式的…我對程式方面不太好
    想看看你的程式可以嗎?
    我是用X Bee Bluetooth的
    版主回覆:(08/09/2012 02:55:42 PM)
    我這隻程式的code從一開始就是public了喔~
    文中有連結,請仔細找~~
    這一篇就是教學…
    不過你要先學會怎麼弄Eclipse才行
    XBee Bluetooth一樣,Arduion的SerialPort要設對位置就可以了

  16. 版大您好:
    我們現在東西都用得差不多了
    不過線路的接法還不是很了解
    請問有沒有地方可以參考的嘛@@?
    版主回覆:(10/14/2012 04:29:02 PM)
    詳細圖解這就問google摟~
    我文內有提到ARDUINO的TX接BT的RX
    反之RX接BT的TX
    電源弄好就OK啦~

  17. 版主您好:
    不好意思我又來打擾一下了~"~
    電路圖我google一段時間了
    結果都沒辦法把我所找到的資料連接起來
    版主…
    拜託您…
    給點提示…
    因為學校已經快要檢查了….Orz
    版主回覆:(12/05/2012 06:06:25 PM)
    google有很多資料阿@@
    你沒有用心找喔…
    http://playground.arduino.cc/Learning/Tutorial01
    請我吃飯吧XD

  18. 謝謝大大
    我們現在最大的問題是Arduino和L293N的連接方法找不到…
    應該是我找資料的能力有問題 囧

    順便問一下
    Arduino開發軟體v1.0.1裡面的driver確定安裝成功
    然後會出現問題 網路上也很多這種問題
    像不同步的問題
    但是換v1.0.2版本裡面的driver就正常了
    ps:版本v1.0.1 我同學在他家可以用…
    版主回覆:(12/07/2012 03:54:26 PM)
    Arduino 連接 293因版子而異耶
    我用過三塊,三塊都不一樣PIN
    你可能要用電表量一下對應的腳位
    好一陣子沒碰ARDUINO了,最後一次弄還在1.0..
    後面的版本目前沒用過~"~

  19. 那…
    我們使用的298和您上面的圖同一個
    我也找了很多資料和pdf
    不知道我的理解能力有沒有問題…
    有一些PIN看得懂
    有一些感覺跟版子上面的又不太一樣
    害我不太敢接起來測試 囧
    版主回覆:(12/08/2012 06:38:26 PM)
    只要正負電不接錯理論上不會燒啦..
    看起來同一個不一定就是同一個喔
    還是要比對PCB線路有沒有一樣
    因為我玩的那三塊,有另外一塊看起來也跟我這一塊一樣
    但事實上不一樣…
    其實沒你想的這麼複雜
    8條線
    板子+-佔兩條
    馬達+- PWM各三條,兩組六條
    要不然就問當初賣給你東西的賣家線路怎麼走的摟

  20. 其實那個賣家給的電子檔有跟沒有一樣…
    裡面的版子和實際買的版子不一樣… 有點囧
    我有發現298上面有一排"2C1826-1"
    好像跟大大您的一樣0.0
    這樣應該是同一個吧..?
    版主回覆:(12/10/2012 10:08:46 AM)
    那應該是一樣的東西,
    給你一下我版上三個開關
    VLC
    VIN
    VLO=>ON
    外部電源直接給GND跟VIN幾伏特忘了(電池拔走了XD)
    馬達接A+-跟B+-
    程式上去配合手機如果有配對成功應該可以RUN喔~

  21. 謝謝大大
    電池大概9V應該夠吧
    因為工具箱裡面翻到一顆 XD
    我找資料找到現在還是沒辦法分辨Arduino的PWM和A298N哪幾隻腳要接在一起 囧
    是在ANALOG IN那邊嘛?
    還是DIGITAL的? 0.0
    版主回覆:(12/10/2012 04:02:34 PM)
    DIGITAL~~

  22. 所以大大的意思是說
    Arduino的PWM腳
    3 5 6 9 10 11
    接到A298N的DIGITAL那邊的
    10 12 13 9 8 11
    是這樣子嘛˙˙?
    版主回覆:(12/10/2012 05:19:58 PM)
    //moto A
    int dir1PinA = 13;
    int dir2PinA = 12;
    int speedPinA = 10;
    //moto B
    int dir1PinB = 11;
    int dir2PinB = 8;
    int speedPinB = 9;
    我程式裡面都有標了~

  23. 您好,很抱歉,我想問你有關於Android的問題
    因為我要做的題目是跟android接收信號有關
    我有個問題想問
    android模擬器是否能過電腦來接收訊號,在模擬器上顯示通訊功能
    還是只能用實體機(手機/平板電腦)來接收信號?
    簡單來說就是 我有個硬體會發送訊號 ,而我不知道能不能透過電腦的藍芽接收後送到eclipse的模擬器上模擬執行
    版主回覆:(12/11/2012 12:13:16 PM)
    不行喔~
    模擬器並沒有支援BT訊號FORWARD
    請GOOGLE
    "android emulator bluetooth"

  24. 大大..
    我真的不懂arduino和a298n要怎麼接…
    //moto A
    int dir1PinA = 13;
    int dir2PinA = 12;
    int speedPinA = 10;
    //moto B
    int dir1PinB = 11;
    int dir2PinB = 8;
    int speedPinB = 9;
    上面的意思
    是不是arduino上的腳位?
    如果是的話a298n要接哪幾隻腳..?
    版主回覆:(12/11/2012 12:12:58 PM)
    是阿
    只是通常寫arduino不會直接帶腳位號碼
    都會把腳位變成一個名稱以利之後程式的撰寫
    a298n板子都幫你接好了,你直接順著arduino的方向正確插進去
    不需要管甚麼板子的接腳
    你只要確定馬達接的是對的就好啦..
    不熟悉arduino建議先從簡單的arduino實作開始吧
    越級打怪很辛苦的..

  25. 大大
    不好意思又來打擾您了..
    我把Arduino和L298N疊接起來了
    這樣就等於兩塊版子連接了吧..?
    馬達也確定有連接電源
    可是還是都沒有動作…
    這個有解嘛…囧rz
    版主回覆:(12/12/2012 11:47:42 AM)
    馬達直接接馬達板就可以了
    沒有動作到底是…
    你單純寫CODE,分析一下我的程式
    我的程式裡面有把前進後退的SUB-FUNCTION分離開來呼叫
    你單獨把他們拉出來,先測試單ARDUINO能否自體控制馬達吧
    要不然你得就近找個自動控制的人才幫助你一把~"~

  26. 版大大
    我用到現在發現是Arduino的輸出沒有出來耶
    怪怪的..
    因為我爬了一些別人的程式測試有輸出
    然後用大大您的程式不管用量的還是實接電路都沒有輸出
    這個是甚麼樣的問題阿阿阿.. Orz
    版主回覆:(12/13/2012 04:31:18 PM)
    你用示波器量嗎?…別跟我說你拿三用電表量數位訊號嘿XD

  27. Arduino和L298N疊接
    Vcc GND Vin TX RX 還有馬達的四條線
    沒看錯的話就是這些有連接的
    手機也正常連接
    只是完全沒有動靜耶..

    噗" 我好像做了件蠢事z
    版主回覆:(12/13/2012 04:35:57 PM)
    你跳太快了…
    你先寫一段code讓arduino獨立運作馬達確認硬體部分沒問題
    再來搞軟體

  28. 嗯..
    我和我同學討論過了
    我們也覺得這樣子做比較好….
    然後可以順便問一個問題嗎?
    我看L298N有ENA和ENB
    請問那個要怎麼設定..?
    我好像有看過設定 hi 也看過設定 low 的…
    版主回覆:(12/14/2012 12:14:18 PM)
    那是PWM INPUT
    他的控制訊號是由ARDUINO過去的
    是透過程式去控制
    建議你把我程式下方的TESTDrive先執行過,看看動不動的了

  29. 大大您好
    我已經測試過L298N了,已能成功執行!!
    不過我是用
    http://arduino-info.wikispaces.com/ArduinoShieldL298N
    的例子
    到最後我都會聽到馬達嗡嗡嗡嗡的叫(無轉動時)
    害我有點怕怕的…

    如果以現在的狀況的話
    該不會是手機端的問題吧…?
    就怕有連接但沒有訊號往來 囧rz
    版主回覆:(12/14/2012 04:01:07 PM)
    你藍芽模組怎接的,上張圖

  30. Arduino → Bluetooth
    5V Vcc
    GND GND
    RX TX
    TX RX
    沒有接錯
    有3個人檢查過了
    可能是對eclipse不熟
    步驟中有錯誤而且可以成功執行…
    然後目前確定是板子都是正常的
    版主回覆:(12/18/2012 03:21:45 AM)
    那看起來沒問題
    應該是軟體沒設定好..

  31. 我發現我還是不太會用eclipse….
    好像有點困難…..
    囧rz

  32. 大大您好
    我已經用了很久還是一樣的結果
    所以想說能不能用您成功的apk來試試看
    然後找找出問題來 >"<….
    版主回覆:(12/19/2012 12:08:31 PM)
    給你apk也沒用@@
    你BT的藍芽MAC位置跟我不一樣,
    你得改掉MAC位置再去COMPILER屬於你自己的APK喔~"~

  33. 大大您…您好..
    我還是不懂裡面的東西
    可不可以請您幫我用一下APK的東西
    MAC: 00:1C:FF:F3:15:8C
    這幾天感冒頭有點痛不太能思考


  34. 打錯了
    MAC: 00:15:FF:F3:15:8C

  35. 大大我又來向您求救了..
    您說改MAC的位置是改成這樣子嗎@@?
    private String DEVICE_ADDRESS = "00:15:FF:F3:15:8C";
    我這樣要編譯的時候都會出現
    NTL_Bluetooth_Car_ver3.0 does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml
    然後我就不太清楚要怎麼處理了… 囧rz
    版主回覆:(12/20/2012 07:25:43 AM)
    你的專案沒有IMPORT好,請去找新一點的ANDROID書從ECLIPSE操作讀取吧…

  36. 大大您好:
    我ecilpse裡面都debug成功了
    但是我輸出apk的之後也是一樣都是connect failed
    private String DEVICE_ADDRESS = "00:15:FF:F3:15:8C";
    這樣改應該沒有錯吧..?
    輸出之後預設的MAC是大大您的 00:11:12:06:00:60
    00:15:FF:F3:15:8C
    然後再按旁邊的"設定mac"
    也是一樣都connect failed…..
    之前也有測試過Cooper Maa大的
    http://coopermaa2nd.blogspot.tw/search/label/Bluetooth
    藍芽的訊號來回應該沒有問題…
    求助…. Orz
    版主回覆:(12/26/2012 06:19:07 AM)
    換台手機看看,如果你一切的操作都設定無誤
    ARMORINO也都設定好
    ARDUINO的接收CODE跟位置也插對基本上應該可以才是
    我測過HTC DESIRE Z,ATRIX,NEXUS S都是可以順利操控的

  37. 大大您好
    我現在遇到這個問題
    Description Resource Path Location Type
    main cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 56 Java Problem
    power_seekBar cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 60 Java Problem
    powerval_LargeText cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 63 Java Problem
    right_Button cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 83 Java Problem
    left_Button cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 79 Java Problem
    power_seekBar cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 211 Java Problem
    stop_Button cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 87 Java Problem
    setmac_Button cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 67 Java Problem
    setmac_EditText cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 64 Java Problem
    back_Button cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 75 Java Problem
    forward_Button cannot be resolved or is not a field MainActivity.java /bluetooth/src/com/example/bluetooth line 71 Java Problem
    請問這個要怎麼解決..@@
    我也找滿多的資料
    可惜功力不到那邊..
    所以看不太懂
    版主回覆:(01/04/2013 12:35:38 PM)
    你是把我的CODE直接貼到別的PROJECT上嗎…
    因為錯誤訊息的原因是因為LAYOUT上沒有找到這些元件
    你直接貼BEHIDE CODE而沒有FRONT CODE是沒用的阿….
    我都已經包好PROJECT了…你只要用ECLIPSE匯入應該就可以了
    建議你與其花這段時間拼湊,不如好好看一次ECLIPSE怎麼弄
    再做下去會實在些,否則無敵鐵金剛拚一拚自己在軟體上面技巧也不會進步@@
    最近我再弄WINDOWS PHONE的開發,比較沒空來看BLOG..

  38. 謝謝大大
    一開始我也是使用匯入的方式
    結果發現錯誤太多
    一時不能解決
    所以就沒繼續下去
    再加上那陣子又再模擬考…
    剛剛測試成功了!
    現在是馬達的力量不夠
    還要在跟組員討論一下
    再次謝謝大大
    不厭其煩的幫我解答
    祝大大能順利進行!!
    版主回覆:(01/04/2013 12:28:17 PM)
    恩,加油啦…
    底要打好再爬,否則很辛苦
    本人有切身之痛

  39. 請問大大的車體是自行組裝的嗎?
    還是買現成的產品在自行改裝?
    版主回覆:(01/10/2013 03:40:40 PM)
    人家的產品拆掉上頭的東西改底盤下來的
    後來有換成外面買的圓形底盤,兩個輪子的

  40. 大大你好 我在網路上有找過8051單晶片時作的此類遙控車
    也是用藍芽模組與手機作溝通 請問您是否給小弟一些指示
    我對c語言只是入門者 是否給予串列輸入的一些概念
    版主回覆:(01/10/2013 03:43:39 PM)
    所以你要用8051做還是ARDUINO
    其實串列輸入大家規格都一樣,鮑率對了,模式對了就可以正常傳輸
    只是8051的串列傳輸我只有讀過看過,沒實際用過就是了~"~

  41. 請問apk中對小車傳輸 前後左右 的代表信號是什麼
    版主回覆:(04/13/2013 02:17:27 PM)
    只有幾個按鈕,200多行的程式不難分析吧@@
    TRACING CODE一下就可以找到了
    提示:update_Right();

  42. 我還是看不太懂
    大大可以直接提供給我媽??
    版主回覆:(05/05/2013 04:51:41 AM)
    CODE都全部PO上來了,接下來其實要自己去理解那些code才是阿~
    update_Right()就是其中一段副程式,負責更新arduino的控制資料,讓車子向右轉
    其他依類推
    code有留大量的註解,如果認真讀過一輪code,再問哪裡有困難吧

  43. 想請問
    能不能用手機 控制家裡的音響
    音響有紅外線 有遙控器
    能不能把遙控器功能 放進手機
    版主回覆:(05/09/2013 09:25:25 AM)
    有!
    我學長的專題就是做類似的
    不過她是另外弄一個遙控裝置,上面有藍芽和全向式IR,手機有APP,可以學習遙控器的訊號然後儲存
    就可以用手機APP連接那個遙控裝置,放在客廳之類的遙控客廳的紅外線裝置
    最近HTC不是也有出手機內建IR的?…應該也不是問題
    我早期也有做過相關的應用,不過沒有整理資料就是了

  44. 請問大大8伏特電池是用哪一種的 還有哪裡可以買到?
    版主回覆:(05/16/2013 09:06:18 AM)
    不好意思這幾天忙沒上來看
    我用的是寰群的雙店員充電是鋰電池模組
    可以輸出5V跟8V
    不過那時候是學校跟廠商買來的
    不知道是售有沒有賣
    型號BAT2VTI

  45. 請問,我現在是剛入門 要做專題的學生
    我們想用android 按鍵上下左右控制汽車
    但是我們程式碼做出來始終有一輪做動不正確
    有Arduino 控制伺服馬達方面程式碼 參考嗎 感謝
    版主回覆:(06/04/2013 05:15:36 PM)
    對不起最近工作繁忙晚回覆
    不知道你的接線是否有正確呢?
    ARDUINO控制伺服馬達的CODE都有上傳到GITHUB上面抓到喔

  46. 我想請問一下
    因為我所做的東西是很像一台車子又有手臂
    內部有三顆馬達存在
    因為是用8051以及驅動馬達電路
    使那台車能夠前進後退還可以舉手
    現在想利用藍芽的方式讓它能夠三顆馬達動作
    唯一想到的就是藍芽連接ARDUINO
    不知道ARDUINO是否能夠控制三顆24V的直流馬達?
    版主回覆:(07/24/2013 04:37:22 PM)
    可以,但請接其他的電流放大電晶體電路
    網路上有專門做24V大電流的模組,你可以去找看看

  47. 請問版大 我把MulitColorLamp 放進eclipse 然後編譯後 按run後
    跑出這個錯誤Your project contains error(s),please fix then before running your application 請問這是怎麼回事?
    我已經有把AmarinoLibrary加進去了
    版主回覆:(08/26/2013 12:16:40 PM)
    你的錯誤訊息只是告訴你有錯誤,要修正
    詳細錯誤要debug資訊才知道狀況喔

  48. 因為最近所找到的ARDUINO大部分都是只有兩顆馬達
    然後
    連接的部分
    依然還是藍芽模組連接ARDUINO的板子
    再將ARDUINO上的馬達輸出接出來?
    你所說的接其他電流放大電晶體電路以及24V大電流模組是指?
    要從哪邊加裝上去??
    版主回覆:(08/29/2013 03:44:42 AM)
    有一些是做給跟arduino相容的
    像我圖上面就是,疊加在arduino上面
    但那一片不是24v的
    不過也是電流放大模組
    你可以去露天拍賣搜尋
    "arduino 電流"

  49. 現在的重點是
    arduino是可以連續控制三顆馬達的??
    反之,手機上的程式也必要要有6個箭頭
    這些都是可以做得到的?
    因為大多數所看到的arduino組都是只有M1及M2 …
    arduino組上面不是都有驅動馬達IC
    像是我有買一組小型的motoduino
    輸出的馬達僅有3V左右,也只有兩顆馬達
    因為關於arduino的部分是完全沒有接觸過
    所以不知道arduino出來能不能夠接三顆馬達
    並且擁有高電壓達24V …
    版主回覆:(08/29/2013 03:47:00 AM)
    只要ARDUINO的PWM數夠要幾組有幾組(記得MEGA版本不只兩組)
    不夠也可以透過NE555擴充PWM…
    前提是你必須具備這些電路設計的知識~(不難,基本電學跟電子學知識就OK了)
    另外MOTODUINO是固定做小電流小電壓馬達驅動的
    你的需求必須要買標準ARDUINO在外接電流板去延伸
    直接接ARDUINO輸出當然不可能順利地提供馬達足夠的電流,更遑論24V
    你要把ARDUINO當作控制系統,而非供電端

  50. 請問一下藍芽位址是看Amarino_2_v0_55手機的這個程式所顯示的下去調嗎?
    可是我調完後還是沒辦法控制LED
    MultiColorLamp開啟後LED還是都亮著無法控制

  51. 請問藍芽頻率用9600可行嗎?

  52. 謝謝版大的資料
    問題已解可以控制了

  53. 大大你好:
    我想請問一下
    我在藍芽模組的部分手機有連上藍芽模組(HC-06)了
    arduino程式用MeetAndroid的test
    並且改了Serial.begin(9600);
    燒進UNO
    藍芽模組我從裝置管理員看他是9600
    然後手機用Amarino連接上藍芽模組後用Test Event測試,
    藍芽卻都沒連上
    我看了serial monitor都沒收到數值
    這樣是哪裡可能有問題?麻煩請您指導一下
    版主回覆:(08/30/2013 08:47:11 AM)
    uno serial只有一條不能接了藍芽又看電腦上的serial monitor…
    兩個裝置接在同一條serial同時運作使用,就會造成沒有數值@@

  54. 謝謝解答
    現在我接上了馬達也成功用手機連線到馬達
    不過馬達在通電之後一直嗡嗡叫不會轉,是因為電壓不夠嗎?(要外接多少?)
    我外接3V到VIN也還是嗡嗡叫不會轉
    http://goods.ruten.com.tw/item/show?21105132361904#auc
    我是買這個,看了好久VLO、VM、VLC還是不知道在幹嘛…
    版主回覆:(09/10/2013 07:58:28 AM)
    嗡嗡嗡的就代表
    外接電壓源的電流/電壓不夠大喔~
    我那時候是弄8V的鋰電池才推得動

  55. 大大你好:
    我用了一顆9V鹼性電池,接在arduino版上的Vin和GND
    結果連一顆玩具馬達都嗡嗡叫,怎麼會不夠電壓@@
    VLO→OFF
    VLC→ON
    VM→VIN 是這樣設置的

  56. 請問一下
    因為我跟你一樣 用usb對arduino供電很正常
    但是我用AA 9V 乾電池好像順間輸出電流有問題
    我想問問看 鋰電池的電流大概需要多少到多少之間呢
    版主回覆:(09/12/2013 10:34:16 AM)
    你說PP3長方形的那種9V電池嗎?
    那種電池電流可能會不夠欸…
    要順暢跑至少1A以上吧

  57. 對,當時用長方形9V電池發現不夠力
    之後改用18650電池串連兩顆,就給力了 ^^
    謝謝你的回答。

  58. 大大你好:
    請問一下我該如何再加入一個按鈕,要可以打字進去的
    我想要用手機輸入傳到ARDUINO然後用LCD板顯示
    請問有簡單教學如何寫eclipes多一個按鈕傳送字串的嗎XDD
    版主回覆:(11/22/2013 01:23:30 PM)
    這能做到,且算是容易的
    建議你先看一些ANDROID的書…
    自己再增加功能喔~~~

  59. 好熱門喔XDD
    版主回覆:(12/05/2013 06:25:47 PM)
    唉額稀客118,樓下記得跟著跪拜m(_ _)m
    真的…遙控車而已
    始料未及= =

  60. 大大你好:
    我想請問有關藍芽傳輸的封包格式
    有沒有相關的網頁或者資料可以參考
    例如他有32位元 各個位元代表是甚麼 哪些是包頭 哪些是包尾 謝謝你
    版主回覆:(12/10/2013 05:06:22 PM)
    GOOGLE 關鍵字"藍芽 封包格式"

  61. 想問大大
    請問您有用eclipse寫過相機相關的應用程式嗎
    最簡單的 可以啟動鏡頭在螢幕上有畫面即可
    請問可以參考code嗎

  62. 請問板子和blurtooth 去哪買?
    可以買您實驗過板子嗎?
    我信箱: chen.yoj@mail.cptt.com.tw
    手機: 0918107271

  63. 請問eclipse 模擬器我可直接run嗎? — 因samsung n2手機新版無usb debug開啟功能,無法在eclipse 直接上傳,
    在模擬器上我要直接run為安裝手機apk,如何 安裝amarino和amarino plug-in bundle
    在eclipse?

  64. int Power_Val = 0; 是什麼?需要接嗎?如果需要是2-13pin都可以?

  65. 您好!很感謝您的文章,幫助很大。
    目前專案製作的遙控車仍遇到馬達不穩的問題想請教您,
    車子前輪是以馬達正反轉控制左右轉,後輪是以馬達給速。
    第一次轉向車子時,沒什麼問題;但是再轉向後,車子後輪的速度會變慢(甚至停止),猜想是因為馬達供電不穩所致。
    看了您的文章中寫道使用USB跟之後換了一個8V的鋰電池,解決兩個馬達驅動的問題,想請教USB及鋰電池的細節:所加裝的是否是鋰電池充電模組?使用方式為接至arduino板後,USB端是接電腦充電使用嗎?這樣的方式在motoduino板上是否可行?
    由於之前毫無硬體電路的相關經驗,因為創新課程的相關專案第一次碰觸,有些資料看得很吃力,冒昧留言詢問,還請見諒!
    真的很謝謝您的文章!
    版主回覆:(12/10/2013 05:05:42 PM)
    您好晚回復,鋰電池是單純直接拉線接去arduino板子+我另外附加的馬達板供電
    motoduino也可以這樣使用
    本篇圖片上面的鋰電池模組還插上usb其實是我在充電中
    實際是不需要插那個usb,單純電池模組供電即可操作使用
    我想應該是用乾電池瞬間的電流供給不夠強,所以會無法再驅動
    您再試試看用乾電池以外的電源來供給測試

  66. 大大你好:
    目前小弟有自己寫一個app,想要利用Amarino和Arduino溝通,那Amarino.apk檔是一定要安裝的嗎? 如果一定要安裝的話,是不是會犧牲app的可移植性? 這樣的話要怎麼解決呢? 謝謝
    版主回覆:(05/06/2014 03:17:49 AM)
    是的,這是早期的版本
    後來的ANDROID有可以直接透過API傳送字串到藍芽發送的API
    之前有寫過,可是沒放上來
    這樣一來就可以解決你的問題

  67. 請問你那些網址的密碼多少

  68. 您好 APP的CODE網址已經掛了 是否能提供呢?

  69. 我想問一下版主
    我也是用Arduino做履帶車的
    但是我接了9V的電池卻只能動一邊
    另一邊完全通不到訊號
    檢查過後電晶體應該沒問題
    把Aduino的馬達輸出接點互換也是只動一邊(左右邊互換)
    請問到底會是甚麼原因而導致的呢?

    • 我那時候也是有遇到這種問題
      後來確定是電池的瞬間電流無法給到這麼大

      解決方法有簡單的,就是換裝使用鋰電池
      或者自行設計啟動電路(電容儲能)進行大電流啟動的動作

Leave a comment

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料