1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
通过三个开关控制直流电机的正反转以及停止。
当按下开关一,电机正转;按下开关二,电机反转;按下开关三,电机停止转动。 准备材料:Arduino nano开发板*1,L293D直插式电机驱动芯片*1,10KΩ电阻*3,直流电机*1,开关*3。 电路图如下: 代码如下: #define M1 8 //定义端口 #define M2 9 #define BUTTON1 10 #define BUTTON2 11 #define BUTTON3 12 int val1 = 0; //变量val用来储存按钮状态 int val2 = 0; int val3 = 0; int state1 = 0; //0表示关闭,1表示打开 int state2 = 0; void setup(){ pinMode(M1,OUTPUT); //设定引脚为输出状态 pinMode(M2,OUTPUT); pinMode(BUTTON1,INPUT); //设定引脚为输入状态 pinMode(BUTTON2,INPUT); pinMode(BUTTON3,INPUT); } void loop(){ val1 = digitalRead(BUTTON1||BUTTON2||BUTTON3); //读取按钮状态并储存 //检查按钮的变化情况 val2 = digitalRead(BUTTON2); val3 = digitalRead(BUTTON3); if(val1 == HIGH) //判断val,输出对应状态 { state1 = 1 - state1; if ((state1 == 1)&&(state2 == 0)) { digitalWrite(M1,HIGH); digitalWrite(M2,LOW); } } if(val2 == HIGH) { state2 = 1 - state2; if ((state1 == 0)&&(state2 == 1)) { digitalWrite(M1,LOW); digitalWrite(M2,HIGH); } } if(val3 == HIGH) { state1 = 0; state2 = 0; if ((state1 == 0)&&(state2 == 0)) { digitalWrite(M1,LOW); digitalWrite(M2,LOW); } } } |
|
|
|
只有小组成员才能发言,加入小组>>
2445 浏览 0 评论
9172 浏览 4 评论
36850 浏览 19 评论
5042 浏览 0 评论
24837 浏览 34 评论
1557浏览 2评论
1792浏览 1评论
2232浏览 1评论
1585浏览 0评论
558浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 01:35 , Processed in 1.058416 second(s), Total 48, Slave 42 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号