Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 11357|回復: 9
打印 上一主題 下一主題

總算收到了Arduino 互動版

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-12-24 22:41:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
上星期訂購的直到今天才收到,而且還是開車跑去追郵差才順利拿到





不過這塊是向國內的賣家買的,看起來應該是自製的arduino版子(未經授權就自製販售,是否有違反arduino授權條款之嫌?),而剛拿到的時候被版子那不太清楚代號搞得有點眼花,最後總算弄清楚原來要對照他給的簡易說明檔來使用,唉!為何不能像Arduino Diecimila那樣簡單而清楚呢?而且在部分的設計上和原廠的也稍有不同,如內建的Led原廠是設定在 Pin13,但這塊卻是在Pin9及10,還有連結的部分也是採用較大的usb接頭,此外如GND地線、電源的輸出及輸入等也都有些許的不同,Anyway,反正只是拿來玩看看,可以用就好。

先依照範例玩看看,有心得再上來分享...
2#
 樓主| 發表於 2007-12-25 00:31:52 | 只看該作者


試了幾個範例都還算成功,不過在測試使用Switch按鈕的時候,卻發現arduino.tw的範例說明和實作有點不太一樣,問題就在於Digital I/O預設到底是HIGH還是LOW,透過程式及實作抓取到的數值是HIGH,但中文的說明卻應該是LOW,怪,回到arduino看官方的範例,在相同的程式碼說明後有一句:

