2015年12月30日 星期三

Arduino + A4988


淘寶網買了一台雷雕機,一開始其實想要的是單純的X-Y Table.
旦發覺一件事情,滑台意外的貴.如果要使用滑台 滑軌 或是 CNC的關鍵字來找尋X-Y Table.都相當的貴,就在聊天的時候,得到一個點子,如果由現成的產品得手是否會比較便宜.
於似乎在省錢的魔鬼心理下,找到了DIY雷射雕刻機.


這個賣家是使用Nano Arduino開發出X-Y軸的雷射雕刻機.
組裝容易,大約摸索兩個小時就可以很順利的開始操作雷射雕刻.
但也有個缺點,軟體是賣家開發的,如果沒有賣家支援,這台雕刻機 還真的如我所願的只是一套X-Y Table.


為了避免這件是真的發生,其實原本的打算是使用樹莓派來進行控制,但查詢了一下,

又有個障礙了,需要去學習 G code (GRBL),以下有其他玩家的分享
http://a-chien.blogspot.tw/2014/11/cnc.htmlhttp://a-chien.blogspot.tw/2014_11_01_archive.html

看來需要針對買到的產品進行簡單的逆向工程,
了解Arduino I/O Pin與 A4988的Pin對應關係後購買一個新的Nano Arduino,就可以改成自己的版本了. 

當然啦.剩下的就是麻煩的coding了.
畢竟是新的要學.關鍵還沒搞通之前 這篇文章只能用做於記錄目前的心得.
未來在控制的認知上有心得或是突破 可能隨時要回頭來打臉自己

畢竟已經有現成的控制板了.如真的只要Pin Define抓到後就可以改寫.那可以拋棄使用樹莓派的想法,即便是有Zero版本的樹莓派問世,但價格上依舊貴於Arduino,況且 殺雞焉用牛刀
Raspberry Pi還是拿去開發瓦力機器人好了.
網路上的資源真的很多,Arduino + A4988關鍵字一下,馬上就有可以學習的網站:http://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/A4988 步進馬達控制器


 就賣家告訴我的,目前所搭配的步進馬達是兩相四線的.
若以下圖的定義來看,一軸只需要出兩個I/O作Output就可以控制一顆步進馬達前進與後退.再由這圖來看A4988需要額外的電壓來進行馬達的運轉.就我手上的商品而言是提供12V的DC電源.
再回來看看Nano Arduino 的Pin Define, 看來能進行Link的Pin就在D2~D13之間.
就設計者慣性而言 這賣家提供的板子有三軸的設計,可先將方向放在D2~D7之間.
另外一邊的部分,Analog input的部分賣家有預留腳座,這就好奇了.這目的是?


剩下還欠Coding,關鍵字一下.太棒了有範例.有類似答案出來.標準的C code.
但應該有少,未發現digitalWrite的定義,也沒看到delayMicroseconds的定義.
不過這樣也算是有前進了,剩下就是先認識Arduino.


  1. pinMode(stepPin,OUTPUT);
  2. pinMode(dirPin,OUTPUT);
