【導(dǎo)讀】我不知道你怎么樣,但沒(méi)有車的小編出門時(shí)除了公交,首選的出行方式就是Uber了。作為一個(gè)工作生活地點(diǎn)比較確定的人,家里、公司和購(gòu)物中心是小編常打車的三個(gè)地方。而每次用Uber打車的時(shí)候,都需要拿出手機(jī),選擇需要服務(wù)等等……要是能有什么一鍵叫車工具就好了!
當(dāng)然,現(xiàn)在市面上還沒(méi)有這樣的工具并不代表我們不能擁有一個(gè)這樣的工具,但我們有一雙勤勞的雙手,那就自己做一個(gè)吧。
第一步:工具和組件
·Arduino Mega 2560
·1Sheeld
·按鈕
·2個(gè)七段數(shù)碼管
·LCD 2x16
·USB
·PCB
·15個(gè)330Ω電阻
·小型面包板
·線材等
·用作外殼的膠合板
Uber盒子的設(shè)計(jì)當(dāng)然和你本身選擇的其它材料有關(guān),如果你使用的也是同樣的LCD(70x25 mm)、數(shù)碼管(12.5x19mm)和按鈕(直徑30mm),你可以下載Uberbox.ai文件作為盒子的切割標(biāo)準(zhǔn)。
第三步:測(cè)試LCD
當(dāng)然,如果你確定你的LCD是完好的,這一步可以省略。
你可以按圖上的連接方式和代碼LCD_HelloWorld__.ino測(cè)試LCD以及相關(guān)的連接情況。
第四步:測(cè)試七段數(shù)碼管
測(cè)試數(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的連接之間都需要串接一個(gè)330Ω電阻。
測(cè)試代碼為_(kāi)2Digit_Segments.ino.
第五步:制作PCB板
測(cè)試完成之后就需要制作能夠長(zhǎng)時(shí)間使用的系統(tǒng),這不用說(shuō)了吧。
第六步:將按鈕和第12腳相連
注意這里的引腳選擇,對(duì)Arduino了解的用戶其實(shí)也可以根據(jù)自己的需要自己定義引腳,但同時(shí)也需要對(duì)Arduino的代碼進(jìn)行修改。
第七步:接入U(xiǎn)ber API
為了能夠使用Uber,我們需要通過(guò)Uber的API接入我們的應(yīng)用,所以你需要現(xiàn)在Uber的開(kāi)發(fā)者網(wǎng)站上獲取訪問(wèn)令牌(access token)。這里我們可以用到Sandbox服務(wù)。
注:如果你使用的是火狐瀏覽器,推薦一個(gè)有趣的相關(guān)插件RESTClient,它能幫助你測(cè)試各種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í)行的過(guò)程如下:
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
第八步:最后總裝
將各個(gè)部件裝進(jìn)盒子里面固定好。好了,可以在家叫車了。