18
編者注:本項目編譯自Instructables,轉載請注明出處。
我不知道你怎么樣,但沒有車的小編出門時除了公交,首選的出行方式就是Uber了。作為一個工作生活地點比較確定的人,家里、公司和購物中心是小編常打車的三個地方。而每次用Uber打車的時候,都需要拿出手機,選擇需要服務等等……要是能有什么一鍵叫車工具就好了!
當然,現(xiàn)在市面上還沒有這樣的工具并不代表我們不能擁有一個這樣的工具,但我們有一雙勤勞的雙手,那就自己做一個吧。
Arduino Mega 2560
按鈕
2個七段數(shù)碼管
LCD 2x16
USB
PCB
15個330Ω電阻
小型面包板
線材等
用作外殼的膠合板
Uber盒子的設計當然和你本身選擇的其它材料有關,如果你使用的也是同樣的LCD(70x25 mm)、數(shù)碼管(12.5x19mm)和按鈕(直徑30mm),你可以下載Uberbox.ai文件作為盒子的切割標準。
當然,如果你確定你的LCD是完好的,這一步可以省略。
你可以按圖上的連接方式和代碼LCD_HelloWorld__.ino測試LCD以及相關的連接情況。
測試數(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.
測試完成之后就需要制作能夠長時間使用的系統(tǒng),這不用說了吧。
注意這里的引腳選擇,對Arduino了解的用戶其實也可以根據(jù)自己的需要自己定義引腳,但同時也需要對Arduino的代碼進行修改。
為了能夠使用Uber,我們需要通過Uber的API接入我們的應用,所以你需要現(xiàn)在Uber的開發(fā)者網站上獲取訪問令牌(access token)。這里我們可以用到Sandbox服務。
注:如果你使用的是火狐瀏覽器,推薦一個有趣的相關插件RESTClient,它能幫助你測試各種Web服務。
將以下內容添加到抬頭:
Authorization
Bearer OAUTH2-KEY
Content-Type
application/json
獲取產品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上需要配置的代碼如下:
將各個部件裝進盒子里面固定好。
測試一下吧。
2015-2016賽季全球創(chuàng)客馬拉松北理工珠海學院站已經開始接受報名啦!關注“硬創(chuàng)邦”(微信號:leiphone_bang),回復“北理工”即可參與報名!此外還可加入全球創(chuàng)客馬拉松主群(群號:259592983),參與我們的互動討論~
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。