2011年9月20日 星期二

Arduino 早餐來了!

image

Arduino 原創者 Massimo Banzi 本月 18 日在 Maker Faire New York 揭露了數個新款 Arduino 板子。前一天,Arduino 官方 blog 率先公佈了這則消息。根據官網的說明,這次 Arduino 有令人驚喜的新產品:

Arduino 1.0

image

在經過數年的發展後,Arduino API, IDE 以及 boards 的設計終於底定,本月 18 日將釋出 Arduino 1.0 RC 版,到時你可以在這裏下載,而之後再經過 1 個月的壓力測試後,官網就會正式公佈 Arduino 1.0 的版本。

image

Arduino Leonardo

image
▲ 照片取自 Engadget

一塊基於 Atmega32u4 的低成本 Arduino 板子,shape 與 connectors 跟 UNO 一樣,但電路比較簡單。在軟體方面,它有 USB driver,可以讓 Leonardo 模擬 mouse, keyboard 以及 serial port (還需要驅動程式,稍晚會提供)。一如往常,軟體和硬體,所有的東西將會 open source 公開於世。

Arduino Due

image
▲ Arduino DUE

Due 是 Arduino 的一大突破,因為這是第一次在 Arduino 板子上使用 32 位元 Cortex-M3 ARM processor,晶片用的是 ATMEL 的 SAM3U,可以跑到 96MHz,含 256Kb Flash, 50Kb Sram, 5 SPI, 2 I2C, 5 UARTS, 16 個 12-bit Analog inputs 等諸多硬體週邊。

官網表示,Due 正式版本預計會在 2011 年底開始銷售,在此之前會先提供開發版本給使用者嚐鮮。

Arduino Wifi Shield

image
▲ Arduino Wi-Fi Shield

這塊 Shield 可以擴充 Arduino 的 Wi-Fi 通訊能力。這塊 Shield 是基於 H&D Wireless 所研發的 Wi-Fi Shield,板子上結合了 AVR32 處理器,並且提供完整的 TCP-IP stack。官方也正在做一些努力,希望讓使用者只需做些許改變便可以把程式碼從 Ethernet Shield 移植到 Wi-Fi Shield 上。

在 ATMEL 的鼎力襄助之下,Arduino 新產品有大幅的進展,喜歡玩 Arduino 的你,相信此刻的心情一定是非常期待吧!別憋在心裏,用力給它喊個「讚」吧!^o^


Massimo Banzi 在 Maker Faire 2011 的演講錄影 part 1/2


Massimo Banzi 在 Maker Faire 2011 的演講錄影 part 2/2
延伸閱讀

13 意見:

Local Prince 提到...

hi,可以請問一下wifly設定的問題嗎?
目前手邊有一塊Wifly的板子
http://www.sparkfun.com/products/9954
我在網路上參考了很多文章
http://140.138.40.170/OptimalWeb/articlesystem/article/compressedfile/%282012-05-05%29%20%E4%BD%BF%E7%94%A8%E7%B6%B2%E9%A0%81%E7%80%8F%E8%A6%BD%E5%99%A8%E5%82%B3%E9%80%81%E6%8C%87%E4%BB%A4%E8%87%B3Arduino%20Server%E6%8E%A7%E5%88%B6%E6%95%B8%E4%BD%8D%E8%85%B3%E4%BD%8D%E8%BC%B8%E5%87%BA.aspx?ArchID=1746140.138.40.170/OptimalWeb/articlesystem/article/compressedfile/(2012-02-23) 使用WiFly Shield搭配Arduino UNO建立一精簡型伺服器.aspx?ArchID=1722
http://140.138.40.170/OptimalWeb/articlesystem/article/compressedfile/%282012-05-05%29%20%E4%BD%BF%E7%94%A8%E7%B6%B2%E9%A0%81%E7%80%8F%E8%A6%BD%E5%99%A8%E5%82%B3%E9%80%81%E6%8C%87%E4%BB%A4%E8%87%B3Arduino%20Server%E6%8E%A7%E5%88%B6%E6%95%B8%E4%BD%8D%E8%85%B3%E4%BD%8D%E8%BC%B8%E5%87%BA.aspx?ArchID=1746
http://www.instructables.com/id/Twitter-Mood-Light-The-Worlds-Mood-in-a-Box/step3/Connect-the-Arduino-and-WiFly-to-a-computer/
http://cairohackerspace.blogspot.com/2011_05_01_archive.html
http://arduinology.tumblr.com/WiFlyBuild
最後焊接了wifly上的pin腳
Tx,Rx, digital pin 7,10,11,12,13, Vin, GND
然後接上Arduino Uno板子後以USB和電腦相連
板子上的PIO4,PIO6的LED有在閃爍

之後我下載了 wifly serial library
http://sourceforge.net/projects/arduinowifly/files/
將裡面的wifly test example燒進arduino後
打開Serial Monitor後一直只有這兩行文字
------
Starting WiFly Tester.
Free memory:1160
-----
看了程式碼後,它一執行到 WiFly.begin();這個function就停住了
請問我是哪邊沒有設定好嗎??還是程式碼哪邊需要更改呢?
thanks!!

coopermaa 提到...

hi,

我還沒在 Arduino 上玩過 WiFly 之類的 Shields (因為太貴了~),所以沒有這方面的經驗

你有設定 SSID 跟認證密碼嗎? 建議你試一下這個方法:

在 WiFly.begin(); 這行前面加一行打開 Debug 功能,這樣或許有助於找出原因:

