我一直梦想制作一台遥控车来玩,甚至为此购买了一块ArduinoMega2560,然而由于各种原因,这个项目最终没有完成,Arduino也因此被闲置了。当我开始接触Espruino后,这个想法再次浮现,因为Espruino的使用确实非常方便。
这次,我购买了一个遥控器模块和一个两驱小车套件,仅需简单的代码,就能实现基本的遥控功能。至于避障和巡线功能,这些功能我会在后续的项目中逐渐添加。
接线方法请参考代码中的相关参数。以下代码实现了基本的遥控功能:
function up(){
digitalWrite([C0,C1,C2,C3],0b1001);
}
function down(){
digitalWrite([C0,C1,C2,C3],0b0110);
}
function left(){
digitalWrite([C0,C1,C2,C3],0b1010);
}
function right(){
digitalWrite([C0,C1,C2,C3],0b0101);
}
function stop(){
digitalWrite([C0,C1,C2,C3],0b0000);
}
为了实现遥控功能,我们通过设置watch来监听按键事件:
setWatch("right()",A2,{repeat:true,edge:'rising'});
setWatch("stop()",A2,{repeat:true,edge:'falling'});
setWatch("down()",A3,{repeat:true,edge:'rising'});
setWatch("stop()",A3,{repeat:true,edge:'falling'});
setWatch("up()",A4,{repeat:true,edge:'rising'});
setWatch("stop()",A4,{repeat:true,edge:'falling'});
setWatch("left()",A5,{repeat:true,edge:'rising'});
setWatch("stop()",A5,{repeat:true,edge:'falling'});
在初始化阶段,我们还需要设置电机的工作状态:
function onInit(){
analogWrite(A0,1);
analogWrite(A1,1);
}
这样,我们就成功地制作了一个简单的遥控车。通过Espruino的简单代码,我们能够实现基本的遥控功能,未来还可以继续改进和完善。