『 if (val == HIGH) {         // check if the input is HIGH (button released)
        digitalWrite(ledPin, LOW);  // turn LED OFF』
對照一下中文的範例
  if (val == HIGH) {         // 如果按鈕被按下
        digitalWrite(ledPin, LOW);  // 就把LEDPIN輸出訊號為LOW電壓,就是不亮』

看來正確的應該是未按下按鈕時,訊號應該都為HIGH,而此時會把燈號設定為不亮,但當按下按鈕時則訊號將為LOW,此時才又透過程式判斷把燈號打開,也就是說若將某個I/O設定為INPUT接收的狀態,則此時預設的訊號都為1,也就是HIGH,雖然是這樣,但這似乎和自己的一般認知上有點相反,總覺得預設應該是LOW才是,按下後才會導通改為HIGH。

測起來是如此,只是不曉得這樣的想法及觀念正不正確,反正繼續透過實作找答案囉。

按鈕範例中文版

按鈕範例英文版
3#
 樓主| 發表於 2007-12-25 22:34:04 | 只看該作者

今天嘗試了arduino結合 IRPD V3.0的紅外線模組(買了一兩年了吧,一直都不會用),不過剛開始並不順利,因為拿到的這塊自製版上面對於供電的設計稍有不同,在原廠的版子是直接提供5V及GND的接孔(簡單而清楚),但在這塊卻是寫 3v3、GND及VCC,而且還沒有提供接孔(不過倒是有GND及VCC插頭),我得承認我看不太懂,所以之前的測試一直把供電都接在電路板上的3v3孔上,不過這次測試IRPD可就出了狀況,因為IRPD需要的是5V的電壓,所以接到3v3怎麼測就是沒有反應。

後來將IRPD的供電改換到VCC,嘿嘿,就正常了,以初學者來學習操控電子裝置來說,這樣的小狀況講起來還算順利,Arduino果真是電子初學者的最佳實驗版,簡單又便宜,再加上範例的搭配,還算滿好上手的。



下一步...就是測試控制步進馬達及伺服機了,感覺上...好像有那麼一點點開始進入狀況

arduino.tw RPID紅外線模組中文範例
4#
 樓主| 發表於 2007-12-26 22:11:24 | 只看該作者


昨天在試著練習達到影片中的效果,除了角度的換算似乎有點問題之外,功能上算是達到了,但今天換用另一種方式來控制,也就是使用Arduino.cc官方網站關於Servo的範例,並使用了一個Servo控制的Library,這下糗了,測試的結果把一顆ES 375 伺服機弄掛了......掛掉之前發現伺服機有嚴重過熱的情況,但事實上我沒看到有在動啊,也許是參數下錯的關係,anyway,雖然還搞不太清楚情況,反正還有一顆,換原廠的版子玩看看!當作學費了
5#
發表於 2007-12-26 22:46:18 | 只看該作者
原帖由 babyfish0226 於 2007-12-26 22:11 發表
gCofZdpVr1U&rel=1
測試的結果把一顆ES 375 伺服機弄掛了......掛掉之前發現伺服機有嚴重過熱的情況,但事實上我沒看到有在動啊 ...

壇主大大,可能您的電源有問題,伺服機和控製板的電源必需分開,這樣才比較保險喔。

影片中看到好像只用usb的電源,這樣可能會造成此種結果。

[ 本帖最後由 ayu 於 2007-12-26 22:51 編輯 ]
6#
 樓主| 發表於 2007-12-26 23:18:15 | 只看該作者


我拿另一顆SE 375進行測試,嘿嘿,這次卻很順利,不過紅色字的程式碼部分卻讓我有點迷糊。
由於switch是逐一分解字串,再加上由輸入的最後一個字元來決定控制的對象及動作,所以必須將字串重新組合併得出操作的角度數字,比如說我要讓servo1轉動60度,則輸入60s,s 代表的是控制servo1,而60則是角度,透過switch分解,則會利用下面紅色字部分的程式碼來組合,但....
v = v * 10 + ch - '0'  中的 ch-'0' 我就不太能理解了,不過這幾個字不能不加,猜測是將ch轉為數字型態的動作吧!?有人知道這作用到底是做什麼的嗎?
   
#include <Servo.h>
Servo servo1;

//Servo servo2;
void setup(){
  pinMode(1,OUTPUT);
  servo1.attach(14);
  servo1.setMaximumPulse(2200);
//  servo2.attach(15);
  Serial.begin(19200);
  Serial.print("Ready");
}
void loop(){
  static int v = 0;
  if ( Serial.available()) {
    char ch = Serial.read();
    switch(ch) {
      case '0'...'9':
        v = v * 10 + ch - '0';
        break;
      case 's':
        servo1.write(v);
        v = 0;
        break;
      case 'w':
   //     servo2.write(v);
        v = 0;
        break;
      case 'd':
  //      servo2.detach();
        break;
      case 'a':
  //      servo2.attach(15);
        break;
    }
  }
  Servo::refresh();
}


最後重新思考上一次失敗和這一次成功的狀況,不同點在於失敗的時候,伺服機使用的是版上的Digital Pin (13),而成功的則依照範例接在Analog Pin (14),不曉得這有沒有差別?!另外還有最重要的一個可能原因是,我供電的連接線一直沒有固定好(台製版子設計的關係),所以在操作時常常會突然鬆掉,甚至是...好像也曾經將VCC及GND接反 ,總之,真的是學經驗。


分開供電...嗯嗯!下次會注意這一點!(偷懶)
7#
 樓主| 發表於 2008-1-22 00:14:49 | 只看該作者
今天心血來潮,再把Arduino控制Servo的動作試了一次(使用新的Arduino Diecimila版本),這一次電源改用分開供電,可惜,不管自己下的角度為何,Servo不但都是歸零並且還繼續往負的跑,最後..又一顆Servo崩牙了,還好壞的齒輪不同位置,兩顆兜成一顆又活過來了    看來,還是去買金屬齒輪的來測試比較保險

自學的路真的是辛苦是漫長啊~~~
8#
 樓主| 發表於 2008-1-23 08:51:36 | 只看該作者
以下是來自於xwing的傳訊說明:

ch是 char 型態,所以他收到 0 ~ 9字元時, 是對應到ASCII Code 30~39, 所以如果要簡單把他換成
整數型態(int ,long) 可以把他 減 '0' ( 30) ,
所以 字元 '0' (ascii code為30)  - '0' 變成 整數 0
字元 '1' (ascii code : 31) -'0' 變成整數 0

v = v * 10 + ch - '0'  
如果第一次收到字元1時
v為1
如果再收到一個字元2時
v=  1 * 10 + '2' -'0'
v=12

原來是這麼一回事,看來是自己Arduino的基礎沒打好,檢討中....感謝xwing
9#
發表於 2008-1-23 09:08:17 | 只看該作者
壇主大大....加油喔!!加油喔!!!!
10#
發表於 2008-3-17 21:52:43 | 只看該作者
大大我是之前跟你買板子的那個賣家

我目前正在用

但很多都不知做什麼用的

是否有他的電路圖呢?

p902432@yahoo.com.tw
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-5 07:37 , Processed in 0.069370 second(s), 11 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表