WiFly.setDebugChannel( (Print*) &Serial);
WiFly.begin();

BTW, 你怎麼會想買這塊 Shield?
這塊 WiFly Shield 要價 80~90 美金,實在是太貴了!

Local Prince 提到...

哈哈,因為學校專題我決定來玩arduino,然後本身又對網路技術有研究,接著又想透過網路玩遙控,所以就敗了Wifly shield了XDDD
我剛剛加了您說的那行code,還是無法顯示,除錯了好幾天,我終於在剛剛試出來了!
我裝了
http://forum.sparkfun.com/viewtopic.php?f=32&t=25216
提供的library,遇到了一堆編譯錯誤、上傳後serial monitor卡住的問題終於都解決了.
1.使用 32bits Linux, avr-gcc 32bits version , Arduino IDE 32bits 0023, 要使用32bits環境是因為jre的問題.
要使用舊版的Arduino IDE是因為它支援BYTE這型別,雖然用新版的IDE已經有人提供解決方案,但是看不懂Orz
https://github.com/sparkfun/WiFly-Shield/issues/7

2.然後修改wiring.h將裡面的
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))這行註解掉否則會編譯錯誤,然後記得在Arduino IDE裡面設定版子的正確型號就可以成功編譯還有上傳了!!!
打開terminal monitor再打$$$就可以進入command mode了!!
一開始要用no line ending,之後要調成cariage return模式才能輸入命令.

不過這個版本的IDE發生很奇怪的事…就是我把Wifly Serial Library丟進 arduino的libraries資料夾後,開啟IDE居然在File->Examples裡面找不到Wifly Serial.........= =

coopermaa 提到...

WiFly serial library 丟進 arduino 的 libraries 資料夾後,要重新啟動 Arduino IDE 才會看得見 Examples 喔。

所以你是在 Linux 上寫 Arduino 的應用啊。

Arduino 本來是沒有網路通訊能力的,要讓它上網,通常會想到是加 Ethernet 或 WiFi,而且Arduino 的 Ethernet/WiFi libraries 也寫很簡單,假如開發者也懂網路通訊的話,是很容易就可以上手沒錯。不過,其實可能還得想更遠一點,比如 ATMega328 運算能力跟 RAM/Flash 都有限,這樣網路能力可以有多強。拿最簡單的問題來想好了,加上 Ethernet Shield 之後,是可以讓 Arduino 上網了,可是有沒想過它最多可以開幾個 sockets? 當然,如果應用需求很單純,是不會有問題,可是如果需求多了,可能就不是個好選擇了。

Local Prince 提到...

嗯嗯,沒錯,因為我比較喜歡在Linux下面寫程式,其實是喜歡開放式的環境,所以也就跟著玩最近很紅的開放式硬體Arduino^^
那個Wifly Serial Library真的還滿畸型的,丟進去libraries後看不到,但是我丟sparkfun提供的wifly library就看的到,重新啟動後也是一樣><
一開始用64bits的Arduino IDE 1.0版的時候都不會遇到這種情況.
的確,它本身的資源滿少的,原本想在它上面裝一個camera直接來傳影像,但是裡面ram/cache太少,單獨用arduino來做的話....挑戰力非常高@@
因為我已經加了L298N馬達驅控版,所以基本上現在把它視為資源非常有限的移動式小電腦了XDD

coopermaa 提到...
作者已經移除這則留言。
coopermaa 提到...

既然你會 Linux,而且又在玩 Arduino
那麼應該知道最近火紅的 Raspberry PI 吧?

想想看,這兩個加起來會擦出什麼火花? 哈

GCY 提到...

我也好想買Raspberry Pi,不知道哪時還可以買到ORZ

Local Prince 提到...

我現在才知道raspberry耶...真是慚愧…@@
不過剛去找了一下,真的滿酷的,真的是一台行動電腦了,而且效能也不差,真的可以來思考他們之間的搭配!!

對了,我剛發現一個有點嚴重的問題arduino的ethernet有用到pin 10,11,12,13
然而wifly library從ethernet library那邊修改過來的,因此也沿用…
現在問題來了,我加上L298N後,這晶片在馬達A那組用到了pin 10,12,13..
馬達B那組用到了pin 9,8,11...
這樣是不是代表著 有線ethernet/無線wifly的library註定無法跟 L298N馬達驅控版一起使用了呢??

coopermaa 提到...

@GCY

可以到 RS Components 與 element14 上預購:
http://taiwan01.rs-online.com/web/generalDisplay.html?id=raspberrypi

http://downloads.element14.com/raspberryPi3.html

coopermaa 提到...

@Local Prince

沒錯,只要 35 美元,實在太吸引人了,首批製造 1 萬部,二三月開放預購時,不到一天就賣完了。現在還不曉得買不買得到。

你可以把 L298N 用到 pin 換到其它接腳

Local Prince 提到...

太感謝了,一句話提醒了我…想到只要程式去自行定義修改輸出的腳位,
然後將arudino上自行定義輸出的腳位用電線連接到L298N驅控板的pin10,12,13腳位,
這樣就可以避開線路的相衝了!!
太棒了,對了,我的無線遙控車剛剛已經完成了,利用wifi+ web的ajax技術就可以直接遙控了!!
而且直接使用strstr函數就可以去判斷字串,繞過TextFinder library不支援Wifly library的問題!!

coopermaa 提到...

Well done!
恭禧啊!

有沒有 blog post 或影片可以聞香一下?