"Projektet lanseringen plattform Robot" del 1 - chefen (21 / 21 steg)
Steg 21: Del 1 - huvudet: användning och kod prover
Anslutning i huvudet:
Huvudet var avsedd att drivas av robotar 4 x 12v SLA batterier wired parallellt så behöver du minst en 12 v-strömkälla som är ansluten till den motorshield quick koppla extern strömkabel.
USB kan antingen vara ansluten till en dator på en kontinuerlig basis (som i mitt fall) eller används till att programmera huvudet utifrån dina specifikationer.
Kodning idéer:
Låt oss ta en titt på mitt exempel;
Robotar kroppen, som jag kommer att prata om i en fortsättning, har en inbyggd - Vostro laptop. Aggregatets Arduino har inte så mycket logik, utan i stället förlitar sig på lyssnar på kommandon från datorn innan du kör vissa uppgifter. Det är också ansvarig för att ge feedback från de ultrasonic sensor och låta program känner när den har emot kommandon.
Ett enkelt sätt att hantera detta är genom pressar av tangenter på ett tangentbord och skriva ut våra värderingar till olika program.
Några exempel:
Motorer i huvudet styrs av tangentbord pressar, som i sin tur är mappade till ett program som kan kontrollera dem direkt eller Vrid kontrollen föraren med hjälp av en ansluten handkontroll. Jag ber om ursäkt för att vara avsiktligt vag men jag för närvarande bygger den programvara som jag använder för att styra denna robot genom flera trådlös väg eller på Internet. -Mycket öppna slutade. Koden för detta i Arduino ser ut ungefär så här:
Motorer:
#include < AFMotor.h >
AF_DCMotor motor1 (1, MOTOR12_64KHZ); skapa motor #1, 64KHz pwm
AF_DCMotor motor2 (2, MOTOR12_64KHZ). skapa motor #2, 64KHz pwm
AF_DCMotor motor3 (3, MOTOR12_1KHZ). skapa motor #3, 1KHz pwm
AF_DCMotor motor4 (4, MOTOR12_1KHZ). skapa motor #4, 1KHz pwm
void setup() {
Serial.BEGIN(115200); Ställ in följetong bibliotek på 115200 bps
Serial.println ("Adafruit L293D Motor sköld");
Serial.println ("förbinda på: 115200 baud");
Serial.println("");
Serial.println ("Status: aktiv");
}
void loop() {
Läs sensorn:
om (Serial.available() > 0) {
int inByte = Serial.read();
int hastighet; Lokal variabel
Växla (inByte) {
Tilt (upp & ner) [Motor 1]
fallet "u": / / slå upp
motor1.setSpeed(225);
motor1.Run(forward);
Serial.println ("titta upp");
Serial.println("");
bryta;
fallet "i": / / Motor stopp
motor1.Run(release);
Serial.println ("Stop Tilt");
Serial.println("");
bryta;
fallet "o-: / / se ner
motor1.setSpeed(225);
motor1.Run(Backward);
Serial.println ("ser ner");
Serial.println("");
bryta;
Pan (vänster & höger) [Motor 2]
fallet "j": / / titta vänster
motor2.setSpeed(225);
motor2.Run(forward);
Serial.println ("Look Left");
Serial.println("");
bryta;
fallet "k": / / Motor stopp
motor2.Run(release);
Serial.println ("Stop PAN");
Serial.println("");
bryta;
fallet "l": / / ser rätt
motor2.setSpeed(225);
motor2.Run(Backward);
Serial.println ("Leta rätt");
Serial.println("");
bryta;
** "Serial.println" användes i det här exemplet för testning genom putty att se till att de kommandon som ges i själva verket var att ge rätt resultat. Det var också ändrades senare koden till uppsättningen av utlösare i ett program låta det vet ett kommando hade sänts.
Ficklampa kod:
Spotlight
fallet "7":
digitalWrite 13, hög. Vänder på Spotlight
Serial.println ("Spotlight ON");
Serial.println("");
bryta;
fallet "8":
digitalWrite 13, låg. Stänger av Spotlight
Serial.println ("Spotlight OFF");
Serial.println("");
bryta;
Det är verkligen så enkelt i detta skede.
Du kan skriva mer logik i det här steget om du känner, till exempel om du vill ha en mer automatisk, mindre öppen slutade robot, kan du helt enkelt koden huvudet att "titta runt" och brand ultraljud sensorn att bara undvika hinder, som en massa andra projekt som jag har sett på internet. Valet är ditt =)
Tack för att läsa min första Instructable, jag hoppas att ha andra projekt snart tillsammans med fortsättningen av andra delar till denna robot.
-Reichenstein7