折腾就是好玩。
最近又开始折腾几年前买的Rovio机器人,最感兴趣的就是它的 NorthStar 室内导航系统。
Wowwee Rovio机器人的导航灯塔已经买不到了,自己孜孜不倦在网上搜索各种资料,然后自行找到一个最简单的方式制作了:
1. 所需硬件:
Arduino uno x2 (淘宝价格最低约10元每个,合计20元)
红外发射管 x2 (940nm ,淘宝价格约0.5元每个,合计1元)
杜邦线 4条
合计成本21元
2. 代码:极简单,只需要1句代码:
tone(10, 3150)
或 tone(10,2070)
写在setup() 函数里。
编译,分别刷入到两个Arduino里面
3.成功。
将红外发射管的正极通过杜邦线连接到Arduino的D10脚,负极连接到GND脚,成功。
就是这么简单,就是这么低成本!
4.还能再低成本吗?
可以,只需要1个Arduino,输出两个pwm来控制两个红外发射管即可(总成本11元)。但是,所需要的代码量就巨大了,大概100多行,而且还涉及到各个定时器、中断相关的代码,相对就不够“最简单”。
5.还能再低成本吗?
可以,将Arduino替换为STC15W4K58S4(单价5元以下),或者直接使用Avr 328p芯片(单价5元以下)刷入Arduino bootloader,输出两个pwm来控制红外发射管(总成本6元),所需代码量和硬件知识就需要更多,对c语言要求也更高,不过代码量反而可以比Arduino少很多…
6.下一步?
下一步自制10个导航灯塔,每个房间放一个,让Rovio自由穿梭…
7. 附: Wowwee Rovio 机器人导航系统North Star的Room号对应频率(只需使用60Hz系统):
60HZ系统
北极星定位系统60HZ发射频率(50%占空比,波长:940nm)
ID LED1频率 LED2频率
9 5010 4050
8 4890 3930
7 4770 3810
6 4650 3690
5 4530 3570
4 4410 3450
3 4290 3330
2 4170 3210
1 3150 2070
0 3030 2010(基地)
50HZ系统
北极星定位系统50HZ发射频率(50%占空比,波长:940nm)
ID LED1频率 LED2频率
9 4725 3825
8 4625 3725
7 4525 3625
6 4425 3525
5 4325 3425
4 4225 3325
3 4125 3225
2 4025 3125
1 3925 3025
0 2025 2325(基地)
8 . 附:完整Arduino代码:
void setup(){
tone(10, 3150);
}
void loop(){
//nothing to do
}