2014年1月23日 星期四

Arduino 使用經驗(一)

我應該覺得我是老了...要我為了一個小小的東西洗PCB版或寫個程式

都覺得辛苦。所以,我也開始不知不覺得的想偷懶用 Arduino 這一種版子。

不過,我要先在此聲明:我同意之前有讀者留言的意見。

我之所以會用Arduino 是"叔叔有練的喔~"...如果您是學生,而真的想

學電子這門技藝的話,還是按部就班比較好。
這就跟我鮭魚同學一樣,我們在用這些工具時,背後也都是十年磨一劍的。

而我也慢慢認同我鮭魚同學的想法,我們上了年紀,也已經不需要再去搞那些

很基礎的東西了,而是要盡情的去發揮我們所學技能來創造產品與價值。

要不然,就算我學到老,就像別人的名言:程式寫得好,要飯要到老!!哈~

---
本來這件事我原本也不想搞,只是那天去電子材料行買個東西時,才發現:

現在連一般電子材料行也都開始擺了Arduino 的套件了。我是分別在新竹光復路上

的兩家電子材料行看到這個東西的~當然他們的售價是比一般網路購物貴一點。

這是理所當然的~因為人家畢竟要店面的管銷費用嘛!如果您急著找,就不妨去逛逛。

既然有~就拿回來做個工作上需要的東西:就是一個簡單的DAC。

我原本在電子材料行買到的DAC 是NXP 的~PCF8591 。

他是一個DAC 外加四組ADC 。支援I2C 的~...當然啊~這個東西想當然爾都是

Made in China 。這是連Arduino 官方網站也講得很清楚的!

不過呢~我架起來玩了一下:發現他的輸出竟然是:



頭被削掉,應該是硬體上的問題。...不過呢~這樣子的東西也不是我要的。

我也不想花時間幫他Debug ...下回有時間再說吧!

其實我要的是三相的訊號,幸好我手邊還一棵私房晶片:TI 的晶片。

他是 10 bit 純四通道的 DAC 。不過~沒有現成的 Shield PCB 版...

只好自己DIY 跳一下洞洞版。然後在稍微整理一下程式,

把他Porting 在Arduino UNO 上,就得到我要的訊號了,還蠻漂亮的:



兩天搞定!

--------------------------

其實,當初Arduino 剛出來的時候,我剛好也在一家MCU IC 設計公司上班,

那時我是IC 驗證發展工程師,外加PM...當我在Survey 市場時,我有留意到

Arduino 這一塊應用領域市場。我也覺得他的 Idea 不錯,搞MCU 本來就應該

平易近人...讓人人皆可為食神。--- 只不過,那時我們台灣的MCU廠還是喜歡

玩Cost Down,玩那一種量大低價的MCU :OTP MCU 而不是Flash ...到現在

還是一大堆人還樂此不疲。

當時呢~我當然認為我只是領薪水的~雖然我自己也有投了一點錢啦....

但我知道我是不可能改變那些已經玩殺價遊戲的習慣的老闆與IC Designer 啦~

(廢話~如果我搞系統的,在IC 設計公司裡可以搞出系統價值大於IC 硬體價值時,

那不就是每天玩拿刀子捅自己的玩命遊戲嗎?!...)所以也懶得跟他們這些人搞啦。

就像跟我鮭魚同學一樣:人的生命裡,還有很廣大的世界值得您去發掘它的...

幹嘛把自己搞得這麼難做人呢?!--- 鮭魚同學跟我說:連他在大陸為了做這些

PC 或NB 大廠生意時,要花多少「公關費」啊?!幾乎每個月都一堆!

所以...像這兩天新聞提到的大廠高階主管拿廠商回扣的事...有什麼好稀奇的呢?

該花的~您就該花!...而該拿的~您就拿。中國人做生意的潛規則就是如此。

只是您花,花得起嗎?您拿,您敢怎麼拿?而已吧!

所以呢?玩了這麼多年的技術與產品,也都只是順著感覺走,也都不太想去管太多

細節的鳥事了。也不想在搞一大堆奇奇怪怪的技術...學不完的啦!

所以~有時您也不要老是要罵人家 Arduino 這一種小玩意啦~他雖然是標榜是

給電子入門的人學或用的。有時像我們這一種老人家...為了省事偷懶,

