編者註:本項目來自Instructables,原作者funelab打造了一個非常亮眼的通知提示燈,該興趣的創客朋友也可以將其移植到微博平臺上吧。
我是個IT從業人員,不過平時總是太忙,所以也不經常上Facebook或者刷Twitter。不過幹這一行的人都懂得,效率就是生命,所以我要快速地在各種信息流中摸爬滾打,智慧型手機的推送服務可以滿足我的要求,但我喜歡與眾不同,所以就直接動手給自己做了一個通知燈,這可不是手機上那個小亮點,是真的燈哦!
我找了玻璃罐來做燈罩,將Gmail、Twitter和Facebook等圖標的卡通燈放進去充當光源。
第一步:通知燈簡介上圖就是我的通知燈,當你收到新的消息,它們就會亮起來,是不是酷斃了!
忘了那些容易漏掉的提示音吧,我的通知燈可以亮起不同的顏色來引起你的注意,當你看過信息後,它還會自動熄滅,用起來絕對超讚!
此外,我的通知燈還裝配了Seeedstudio公司的grove傳感器,還能充當家裡的火警警報器。
第二步:原材料清單以下就是製作通知燈所需的原材料:
電子元件:
工具:
手鋸
電鑽
鑽頭
熱熔膠和膠槍
強力膠
電烙鐵
焊料
剪線鉗
老虎鉗等
第三步:電源模塊降壓電源模塊我選擇了LM2596,它可以給LED提供穩定的5V電壓並能控制整個電路。此外,英特爾的Edison開發板還集成了穩壓器電路。
下面我列舉了一些LM2596模塊的詳細參數:
輸入:3V到40V的直流電(輸入電壓需要比輸出電壓高出至少1.5V)。
輸出:1.5V到35V的直流電,電壓連續可調,最大輸出電流可達3A。
功能:電感Q值高,可帶動高功率LED提示燈。
三維:長寬高分別為45、20和14毫米。
我利用模塊上預載的小型電位計調整了輸出電壓,一般5V或者稍低就足夠了;如果你將電壓調到5.5V,就可能會損壞集成電路和LED;所以,調整電壓時要慎之又慎。
LM2596模塊是我的最愛,它功能豐富,價格實惠。
第四步:HC-SR505 Mini紅外動作傳感器這個紅外動作傳感器可以偵測到靠近通知燈的人,有人移動時,燈就會變色。
該傳感器使用方便,只需一個引腳就能完成輸出。
第五步:RGB LED燈移位PWM測試實話說我對移位寄存器很感興趣,特別是74HC595這個型號。通過這個移位寄存器,你可以在Arduino平臺上控制RGB LED燈。此外,你還可以通過SPI,在Arduino平臺上實現PWM調製。
在上圖中,我就利用英特爾Edison平臺通過UART(通用異步收發器)與Arduino pro mini 進行了通信,而且我還改變了一系列顯示效果。
詳解:
每個RGB LED都可顯示三原色,從而與3 pin控制器相對應。每個8位的74HC595移位寄存器有8個控制輸出,在這個項目中,我需要控制16個RGB LED,所以我需要16x3的48 pin控制,也就意味著我要準備6個移位寄存器。
怎樣將代碼上傳至Aeduino Mini:
近來我一直在搞Arduino編程,希望能在這上面做出點成績來。不過如果你想將代碼上傳,需要嘗試下下面的方法。
首先,你需要一個USB串行光適配器或Arduino Uno,或Duemillanove,反正只要能充當HOST的可拆卸晶片就行。
大體上來說,只要將Arduino和5V的接地線、發射器、接收器連起來並重置Arduino Mini就好。搞定之後重頭戲就來了,將ATMega晶片從HOST板上取下,然後按正常程序將代碼上傳至Arduino。好啦,這一步也完成啦。
關於編程:
在這裡我使用了ShiftPWM的庫,它對我幫助很大。如果需要,你可以去Elcojacops Githup下載,其中的示例文件很值得參考。
參閱了相關文檔後,我將脈寬調變的頻率設定為60,最高亮度設定為200。
第六步:電路圖和Arduino專用的程序我為Arduino pro mini開發的脈寬調變RGB LED程序,請各位自行下載使用。
第七步:製作電路板對於熱愛各類電子設備的人來說,製作PCB電路板是個再簡單不過的工作了。只要去網上找一個電路圖,你就可以製作出任何你喜歡的電路板了。
這就是我搜集的一些印製電路板,因為我要做九個燈,所以我需要九塊電路板,九也是我最喜歡的數字。
連結中的是我製作電路的示意圖和配置圖,需要的小夥伴可自行下載。
第八步:焊接LED燈整個焊接過程我非常小心,所以過程也變的比較艱難。所以,這步最好心情好的時候去做,要不你肯定會抓狂的。
第九步:設計圖標燈和框架找到合適的Twitter、Facebook、Gmail等圖標文件。
然後用5毫米厚的亞克力板為其製作框架,接著用2毫米厚的亞克力板為整個框架封口。
下面的文件就是我當時畫的圖標,如果需要,你可以下載後在Corel Draw X7或更新版本的軟體中打開它。
第十步:雷射切割亞克力材料我手頭上並沒有雷射切割機,原因很簡單:窮!所以我只好找了當地一家工廠幫我加工。如果你跟我的情況類似,我勸你也去找家工廠代工一下吧。
為了節省材料,我將圖標都集中到了一塊亞克力板上。此外,你可以為這些圖標定製不同的顏色,比如紅色的Gmail、藍色的Facebook和Twitter。
第十一步:為玻璃罐留好位子玻璃罐的直徑為3英寸,所以我只做了一個直接約14.5英寸的燈架,這樣就可以一次掛住九個通知燈了。
如圖所示,我讓通知燈圍成一圈,這樣看起來無比地和諧,你們說是不是?
第十二步:測試3毫米LED的亮度這一步就要讓你的圖標燈亮起來了,我選了3毫米的LED燈,它們亮度很強,色彩豐富。通過不同的色彩,我就能獲得不同的信息。
搞定之後記得用測試板測一下亮度,因為有些透明的LED亮度比其他的要高的多。
第十三步:組裝圖標燈焊接LED燈的時候我選擇了並聯的方式,完成後我將它們裝入圖標燈中。慢工出細活,這一步需要你做到一絲不苟。
用強力膠將LED站在圖標燈中,然後再用塑料繩固定好各路線材,以防它們露出燈外影響美觀。
這一步一定要認真,要不然你做出的圖標燈肯定很醜。
第十四步:測試圖標燈的亮度裝好圖標燈後,我又對它們進行了測試,以保證它們通電時能及時亮起。
第十五步:將圖標燈安裝在印製電路板上這一步中,你需要將圖標燈焊接在LED電路板上,一根電線連接5V電源,另一根則作為控制線來使用。
第十六步:將印製電路板安裝在玻璃罐罐口蓋子下面,我用了泡沫膠帶為電路板提供支撐。然後用塑料繩將蓋子和印製電路板固定在一起,以防玻璃罐掉落。
第十七步:最後的檢查最後再檢查一次,保證通電時燈能正常亮起。
第十八步:用絕緣套管為電線做絕緣處理第十九步:將玻璃罐掛在亞克力框架上記得用塑料繩來固定。
第二十步:開始對英特爾Edison平臺進行配置並檢查grove傳感器在這個項目中,我使用了英特爾Edison開發板,所以開始前我好好閱讀了該平臺的說明書。
英特爾Edison運行時需要一個USB驅動,安裝好該驅動後,你的電腦上會出現3個虛擬串口。
如果你是個新手,推薦你看下Edison的入門指南。
接下來,你需要安裝Flash Tool Lite,它是更新開發版固件時的首選方式。固件就是你開發板的作業系統,通過它你可以使用Wi-Fi、藍牙、模擬和數字控制等功能。為了提高開發板的穩定性和性能表現,我推薦你及時對其進行固件升級。
連上Wi-Fi後,你就擁有了一臺真正的物聯網設備。
連接網絡:
想要聯網,恐怕你還得對代碼做些許修改,請按以下兩行代碼執行。
char ssid[] = "YOUR NETWORK"; // 你的網絡的SSID
char pass[] = "NETWORK PASSWORD"; // 你的網絡密碼
在製作過程中,我使用了grove傳感器系統,該系統很容易連接,它包括MQ2瓦斯傳感器、火焰傳感器、空氣品質傳感器、紅外溫度傳感器和揚聲器。想要了解更多信息你可以參考Grove的維基百科介紹。
下載本文件並在英特爾的Arduino IDE中將其打開以進行測試。
第二十一步:為你的英特爾Edison平臺編程在這次的項目中,我主要通過三種方式來獲取信息,不過它們有一個共同點,那就是運行python文件並通過API從網際網路上獲取信息,隨後這些信息會被保存為一個文本文檔,我只需要閱讀文檔就能獲取所有想要的信息。
更新天氣情況
通知燈的天氣信息源來自openweathermap.org。這個程序很方便,只要有一個能用Arduino IDE編程並能連接Wi-Fi的微控制器就行。該程序會對openweather的伺服器發出一個HTTP請求,隨後還會利用TextFinder Arduino庫來尋找詳細的相關信息,如當前的溫度等,隨後它會將這些信息存儲下來。
不過想要拿到免費的開發密匙(API Key),你得先去申請個免費帳戶,這樣你就能在openweather的網站上隨時獲取信息了。請訪問本連結來完成這一步。
敲擊回車鍵後,屏幕上會出現以下參數:
{"id":88319,"dt":1345284000,"name":"Benghazi",
"coord":{"lat":32.12,"lon":20.07},
"main":{"temp":306.15,"pressure":1013,"humidity":44,"temp_min":306,"temp_max":306},
"wind":{"speed":1,"deg":-7},
"weather":[
{"id":520,"main":"rain","description":"light intensity shower rain","icon":"09d"},
{"id":500,"main":"rain","description":"light rain","icon":"10d"},
{"id":701,"main":"mist","description":"mist","icon":"50d"}
],
"clouds":{"all":90},
"rain":{"3h":3}}
我會取其中幾個參數用在天氣的通知燈中。你只需要將其保存成文本文檔並使用Arduino IDE對其進行讀取就行。
更新未讀郵件
想要知道到底有多少未讀郵件?你只需連接到一個IMAP4伺服器,然後輸入用戶名和密碼進行驗證就行。幫你完成這一切的是存儲在英特爾Edison中的python文件。
當Edison發現你有一兩封未讀郵件,就會亮起Gmail的燈來提示你。
更多信息請參閱Sparkfun的教程。
關於Facebook和Twitter的新通知
在這裡,我們需要使用Facebook Graph。
你需要生成一個訪問令牌(Acess Token)。這一步中,只需要依次在屏幕上點擊「Get Access Token」和「Extended Permissions」,然後選擇「manage_notification」就好。想要使用這個訪問令牌,請訪問https://graph.facebook.com/me/notifications?acces...
搞定後你會收到一些JSON格式的信息反饋,不過我們能用到的只有後面的「summary」信息。下面是一些你可能會用到的代碼:
while True:
r = urllib2.urlopen('https://graph.facebook.com/me/notifications?access_token=your_access_token')
html = r.read()
data = json.loads(html);
if len(data['summary']) == 0:
write_led(0)
else:
write_led(1)
time.sleep(3)
請下載下列文件並運行。
IoT_Chandelier.ino
fb.py fb.py
mail.py mail.py
注意:請將Python文件保存到/home/root/Chandelier/。
第二十二步:固定好英特爾Edison平臺和各類傳感器第二十三步:掛起通知燈第二十四步:享受各類信息通知的狂轟濫炸吧
通知燈製作完成。
http://news.zol.com.cn/552/5523491.html news.zol.com.cn true 中關村在線 http://news.zol.com.cn/552/5523491.html report 9238 編者註:本項目來自Instructables,原作者funelab打造了一個非常亮眼的通知提示燈,該興趣的創客朋友也可以將其移植到微博平臺上吧。我是個IT從業人員,不過平時總是太忙,所以也不經常上Facebook或者刷Twitter。不過幹這一行的人都懂得,效率就是生命,所以我要快速地在...