Pololu Zumo Guide Utilisateur page 39

Table des Matières

Publicité

Code
Voici une copie de l'exemple avec traduction des commentaires pour vous aider à mieux comprendre le fonctionnement du
croquis/sketch
Nous recommandons de toujours charger l'exemple depuis les codes d'exemples de la bibliothèque Zumo.
#include <ZumoBuzzer.h>
#include <ZumoMotors.h>
#include <Pushbutton.h>
#include <QTRSensors.h>
#include <ZumoReflectanceSensorArray.h>
#define LED 13
// Cette valeur aura peut être besoin d'être ajusté pour les
// différentes conditions d'éclairages, surfaces, etc.
// microseconds
#define QTR_THRESHOLD 1500
// A ajuster en en fonction des différents types de moteur
// 0 est stoppé, 400 à pleine vitesse
#define REVERSE_SPEED
200
#define TURN_SPEED
200
#define FORWARD_SPEED
200
#define REVERSE_DURATION 200
#define TURN_DURATION
300
// ms
ZumoBuzzer buzzer;
ZumoMotors motors;
Pushbutton button(ZUMO_BUTTON);
#define NUM_SENSORS 6
unsigned int
sensor_values[NUM_SENSORS];
ZumoReflectanceSensorArray sensors(QTR_NO_EMITTER_PIN);
# Attendre après le bouton et faire le décompte
void
waitForButtonAndCountDown()
{
digitalWrite(LED, HIGH);
button.waitForButton();
digitalWrite(LED, LOW);
// Jouer un décompte audio
for
(int
i
=
0; i
<
3; i++)
{
delay(1000);
buzzer.playNote(NOTE_G(3), 200, 15);
}
delay(1000);
buzzer.playNote(NOTE_G(4), 500, 15);
delay(1000);
}
void
setup()
{
// Dé-commenter pour corriger le sens de rotation des moteurs (si nécessaire)
//motors.flipLeftMotor(true);
//motors.flipRightMotor(true);
pinMode(LED, HIGH);
waitForButtonAndCountDown();
}
void
loop()
{
if
(button.isPressed())
{
// Si le bouton est pressé, arrêter et attente une seconde
// pression du bouton pour continuer
motors.setSpeeds(0, 0);
button.waitForRelease();
waitForButtonAndCountDown();
}
sensors.read(sensor_values);
if
(sensor_values[0]
<
QTR_THRESHOLD)
{
// Si le senseur le plus à gauche détecte une ligne, reculer et tourner à droite
motors.setSpeeds(-REVERSE_SPEED, -REVERSE_SPEED);
delay(REVERSE_DURATION);
motors.setSpeeds(TURN_SPEED, -TURN_SPEED);
// ms
// Bouton poussoir sur la broche 12

Publicité

Table des Matières
loading

Table des Matières