18
編者注:本項(xiàng)目編譯自Instructables,轉(zhuǎn)載請(qǐng)注明出處。
我不知道你怎么樣,但沒有車的小編出門時(shí)除了公交,首選的出行方式就是Uber了。作為一個(gè)工作生活地點(diǎn)比較確定的人,家里、公司和購物中心是小編常打車的三個(gè)地方。而每次用Uber打車的時(shí)候,都需要拿出手機(jī),選擇需要服務(wù)等等……要是能有什么一鍵叫車工具就好了!
當(dāng)然,現(xiàn)在市面上還沒有這樣的工具并不代表我們不能擁有一個(gè)這樣的工具,但我們有一雙勤勞的雙手,那就自己做一個(gè)吧。
Arduino Mega 2560
按鈕
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)。
當(dāng)然,如果你確定你的LCD是完好的,這一步可以省略。
你可以按圖上的連接方式和代碼LCD_HelloWorld__.ino測(cè)試LCD以及相關(guān)的連接情況。
測(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è)試代碼為_2Digit_Segments.ino.
測(cè)試完成之后就需要制作能夠長時(shí)間使用的系統(tǒng),這不用說了吧。
注意這里的引腳選擇,對(duì)Arduino了解的用戶其實(shí)也可以根據(jù)自己的需要自己定義引腳,但同時(shí)也需要對(duì)Arduino的代碼進(jìn)行修改。
為了能夠使用Uber,我們需要通過Uber的API接入我們的應(yīng)用,所以你需要現(xiàn)在Uber的開發(fā)者網(wǎng)站上獲取訪問令牌(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í)行的過程如下:
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上需要配置的代碼如下:
將各個(gè)部件裝進(jìn)盒子里面固定好。
測(cè)試一下吧。
2015-2016賽季全球創(chuàng)客馬拉松北理工珠海學(xué)院站已經(jīng)開始接受報(bào)名啦!關(guān)注“硬創(chuàng)邦”(微信號(hào):leiphone_bang),回復(fù)“北理工”即可參與報(bào)名!此外還可加入全球創(chuàng)客馬拉松主群(群號(hào):259592983),參與我們的互動(dòng)討論~
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。