Act-30 Rover-Servos_Continuos

Coche Robot, con servomotores continuos.


VID_20230531_105632.mp4

https://www.tinkercad.com/things/8PhNUybaqPf

MONTAJE CON PLACA DE CONEXIÓN PEQUEÑA PARA EL COCHE REAL

#include <Servo.h>

#include <math.h>

Servo rightServo;

Servo leftServo;



long ultrasound_distance_1() {

   long duration, distance;

   digitalWrite(8,LOW);

   delayMicroseconds(2);

   digitalWrite(8, HIGH);

   delayMicroseconds(10);

   digitalWrite(8, LOW);

   duration = pulseIn(9, HIGH);

   distance = duration/58;

   return distance;

}


int rightSpeed = 0;

int leftSpeed = 0;

void motorControl2(int rightSpeed, int leftSpeed, int stepDelay) {

rightServo.write(90 + rightSpeed);  leftServo.write(90 - leftSpeed);

delay(stepDelay*1000);}


void setup() {

  pinMode(8, OUTPUT);

  pinMode(9, INPUT);

  rightServo.write(90);

leftServo.write(90);

delay(1000);

leftServo.attach(2);

rightServo.attach(3);


}


void loop() {

    if (ultrasound_distance_1() < 10) {

      motorControl2 (45, 45, 1 );

      delay(1*1000);

      motorControl2 (-45, 45, 1 );

      delay(1*1000);

      motorControl2 (-45, -45, 1 );

    } else if (ultrasound_distance_1() >= 10) {

      motorControl2 (-45, -45, 1 );

    }


}