大哥们帮我看看,这是我们做寻迹小车的译码,谢谢

XG5790 2019-11-12 12:42:10
void setup() { // put your setup code here, to run once: pinMode(A1, INPUT);//输入引脚 pinMode(A2, INPUT); pinMode(A3, INPUT); pinMode(A4, INPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); } void go() {//没有返回值 analogWrite(6, 80);//前者为引脚,后者为pwm频率值 digitalWrite(4, LOW);//打开 analogWrite(3, 80); digitalWrite(5, LOW); } void back() {// analogWrite(4, 80); digitalWrite(6, LOW); analogWrite(5, 80); digitalWrite(3, LOW); } void right1() {//右边 analogWrite(6, 80); digitalWrite(4, LOW); analogWrite(5, 80); analogWrite(3, LOW); } void left1() {//左边 analogWrite(4, 80); digitalWrite(6, LOW); analogWrite(3, 80); digitalWrite(5, LOW); } void right2() { analogWrite(6, 100); digitalWrite(4, LOW); analogWrite(3, 50); digitalWrite(5, LOW); } void left2() { analogWrite(6, 50); digitalWrite(4, LOW); analogWrite(3, 100); digitalWrite(5, LOW); } void stop() { analogWrite(2, LOW); digitalWrite(4, LOW); analogWrite(4, LOW); digitalWrite(6, LOW); } void test() { int c; if (digitalRead(A3) == LOW && digitalRead(A4) ==LOW && digitalRead(A2) == LOW && digitalRead(A1) == LOW) c = 1; if (digitalRead(A1) == HIGH) c = 2; if (digitalRead(A4) == HIGH ) c = 3; if (digitalRead(A3) == HIGH && digitalRead(A4) ==HIGH && digitalRead(A2) ==HIGH && digitalRead(A1) == HIGH )c = 4; switch (c) { case 1: go(); break;//小车跑结束 case 2: left2(); break; case 3: right2(); break; case 4: stop(); break; default : go();//除去,小车停止 } } void loop() {//读取引脚A0的输出信号,并将其数值赋值给变量(analogwrite) // put your main code here, to run repeatedly: test(); }
...全文
17 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