Stap 20: Codes
Kopieer en plak de codes in de Arduino software. De codes die we voor de kar gebruikten zijn kan worden gezien hier blaten.
Code voor
versnelling motoren
include-bestanden andere bestanden of bibliotheken wilt toevoegen aan het huidige programma
#include
#include
#include
int estado = 0; Hiermee maakt u een variabele waarmee de proefomstandigheden zal worden.
SoftwareSerial blauw (10, 11); RX, TX instellen van pinnen voor Bluetooth-communicatie
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); De motor shield-object maken met het standaard I2C adres
Adafruit_DCMotor * myMotor = AFMS.getMotor(1); Selecteert u de poort voor het koppelen van een motor. motor een gaat naar poort 1
Adafruit_DCMotor * myMotor2 = AFMS.getMotor(2); Selecteert u de poort voor het koppelen van een motor. motor een gaat naar poort 2
VOID Setup {}
Serial.begin(9600); instellen van seriële bibliotheek 9600 bps
Blue.begin(9600); Hiermee stelt u de baud-rate 9600 bps
Blue.println ("werkt bluetooth?"); drukt een regel om te testen of bluetooth werkt
AFMS.begin(); Setup-seriële bibliotheek 9600 bps
}
void loop
{
if(Blue.available() > 0) {//this wordt gebruikt om te lezen van de waarden door de HC-0 X bluetooth module
Estado = blue.read(); de variabele gedeclareerd nu wijzigingen de waarde zoals die was ontvangen door de bluetooth-module
}
alle deze if's worden gebruikt om bepaalde acties te voeren. bijvoorbeeld: in de eerste als de opdracht stop wordt geïmplementeerd door het stoppen van alle de motoren.
stoppen met het instellen van alle motoren op een snelheid van 0
Als (estado =='s') {}
myMotor -> run(RELEASE); motor een is ingesteld om te stoppen
myMotor -> setSpeed(0); motor één is ingesteld op snelheid 0
myMotor2 -> run(RELEASE); motor twee is ingesteld om te stoppen
myMotor2 -> setSpeed(0); motor twee is ingesteld op snelheid 0
}
doorsturen instellen van een motor te lopen vooruit terwijl de andere achteruit loopt
Als (estado == 'w') {}
myMotor -> run(FORWARD); motor één is ingesteld op voorwaarts uitvoeren
myMotor -> setSpeed(255); motor één is ingesteld op max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
myMotor2 -> run(BACKWARD); motor twee is ingesteld op achterwaarts draaien.
myMotor2 -> setSpeed(255); motor twee is ingesteld op max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
}
achteruit is het dezelfde code als vooruit; de enige verandering is dat de motor een nu op de naar achteren draait en motor2 vooruit loopt.
Als (estado == 'x') {}
myMotor -> run(BACKWARD); motor één is ingesteld op achterwaarts uitvoeren
myMotor -> setSpeed(255); motor één is ingesteld op max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
myMotor2 -> run(FORWARD); motor twee is ingesteld op voorwaarts uitvoeren
myMotor2 -> setSpeed(255); motor twee is ingesteld op max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
}
Deze keer, beide motoren lopen naar dezelfde richting linksaf
Als (estado == 'a') {}
myMotor -> run(FORWARD); motor één is ingesteld op voorwaarts uitvoeren
myMotor -> setSpeed(255); motor één is ingesteld op max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
myMotor2 -> run(FORWARD); motor twee is ingesteld op voorwaarts uitvoeren
myMotor2 -> setSpeed(255); motor twee is ingesteld op max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
}
Sla rechtsaf dat de motoren zal worden uitgevoerd om dezelfde richting, maar tegenover linksaf
Als (estado == had') {}
myMotor2 -> run(BACKWARD); motor twee is ingesteld op achterwaarts uitvoeren
myMotor2 -> setSpeed(255); motor twee is ingesteld op max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
myMotor -> run(BACKWARD); motor één is ingesteld op achterwaarts uitvoeren
myMotor -> setSpeed(255); motor één is ingesteld op max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
}
linksaf die de motoren zal linksaf langzaam langzaam. het is dezelfde code als voor draai links, maar met langzamere snelheid
Als (estado == 'q') {}
myMotor2 -> run(FORWARD); motor twee is ingesteld op voorwaarts uitvoeren
myMotor2 -> setSpeed(100); motor twee is ingesteld op 40% van de max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
myMotor -> run(FORWARD); motor één is ingesteld op voorwaarts uitvoeren
myMotor -> setSpeed(100); motor één is ingesteld op 40% van de max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
}
langzame bocht naar rechts die de motoren rechts langzaam zal veranderen. het is dezelfde code als voor zet gelijk, maar met langzamere snelheid
Als (estado == "e") {}
myMotor -> run(BACKWARD); motor één is ingesteld op achterwaarts uitvoeren
myMotor -> setSpeed(100); motor een is ingesteld op 40% van de max snelheid is de hoogst mogelijke waarde, terwijl 0 de laagste is.
myMotor2 -> run(BACKWARD); motor twee is ingesteld op achterwaarts uitvoeren
myMotor2 -> setSpeed(100); motor twee is ingesteld op 40% van de max snelheid. 255 is de hoogst mogelijke waarde, terwijl 0 de laagste is.
}
}
Code voor servomotoren (piepschuim scharen)
include-bestanden andere bestanden of bibliotheken wilt toevoegen aan het huidige programma
#include
#include
Servo miServo; verklaart een servo
Servo miServo2; verklaart een servo
int estado = 0; Hiermee maakt u een variabele waarmee de proefomstandigheden zal worden.
SoftwareSerial blauw (10, 11); RX, TX instellen van pinnen voor Bluetooth-communicatie
VOID Setup {}
Blue.begin(9600); instellen van seriële bibliotheek 9600 bps
Blue.println ("iniciar bluetooth"); Hiermee stelt u de baud-rate 9600 bps
miServo.attach (3); de servo 1 sluit aan op pin 3
miServo2.attach (5); de servo 2 hechten aan pin 5
}
void loop {}
Als (blue.available() > 0) //this wordt gebruikt voor het lezen van de waarden door de HC-0 X bluetooth module
{
Estado = blue.read(); de variabele gedeclareerd nu wijzigingen de waarde zoals die was ontvangen door de bluetooth-module
pinMode (7, OUTPUT); gebruikt het eerste wapen inschakelen. Dit wapen bestond uit een piepschuim (uitbreidbaar polystyreen)-cutter waarmee de auto aan de ballons branden bij contact.
pinMode (4, OUTPUT); gebruikt om te schakelen van het tweede wapen op.
}
alle deze if's worden gebruikt om bepaalde acties te voeren. bijvoorbeeld: in de eerste als, de servo
Als (estado == 'a') {}
miServo.write(70); de servo is verplaatst naar deze positie
digitalWrite (7, laag); het wapen dat is gekoppeld aan de servo is geactiveerd.
}
Als (estado == de ') {}
miServo.write(120); de servo is verplaatst naar deze positie
digitalWrite (7, hoge); het wapen dat is gekoppeld aan de servo is geactiveerd.
}
Als (estado == 'k') {}
miServo2.write(30); de servo is verplaatst naar deze positie
digitalWrite (4, HIGH); het wapen dat is gekoppeld aan de servo is geactiveerd.
}
Als (estado == 'g') {}
miServo2.write(100); de servo is verplaatst naar deze positie
digitalWrite (4, laag); het wapen dat is gekoppeld aan de servo is geactiveerd.
}
}