你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
全民創(chuàng)客時(shí)代,自己DIY一個(gè)智能手表
發(fā)布時(shí)間:2015-12-21 來(lái)源:EDN電子技術(shù)設(shè)計(jì) 責(zé)任編輯:wenwei
【導(dǎo)讀】說(shuō)到可穿戴設(shè)備,我們一般首先想到的就是智能手表。買(mǎi)一個(gè)時(shí)尚的智能手表當(dāng)然不錯(cuò),但作為一個(gè)創(chuàng)客,你也可以選擇和我一樣自己做一個(gè)!我給這個(gè)DIY的智能手表起名為Retro Watch,整個(gè)項(xiàng)目基于Android和Arduino開(kāi)發(fā)板,項(xiàng)目的所有軟硬件設(shè)計(jì)都是開(kāi)源的。你可以在Github下載源碼或貢獻(xiàn)自己的力量
第一步:系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
如上圖所示,Retro Watch的結(jié)構(gòu)比較簡(jiǎn)單:硬件平臺(tái)基于Arduino,上面只有一個(gè)控制按鈕。另外,我還開(kāi)發(fā)了基于安卓系統(tǒng)的應(yīng)用,讓手表可以通過(guò)藍(lán)牙和安卓設(shè)備進(jìn)行連接,這樣我們就可以通過(guò)Retro Watch查看安卓設(shè)備上的RSS推送和系統(tǒng)通知了。
第二步:組件準(zhǔn)備
因?yàn)槲覀円龅氖且粋€(gè)智能手表,確保各個(gè)組件的小巧也是關(guān)鍵之一。
Arduino微控制器
我選擇的是最小巧的Arduino,Pro Mini,這是一個(gè)Uno R3的輕量級(jí)版本。上面甚至沒(méi)有USB接口芯片,所以還需要額外準(zhǔn)備一個(gè)USB轉(zhuǎn)UART模塊。這款A(yù)rduino有兩個(gè)工作電壓不同的版本(3.3v/5v),我選擇的是3.3V的版本,因?yàn)樗{(lán)牙模塊和顯示屏都支持3.3V,3.7V的LiPo電池也能正常使用。
3.3V版本的Arduino的工作頻率為8MHz,5V版本的工作頻率為16MHz,但8MHz足夠使用了。
一般Arduino Pro Mini的核心處理器件是ATmega328單片機(jī),其RAM為2KB;而只配置有1KB RAM的ATmega128的Arduino版本是不夠用的。
藍(lán)牙
HC~06藍(lán)牙模塊比較常見(jiàn)。其中有一款帶有一個(gè)接口板,上面包含一個(gè)重置按鈕和一個(gè)LED,但體積也相對(duì)較大。鑒于接口板對(duì)本項(xiàng)目沒(méi)多大意義,還額外增加了成本,所以這里選擇的不帶接口板的HC~06。
顯示屏
我們需要一塊足夠小、功耗足夠低的顯示屏。我最后選擇了Adafruit的0.96英寸的128×64 OLED顯示屏,支持I2C,SPI,可以很方便地和Arduino進(jìn)行連接。我這里選用的是I2C和SSD1306驅(qū)動(dòng)芯片。
電池
我的選擇是3.7V LiPo電池,容量為140mAh。一般使用可堅(jiān)持7小時(shí)。同樣,選擇電池的尺寸很重要。
其它
除了線材等組件之外,還需要用到一顆10 kΩ電阻(用于按鈕連接)。
第三步:組裝
整個(gè)系統(tǒng)的硬件結(jié)構(gòu)連接圖如下所示:
藍(lán)牙連接Arduino:
·VCC ~ 3.3V
·GND ~ GND
·TX ~ D2
·RX ~ D3
OLED連接Arduino:
·GND ~ GND
·VCC ~ VCC
·SDA ~ A4(模擬引腳4)
·SCL ~ A5(模擬引腳5)
如果使用的是SPI接口,則可以參考Adafruit教程按如下方式連接:
·D1 : MOSI ~ Arduino D11 (MOSI)
·D2 : MISO ~ Arduino D12 (MISO)(可選)
·D0 : CLK ~ Arduino D13 (SCK)
·DC : DC(數(shù)據(jù)命令)~ Arduino D8(或其它)
·CS : CS(芯片選擇) ~ Arduino D10 (SS)
·RES : RESET ~ Arduino D9 (或其它)
按鈕:
連接方式如圖,注意這里要用到一個(gè)10 kΩ電阻。
電池連接Arduino:
·正極 ~ RAW
·負(fù)極 ~GND
USB轉(zhuǎn)UART模塊連接Arduino:
·3.3V ~ VCC
·TXD ~ RXD
·RXD ~ TXD
·GND ~ GND
安裝尺寸如下:
第四步:編譯Arduino代碼并上傳
已經(jīng)做好的Arduino項(xiàng)目可以在GitHub上下載。下載好了之后別急著編譯,還需要先配置一下開(kāi)發(fā)環(huán)境。
安裝圖形驅(qū)動(dòng):
首先需要安裝圖形處理庫(kù) Adafruit_SSD1306和Adafruit-GFX-Library,這樣才能在OLED上顯示圖像。(在某些開(kāi)發(fā)環(huán)境下,Adafruit庫(kù)會(huì)與Robot_xxx庫(kù)產(chǎn)生沖突;如果發(fā)生了這種情況,備份Robot_xxx庫(kù)后將其從庫(kù)文件夾中刪除。)
警告:如果你使用的是帶SH1106驅(qū)動(dòng)的OLED,那就在GitHub上下載Adafruit_SH1106驅(qū)動(dòng)。
另外,本項(xiàng)目也支持u8glib了,你可以在其官方主頁(yè)下載支持Arduino的版本。
復(fù)制位圖圖像頭文件:
將RetroWatchArduino文件夾中的bitmap.h文件復(fù)制到路徑/Arduino安裝文件夾/Arduino/hardware/libraries/RetroWatch。如果沒(méi)有這樣的路徑,可以自己創(chuàng)建。
修改源代碼:
打開(kāi)Arduino IDE并載入RetroWtchArduino.ino。如果你使用的引腳和本教程不一樣,需要對(duì)引腳定義進(jìn)行修改:
SoftwareSerial BTSerial(9, 8); //藍(lán)牙TX, RX連接引腳
int buttonPin = 5; // 按鈕引腳
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // OLED I2C地址,使用你的地址替換Ox3D
如果你使用的是u8glib,那么就載入RetroWatchArduino_u8glib.ino文件,然后注意以下代碼:
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); //根據(jù)你選用的顯示屏進(jìn)行修改
SoftwareSerialBTSerial(2,3); // 藍(lán)牙TX, RX連接引腳
int buttonPin = 5; // 按鈕引腳
如果你使用的是Adafruit的圖形庫(kù),并有使用到OLED的Reset引腳,那就將OLED的Reset和Arduino的D8引腳相連,當(dāng)然也可以自定義:
#define OLED_RESET 8
Adafruit_SSD1306 display(OLED_RESET);
編譯和上傳:
以上步驟完成之后編譯上傳,成功之后顯示屏上面會(huì)顯示RetroWatch Arduino Logo和Adafruit Logo。Logo之后屏幕會(huì)顯示00:00,如下圖所示:
第五步:安卓軟件及其源代碼
因?yàn)锳ndroid 4.3之后的版本才支持從應(yīng)用讀取通知信息,所以請(qǐng)確保你的安卓設(shè)備安裝的是Android 4.3或更新的系統(tǒng)版本。但如果你使用的是低于4.3的版本,可以使用另一個(gè)閹割版的應(yīng)用:能夠通過(guò)智能手表接收通知,但無(wú)法讀取內(nèi)容。應(yīng)用源代碼可以在GitHub上查看,也可以直接通過(guò)Google Play Store進(jìn)行安裝(RetroWatch或適合低版本系統(tǒng)的RetroWatch LE)。
安卓軟件安裝之后檢查一下系統(tǒng)是否授予了其讀取通知的權(quán)限。
接下來(lái)打開(kāi)手機(jī)藍(lán)牙,將安卓手機(jī)和Arduino的藍(lán)牙進(jìn)行配對(duì)。然后在RetroWatch軟件中選擇連接好的Arduino,界面上顯示“Connected”即表示連接成功。
點(diǎn)擊菜單,選擇Data transfer to Watch(傳輸數(shù)據(jù)到手表),然后設(shè)備會(huì)用過(guò)藍(lán)牙將時(shí)間和信息傳輸?shù)街悄苁直怼?/div>
因?yàn)槭直碛布男阅苡邢?,很多功能我們需要通過(guò)安卓應(yīng)用實(shí)現(xiàn),手表本身的主要功能是顯示。在安卓應(yīng)用中,你可以設(shè)置可推送消息(僅支持英文字符顯示)和狀態(tài)通知(手機(jī)電池電量和信號(hào)強(qiáng)度等)的類型,也可以推送應(yīng)用中訂閱的RSS(可以訂閱天氣RSS,用來(lái)在手表上顯示天氣)。更新每30分鐘同步一次。
另外,應(yīng)用中還提供了65個(gè)不同的顯示圖標(biāo),你可以自己定義設(shè)置。
第六步:手表功能介紹
安裝就緒之后就該探索一下我們的智能手表了。智能手表的系統(tǒng)按照以下模式工作:
啟動(dòng)顯示: 顯示Logo,手表啟動(dòng)。
時(shí)鐘顯示: 顯示與之相連的安卓手機(jī)上的時(shí)間。另外,時(shí)間的顯示還可以修改,目前提供了模擬顯示、數(shù)字顯示和混合顯示三種模式。如果你點(diǎn)擊一下按鈕,則手表進(jìn)入緊急信息顯示模式。如果10分鐘內(nèi)沒(méi)有什么數(shù)據(jù)更新和操作,則顯示界面會(huì)切換到待機(jī)界面。
緊急信息顯示: 當(dāng)用戶點(diǎn)擊按鈕或有新的緊急信息輸入時(shí),手表進(jìn)入這一模式。用戶可以再次點(diǎn)擊按鈕查看下一條信息,10秒不操作,手表也會(huì)自動(dòng)顯示下一條信息。信息顯示完成之后,手表切換到普通信息顯示。因?yàn)镽AM只有2KB,非常小。所以該智能手表最多存儲(chǔ)3條緊急信息,多于3條時(shí)則自動(dòng)刪除最舊的信息。
普通信息顯示: 緊急信息展示完成之后手表會(huì)繼續(xù)展示普通信息,點(diǎn)擊按鈕或5秒不操作就顯示下一條信息。信息顯示完成之后,手表切換回時(shí)鐘顯示。普通信息最多存儲(chǔ)7條。
待機(jī)顯示: 如果10分鐘內(nèi)沒(méi)有什么數(shù)據(jù)更新和操作,顯示界面會(huì)切換到待機(jī)界面。在這一模式下,手表界面僅顯示指示符(可在安卓應(yīng)用中選擇)和hh:mm模式的時(shí)間,其功耗也降低了。在待機(jī)模式下點(diǎn)擊按鈕或收到新信息,手表進(jìn)入時(shí)鐘顯示模式。
第七步:外部結(jié)構(gòu)制作
你可以自己手工制作一個(gè)簡(jiǎn)單的包裝:
也可以下載3D文件制作一個(gè)造型炫酷的手表:
當(dāng)然,你完全可以選擇不戴手表,做個(gè)桌面提醒器也不錯(cuò):
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 更高精度、更低噪音 GMCC美芝電子膨脹閥以創(chuàng)新?lián)屨夹袠I(yè)“制高點(diǎn)”
- 本立租完成近億元估值Pre-A輪融資,打造AI賦能的租賃服務(wù)平臺(tái)
- 中微公司成功從美國(guó)國(guó)防部中國(guó)軍事企業(yè)清單中移除
- 華邦電子白皮書(shū):滿足歐盟無(wú)線電設(shè)備指令(RED)信息安全標(biāo)準(zhǔn)
- 功率器件熱設(shè)計(jì)基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
技術(shù)白皮書(shū)下載更多>>
- 車(chē)規(guī)與基于V2X的車(chē)輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車(chē)安全隔離的新挑戰(zhàn)
- 汽車(chē)模塊拋負(fù)載的解決方案
- 車(chē)用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
共模電感
固態(tài)盤(pán)
固體繼電器
光傳感器
光電池
光電傳感器
光電二極管
光電開(kāi)關(guān)
光電模塊
光電耦合器
光電器件
光電顯示
光繼電器
光控可控硅
光敏電阻
光敏器件
光敏三極管
光收發(fā)器
光通訊器件
光纖連接器
軌道交通
國(guó)防航空
過(guò)流保護(hù)器
過(guò)熱保護(hù)
過(guò)壓保護(hù)
焊接設(shè)備
焊錫焊膏
恒溫振蕩器
恒壓變壓器
恒壓穩(wěn)壓器
友情鏈接(QQ:317243736)
我愛(ài)方案網(wǎng) ICGOO元器件商城 創(chuàng)芯在線檢測(cè) 芯片查詢 天天IC網(wǎng) 電子產(chǎn)品世界 無(wú)線通信模塊 控制工程網(wǎng) 電子開(kāi)發(fā)網(wǎng) 電子技術(shù)應(yīng)用 與非網(wǎng) 世紀(jì)電源網(wǎng) 21ic電子技術(shù)資料下載 電源網(wǎng) 電子發(fā)燒友網(wǎng) 中電網(wǎng) 中國(guó)工業(yè)電器網(wǎng) 連接器 礦山設(shè)備網(wǎng) 工博士 智慧農(nóng)業(yè) 工業(yè)路由器 天工網(wǎng) 乾坤芯 電子元器件采購(gòu)網(wǎng) 亞馬遜KOL 聚合物鋰電池 工業(yè)自動(dòng)化設(shè)備 企業(yè)查詢 工業(yè)路由器 元器件商城 連接器 USB中文網(wǎng) 今日招標(biāo)網(wǎng) 塑料機(jī)械網(wǎng) 農(nóng)業(yè)機(jī)械 中國(guó)IT產(chǎn)經(jīng)新聞網(wǎng) 高低溫試驗(yàn)箱
?
關(guān)閉
?
關(guān)閉