Clusterbot ! (11 / 11 étapes)

Etape 11 : Pimp votre robot, Télécharger le code et de libérer le Clusterbot !

J’ai joint une LED à broche 7 sur l’Arduino.  Je n’ai pas utilisé une résistance!!!  Mais vous devriez.

J’ai joint un buzzer Piezo jusqu'à la broche 9 sur l’Arduino.  Je n’ai pas utilisé une résistance.  Mais vous devriez.

Vous devrez télécharger la bibliothèque HC-SR04 et enregistrez-le dans votre dossier de bibliothèque Arduino.  L’obtenir ici.

Le code :

#include « Ultrasonic.h »
Ultrason ultrasonique (10, 11) ;

#define PW101 3
#define AIN1 0
#define AIN2 1
#define PWMB 5
#define BIN1 2
#define BIN2 4
#define STBY 6
#define LED 7
#define haut-parleur 9
#define FREQ 1000

/ * Robot devrait continuer tout droit jusqu'à ce qu’un objet se trouve au seuil de distance * /
/ * Désolé pour le code superflu en bas - j’ai besoin d’avoir accès à ces fonctions * /
/ * dans un fichier d’en-tête * /

/ * Le robot devrait aller de l’avant et avoir un voyant vert continu jusqu'à ce que quelque chose soit 7 pouces devant le capteur.
Ensuite le robot doit arrêter et tourner à gauche jusqu'à ce qu’il n’y a pas un objet au sein de 7 pouces plus * /

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() ;
while (ultrason. Ranging(Inc) < 9) {}
rotateLeft() ;
digitalWrite(LED,HIGH) ;
Tone(Speaker,FREQ) ;
Delay(20) ;
digitalWrite(LED,LOW) ;
noTone(SPEAKER) ;
Delay(20) ;
}
goForward() ;
digitalWrite(LED,HIGH) ;


}
goForward Sub ()
{
digitalWrite (AIN1, élevé) ;
digitalWrite (AIN2, faible) ;
analogWrite(PWMA,233) ;
digitalWrite (BIN1, élevé) ;
digitalWrite (BIN2, faible) ;
analogWrite(PWMB,255) ;
}

Sub goBackward ()
{
digitalWrite (AIN1, basse) ;
digitalWrite (AIN2, élevé) ;
analogWrite(PWMA,233) ;
digitalWrite (BIN1, faible) ;
digitalWrite (BIN2, élevé) ;
analogWrite(PWMB,255) ;
}

Sub rotateRight ()
{
digitalWrite (AIN1, élevé) ;
digitalWrite (AIN2, faible) ;
analogWrite(PWMA,255) ;
digitalWrite (BIN1, faible) ;
digitalWrite (BIN2, élevé) ;
analogWrite(PWMB,255) ;
}

Sub rotateLeft ()
{
digitalWrite (AIN1, basse) ;
digitalWrite (AIN2, élevé) ;
analogWrite(PWMA,255) ;
digitalWrite (BIN1, élevé) ;
digitalWrite (BIN2, faible) ;
analogWrite(PWMB,255) ;
}

Sub veerLeft ()
{
digitalWrite (AIN1, élevé) ;
digitalWrite (AIN2, faible) ;
analogWrite(PWMA,190) ;
digitalWrite (BIN1, élevé) ;
digitalWrite (BIN2, faible) ;
analogWrite(PWMB,255) ;
}

Sub veerRight ()
{
digitalWrite (AIN1, élevé) ;
digitalWrite (AIN2, faible) ;
analogWrite(PWMA,255) ;
digitalWrite (BIN1, élevé) ;
digitalWrite (BIN2, faible) ;
analogWrite(PWMB,190) ;
}

Sub applyBrakes ()
{
digitalWrite (AIN1, élevé) ;
digitalWrite (AIN2, élevé) ;
analogWrite(PWMA,255) ;
digitalWrite (BIN1, élevé) ;
digitalWrite (BIN2, élevé) ;
analogWrite(PWMB,255) ;
}

Sub démarrage ()
{
digitalWrite(STBY,HIGH) ;
}

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

Arrêt Sub ()
{
digitalWrite(STBY,LOW) ;
}

Articles Liés