Clusterbot! (11 / 11 paso)

Paso 11: Tunea tu robot, añadir el código y dar rienda suelta a la Clusterbot!

Os adjunto un LED al pin 7 en el Arduino.  No utilizo una resistencia!!!!!!  Pero usted debe.

Os adjunto un zumbador piezoeléctrico al pin 9 en el Arduino.  No utilizo una resistencia.  Pero usted debe.

Usted tendrá que descargar la biblioteca HC-SR04 y guárdelo en su carpeta de la biblioteca Arduino.  Obténgalo aquí.

El código:

#include "Ultrasonic.h"
Ultrasónico ultrasónico (10, 11);

#define PWMA 3
#define AIN1 0
#define AIN2 1
#define PWMB 5
#define BIN1 2
#define BIN2 4
#define STBY 6
#define LED 7
#define altavoz 9
#define FREQ 1000

/ * Robot debe continuar recto hasta que un objeto está en el umbral de distancia * /
/ * Lo sentimos el código superfluo en la parte inferior - que necesito para ponerme las funciones * /
/ * en un archivo de encabezado * /

/ * El robot debe avanzar y tiene un LED verde constante hasta que algo es de 7 pulgadas delante del sensor.
A continuación, el robot debe detenerse y rotar a la izquierda hasta que ya no es un objeto dentro de 7 pulgadas * /

void setup() {}

pinMode(PWMA,OUTPUT);
pinMode(AIN1,OUTPUT);
pinMode(AIN2,OUTPUT);
pinMode(PWMB,OUTPUT);
pinMode(BIN1,OUTPUT);
pinMode(BIN2,OUTPUT);
pinMode(STBY,OUTPUT);
pinMode(LED,OUTPUT);

}

void loop() {}

startUp();
tiempo (ultrasónico. Ranging(Inc) < 9) {}
rotateLeft();
digitalWrite(LED,HIGH);
Tone(Speaker,FREQ);
Delay(20);
digitalWrite(LED,LOW);
noTone(SPEAKER);
Delay(20);
}
goForward();
digitalWrite(LED,HIGH);


}
goForward nula)
{
digitalWrite (AIN1, alto);
digitalWrite (AIN2, LOW);
analogWrite(PWMA,233);
digitalWrite (BIN1, alto);
digitalWrite (BIN2, LOW);
analogWrite(PWMB,255);
}

void goBackward)
{
digitalWrite (AIN1, LOW);
digitalWrite (AIN2, alto);
analogWrite(PWMA,233);
digitalWrite (BIN1, LOW);
digitalWrite (BIN2, alto);
analogWrite(PWMB,255);
}

rotateRight nula)
{
digitalWrite (AIN1, alto);
digitalWrite (AIN2, LOW);
analogWrite(PWMA,255);
digitalWrite (BIN1, LOW);
digitalWrite (BIN2, alto);
analogWrite(PWMB,255);
}

rotateLeft nula)
{
digitalWrite (AIN1, LOW);
digitalWrite (AIN2, alto);
analogWrite(PWMA,255);
digitalWrite (BIN1, alto);
digitalWrite (BIN2, LOW);
analogWrite(PWMB,255);
}

void veerLeft)
{
digitalWrite (AIN1, alto);
digitalWrite (AIN2, LOW);
analogWrite(PWMA,190);
digitalWrite (BIN1, alto);
digitalWrite (BIN2, LOW);
analogWrite(PWMB,255);
}

void veerRight)
{
digitalWrite (AIN1, alto);
digitalWrite (AIN2, LOW);
analogWrite(PWMA,255);
digitalWrite (BIN1, alto);
digitalWrite (BIN2, LOW);
analogWrite(PWMB,190);
}

void applyBrakes)
{
digitalWrite (AIN1, alto);
digitalWrite (AIN2, alto);
analogWrite(PWMA,255);
digitalWrite (BIN1, alto);
digitalWrite (BIN2, alto);
analogWrite(PWMB,255);
}

void Inicio)
{
digitalWrite(STBY,HIGH);
}

void turnAround()
{
rotateLeft();
Delay(1370);
}

Cierre void)
{
digitalWrite(STBY,LOW);
}

Artículos Relacionados