伽利略開(kāi)發(fā)板和BeeMail (二):燈光控制
英特爾伽利略板8針接口連接到外接LED
本文引用地址:http://www.ljygm.com/article/265764.htm這一部分內(nèi)容包括:
已做好第一草圖的英特爾伽利略板
重啟保留縮草圖
和外部LED的接線
前提我需要精通熟知Arduino項(xiàng)目。目標(biāo)是向Arduino/MacOS用戶指出其潛在功能,此外以便將來(lái)記錄我的成就。
英特爾伽利略板易受靜電干擾影響,因此需要雷達(dá)電子干擾儀來(lái)防止置亂。不使用時(shí)需要放在抗靜電袋子里。
Hello World程序:開(kāi)發(fā)板上的LED閃爍
伽利略板通過(guò)13引腳接口控制LED閃爍
如果你使用Mac本,開(kāi)始時(shí)建議讀一下Stefano Guglielmetti在Arduino博客上的使用指導(dǎo)。內(nèi)容通俗易懂,且涵蓋可能出現(xiàn)的所有問(wèn)題,以供習(xí)慣于以特定方式開(kāi)發(fā)Arduino專(zhuān)業(yè)人員參考。從SparkFun著手則更為深入。我多希望我在做項(xiàng)目前通讀過(guò)它!這些知識(shí)會(huì)讓我時(shí)間更充裕。我的項(xiàng)目進(jìn)行如下:
從因特爾伽利略官網(wǎng)上下載軟件,網(wǎng)址也叫做“Arduino”。重命名后移動(dòng)到應(yīng)用程序文件夾并盡量(使用少于8個(gè)字母)不使用空格給軟件命名。(比如用“ArduiG”而非“Arduino Galileo”)。開(kāi)關(guān)程序確保其正常運(yùn)行。當(dāng)程序運(yùn)行時(shí),不用理會(huì)菜單欄依舊顯示Arduino。
為避免我從Intel官網(wǎng)上下載的程序和現(xiàn)有程序沖突,我將開(kāi)發(fā)環(huán)境重命名為“Arduino Galileo”,打開(kāi)程序就沒(méi)問(wèn)題了。然而升級(jí)固件時(shí)程序彈出失敗通知“<< 目標(biāo)固件版本查詢(xún)失敗 >>”。去伽利略板論壇上我找到了關(guān)于文件命名的答案。那里也有很多關(guān)于蘋(píng)果系列文件命名的建議。
Sparkfun上也可以得到許多關(guān)于Windows和Linux系統(tǒng)的操作小貼士。即使不使用Mac本,我相信至少你也得安裝驅(qū)動(dòng)。
用外部電源給伽利略板供電10秒左右。我相信每個(gè)人都會(huì)強(qiáng)調(diào)這一點(diǎn)。
有幾次我忘了這樣做,雖然板子沒(méi)損壞,但這樣確實(shí)很冒險(xiǎn)。為什么說(shuō)呢?伽利略板需要USB2.0大于500mA的供電才能工作,同時(shí)受USB通訊接口影響,在序列啟動(dòng)過(guò)程中可能會(huì)有能量損失,我相信誰(shuí)都不想毀了這塊開(kāi)發(fā)板吧?雖然這只是個(gè)假設(shè)。另一個(gè)原因也可能來(lái)源于硬件,但我還沒(méi)來(lái)得及檢查原理圖。
外部供電必須是標(biāo)準(zhǔn)整流5V電源。伽利略板本來(lái)在3V電壓下工作,所以供電電路無(wú)法滿足12V的Arduino馬達(dá)或者條帶狀LED所要求的工作電壓。詳見(jiàn)相關(guān)供電說(shuō)明:Adafruit, SparkFun和Apogee Kits。
插入U(xiǎn)SB數(shù)據(jù)線(緊鄰以太網(wǎng)接口),找到第10個(gè)引腳。然后打開(kāi)Intel Galileo Arduino IDE,隨你怎樣稱(chēng)呼。
從“工具 > 串聯(lián)接口”中找到伽利略板。在Mac上,伽利略板的正確接口在/dev/cuXXX port,而不是/dev/ttyXXX port。我至少忘了兩次,以至于當(dāng)我正確接好開(kāi)發(fā)板并接通電源后,被提示“開(kāi)發(fā)板不可用” 錯(cuò)誤困擾。伽利略板上的USB驅(qū)動(dòng)芯片不同于ol’ Duemilanove,英特爾就希望與眾不同。
查看這方面技術(shù)的發(fā)展進(jìn)程,你會(huì)發(fā)現(xiàn)tty和cu之間很早就有了較深的對(duì)話和交流。其中我查到的都是行話。不過(guò)傳統(tǒng)意義上的cu供高級(jí)開(kāi)發(fā)工程師之間建立聯(lián)系,而tty致力于依賴(lài)型設(shè)備之間建立聯(lián)系。
如果沒(méi)看到開(kāi)發(fā)板列表,網(wǎng)站會(huì)建議你:首先關(guān)閉Arduino軟件,接下來(lái)從電腦上拔下數(shù)據(jù)線。重復(fù)操作直到端口識(shí)別。重啟電腦有助于調(diào)試。
通過(guò)“幫助 > 固件”升級(jí)固件,命名的問(wèn)題解決了,再重啟程序,一切就都正常運(yùn)行了。
觀察第13個(gè)引腳上LED的閃爍情況(正常)。
在閃爍控制草圖里修改延遲時(shí)間,再次觀察(正常)。
設(shè)定SD卡
伽利略板非常智能。整個(gè)操作系統(tǒng)以折疊壓縮的方式將所有文件封裝在一塊微型芯片中,每次供電時(shí),代碼展開(kāi)進(jìn)入內(nèi)存,電量減弱時(shí)進(jìn)行再處理。很美妙,是吧?然而智能的開(kāi)發(fā)板卻讓Arduino的草圖無(wú)處藏身。SD卡有一個(gè)能容納草圖和諸如Python和WiFi等功能的多引腳空間。因此,有了伽利略板,加上一個(gè)1GB到32GB的存儲(chǔ)卡,并實(shí)現(xiàn)數(shù)據(jù)讀取。這里我再次提到SparkFun輔助網(wǎng)站,這一步運(yùn)行很順利。
從驅(qū)動(dòng)頁(yè)面為英特爾伽利略板下載LINUX IMAGE FOR SD
解壓文件
以系統(tǒng)管理員身份將文件添加入SD卡
把SD卡插在未上電的伽利略板
插上電源,等待USB和SD卡指示燈亮起,然后停止閃爍。
插上USB數(shù)據(jù)線
重新打開(kāi)軟件
從“工具 > 串聯(lián)接口”中找到設(shè)備(名字需要修改,仍改為/dev/cuXXX port)
加載閃爍草圖
退出軟件
拔出USB數(shù)據(jù)線
拔掉電源
插上電源,再等待20~40秒,觀察閃爍情況
對(duì)我來(lái)說(shuō),最大的困難在于7-zip版本下解壓文件。在Mac本上,軟件像Unarchiver一樣工作。(多虧了SparkFun!)我第一次準(zhǔn)備好SD卡時(shí),花了好久才找到不受這個(gè)文檔大小限制、并很容易在mac上配置的軟件(但Springy設(shè)置了收費(fèi)墻)??墒悄翘觳还芪以趺磁疾恍?。后來(lái)我還是用的Windows機(jī)實(shí)現(xiàn)的。
控制外部LED閃爍
下一步是讓外部LED亮起來(lái)。通常Arduino101 I與LED通過(guò)微控制器的陽(yáng)極相連,因此設(shè)置digitalWrite(我的引腳為高電平)LED就會(huì)被點(diǎn)亮。燒壞伽利略板引腳的后果比Uno的嚴(yán)重,而且說(shuō)明書(shū)上注明了伽利略板設(shè)計(jì)為最高發(fā)出10mA電流,接收時(shí)為最高25mA。因此我建議用負(fù)邏輯代替。負(fù)邏輯就意味著LED陰極(接地端)與微控制器相連,因此微控制器可分得更多能量。
評(píng)論