Étape 7: Étape 7: installation de la courroie de distribution
Après avoir mis sur la courroie de distribution, vous pouvez connecter ces fils à votre plinthe.
Dans la dernière photo, j’ai enlevé le support de batterie que vous puissiez voir mes connexions. En fait le fil sur le Port 3 appartient en réalité à Port 6. Vous pouvez le voir à partir de mon code.
Code de l’Arduino :
#include < Makeblock.h >
#include < Arduino.h >
#include < SoftwareSerial.h >
#include < Wire.h >
MeDCMotor Motor1(M1) ; Le moteur de votre troisième roue (avec le moteur de direction)
MeDCMotor Motor2(PORT_2) ;
MeDCMotor Motor3(PORT_1) ;
MeDCMotor MotorDirection(M2); / / moteur de direction
MeInfraredReceiver infraredReceiverDecode(PORT_6) ;
int ThreeMoveSpeed = 200 ;
int DirectionMoveSpeed = 50 ;
int MatchSpeed = 70 ;
Boolean leftflag, rightflag ;
int minSpeed = 55 ;
int factor = 23 ;
void setup()
{
infraredReceiverDecode.begin() ;
Serial.Begin(9600) ;
}
void loop()
{
if(infraredReceiverDecode.ButtonState() == 1)
{
Switch(infraredReceiverDecode.Read())
{
affaire IR_BUTTON_PLUS :
Serial.println ("aller de l’avant") ;
Avant (); //control les trois moteurs
rupture ;
affaire IR_BUTTON_MINUS :
Vers l’arrière (); //control les trois moteurs
rupture ;
affaire IR_BUTTON_NEXT :
Tournedroite (); //control la direction moteurs
rupture ;
affaire IR_BUTTON_PREVIOUS :
Tournegauche (); //control la direction moteurs
rupture ;
affaire IR_BUTTON_9 :
danceOneRound() ;
danceOneRound() ;
danceOneRound() ;
rupture ;
affaire IR_BUTTON_8 :
testMoveRound() ;
rupture ;
affaire IR_BUTTON_7 :
excursionWheel1() ;
rupture ;
affaire IR_BUTTON_6 :
RunMotor3Back() ;
rupture ;
affaire IR_BUTTON_5 :
RunMotor2Back() ;
rupture ;
affaire IR_BUTTON_4 :
RunMotor1Back() ;
rupture ;
affaire IR_BUTTON_3 :
RunMotor3Forward() ;
rupture ;
affaire IR_BUTTON_2 :
RunMotor2Forward() ;
rupture ;
affaire IR_BUTTON_1 :
RunMotor1Forward() ;
rupture ;
par défaut :
Stop() ;
rupture ;
}
}
d’autre
{
Stop() ;
}
}
void danceOneRound () //drive les trois moteurs et le moteur de direction pour faire danser les voiture
{
Motor1.Run(200) ;
Motor2.Run(-200) ;
Motor3.Run(200) ;
MotorDirection.run(200) ;
Delay(700) ;
MotorDirection.run(-200) ;
Delay(700) ;
}
Sub shake()
{
Motor1.Run(-250) ;
Motor2.Run(-180) ;
Motor3.Run(0) ;
}
Sub shake1()
{
Motor1.Run(-40) ;
Motor2.Run(-250) ;
Motor3.Run(-40) ;
}
Sub testMoveRound()
{
Motor1.Run(-250) ;
Motor2.Run(-70) ;
Motor3.Run(0) ;
}
Sub excursionWheel1()
{
Mémoire ;
Delay(2000) ;
Motor1.Run(-250) ;
Motor2.Run(-250) ;
Motor3.Run(0) ;
Delay(2000) ;
Stop() ;
}
void //control () avant les trois moteurs
{
Motor1.Run(ThreeMoveSpeed) ;
Motor2.Run(-ThreeMoveSpeed) ;
Motor3.Run(-ThreeMoveSpeed) ;
}
void //control () en arrière les trois moteurs
{
Motor1.Run(-ThreeMoveSpeed) ;
Motor2.Run(ThreeMoveSpeed) ;
Motor3.Run(ThreeMoveSpeed) ;
}
Sub tournegauche () //control la direction moteurs
{
MotorDirection.run(-DirectionMoveSpeed) ;
}
Sub tournedroite () //control la direction moteurs
{
MotorDirection.run(DirectionMoveSpeed) ;
}
Sub RunMotor1Forward()
{
Motor1.Run(0) ;
Motor2.Run(-ThreeMoveSpeed) ;
Motor3.Run(-ThreeMoveSpeed) ;
}
Sub RunMotor2Forward()
{
Motor1.Run(ThreeMoveSpeed) ;
Motor2.Run(0) ;
Motor3.Run(-ThreeMoveSpeed) ;
}
Sub RunMotor3Forward()
{
Motor1.Run(ThreeMoveSpeed) ;
Motor2.Run(-ThreeMoveSpeed) ;
Motor3.Run(0) ;
}
Sub RunMotor1Back()
{
Motor1.Run(0) ;
Motor2.Run(ThreeMoveSpeed) ;
Motor3.Run(ThreeMoveSpeed) ;
}
Sub RunMotor2Back()
{
Motor1.Run(-ThreeMoveSpeed) ;
Motor2.Run(0) ;
Motor3.Run(MatchSpeed) ;
}
Sub RunMotor3Back()
{
Motor1.Run(-ThreeMoveSpeed) ;
Motor2.Run(ThreeMoveSpeed) ;
Motor3.Run(0) ;
}
Stop() Sub
{
Motor1.Run(0) ;
Motor2.Run(0) ;
Motor3.Run(0) ;
MotorDirection.run(0) ;
}
Sub ChangeSpeed(int spd)
{
ThreeMoveSpeed = spd ;
}