就描述上來看.看來對A4988而言
dir Pin High/Low 剛好一個正轉一個逆轉. 這是定義方向
step Pin pull High就是運轉.pull low就是停止.
  1. void loop() {
  2. digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
  3. // Makes 200 pulses for making one full cycle rotation
  4. for(int x = 0; x < 200; x++) {
  5. digitalWrite(stepPin,HIGH);
  6. delayMicroseconds(500);
  7. digitalWrite(stepPin,LOW);
  8. delayMicroseconds(500);
  9. }
  10. delay(1000); // One second delay
  11. digitalWrite(dirPin,LOW); //Changes the rotations direction
  12. // Makes 400 pulses for making two full cycle rotation
  13. for(int x = 0; x < 400; x++) {
  14. digitalWrite(stepPin,HIGH);
  15. delayMicroseconds(500);
  16. digitalWrite(stepPin,LOW);
  17. delayMicroseconds(500);
  18. }
delayMicroseconds 就是延遲指令 讓pull High的狀況持續一段時間. 看要定義幾秒,1000為一秒.
如果是這樣,樹莓派可以直接用GPIO來處理. 好像也不需要真的在花錢.只是說樹莓派是比較貴的做法...

就經濟考量上 還是要考慮Nano 如將上述改成雙軸也不難..有跑看看.剩下的就是RS232與其搭配的做法
要是能突破 或許 我想要的東西就出來了...

// defines pins numbers
const int XstepPin = 2; 
const int XdirPin = 5; 
const int YstepPin = 3; 
const int YdirPin = 6; 
  
void setup() {
  // Sets the two pins as Outputs
  pinMode(XstepPin,OUTPUT); 
  pinMode(XdirPin,OUTPUT);
  pinMode(YstepPin,OUTPUT); 
  pinMode(YdirPin,OUTPUT);
}
void loop() {
  digitalWrite(XdirPin,HIGH); // Enables the motor to move in a particular direction
  // Makes 200 pulses for making one full cycle rotation
  for(int x = 0; x < 200; x++) {
    digitalWrite(XstepPin,HIGH); 
    delayMicroseconds(500); 
    digitalWrite(XstepPin,LOW); 
    delayMicroseconds(500); 
  }
  delay(1000); // One second delay

  digitalWrite(XdirPin,HIGH); // Enables the motor to move in a particular direction
  // Makes 200 pulses for making one full cycle rotation
  for(int y = 0; y < 200; y++) {
    digitalWrite(YstepPin,HIGH); 
    delayMicroseconds(500); 
    digitalWrite(YstepPin,LOW); 
    delayMicroseconds(500); 
  }
  delay(1000); // One second delay  

}


PS.馬上打臉自己.
看到問題馬上搜尋.太有趣了 看來Arduino的C也算是IDE的一種,不需要include stdio.h之類的描述.
https://www.arduino.cc/en/Reference/DigitalWrite

或許需要一本參考書..http://www.books.com.tw/products/0010645785
這本不知道好不好.貴了點.但範例超多.



2015年12月4日 星期五

Toyota 汽車音響 Pin Define

網路上真的可以找到很多想不到的資訊,光是靠Google搜尋圖片.就可以找到答案了.
汽車換下來音響主機,該如何處理,有了Pin Define後就可以開始規劃了.
首先是上網查類似的資訊…看來Toyota的Connector的相關位置都是一樣的.即便是不同的型號,或是廠商.因為下圖的跟我自己的型號不同 但Connector位置大小都一樣.
img02441_285_29795
這些圖片都是在越南文的討論區找到的.可惜看不懂越南文..
vTUAWXn
Pin define的部分 用英文就看得很清楚了.

53818-pinout

再看看,不錯唷~國內也有改裝音響的店家提供一些照片出來.太好了.只要我有12V的電源供應器.以及接頭, 四個喇吧.再加上擴大機.搭配FM天線. 就可以就地啟動這套音響了.

89

太酷了..本想說接頭 是個問題.沒想到 搜尋又有答案了,
真的要改裝了…

TOYOTA 音響主機改裝免剪線母接頭 .
21208037537705_720 

但注意看了一下 應該要買公接頭才對…買錯就要哭了…還是多比較一下.

21545005852759_799

2015年11月27日 星期五

2016 RAV4 抵家

官方網路上照片 一個海 一個山 讓這台RAV4 展現出休閒的風格
225828nfzb5729cb5c52ob225852nlh1wiepsidwqxqd

幾經波折,終於屬於我家的RAV4確定為2016年款.
哈哈~~還沒到2016唷.這是第一批到港的,
開心! 出廠時間2015/10.沒想到到港到領車會花一個月的時間.
S__14909451'
那就來開箱吧,銀色也頗帥的啊!
S__15278104'
2016年款的眼睛..似乎不太一樣.
S__15278105'

開回家放在門口,一整個很滿足.畢竟等了兩個月.終於盼到他了
DSCF2867'
日本過海的 米其林輪胎,會比較厲害嗎?DSCF2868

2016款的特色就是 鯊魚鰭天線改變為原廠規格.
DSCF2869

另外一個內裝的亮點就是 就九吋影音設備,導航,行車紀錄,倒車顯影都整合在這裡,一整個加分.不過換下來的音想要怎麼辦啊~~~
DSCF2873

業務加碼贈送 晴雨窗,禮輕情意重.DSCF2872

最大的重點是.我爸爸很開心.第一次收到這麼大的生日禮物.呵呵!
二話不說,立馬啟程就跑回中部晃晃了.看樣子很適合露營啊.

S__2089003
S__2089002

2015年9月23日 星期三

未演先轟動的玩具 Star Wars BB8 開箱囉

這是啥?乍看之下BB8好像裝置藝術,或是針孔攝影機嗎?(下圖左)

這是電影STAR WARS相關的衍生商品,在今年12月將要重新上映新版的STAR WARS電影中的機器人角色,過去比較紅的是R2D2(下圖右),但已經紅了三十年了.
https://youtu.be/ABzjUf3E_0c
電影還沒上映,但很詭異的就先開賣玩具,這真是另類的行銷手法.或許除去STAR WARS本身就已經具有特色.只是能見度不夠吧!搭配電影的順風車,這倒底是魚幫水,還是水幫魚呢?
坦白講,如果沒看電影就先買BB8,應該是愛屋及烏的心態吧!還是R2D2的比較熟悉.

BB-8™ by Sphero - Sphero Store<br /> - 1


如果去這個網站(http://store.sphero.com/ ),可以看到其他版本的,稱之為sphero.蠻有趣的是還可以有不同的外殼套件.價格上當然比STAR WARS的版本低廉許多.開頭引言到此,想看一下玩具的預覽.請點選連結.https://youtu.be/pSxTIcD8D58

對於這玩具是怎樣運作的.以下連結的影片有分解說明.真狠一刀就給他剖下去了.話說很多人都搶不到.有點浪費.
image
https://www.youtube.com/watch?v=bdsZvzz7olM
至於實體玩具呢,下訂單後等待一個多月,終於收到了.
開箱囉.
PIC000322
真是用心的包裝.外面還有一層塑膠袋,雨天領貨都不用擔心會淋濕.
 PIC000324
迫不及待打開,結果,還沒看到本體.這箱子也太折磨人了
 PIC000326
下方有個拉條.輕輕拉起,終於等到你了.
 PIC000327
先充電吧,無線充電的遙控玩具,不知道是否也相容其他無線充電功能的手機
 PIC000328
開箱後還是不能馬上走動,首先要先下載APP,然後簡單的等待.由1數到100後,就可以跑了.
PIC000330
初運轉..跑跑走看看.
PIC000332

有Apple iPAD的朋友一定要去下載Tickle這個APP,有BB8的特殊模組. 可以直接用圖形化語言來操控BB8 前進/後退/變換顏色/旋轉等功能.如果加上一些判別式,或是加入iPAD的感應器資訊的參數下去控制,可以利用iPAD 的G sensor的物理量來控制BB8,簡單的來講.就是可以用iPAD當方向盤來駕駛BB8.

https://tickleapp.com/zh-tw/

2015年9月20日 星期日

新竹老頭擺體驗農家樂(何嘉仁幼稚園遠足)

100_1535
參加幼稚園學校遠足,其實身為爸爸的我是蠻期待今天的,打從報名那天起,就心中一直倒數這天的到來.心中一直出現那個廣告,遠足一定要帶乖乖唷!希望這兩位三歲以下的小孩都有乖乖.但這一定是不可能的.
100_1537100_1540
一早就出門去, 太早到學校了.操場空空的,但姊姊就像是主人般的拉著妹妹整個操場跑,還教妹妹跑步,踢球.在旁看得爸爸內心好感動,姊姊長大了.這學費交的值得了.

100_1547100_1551
終於等到上車了,姊姊一上車就給爸爸一個鬼臉,看來這場合他真的是老大,完全融入幼稚園的生態,完全脫出當時哭著上學得情況.那妹妹呢?很新奇的看著姊姊,不過很快也完全切入自走模式,活脫是活在自己的世界般.但兩個有相同的點,就是只要意會到另外一位的存在時,馬上就會去搶唯一的媽媽.
所以說,愛媽媽是天性.奉勸全世界的爸爸們,看開點吧!跟小孩的感情要特別經營的.畢竟媽媽是有絕對優勢的.

一到老頭擺,馬上就有位熱情的阿明哥哥,帶著我們這一組活動.要給這位努力的小哥一個讚.太專業了.
image
活動有醃泡菜.高麗菜切片,一湯匙鹽,均勻抹簡單的抓一下就好,切記不要把菜葉捏爛,因為當我們自己在吃泡菜的時候也不會去挑捏碎的小片去吃吧.一湯匙糖,醋,依照感覺放蒜泥,辣椒,紅蘿波絲.小力均勻攪拌後就可以收納起來,等待半天後差不多應該就可以吃了.
100_1565
好不好吃呢?我還沒驗過,因為以上說的比例,我家的寧大廚完全沒依照.菜葉呢!可能媽媽擔心爸爸的牙不好,所以抓得比較大力.口味呢.我想應該是偏鹹又偏甜…等我的勇氣起來,先準備一碗白飯再說.

100_1571
中間休息時間姐姐看到溜滑梯又忍不住了,但溜滑梯在沙堆內.要赤腳入內.很可惜的,寧寧踏出三步後沒法忍受沙子的觸感.完全走不過去.竟然大喊救命.這會是處女座潔癖的表現嗎?

100_1574100_1578
所以趕緊換個場地去體驗另外一個活動,就是赤腳體驗給魚吻腳,這是個很奇怪的體驗,小朋友碰水是很快樂的,但被魚親是很害怕的.所以只有體驗三秒,就被嚇壞了.

此行使用的是HTC水管相機,號稱防水,就讓我們看看水中的模樣吧.這群魚大概是餓壞了吧.
腳皮的角質有那麼好吃嗎?疑問句,以前養過朱紋錦魚,但也沒有這樣嘗試過.挺癢的.
100_1582100_1588100_1589換個角度,原來魚看人的視野是這個樣子啊.

玩一會,就中午了,放飯囉,隔壁是烤肉,一直有木炭味飄來,但小孩不懂.只知道玩.壓根沒啥吃.
午餐的菜色偏大人,三層肉,客家小炒,炒高麗菜,米苔目湯,煎魚.加上天氣熱.沒吃完,有點浪費.可惜了.希望農家有養豬,不過豬會吃豬肉嗎?好問題?應該是豬也不清楚他吃的有沒有豬肉吧!
100_1590100_1600
可能是天氣熱吧,兩個小孩老是喊說手髒髒要洗手,我看是想玩水比較多吧.

搭配十月教材的主題,小朋友要體驗一下農夫,所以有提供挑扁擔的比賽.這時候,寧寧又開始害羞了.大哭…數了一下,現場哭的小孩大概有五位吧.好吧!不是唯一哭的.也不是哭最久的.爸爸自我安慰一下.
反倒是妹妹很厲害,自走模式開啟,整場跑透透,完全不害怕這個陌生的環境.
100_1612100_1617
不過姊姊有點蠻厲害的,畢竟在外愛面子.很快的就收起情緒加入活動.
等寧寧長大後,再回來看這個文章時,會不會跟爸爸分享一下呢?當爸爸的很想知道寧寧長大後對自己的表現打幾分?

100_1635100_1640
接著又還有很多體驗的活,比如說搗臼作麻糬.真的很累.我們這一桌只有兩位爸爸.想當然爾一定這工作都放在爸爸身上.寧寧也有出力啦.沒看他光拿就很吃力了.
後來連寧寧的外語老師都來加油了.看吧~小小年紀爸爸就幫你安排了一個帥哥老外教你英文唷.要好好學唷.

那瑄瑄呢?鬧脾氣要睡午覺了.被媽媽帶出去找地方睡覺了.
睡醒後趕緊補一張玩耍的照片.不然妹妹會怪爸爸說整篇文章好像都是姊姊當主角.不是這樣唷!
100_1657

因為瑄瑄還小,老是狀況外.其實爸爸一直抓的瑄瑄跑.整天其實沒拍多少張照片.好在使用HTC水管相機,方便了許多.等你們長大點,比較懂得跟爸爸配合,再換好一點的相機幫妳們拍多一點的照片唷.

其實活動後面還有跳舞,種蔬菜的活動.跳舞的時候,兩個小朋友大概是真的沒興趣吧.又鬧脾氣了.
之後的就沒法拍照了.整天下來,其實啊!小班的爸媽負擔比較重.一直在玩老鷹抓小雞的遊戲,好羨慕中班之後的家長,可以用說的去溝通,當爸爸的也只能靜靜的期待那天到來.

這天,真的很好睡.兩隻手臂在深夜裡,微微的腫脹著.希望到周一時能好轉些.甚麼叫做甜蜜的負擔,兩位小朋友啊!等你們當媽媽後,再回來跟爸爸分享好嗎?

喔!對啦,何嘉仁的活動蠻多的,後面還有北區幼稚園的運動會,還有萬聖節,耶誕節.
感覺上,爸媽們也要重新跟著念一次幼稚園呢~最後感謝一下蘆洲分校R2班的老師們.Yuki以及Sharlin一路上很專業的照顧.謝謝囉! ^_^