完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
今天做了使用Arduino控制直流电机,其实就是对小车的基本控制,4个电机驱动小车的4个轮子,不过我只用了两路控制信号,即同侧的两个轮子用一路信号控制。
代码 int motor1=4; //右侧轮子I1 int motor2=7; //右侧轮子I2 int motor3=13; //左侧轮子I1 int motor4=12; //左侧轮子I2 int ena1=3; //右侧占空比 int ena2=5; //左侧占空比 void forward() { digitalWrite(motor1,HIGH); digitalWrite(motor2,LOW); digitalWrite(motor3,HIGH); digitalWrite(motor4,LOW); } void backward() { digitalWrite(motor1,LOW); digitalWrite(motor2,HIGH); digitalWrite(motor3,LOW); digitalWrite(motor4,HIGH); } void turnleft() { digitalWrite(motor1,HIGH); digitalWrite(motor2,LOW); digitalWrite(motor3,LOW); digitalWrite(motor4,HIGH); } void turnright() { digitalWrite(motor1,LOW); digitalWrite(motor2,HIGH); digitalWrite(motor3,HIGH); digitalWrite(motor4,LOW); } void setup() { // put your setup code here, to run once: pinMode(motor1,OUTPUT); pinMode(motor2,OUTPUT); pinMode(motor3,OUTPUT); pinMode(motor4,OUTPUT); pinMode(ena1,OUTPUT); pinMode(ena2,OUTPUT); Serial.begin(9600); //初始化端口波特率 } char var; char dir; void loop() { // put your main code here, to run repeatedly: //Serial.println("hello"); //delay(1000); while(Serial.available()) { var=Serial.read(); Serial.println(var); if(var=='w') forward(); else if(var=='s') backward(); else if(var=='a') turnleft(); else if(var=='d') turnright(); //dir=Serial.read(); else if(var=='1') { analogWrite(ena1,100); analogWrite(ena2,100); } else if(var=='2') { analogWrite(ena1,200); analogWrite(ena2,200); } else if(var=='3') { analogWrite(ena1,255); analogWrite(ena2,255); } delay(500); } } 把代码烧入Arduino后打开串口监视器,输入指令控制小车的基本运动。w是前进,s是后退,a是左转,d是右转,我的转弯是通过两侧轮子反向转动实现的,也可通过调节两侧控制信号的占空比之差是两侧轮子转速不一样来实现转弯。小车速度有3档 ,分别由输入1、2、3控制,1档最慢,2档次之,3档最快。调节速度是通过调节占空比来实现的,设置占空比我直接用analogWrite函数,很方便,也可以自己结合digitalWrite和延时来实现占空比设置 |
|
|
|
只有小组成员才能发言,加入小组>>
2452 浏览 0 评论
9234 浏览 4 评论
36911 浏览 19 评论
5049 浏览 0 评论
24910 浏览 34 评论
1587浏览 2评论
1833浏览 1评论
2274浏览 1评论
1617浏览 0评论
592浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-8 01:15 , Processed in 1.062263 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号