【導(dǎo)讀】我不知道你怎么樣,但沒有車的小編出門時除了公交,首選的出行方式就是Uber了。作為一個工作生活地點比較確定的人,家里、公司和購物中心是小編常打車的三個地方。而每次用Uber打車的時候,都需要拿出手機,選擇需要服務(wù)等等……要是能有什么一鍵叫車工具就好了!
當然,現(xiàn)在市面上還沒有這樣的工具并不代表我們不能擁有一個這樣的工具,但我們有一雙勤勞的雙手,那就自己做一個吧。
第一步:工具和組件
·Arduino Mega 2560
·1Sheeld
·按鈕
·2個七段數(shù)碼管
·LCD 2x16
·USB
·PCB
·15個330Ω電阻
·小型面包板
·線材等
·用作外殼的膠合板
第二步:Uber盒子
Uber盒子的設(shè)計當然和你本身選擇的其它材料有關(guān),如果你使用的也是同樣的LCD(70x25 mm)、數(shù)碼管(12.5x19mm)和按鈕(直徑30mm),你可以下載Uberbox.ai文件作為盒子的切割標準。
第三步:測試LCD
當然,如果你確定你的LCD是完好的,這一步可以省略。
你可以按圖上的連接方式和代碼LCD_HelloWorld__.ino測試LCD以及相關(guān)的連接情況。
第四步:測試七段數(shù)碼管
測試數(shù)碼管,需要用到面包板。連接方式如下圖所示:
其中:
·a連接22,23腳
·b連接24,25腳
·c連接26,27腳
·d連接 28,29腳
·e連接30,31腳
·f連接32,33腳
·g連接 34,35腳
注意,每節(jié)數(shù)碼管和Arduino的連接之間都需要串接一個330Ω電阻。
測試代碼為_2Digit_Segments.ino.
第五步:制作PCB板
測試完成之后就需要制作能夠長時間使用的系統(tǒng),這不用說了吧。
第六步:將按鈕和第12腳相連
注意這里的引腳選擇,對Arduino了解的用戶其實也可以根據(jù)自己的需要自己定義引腳,但同時也需要對Arduino的代碼進行修改。
第七步:接入Uber API
為了能夠使用Uber,我們需要通過Uber的API接入我們的應(yīng)用,所以你需要現(xiàn)在Uber的開發(fā)者網(wǎng)站上獲取訪問令牌(access token)。這里我們可以用到Sandbox服務(wù)。
注:如果你使用的是火狐瀏覽器,推薦一個有趣的相關(guān)插件RESTClient,它能幫助你測試各種Web服務(wù)。
將以下內(nèi)容添加到抬頭:
Authorization
Bearer OAUTH2-KEY
Content-Type
application/json
獲取產(chǎn)品ID
https://sandbox-api.uber.com/v1/products
{"start_latitude":"YOUR_LAT","start_longitude":"YOUR_LONG"}
命令執(zhí)行的過程如下:
1. 發(fā)布
https://sandbox-api.uber.com/v1/requests
{"start_latitude":"YOUR_LAT","start_longitude":"YOUR_LONG","product_id":"PRODUCT_ID"}
2. 推送
https://sandbox-api.uber.com/v1/sandbox/requests/REQUEST_ID_FROM_PREVIOUS_REQUEST _RESPONSE
{"status": "accepted"}
3. 獲取
https://sandbox-api.uber.com/v1/requests/SAME_REQUEST_ID
Arduino上需要配置的代碼如下:
UberSandBox_Public.ino
UberMain_Public.ino
第八步:最后總裝
將各個部件裝進盒子里面固定好。好了,可以在家叫車了。
推薦閱讀: