编者注:本项目编译自Instructables,转载请注明出处。
我不知道你怎么样,但没有车的小编出门时除了公交,首选的出行方式就是Uber了。作为一个工作生活地点比较确定的人,家里、公司和购物中心是小编常打车的三个地方。而每次用Uber打车的时候,都需要拿出手机,选择需要服务等等……要是能有什么一键叫车工具就好了!
当然,现在市面上还没有这样的工具并不代表我们不能拥有一个这样的工具,但我们有一双勤劳的双手,那就自己做一个吧。
Arduino Mega 2560
按钮
2个七段数码管
LCD 2x16
USB
PCB
15个330Ω电阻
小型面包板
线材等
用作外壳的胶合板
Uber盒子的设计当然和你本身选择的其它材料有关,如果你使用的也是同样的LCD(70x25 mm)、数码管(12.5x19mm)和按钮(直径30mm),你可以下载Uberbox.ai文件作为盒子的切割标准。
当然,如果你确定你的LCD是完好的,这一步可以省略。
你可以按图上的连接方式和代码LCD_HelloWorld__.ino测试LCD以及相关的连接情况。
测试数码管,需要用到面包板。连接方式如下图所示:
其中:
a连接22,23脚
b连接24,25脚
c连接26,27脚
d连接 28,29脚
e连接30,31脚
f连接32,33脚
g连接 34,35脚
注意,每节数码管和Arduino的连接之间都需要串接一个330Ω电阻。
测试代码为_2Digit_Segments.ino.
测试完成之后就需要制作能够长时间使用的系统,这不用说了吧。
注意这里的引脚选择,对Arduino了解的用户其实也可以根据自己的需要自己定义引脚,但同时也需要对Arduino的代码进行修改。
为了能够使用Uber,我们需要通过Uber的API接入我们的应用,所以你需要现在Uber的开发者网站上获取访问令牌(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"}
命令执行的过程如下:
1. 发布
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赛季全球创客马拉松北理工珠海学院站已经开始接受报名啦!关注“硬创邦”(微信号:leiphone_bang),回复“北理工”即可参与报名!此外还可加入全球创客马拉松主群(群号:259592983),参与我们的互动讨论~