码迷,mamicode.com
首页 > 其他好文 > 详细

【Espruino】NO.18 使用L298N驱动直流电机

时间:2014-08-15 16:07:09      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:arduino   javascript   stm32   开源硬件   espruino   

http://blog.csdn.net/qwert1213131/article/details/38584743

本文属于个人理解,能力有限,纰漏在所难免,还望指正!

【小鱼有点电】

【Espruino中文社区】


小学时代玩过玩具四驱车,各种奇葩霸气的车型,疾驰的速度,令人神往,已经那个年代的回忆了,记得车子的转弯只能靠车轮旁边的转向轮,而且得碰到障碍才会转弯,有时候会因为高速而撞坏,想想如果能遥控该多爽,让他往哪就得往哪。废话不多说,开始正文。

需要准备一块基于L298N的电机驱动板(L293D也可以),支持两路直流电机的正反转驱动,正好适合具有万向轮的小车,自己懒得画图了,关键是画的丑啊,还是借用一下大神pighixxx的图,免得伤了大家的眼,模块(淘宝买的)的图我自己拍的,说明如下:

bubuko.com,布布扣

bubuko.com,布布扣bubuko.com,布布扣

bubuko.com,布布扣

根据上图的数据手册的内容,Espruino板输出的3.3V电平可以达到ViH的要求,VSS选用5V供电;

本次实验的控制引脚选用A2、A3、B10、B11,你也可以选用其他引脚,非常灵活。

代码如下:

function onInit(){
  digitalWrite([A3,A2,B10,B11],0b0000);//将电机控制引脚设置为低电平
  Serial4.setup(9600,{rx:C11,tx:C10});//波特率设置为9600,使用蓝牙来控制
}
onInit();
Serial4.on('data',function (data) {
                                   if(data==2){digitalWrite([A3,A2,B10,B11],0b1010);}
                                   else if(data==8){digitalWrite([A3,A2,B10,B11],0b0101);}
                                   else if(data==5){digitalWrite([A3,A2,B10,B11],0b0);}
                                   else if(data==4)digitalWrite([A3,A2,B10,B11],0b1000);  
                                   else if(data==6)digitalWrite([A3,A2,B10,B11],0b0010);
                                   else if(data==7)digitalWrite([A3,A2,B10,B11],0b0100);  
                                   else if(data==9)digitalWrite([A3,A2,B10,B11],0b0001);                                   
                                  });
save();

本代码主要通过接收蓝牙的数据,Espruino判断指令,进而对电机进行控制。如果发现转的方向与自己的意图相反,请将接线的次序进行对调。








【Espruino】NO.18 使用L298N驱动直流电机,布布扣,bubuko.com

【Espruino】NO.18 使用L298N驱动直流电机

标签:arduino   javascript   stm32   开源硬件   espruino   

原文地址:http://blog.csdn.net/qwert1213131/article/details/38584743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!