也是會偷偷的用一下的啦。...一片才兩三百塊台幣....比您到處跑去買零件

焊PCB版...省事又省錢多了啦。

不過,最後還是要慎重的強調一點:叔叔真的是練過的啦...所以我們自己是很清楚

我們拿這個東西是要做什麼?也很清楚他們的能耐與極限是什麼?

小朋友不要就因此就覺得不得了了。該學,該練的基礎,您還是要花點功夫蹲一下啦。


19 則留言:

  1. Chamber大,
    請建議您的鮭魚同學不要再用日本的控制器跟工具機了,
    台灣有做的就用台灣的,不管有多爛,先用自己國內生產的,
    為何韓國的汽車工業能做起來,
    想想看10年前大家都說韓國車很爛,
    可是您去韓國看看,
    那時候韓國車再爛,
    韓國人還是只開韓國車,
    日本車再怎麼便宜,
    他們也絕不買日本車,
    這就是韓國人的堅持才造就了韓國今天的汽車工業開花結果,

    要買車請買裕隆納智捷,
    不要再買頭又大了

    回覆刪除
    回覆
    1. 甘迺迪:[不要問國家能夠為你做甚麼,要問你自己能夠為國家做甚麼。]
      不愛用國貨就不要怪政府或老闆讓我們失業,
      我們台灣人失業或是薪資低都是自己造業

      刪除
    2. 嗯...謝謝您們的建議。

      我鮭魚同學也的確開始嘗試會開始引進一些台灣的伺服器與螺桿。

      只不過真的有時候看他一個人搞也是蠻辛苦的。...我想主要原因倒也不是說

      他不想改變什麼?我想在許多搞技術的這些人心中,應該還是不太相信國內

      許多大型企業或集團的決心。您舉的例子很好啊~但是納智捷為什麼還要用韓國的引擎?

      為什麼也不給國內其他產業一點機會?大家都會講得很有志氣,但是說真的~

      從政府政策到國內許多大型企業...有誰真的有魄力的願意協助中小企業一點機會?

      如果沒有的話,那我們也可以反過來想:那為什麼我鮭魚同學在相對沒有掌握很多資源之下,

      誰願意賭身家風險呢?!....

      ----
      甘迺迪:[不要問國家能夠為你做甚麼,要問你自己能夠為國家做甚麼。]

      講得沒錯:那為什麼我們園區裡的許多公司還要靠國家政府的減稅來買國外設備呢?

      那他們為國家做了什麼?....我也想知道答案啊?

      刪除
    3. 台灣廠商的產品如果有一定的質量, C/P質高, 不用舉起"愛用國貨"的大旗, 也會有很多人用.
      但事實是 "cost-down過頭", 質量不佳, 要如何說服自己人含"淚"採用呢?

      在產業中有點經驗的人,誰不想買"便宜"的"好"東西?
      試問誰想買"便宜"的"不好用" or "偷工減料"的東西呢??

      有個趨勢讓我擔心的是, 台灣有很多產品,質量不差,但是 "不好用"! !
      這個不好用,會讓消費者不肯付出產品的"溢價",轉而購買"很便宜但堪用"的商品. 這對急思產業升級or轉型的台灣產業很傷.

      這個"好用"是很值錢的, 有了好用, 才會有常用, 有了常用,才會有"信任"!
      有了信任才會有"品牌溢價"!!

      回過頭來問, 你信任台灣產業中的那個品牌?

      刪除
    4. 如果鮭魚兄用台灣的產品,結果出了問題那些廠商願意幫他服務到底嗎?台灣老闆一看量這麼小又是小公司,大家都在外面打滾過,大概也知道結果是什麼了吧?

      日本人好的東西先留給日本人用,說明書不用說一律先出日文版。台灣HxC的手機CPU還偷調包用低檔次的給自己人用,台灣人都不挺台灣人了,還叫我們支持國貨,有時甚至賣給老外還比賣給台灣人便宜,你覺得台灣人還會相信台灣人嗎?唉...

      刪除
    5. 其實台灣有很多公司或產品,一開始都做得不錯。

      但都不知道為什麼?等產品一代兩代之後,就越做越差?

      跟一般國外的產品觀念剛好相反。我想這其中有很多是之前所提及的公司永續經營的問題。

      當然啊~也有很多可能只是一開始比較花心思,也比較精實....

      也有可能跟後來的業務手法有關,當一開始東西好賣,業務也胃口也容易被養壞,

      當後來跑市場之後,業務就開始回頭跟老闆說:他很厲害的啦~東西就趕快隨隨

      便便搞一搞就好了。....當他們碰到市場瓶頸時,又開始要求Cost Down了...唉~

      接下來故是就是大家常聽到的、看到的與碰到的~

      ---
      至於鮭魚同學的產品呢?!所以他才不太想把產品的一些關鍵零組件壓在這些風險上,

      因為當您Cost Down 碰到問題之後,這些市場或業務的聲音就會一直干擾您的產品開發

      的堅持...當然啊~只要堅持把產品搞好,也不用急著說要做多大的生意。

      鮭魚同學的東西就賣那幾家識貨的客人,當然我認為因為他的東西還算是簡單容易上手的~

      當他的產品越搞越複雜時,我相信也會碰到各位所提的問題...至少他目前所針對的客人

      也不多吧!....當然有一個很重要的關鍵就是:他還是把利潤給了中間商了~

      中間商有利潤,當然就會很樂易的幫您處理這些鳥事。如果還沒有很多鳥事的話...

      中間商還是很樂易的跟您一直做生意的~所以,產品品質搞好,拉出一定的利潤空間

      就可以照顧到比較人,自然一些鳥事就不會砸到您身上!

      --- 我當初那個USB ROM Emulator ,我也是給中間商很高的利潤,然後產品又沒有太多

      問題,自然我就省事多了....這也是我一直在強調的觀念。

      台灣有很多高科技的老闆,東西越搞毛利越低,搞到最後就開始亂想說:

      要自己鋪通路...越搞就越搞死自己。....

      最近再看一本歷史書也有提到殖民地的問題,大家從清朝遭受西方列強侵略時,

      都會覺得有殖民地很好...其實某觀念是錯的~因為殖民地也要管理也要經營,

      有了殖民地的目的無非也只想掠奪殖民地的資源...但當您發現您要穩定的從殖民地

      掠奪資源或財富時,需要付出越來越大的代價時,(譬如駐軍,建設與設置管理機構...)

      那殖民地對您來說搞不好最後會成為負擔!.....

      美國從英國殖民地獨立之後,英美之間的自由貿易,反而讓英國從美洲大陸獲得更多的

      貿易與經濟效益...當初為了管好殖民地還勞民傷財,搞到最後還花錢打戰也不討好...

      一樣的道理!...所以我才說要多讀歷史嘛!

      刪除
  2. 郭台銘肯定早知道底下人拿錢,
    因為這是公開的秘密,
    只要別太過分,
    大部分老闆也都默許,
    那些人會出事都是因為太貪心了

    回覆刪除
    回覆
    1. 這一種說法我同意,但不就是又回到我們中國人的那一套"人治"的社會嗎?!

      如果小公司,中小企業...這麼玩,沒人會理您。

      但是當您公司大到如國家般的大型運作機器時,那就得回到真的法治與制度面。

      因為只要您這一邊開一扇門,您哪知道哪天哪邊要給您開另一扇窗呢?

      您老闆行,您說了算。但當您有一天躺下來時,您有真正留下什麼典範與制度?

      企業或國家組織要長長久久的,靠的是基本組織與制度那一套。我之前已經有舉那個

      明成祖內閣制的例子。當您企業長大後,不是讓您可以天天吹噓的自己多偉大的...

      而是讓您有機會可以建立一些值得後代學習成長的典範....

      否則,最終也只不過樓起樓倒...來來去去的淹沒在歷史的洪流之中而已。

      宏碁的故事不就是一個眼前活生生的例子嗎?

      刪除
  3. 前幾天看了電影Jobs,講到他們去自製電腦俱樂部demo自己DIY的電腦,我就恍然大悟Arduino為什麼會起來了,因為他們一直都有這種DIY的風氣,像Wozniak一開始根本就是自己做好玩的,一直遇到Jobs才想到要拿來創業。Arduino也是這種東西,就是給一些有很多想法但是沒什麼專業知識的人用的,這些人不懂組合語言、也搞不懂internal RC與crystal的差別,但是這種需求是存在的,比方說一個舞台設計師他只要具備簡單的電學知識加上一點點程式設計的能力就可以用來規劃出絢麗的燈光效果,我沒記錯的話真的有廣告公司在找會Arduino的人

    台灣人的思考是我訓練經銷商會就好了,最多辦幾個說明會跟課程,找的人也全是本科系出身的專業工程師,至於一般DIY用戶我連看都懶得看,買沒幾顆我還要幫你客服...不划算!最多是跟學校老師談好利益交換,那個XX老師你幫我寫本書推廣一下,XX老師也不會真的寫,拿了錢之後就是叫學生去做他掛名就好

    回覆刪除
    回覆
    1. 其實要看Arduino 產品的角度就不能從單純技術或產品規格來看...

      這就是我們在看一般人家蘋果在搞手機的道理是一樣的~

      Ardiuno 算是在 8 bit MCU 市場裡,當32 bit MCU 起來之前,抓到的最後一塊浮木。

      至少以我的觀點:這一點他是成功的~就算您後來用32 bits ARM 要做一塊一樣的東西

      也不一定可以跟他相提並論。而深入探討,您覺得他的東西技術難度高嗎?

      但人家懂得把握與掌握時機點,因為現在一般電子零組件或模組也都趨近模組與介面標準化了。

      只要花一點時間把平台與軟體搞定...幹嘛一定硬要去賺硬體的錢呢?講難聽一點:

      至少人家的官方網站都是這些玩家朝聖的地方,只要人一多,聚集自然就是做生意的地方。

      這樣子的道理就可以打翻您所提後面台灣那些人思考方式了

      --- 您還在搞經銷商?辦說明會與課程?還要找學校老師寫書?.....錢夠用就好,

      我跟您說:台灣昔日一些搞高科技有錢人...最後都還想搞出名的,但有像人家這樣子

      在一個應用領域裡留名的嗎?....看遠一點啦!

      至於:後來的那些什麼xxDinuo 的~我也都沒興趣,我只相信32 bits 要有類似的

      8 bit Arduino 的產品觀念,是絕對不是只是類似這樣子的東西而已。

      是什麼?!您慢慢想吧!

      刪除
  4. arduino 有 32bits ARM 的版本
    http://arduino.cc/en/Main/arduinoBoardDue

    回覆刪除
    回覆
    1. 我知道有這一片...但他的售價是UNO 的三倍。
      如果只是透過Shield Board 作一些應用來說,我幹嘛要用三倍貴的東西?
      --
      所以我認為要用 32 bits ARM 版本來玩這個東西,除非有更高等的應用才有意義。
      就是我說的~他就應該用另一種風貌才對...
      這樣子來說...我還覺得 Raspberry Pi 還比較好一點...
      沒錯---他有Embedded 一個OS : Linux...但我覺得這樣子的作業系統對您們這些搞
      Embedded system 的人來說:覺得還可以。
      但若以Arduino 的平易近人來說:它又真的太過於複雜了一點。雖然他的功能夠強 !!
      所以...您可不可以幫忙搞一個平易近人GUI 的平台在上面。
      我相信他就會更暢銷一點。至少我是這麼覺得的!

      刪除
    2. 我的意思是說:只是跑跑LED跑馬燈...量個ADC/DAC 或是開關...計時器的...
      這些基本的Arduino UNO 就綽綽有餘了...當然您拿 ARM 或Raspberry Pi 來玩這些,
      會不會反而被人家笑啊?!...甚至人家用Arduino UNO 加個 Ethernet Shield 都還可以
      簡單的做到遠端量測與控制...也都比傳統 8bit MCU 強了。
      甚至都可以作出很好玩的遊戲機台了:http://www.techbang.com/posts/16860
      ---
      所以 32 bits ARM 在這個等級領域裡,還是真的要幫他想一想平易近人好玩的東西與面相。

      刪除
    3. ChamberPlus大大~~很認同你這段話阿~~~~
      32 bits ARM 用起來有種大材小用的感覺,目前除了應用在影像處理方面可能會需要用到32bits等級,但其實如果要用影像處理,根本不會從arduino這方面來考慮阿,arduino效能明顯不足,而往往用arduino的人以目前來說也不會用到那種地步,普遍拿來作作小專題已經綽綽有餘了,根本考慮不到校能之前就滿足了,而且看起來簡單直覺好用,玩的有自信之後才會有更高的需求,有了知識和需求之後其實也不見得要使用arduino了

      刪除
    4. 我想這是一個很現實也很實際的問題...不用大家真的去炒作了。

      以前我搞掃描器時,我們公司的另一組人搞的數位相機SOC 用的也是8051 Core MCU 。

      當然啊~他們這組人現在是用32 bits ARM Core 做Full HD 的行車記錄器SOC...

      但我總覺得以前那一套的作法比較賺錢耶,現在這一種搞法反而好像做得更辛苦耶?!

      所以呢?!沒有人說您用什麼方案就比較厲害?當然您也不能說用 8 bits MCU 的C/P 值

      比較好?!這就我一開始說的:很實際的現實問題。現在說真的~要一直強調IC 硬體的

      強項...真的聽聽就好了!您能從實際系統應用端可以真正找到核心價值比較重要吧。

      要不然光您看手機晶片SOC 應該夠強、夠主流了吧...從硬體的角度來看:

      大家還不是在玩殺價市場遊戲嗎?

      http://m.md.ctee.com.tw/content.aspx?id=57992&pa=NNjA4pZIpwYFo0cfdw0w6%2By6wsjN6Y1fjVGso7ZZkp8%3D

      ---
      這有什麼好玩的?!就像當年發現新大陸與非洲時...大家都在搶殖民地...

      當搶完殖民地之後,慢慢就發現原來要真正經營管理好殖民地時,代價越來越高...

      還不如回頭好好的再找一些新的東西還比較凸顯價值:就是工業革命...再重新劃分勢力形勢!

      不是嗎?

      刪除
  5. 3D印表機或許比較有機會用上ARM的強大計算能力?

    回覆刪除
    回覆
    1. 這也未必。現在有許多 3D印表機因為材料成形的關係需要一點時間。

      所以也不一定需要32 bit ARM...更何況如果只是控制伺服馬達來說:

      都有很成熟的方案或驅動模組...搞不好只要一個簡單的8 bits MCU 送訊號就好了。

      ---
      跟您講一個系統故事:當初我們做那一棵掃描器的SOC 時,很多人認為SOC 應該

      還要支援外掛DRAM 或記憶體...但我們認為如果當USB 傳輸速率夠快的話....

      我幹嘛還需要比較大空間的Memory Buffer 呢?!掃瞄的RAW data都往PC 主機送就好了。

      您看那時我們就有所謂的雲端的觀念了。

      ---- 只要有個高速傳輸介面外加一個強有力的雲端運算系統...我們還需要辛苦的

      搞這些終端控制嗎? 您別以為好萊塢在拍那個魔鬼終結者(天網)或鷹眼裡的

      那些AI 人工智慧的東西是痴人說夢話....Google 花這麼多錢在投資什麼?

      不是沒有道理的。我是絕對相信...如果賈伯斯沒死,他一定會跟Google 有一些連結的!

      刪除
  6. 我個人認為Arduino 最大的用途是Fast prototype。快速實現你的idea。
    所以我偏好較大的ROM, RAM 的32 bits ARM。把MCU都APP來寫。
    至於Cost down問題,有市場的話就會有時間幫我解決這個問題。

    以下這個board 快要追上我第一台X86的系統了。
    MK20DX256 32 bit ARM
    Cortex-M4 72 MHz
    https://www.pjrc.com/teensy/index.html

    回覆刪除
    回覆
    1. 我想許多產品觀念或企業成功,都不只是光從產品功能或C/P 值來論斷。

      以我們最喜歡看的與討論的是一個改變或突破現況的產業或產品生態改變。

      Arduino 的成功,我講了:不是他的硬體功能或規格...而是改變一個產品市場遊戲規則。

      而這個規則剛好又與後來的 IoT (物聯網)有一點相關.....

      我也說了:您要用X86 或ARM 再搞一個 xxDuino 。沒有會擋著你。

      但記住:人家大概也只會記住 Arduino ,就連他自己的什麼後幾代的Arduino 也都無法

      撼動第一代的Arduino 使用環境與架構...連最後Intel 也得買他的單。

      您說呢?!...這就是我們所說的:造就一個新的使用環境與系統應用局面...

      光這一點他就成功了。

      刪除