Paso 7: Paso 7: instalación de la correa de distribución
Después de poner en la correa de distribución, puede conectar los cable a la placa base.
En la última foto, me quité el soporte de la batería para que pueda ver mis conexiones. Realmente el cable en el puerto 3 pertenece realmente a puerto 6. Se puede ver en mi código.
Código de Arduino:
#include < Makeblock.h >
#include < Arduino.h >
#include < SoftwareSerial.h >
#include < Wire.h >
MeDCMotor Motor1(M1); El motor en su tercera rueda (con el motor de dirección)
MeDCMotor Motor2(PORT_2);
MeDCMotor Motor3(PORT_1);
MeDCMotor MotorDirection(M2); / / motor de dirección
InfraredReceiverDecode(PORT_6) de MeInfraredReceiver;
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())
{
caso IR_BUTTON_PLUS:
Serial.println ("avanzar");
(Avance); //control los tres motores
rotura;
caso IR_BUTTON_MINUS:
(Al revés); //control los tres motores
rotura;
caso IR_BUTTON_NEXT:
TurnRight (); motores de //control la dirección
rotura;
caso IR_BUTTON_PREVIOUS:
(Izquierda); motores de //control la dirección
rotura;
caso IR_BUTTON_9:
danceOneRound();
danceOneRound();
danceOneRound();
rotura;
caso IR_BUTTON_8:
testMoveRound();
rotura;
caso IR_BUTTON_7:
excursionWheel1();
rotura;
caso IR_BUTTON_6:
RunMotor3Back();
rotura;
caso IR_BUTTON_5:
RunMotor2Back();
rotura;
caso IR_BUTTON_4:
RunMotor1Back();
rotura;
caso IR_BUTTON_3:
RunMotor3Forward();
rotura;
caso IR_BUTTON_2:
RunMotor2Forward();
rotura;
caso IR_BUTTON_1:
RunMotor1Forward();
rotura;
por defecto:
STOP();
rotura;
}
}
otra cosa
{
STOP();
}
}
void danceOneRound () //drive los tres motores y el motor de dirección para hacer la danza de coche
{
Motor1.Run(200);
Motor2.Run(-200);
Motor3.Run(200);
MotorDirection.run(200);
Delay(700);
MotorDirection.run(-200);
Delay(700);
}
void shake()
{
Motor1.Run(-250);
Motor2.Run(-180);
Motor3.Run(0);
}
void shake1()
{
Motor1.Run(-40);
Motor2.Run(-250);
Motor3.Run(-40);
}
void testMoveRound()
{
Motor1.Run(-250);
Motor2.Run(-70);
Motor3.Run(0);
}
void excursionWheel1()
{
Forward();
Delay(2000);
Motor1.Run(-250);
Motor2.Run(-250);
Motor3.Run(0);
Delay(2000);
STOP();
}
anular (hacia adelante) //control tres motores
{
Motor1.Run(ThreeMoveSpeed);
Motor2.Run(-ThreeMoveSpeed);
Motor3.Run(-ThreeMoveSpeed);
}
anular (al revés) //control tres motores
{
Motor1.Run(-ThreeMoveSpeed);
Motor2.Run(ThreeMoveSpeed);
Motor3.Run(ThreeMoveSpeed);
}
void izquierda () //control dirección motores
{
MotorDirection.run(-DirectionMoveSpeed);
}
los motores de vacío TurnRight () //control la dirección
{
MotorDirection.run(DirectionMoveSpeed);
}
void RunMotor1Forward()
{
Motor1.Run(0);
Motor2.Run(-ThreeMoveSpeed);
Motor3.Run(-ThreeMoveSpeed);
}
void RunMotor2Forward()
{
Motor1.Run(ThreeMoveSpeed);
Motor2.Run(0);
Motor3.Run(-ThreeMoveSpeed);
}
void RunMotor3Forward()
{
Motor1.Run(ThreeMoveSpeed);
Motor2.Run(-ThreeMoveSpeed);
Motor3.Run(0);
}
void RunMotor1Back()
{
Motor1.Run(0);
Motor2.Run(ThreeMoveSpeed);
Motor3.Run(ThreeMoveSpeed);
}
void RunMotor2Back()
{
Motor1.Run(-ThreeMoveSpeed);
Motor2.Run(0);
Motor3.Run(MatchSpeed);
}
void RunMotor3Back()
{
Motor1.Run(-ThreeMoveSpeed);
Motor2.Run(ThreeMoveSpeed);
Motor3.Run(0);
}
void Stop()
{
Motor1.Run(0);
Motor2.Run(0);
Motor3.Run(0);
MotorDirection.run(0);
}
void ChangeSpeed(int spd)
{
ThreeMoveSpeed = spd;
}