Espruino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4126|回复: 6

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

[复制链接]

26

主题

92

帖子

879

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
879

最佳新人活跃会员突出贡献论坛元老

发表于 2014-8-15 15:15:04 | 显示全部楼层 |阅读模式
本文属于个人理解,能力有限,纰漏在所难免,还望指正!
【小鱼有点电】

小学时代玩过玩具四驱车,各种奇葩霸气的车型,疾驰的速度,令人神往,已经那个年代的回忆了,记得车子的转弯只能靠车轮旁边的转向轮,而且得碰到障碍才会转弯,有时候会因为高速而撞坏,想想如果能遥控该多爽,让他往哪就得往哪。废话不多说,开始正文。
需要准备一块基于L298N的电机驱动板(L293D也可以),支持两路直流电机的正反转驱动,正好适合具有万向轮的小车,自己懒得画图了,关键是画的丑啊,还是借用一下大神pighixxx的图,免得伤了大家的眼,模块(淘宝买的)的图我自己拍的,说明如下:


根据上图的数据手册的内容,Espruino板输出的3.3V电平可以达到ViH的要求,VSS选用5V供电;
本次实验的控制引脚选用A2、A3、B10、B11,你也可以选用其他引脚,非常灵活。
代码如下:[mw_shl_code=javascript,true]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();




[/mw_shl_code]


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

23

主题

43

帖子

8593

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8593

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2014-8-15 15:54:01 | 显示全部楼层
小电鱼出品,必属精品 ~ 蓝牙遥控小车车

26

主题

92

帖子

879

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
879

最佳新人活跃会员突出贡献论坛元老

 楼主| 发表于 2014-8-15 15:58:55 | 显示全部楼层
Espruino 发表于 2014-8-15 15:54
小电鱼出品,必属精品 ~ 蓝牙遥控小车车

视频还在审核中,一会上连接,

26

主题

92

帖子

879

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
879

最佳新人活跃会员突出贡献论坛元老

 楼主| 发表于 2014-8-15 16:06:04 | 显示全部楼层
Espruino 发表于 2014-8-15 15:54
小电鱼出品,必属精品 ~ 蓝牙遥控小车车

视频已更新,一楼

11

主题

39

帖子

456

积分

中级会员

Rank: 3Rank: 3

积分
456
发表于 2014-8-16 11:42:12 | 显示全部楼层
確實要點視頻連結才能正常觀看.
你的控制面板很大喔   也是採用 AndroidScript APP 撰寫的嗎??
我也很期待 電機模組到貨就可以嘗試玩看看了.
對了,小魚你家的地板也很乾淨ㄝㄏㄏㄏㄏ

26

主题

92

帖子

879

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
879

最佳新人活跃会员突出贡献论坛元老

 楼主| 发表于 2014-8-16 14:44:42 | 显示全部楼层
wang2542 发表于 2014-8-16 11:42
確實要點視頻連結才能正常觀看.
你的控制面板很大喔   也是採用 AndroidScript APP 撰寫的嗎??
我也 ...

蓝牙串口助手,QQ群共享里有,

10

主题

42

帖子

517

积分

高级会员

Rank: 4

积分
517
发表于 2017-1-9 20:00:39 | 显示全部楼层
simplify code:
[mw_shl_code=javascript,true]var pins = [A3, A2, B10, B11];

function onInit() {
        digitalWrite(pins, 0b0000); //将电机控制引脚设置为低电平
        Serial4.setup(9600, {
                rx: C11,
                tx: C10
        }); //波特率设置为9600,使用蓝牙来控制
}

onInit();
var valueMap = {
        2: 0b1010,
        4: 0b1000,
        5: 0b0,
        6: 0b0010,
        7: 0b0100,
        8: 0b0101,
        9: 0b0001
};
Serial4.on('data', function (data) {
        digitalWrite(pins, valueMap[data]);
});

save();[/mw_shl_code]
Learning & Sharing
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|Espruino中文社区 ( 苏14007051 )

GMT+8, 2018-1-22 10:09 , Processed in 0.217219 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表