2016年5月23日 星期一

雙軸按鍵搖桿

雙軸按鍵搖桿有一顆形似香菇的黑色帽子,所以大家都暱稱它為「香菇頭搖桿」。
搖桿


模塊描述

模塊設有二路模擬輸出和一路數字輸出接口,輸出值分別對應(X,Y)雙軸偏移量,其類型為模擬量。
按鍵表示用戶是否在Z軸上按下,其類型為數字開關量。
模塊集成電源指示燈,可顯示工作狀態。
坐標標識符清晰簡明、準確定位;用其可以輕鬆控制物體(如二自由度舵機雲台)在二維空間運動,可以通過控制器編程。


接線

Arduino    搖桿模塊
VCC          +5V
GND         GND
A0             VRX
A1             VRY
D2             SW


程式碼

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
}

void loop() {
  int a0 = analogRead(A0);
  int a1 = analogRead(A1);
  int a2 = digitalRead(2);
  Serial.print("X="); Serial.print(a0);
  Serial.print("   Y="); Serial.print(a1);
  Serial.print("   Z="); Serial.println(a2);
  delay(200);
}


程式說明

檢查一下模塊 PCB 板角落有一個地方是否有焊上電阻,如果沒有,那麼腳位 2 必須設為 PULLUP,否則讀取的值將是錯誤的。

X值,搖桿往左=0,置中=512, 往右=1023
Y值,搖桿往上=0,置中=512, 往下=1023
Z值,搖桿按下=0,平常(放開)=1

上述 X、Y 為大約值,每一個搖桿模塊會有不同的值。


採購資訊

香菇頭雙軸按鍵搖桿 http://goods.ruten.com.tw/item/show?21628077440247




2016年5月22日 星期日

L9110S 直流馬達驅動模塊



L9110S 直流馬達驅動模塊


模塊描述

1. 雙L9110S芯片的電機驅動
2. 模塊供電電壓:2.5-12V
3. 適合的電機範圍:電機工作電壓2.5-12V之間,最大工作電流0.8A,目前市面上的智能小車電壓和電流都在此範圍內。
4. 可以同時驅動2個直流電機,或者1個4線2相式步進電機。
5. PCB板尺寸:2.8cm*2.1cm 超小體積,適合組裝
6. 設有固定安裝孔,直徑:3mm




電路圖

您可以在電路圖裏看到接馬達的 P1、P2 端子旁邊已經有加上 C3、C4 電容 0.1uF,因此在幫直流馬達(註A)焊電線時,就不需要再焊上 0.1uF 電容。


接線

Arduino    L9110S模塊
VCC         (註B)
GND         GND
D5             A-IA
D6             A-IB
D9             B-IA
D10           B-IB


L9110S   外接電源(註C)
VCC       +
GND      GND


程式碼

void setup() {
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
}

void loop() {
  analogWrite(5,0);
  analogWrite(6,255);
  analogWrite(9,0);
  analogWrite(10,255);
  delay(2000);
  stop();

  analogWrite(5,255);
  analogWrite(6,0);
  analogWrite(9,255);
  analogWrite(10,0);
  delay(2000);
  stop();

  analogWrite(5,0);
  analogWrite(6,255);
  analogWrite(9,255);
  analogWrite(10,0);
  delay(2000);
  stop();

  analogWrite(5,255);
  analogWrite(6,0);
  analogWrite(9,0);
  analogWrite(10,255);
  delay(2000);
  stop();
}

void stop() {
  analogWrite(5,0);
  analogWrite(6,0);
  analogWrite(9,0);
  analogWrite(10,0);
  delay(300);
}


註A:
一般 TT 直流馬達供應電壓為 3~6V,耗電流約 150~250mA。

註B:
L9110S 模塊的 VCC 如果由 Arduino 的 VCC 供電,因為馬達的耗電流很大,將會造成 Arduino 電流不足而當掉,因此 L9110S 模塊的 VCC 應該另外由外接電源供電。

註C:
雖然供給 L9110S 模塊的供電電壓可以是 2.5~12V,然而  TT 直流馬達只能承受 3~6V 的電壓,因此外接電源需要降壓。

您如果使用 1只 18650 鋰電池(約 3.7~4.2V,可以直接將電池正極(+)接至 L9110S 的 VCC。

如果使用 2 只 18650 鋰電池(約 7.4~8.4V),則需要接一個大電流降壓模塊(例如輸出電流 2~3A),將電壓降至 5V ,之後再將 5V 正極(+)接至 L9110S 的 VCC。

如果使用 2 只 18650 鋰電池(約 7.4~8.4V),也不想接接一個大電流降壓模塊,那麼模塊的 IN 腳給 PWM 訊號也可以,把值設定在約 200 以下。


補充

2021/xx/xx 使用 2 只 18650 鋰電池沒有降壓給一片 L9110S 模組當作電源,控制 4 顆馬達,結果他的 IC 很容易被炸開穿孔,尤其是在馬達反轉時。電壓 7.4V 並沒有超過模組容許電壓,可能是單個 PORT 接 2 只馬達的反電動勢太大了吧?

2021/07/11 程式載入 Arduino 後用 PS2X 手柄遙控小車,不經意用手觸摸到 L9110S 模組,包括 IC 和電路板感覺異常發燙。經檢查 L9110S 馬達驅動模組上的插線雖然都正確,但還是先拔除電源比較保險。
在後續的程式編寫當中,發現程式有誤,經改正後異常發燙也消失了。
沒想到程式也會造成 L9110S 模組異常發燙,這一點大家有遇到過嗎?


相關連結

L9110 Datasheet http://www.elecrow.com/download/datasheet-l9110.pdf


採購資訊

L9110S 直流馬達驅動模塊 http://goods.ruten.com.tw/item/show?21628077139062




2016年5月21日 星期六

紅外線避障模塊



紅外線收發 LED,經 IC LM393 處理後,只具有一個數位輸出腳位。
無反射訊號時(黑線) ,OUT 腳位輸出 1;有反射訊號時(非黑線) ,OUT 腳位輸出 0。
可以透過模塊上面的 VR 調整偵測的靈敏度。


接線

Arduino   IR模塊
VCC        VCC
GND       GND
D2          OUT


程式碼

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT);
}

void loop() {
  int d2 = digitalRead(2);
   
  Serial.println(d2);
  delay(100);
}


相關連結

LM393 Datasheet http://www.onsemi.cn/pub_link/Collateral/LM393-D.PDF


採購資訊

紅外線避障模塊 http://goods.ruten.com.tw/item/show?21643154195810




TCRT5000 紅外線循跡模塊

TCRT5000 紅外線模塊


TCRT5000 紅外線收發 LED,經 IC LM393 處理後,具有兩個輸出腳位,D0 為數位,A0 為類比。

無反射訊號時(黑線) ,D0 腳位輸出 1,A0 腳位輸出大於 700;
有反射訊號時(非黑線) ,D0 腳位輸出 0,A0 腳位輸出小於 700。

上述 700 之數值非為固定值,會因不同模塊而不同,也可以透過模塊上面的 VR 調整。調整 VR 會影響偵測的靈敏度。


接線

Arduino  TCRT5000
VCC        VCC
GND       GND
D2           D0
A0           A0


程式碼

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT);
}

void loop() {
  int d2 = digitalRead(2);
  int a0 = analogRead(A0);
  
  Serial.print(d2); Serial.print(","); Serial.println(a0);
  delay(100);

}


購買資訊

TCRT5000 紅外線循跡模塊 http://goods.ruten.com.tw/item/show?21628077274837




2016年5月15日 星期日

扭蛋機

本文在說明扭蛋機之構造。


投幣器
具有防止逆轉功能。



投幣器與轉盤的傳動齒輪




轉盤
安裝有長形擾動彈簧棒,可以促使扭蛋不會卡住,並順利進入導槽與洞口


出料
此圖出料口是在下方,設計成滑水道旨在營造緩衝。
如果外殼設計成透明可視,也許具有趣味的視覺效果。



相關影片

https://www.youtube.com/watch?v=pJl_GkIDFUQ
https://www.youtube.com/watch?v=LzXOh-4qAlE


註:圖片版權各屬該宣告者所有。

2016年5月14日 星期六

[MeArm.Rover] 機械手臂火星探險車簡介

不管是機械手臂、3 輪循跡車、避障車或是 4 輪的機械手臂火星探險車,只需要一組機構套件即可搞定。

循跡車


避障車


機械手臂


機械手臂火星探險車



特色

除了保有原 MeArm 所有特點與功能外,還新增如下項目:

1.增加1片層板,提供更多的置放機電空間,同時也增加了更多樣的組裝方式。
2.增加1組方向輪固定孔和2組直流減速馬達固定孔,您可以組裝成2+1輪或2+2輪自走車。
3.增加2片編碼盤,可以精準量測速度與距離。
4.增加1片超音波固定板,安裝超音波模組可以達到測距避障功能。
5.增加1片紅外線循跡固定板,安裝循跡模組可以達到循著線走的功能。
6.增加1組輔助夾子,夾取物體時可以獲得更大的穩定性。
7.增加1片夾子固定板,若損壞時可以即時更換。
8.增加8個墊圈,讓您的 Arduino 主板更加平穩。
9.增加8個伺服馬達使用之墊片,避免鎖壞機構件。

編碼盤


超音波固定板



紅外線循跡固定板(在超音波固定板後方)


輔助夾子


機電零件

1. MeArm.Rover 機械手臂火星探險車 3mm厚壓克力(含螺絲、隔離柱) *1
2. Arduino nano 開發板 *1
3. Arduino nano uno 兩用擴展板 *1
4. HC-SR04超音波避障模塊 *1
5. TCRT5000紅外線循跡模塊 *2
6. 雙軸按鍵搖桿 *2
7. L9110S馬達驅動模塊 *1
8. 直流減速馬達輪胎組 *4
9. 馬達固定件 *4
10. SG90伺服馬達 *4
11. 1寸方向輪 *1
12. 紅外線遙控套件 *1
13. 9V電池扣+DC5521插頭 *1
14. 杜邦線 母母頭 *20
15. 杜邦線 公母頭 *3
16. 馬達電源線 *8
17. USB mini 傳輸線 *1


相關連結

循跡車 http://pizgchen.blogspot.tw/2016/09/mearmrover_16.html
避障車(一) http://pizgchen.blogspot.tw/2016/09/mearmrover_18.html
避障車(二) http://pizgchen.blogspot.tw/2016/09/rwg.html
機械手臂 http://pizgchen.blogspot.tw/2016/09/mearmrover_21.html
MeArm https://www.mearm.com/
MeArm 組裝說明 http://mearm.io/guides/%5bv1.4%5dMeArm%20v1.0%20Manual.pdf


採購資訊

MeArm.Rover 機械手臂火星探險車(機構件) http://goods.ruten.com.tw/item/show?21621791495670
MeArm.Rover 機械手臂火星探險車(全套) http://goods.ruten.com.tw/item/show?21638708796647


註:MeArm.Rover 為基於英國 MeArm 的衍生作品。
Credit : MeArm.Rover is derived from MeArm.