Stap 4: Stap 3: de Arduino-code maken
Als u eenmaal uw cellphone app klaar dat nu moet u uw Arduino Uno program.
1. eerst en vooral, moet u het downloaden van de bibliotheken die nodig zijn om het programma te maken. Deze zijn nodig om te kunnen werken met de Adafruit motor Shield. Na het downloaden, moet u deze kopiëren naar de map waarin u al de Arduino libraries.
2. Zodra u ze hebt geïnstalleerd, kunt u beginnen met het schrijven van uw code. Het is zeer belangrijk dat u uw bibliotheken opnemen voordat u iets anders doen. U zou moeten typen:
#include
#include
#include "utility/Adafruit_MS_PWMServoDriver.h"
#include
#include
3. nu, heb je te verklaren uw vier gelijkstroommotoren voor de vier wielen. U moet ook uw ingangen voor de Bluetooth en de servomotor declareren.
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_DCMotor * myMotor1 = AFMS.getMotor(1);
Adafruit_DCMotor * myMotor2 = AFMS.getMotor(2);
Adafruit_DCMotor * myMotor3 = AFMS.getMotor(3);
Adafruit_DCMotor * myMotor4 = AFMS.getMotor(4);
int geleid = 13;
char estado; SoftwareSerial dospositivo (10, 11); RX = 10, Tx = 11
Servo myservo;
4. in de sectie "Installatie" de snelheid van elke motor, zal oorspronkelijke positie, en de PIN waartegen de servomotor is aangesloten worden toegewezen.
VOID Setup {}
Serial.begin (9600);
Serial.printIn ("Adafruit Motorshield v2 - DC Motor test!");
pinMode led (, uitvoer);
AFMS.begin();
dispositivo.begin(9600);
myMotor1 -> setSpeed(255);
myMotor2 -> setSpeed(255);
myMotor3 -> setSpeed(255);
myMotor4 -> setSpeed(255);
myservo.attach(9);
myservo.write(0);
}
5. in de Loop-sectie zal de richting waarin elke motor draait worden toegewezen. Dit zal helpen om te bepalen in welke richting de auto als geheel zal verplaatsen. Het zal afhangen van de letter waarop wordt verzonden door de controller App. Je moet ervoor zorgen dat de letters die u in uw code Arduino gebruiken overeenkomen met de letters op uw App verklaard.
void loop {}
Estado = "0";
if(dispositivo.available() > 0) {}
Estado=dispisitivo.Read();
}
schakelaar (estado) {}
geval 'e': //forward
myMotor1 -> run(FORWARD);
myMotor2 -> run(FORWARD);
myMotor3 -> run(FORWARD);
myMotor4 -> run(FORWARD);
breken;
geval 'f': //right
myMotor1 -> run(FORWARD);
myMotor2 -> run(FORWARD);
myMotor3 -> run(BACKWARD);
myMotor4 -> run(BACKWARD);
breken;
geval 'g': //reverse
myMotor1 -> run(BACKWARD);
myMotor2 -> run(BACKWARD);
myMotor3 -> run(BACKWARD);
myMotor4 -> run(BACKWARD);
breken;
geval 'h': //left
myMotor1 -> run(BACKWARD);
myMotor2 -> run(BACKWARD);
myMotor3 -> run(FORWARD);
myMotor4 -> run(FORWARD);
breken;
geval van ': //stop
myMotor1 -> run(RELEASE);
myMotor2 -> run(RELEASE);
myMotor3 -> run(RELEASE);
myMotor4 -> run(RELEASE);
breken;
geval 'q': //attack
myservo.write(150);
delay(500);
myservo.write(30);
delay(500);
myservo.write(150);
delay(500);
breken;
}