Stap 21: Deel 1 - The Head: gebruik en codevoorbeelden
Aansluiten van het hoofd:
Het hoofd is ontworpen om te worden aangedreven off van de SLA robots 4 x 12v batterijen die in parallel geschakeld, zodat u ten minste één 12v voedingsbron aangesloten van de motorshield snel moeten zult kabel externe voeding.
De USB kan worden aangesloten op een Pc op een continue basis (zoals in mijn geval) of gebruikt voor het programmeren van het hoofd op basis van uw specificaties.
Codering ideeën:
Laat een kijkje nemen op mijn voorbeeld;
Het lichaam van de robots, die ik in een voortzetting bespreken zal, heeft een ingebouwde - in Vostro-laptop. Het hoofd van Arduino hoeft niet heel veel logica, maar in plaats daarvan vertrouwt op luisteren voor opdrachten van de computer voordat u bepaalde taken uitvoert. Het is ook verantwoordelijk voor het geven van feedback van de de ultrasone sensor en de programma's van laten weten wanneer zij opdrachten heeft ontvangen.
Een eenvoudige manier over dit te gaan is door persen van toetsen op een toetsenbord en onze waarden tot verschillende programma's afdrukken.
Een paar voorbeelden:
Motoren in het hoofd worden gecontroleerd door toetsenbord persen, die op hun beurt worden toegewezen aan een programma dat kan hen direct controleren of het besturingselement draai aan de bestuurder door middel van een aangesloten controller. Ik verontschuldig me voor het opzettelijk vaag, maar ik ben momenteel de bouw van de software die ik gebruiken kan om de controle van deze robot via verschillende ether of via het internet. -Zeer open eindigde. De code daarvoor in de Arduino zou er ongeveer als volgt uitzien:
Motoren:
#include < AFMotor.h >
AF_DCMotor motor1 (1, MOTOR12_64KHZ); maken van motor #1, 64KHz pwm
AF_DCMotor motor2 (2, MOTOR12_64KHZ); maken van motor #2, 64KHz pwm
AF_DCMotor motor3 (3, MOTOR12_1KHZ); maken van motor #3, 1KHz pwm
AF_DCMotor motor4 (4, MOTOR12_1KHZ); maken van motor #4, 1KHz pwm
VOID Setup {}
Serial.begin(115200); instellen van seriële bibliotheek 115200 bps
Serial.println ("Adafruit L293D Motor Shield");
Serial.println ("verbinden bij: 115200 baud");
Serial.println("");
Serial.println ("Status: actief");
}
void loop {}
Lees de sensor:
Als (Serial.available() > 0) {}
int inByte = Serial.read();
int de snelheid; Lokale variabele
schakelaar (inByte) {}
Tilt (Up & Down) [Motor 1]
geval 'u': / / opzoeken
motor1.setSpeed(225);
motor1.run(forward);
Serial.println ("Look Up");
Serial.println("");
breken;
geval 'i': / / Motor Stop
motor1.run(release);
Serial.println ("Stop Tilt");
Serial.println("");
breken;
geval ' o ': / / neerkijken
motor1.setSpeed(225);
motor1.run(BACKWARD);
Serial.println ("Look Down");
Serial.println("");
breken;
Pan (links & rechts) [Motor 2]
geval 'j': / / links kijken
Motor2.setSpeed(225);
Motor2.run(forward);
Serial.println ("Look-Left");
Serial.println("");
breken;
geval 'k': / / Motor Stop
Motor2.run(release);
Serial.println ("PAN Stop");
Serial.println("");
breken;
geval 'l': / / rechts kijken
Motor2.setSpeed(225);
Motor2.run(BACKWARD);
Serial.println ("kijk rechts");
Serial.println("");
breken;
** De "Serial.println" werd gebruikt in dit voorbeeld voor het testen via putty om ervoor te zorgen dat de opdrachten worden gegeven waren inderdaad de juiste resultaten te geven. Het werd ook veranderd in latere code tot verrekening triggers in een programma te laten weten dat een opdracht had verstuurd.
Zaklamp code:
Middelpunt van de belangstelling
Case '7':
digitalWrite (13, hoge); Hiermee schakelt u Spotlight
Serial.println ("Spotlight ON");
Serial.println("");
breken;
zaak '8':
digitalWrite (13, laag); Spotlight is uitgeschakeld
Serial.println ("Spotlight uitschakelen");
Serial.println("");
breken;
Het is echt zo simpel in dit stadium.
U kunt meer logica in deze stap als u, bijvoorbeeld denkt als u wilt dat een meer automatische, minder open eindigde robot, je kon gewoon code het hoofd "om rond te kijken" en de brand is het ultrasone sensor alleen om obstakels, net als een heleboel andere projecten die ik heb gezien op het internet. De keuze is aan jou =)
Hartelijk dank voor het lezen van mijn eerste Instructable, ik hoop dat andere projecten van binnenkort samen met de voortzetting van andere onderdelen aan deze robot.
-Reichenstein7