Hur man gör en tre hjul fordon [robot chassi] (7 / 7 steg)
Steg 7: Steg 7: kamrem installation
Efter att sätta på kamrem, kan du ansluta dessa tråd till din bottenplatta.
I den sista bilden tog jag av batterihållaren så du kan se mina anslutningar. Faktiskt tillhör tråden på Port 3 faktiskt Port 6. Du kan se det från min kod.
Arduino kod:
#include < Makeblock.h >
#include < Arduino.h >
#include < SoftwareSerial.h >
#include < Wire.h >
MeDCMotor Motor1(M1); Motorn på din tredje hjulet (med riktning motor)
MeDCMotor Motor2(PORT_2);
MeDCMotor Motor3(PORT_1);
MeDCMotor MotorDirection(M2); / / riktning motor
MeInfraredReceiver infraredReceiverDecode(PORT_6);
int ThreeMoveSpeed = 200.
int DirectionMoveSpeed = 50;
int MatchSpeed = 70.
Boolean leftflag, rightflag;
int minSpeed = 55.
int faktor = 23.
void setup()
{
infraredReceiverDecode.begin();
Serial.BEGIN(9600);
}
void loop()
{
IF(infraredReceiverDecode.buttonState() == 1)
{
Switch(infraredReceiverDecode.Read())
{
fall IR_BUTTON_PLUS:
Serial.println ("framåt");
(Framåt), //control tre motorer
bryta;
fall IR_BUTTON_MINUS:
Bakåt (), //control tre motorer
bryta;
fall IR_BUTTON_NEXT:
Svänghöger (); //control riktning motorer
bryta;
fall IR_BUTTON_PREVIOUS:
Svängvänster (); //control riktning motorer
bryta;
fall IR_BUTTON_9:
danceOneRound();
danceOneRound();
danceOneRound();
bryta;
fall IR_BUTTON_8:
testMoveRound();
bryta;
fall IR_BUTTON_7:
excursionWheel1();
bryta;
fall IR_BUTTON_6:
RunMotor3Back();
bryta;
fall IR_BUTTON_5:
RunMotor2Back();
bryta;
fall IR_BUTTON_4:
RunMotor1Back();
bryta;
fall IR_BUTTON_3:
RunMotor3Forward();
bryta;
fall IR_BUTTON_2:
RunMotor2Forward();
bryta;
fall IR_BUTTON_1:
RunMotor1Forward();
bryta;
standard:
Stop();
bryta;
}
}
annat
{
Stop();
}
}
void danceOneRound () //drive tre motorer och riktning motor för att göra bilen dansen
{
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();
}
void (framåt) //control tre motorer
{
Motor1.Run(ThreeMoveSpeed);
Motor2.Run(-ThreeMoveSpeed);
Motor3.Run(-ThreeMoveSpeed);
}
utan laga kraft bakåt () //control tre motorer
{
Motor1.Run(-ThreeMoveSpeed);
Motor2.Run(ThreeMoveSpeed);
Motor3.Run(ThreeMoveSpeed);
}
void svängvänster () //control riktning motorer
{
MotorDirection.run(-DirectionMoveSpeed);
}
void svänghöger () //control riktning motorer
{
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;
}