Всем, здравствуйте! Я новичек в Ардуино. Давеча начал разбираться с драйвером двигателя Pololu DRV8835. У него своя библиотека. Написал скетч проверочный и не пойму, почему двигатели всегда крутятся? Вне зависимости от проверочной команды if.
#include "Servo.h"
#include "Ultrasonic.h"
Ultrasonic ultrasonic(11, 5);
#include <DRV8835MotorShield.h>
DRV8835MotorShield motors;
Servo serva;
int x=0;
int y=0;
int speed = 0;
void setup(){serva.attach(3);
serva.write(123);}
void loop()
{
if (ultrasonic.Ranging(CM)<=25)
{goto prog1;delay(2);}
else {int speed = 100; motors.setM1Speed(-speed);
motors.setM2Speed(-speed);delay(2);}
prog1:
serva.write(143);
delay (1000);
if (ultrasonic.Ranging(CM)<=25)
{x=x+1;serva.write(163);delay(1000);}
else
{serva.write(163);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{x=x+1;serva.write(183);delay(1000);}
else
{serva.write(183);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{x=x+1;serva.write(203);delay(1000);}
else
{serva.write(203);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{x=x+1;serva.write(43);delay(1000);}
else
{serva.write(43);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{y=y+1;serva.write(63);delay(1000);}
else
{serva.write(63);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{y=y+1;serva.write(83);delay(1000);}
else
{serva.write(83);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{y=y+1;serva.write(103);delay(1000);}
else
{serva.write(103);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{y=y+1;serva.write(123);delay(1000);}
else
{serva.write(123);delay(1000);}
}
Раздел: Arduino и Raspberry Pi
#include "Servo.h"
#include "Ultrasonic.h"
Ultrasonic ultrasonic(11, 5);
#include <DRV8835MotorShield.h>
DRV8835MotorShield motors;
Servo serva;
int x=0;
int y=0;
int speed = 0;
void setup(){serva.attach(3);
serva.write(123);}
void loop()
{
if (ultrasonic.Ranging(CM)<=25)
{goto prog1;delay(2);}
else {int speed = 100; motors.setM1Speed(-speed);
motors.setM2Speed(-speed);delay(2);}
prog1:
serva.write(143);
delay (1000);
if (ultrasonic.Ranging(CM)<=25)
{x=x+1;serva.write(163);delay(1000);}
else
{serva.write(163);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{x=x+1;serva.write(183);delay(1000);}
else
{serva.write(183);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{x=x+1;serva.write(203);delay(1000);}
else
{serva.write(203);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{x=x+1;serva.write(43);delay(1000);}
else
{serva.write(43);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{y=y+1;serva.write(63);delay(1000);}
else
{serva.write(63);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{y=y+1;serva.write(83);delay(1000);}
else
{serva.write(83);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{y=y+1;serva.write(103);delay(1000);}
else
{serva.write(103);delay(1000);}
if (ultrasonic.Ranging(CM)<=25)
{y=y+1;serva.write(123);delay(1000);}
else
{serva.write(123);delay(1000);}
}
Раздел: Arduino и Raspberry Pi