Fablab ado > mbot : déplacement et BIP
(actualisé le )
Voici le code pour un déplacement et une sonnerie appelée BIP :
pour configurer le bip, modifiez le "buzzer tone" dans void BIP
#include "MeMCore.h"
#define ledPin 13
#define buttonPin 7
#define leftLed 1
#define rightLed 0
#define NONE 0
#define GAUCHE 1
#define DROITE 2
#define AVANT 3
MeRGBLed led(0, 30);
MeLineFollower lineFinder(PORT_2); /* Line Finder module can only be connected to PORT_2, PORT_4, PORT_5, PORT_6 of base shield. */
MeDCMotor motG(M1); //Motor1 is Left Motor
MeDCMotor motD(M2); //Motor2 is Right Motor
MeBuzzer buzzer;
MeLightSensor lightSensor(PORT_8);
MeUltrasonicSensor ultrasonic(PORT_3);
int oldMove=NONE;
int speedMot=100;
void BIP ()
{
buzzer.tone(600, 200); //Buzzer sounds 600Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(700, 200); //Buzzer sounds 700Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(800, 200); //Buzzer sounds 800Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(900, 200); //Buzzer sounds 900Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(1000, 200); //Buzzer sounds 1000Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(1200, 200); //Buzzer sounds 2000Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(400, 200); //Buzzer sounds 400Hz for 200ms
delay(1000); //Pause for 1000ms, Buzzer no sound
}
void setup(){}
void loop()
{
//motor.run() maximum speed is 255 to -255, 0 is stop
motG.run(-speedMot); //Motor1 (Left) forward is -negative
motD.run(speedMot); //Motor2 (Right) forward is +positive
delay(1000);
motG.run(speedMot); //Motor1 (Left) forward is -negative
motD.run(-speedMot); //Motor2 (Right) forward is +positive
delay(1000);
motG.stop(); //Stop Motor1
motD.stop(); //Stop Motor1
delay(500);
BIP();
}
Avec une mélodie, (à modifier) c’est encore mieux !
#include "MeMCore.h"
#define ledPin 13
#define buttonPin 7
#define leftLed 1
#define rightLed 0
#define NONE 0
#define GAUCHE 1
#define DROITE 2
#define AVANT 3
MeRGBLed led(0, 30);
MeLineFollower lineFinder(PORT_2); /* Line Finder module can only be connected to PORT_2, PORT_4, PORT_5, PORT_6 of base shield. */
MeDCMotor motG(M1); //Motor1 is Left Motor
MeDCMotor motD(M2); //Motor2 is Right Motor
MeBuzzer buzzer;
MeLightSensor lightSensor(PORT_8);
MeUltrasonicSensor ultrasonic(PORT_3);
int oldMove=NONE;
int speedMot=100;
void BIP ()
{
buzzer.tone(392, 900); //Buzzer sounds 600Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(392, 900); //Buzzer sounds 700Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(392, 900); //Buzzer sounds 800Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(329.63, 900); //Buzzer sounds 800Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(493.88, 450); //Buzzer sounds 900Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(392, 900); //Buzzer sounds 1000Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(329.63, 450); //Buzzer sounds 2000Hz for 200ms
delay(20);
buzzer.tone(493.88, 900); //Buzzer sounds 900Hz for 200ms
delay(20); //Pause for 20ms, Buzzer no sound
buzzer.tone(392, 900); //Buzzer sounds 400Hz for 200ms
delay(1000); //Pause for 1000ms, Buzzer no sound
}
void setup(){}
void loop()
{
//motor.run() maximum speed is 255 to -255, 0 is stop
motG.run(-speedMot); //Motor1 (Left) forward is -negative
motD.run(speedMot); //Motor2 (Right) forward is +positive
delay(1000);
motG.run(speedMot); //Motor1 (Left) forward is -negative
motD.run(-speedMot); //Motor2 (Right) forward is +positive
delay(1000);
motG.stop(); //Stop Motor1
motD.stop(); //Stop Motor1
delay(500);
BIP();
}
Partager cette page