完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
const int KeyPin = 13;
const int PWM_ENA = 9; const int N1=6; const int N2=5; int MOTOR_STATUS=0; void setup() { pinMode(N1,OUTPUT); pinMode(N2,OUTPUT); pinMode(KeyPin,INPUT); pinMode(PWM_ENA,OUTPUT); } void PWM_PLUS(){ const int rate = 700; digitalWrite(PWM_ENA,HIGH); delayMicroseconds(rate); digitalWrite(PWM_ENA,LOW); delayMicroseconds(1000-rate); } void ControlMotor(){ switch(MOTOR_STATUS) { case0: digitalWrite(N1,LOW); digitalWrite(N2,LOW); break; case1: digitalWrite(N1,HIGH); digitalWrite(N2,LOW); break; case3: digitalWrite(N1,LOW); digitalWrite(N2,LOW); break; case4: digitalWrite(N1,LOW); digitalWrite(N2,HIGH); break; default: MOTOR_STATUS=0; } } void KeyDetect(){ if(LOW==digitalRead(KeyPin)) { delay(50); if(LOW==digitalRead(KeyPin)) { MOTOR_STATUS++; } } } void loop() { KeyDetect(); PWM_PLUS(); ControlMotor(); } |
|
相关推荐
1个回答
|
|
程序没有问题啊,不过我建议,按键读取还是用中断吧!
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 15:02 , Processed in 0.589416 second(s), Total 101, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号