极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4677|回复: 1

arduino与l298n避障小车,新人求大佬指教!!!

[复制链接]
发表于 2018-8-14 22:01:21 | 显示全部楼层 |阅读模式
本帖最后由 弘毅 于 2018-8-15 08:02 编辑

自己做了一个避障小车,只有一个UNO板和l298n板,一个二驱的履带式底盘和一个sr04的超声波传感器。
但是无论怎么调试代码都没用,下面附上代码和接法,求大佬们给指正一下。

  1. #define IN1 8
  2. #define IN2 9
  3. #define IN3 12
  4. #define IN4 13
  5. int Echo_Pin=3;
  6. int Trig_Pin=2;
  7. int cm;
  8. int L;
  9. void forward();
  10. void back();
  11. void turnLeft();
  12. void turnRight();
  13. void _stop();
  14. void setup() {
  15.   // put your setup code here, to run once:
  16.   Serial.begin(9600);//波特率为9600
  17.   pinMode(IN1,OUTPUT);
  18.   pinMode(IN2,OUTPUT);
  19.   pinMode(IN3,OUTPUT);
  20.   pinMode(IN4,OUTPUT);
  21.   pinMode(Trig_Pin,OUTPUT);
  22.   pinMode(Echo_Pin,INPUT);

  23. }

  24. void loop() {
  25.   // put your main code here, to run repeatedly:
  26.   /*******************************超声波距离 *************************************/
  27.     digitalWrite(Trig_Pin, LOW);                        //低高低电平发一个短时间脉冲去TrigPin
  28.     delayMicroseconds(2);
  29.     digitalWrite(Trig_Pin, HIGH);
  30.     delayMicroseconds(10);
  31.     digitalWrite(Trig_Pin, LOW);

  32.     cm = pulseIn(Echo_Pin, HIGH) / 58.0;                 //将回波时间换算成cm
  33.     //cm = (int(cm * 100.0)) / 100.0;                     //保留两位小数
  34.     Serial.print(cm);
  35.     Serial.print("cm");
  36.     Serial.println();
  37.     delay(200);
  38.     L=cm;
  39.     /***************************障碍判断***************************************/
  40.     if(L>=40)
  41.     {
  42.       forward();
  43.      }
  44.      if(L<40)
  45.      {
  46.        _stop();
  47.        delay(300);
  48.        turnRight();
  49.        delay(350);
  50.        if(L>=40)
  51.        { forward(); }
  52.        else
  53.        { turnRight(); }
  54.       }

  55. }
  56. void forward()
  57. {
  58.   digitalWrite(IN1,HIGH);      
  59.   digitalWrite(IN2,LOW);
  60.   digitalWrite(IN3,HIGH);      
  61.   digitalWrite(IN4,LOW);
  62. }
  63. void back( )
  64. {
  65.   digitalWrite(IN1,LOW);      
  66.   digitalWrite(IN2,HIGH);
  67.   digitalWrite(IN3,LOW);      
  68.   digitalWrite(IN4,HIGH);
  69. }
  70. void turnLeft( )
  71. {
  72.   digitalWrite(IN1,LOW);      
  73.   digitalWrite(IN2,LOW);
  74.   digitalWrite(IN3,HIGH);      
  75.   digitalWrite(IN4,LOW);
  76. }
  77. void turnRight( )
  78. {
  79.   digitalWrite(IN1,HIGH);      
  80.   digitalWrite(IN2,LOW);
  81.   digitalWrite(IN3,LOW);      
  82.   digitalWrite(IN4,LOW);
  83. }
  84. void _stop()
  85. {
  86.   digitalWrite(IN1,LOW);      
  87.   digitalWrite(IN2,LOW);
  88.   digitalWrite(IN3,LOW);      
  89.   digitalWrite(IN4,LOW);
  90. }
复制代码




回复

使用道具 举报

发表于 2018-8-16 21:07:52 | 显示全部楼层
刚好要做一样的,学习学习!楼主接线有没有?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-7-4 00:55 , Processed in 0.046330 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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