Gör: it Robotics startkit-trådlös Connectivity (4 / 4 steg)
Steg 4: Ändra lineFollowing.ino Program
Nu måste vi ändra vårt lineFollow.ino program som RF radio kit har något annorlunda krav än våra hårdkodade seriell port.
Här är de förändringar vi måste göra:
#include "SoftwareSerial.h"
#include "MakeItRobotics.h"
#define rxPin 4
#define txPin 5
MakeItRobotics line_following;
SoftwareSerial mySerial = SoftwareSerial (rxPin, txPin);
int counter;
I vår definition avsnitt måste vi lägga till en variabel som används för att testa den trådlösa seriella porten. Den här räknaren har datatypen int.
void setup()
{
Serial.BEGIN(10420);
berätta för Arduino att kommunicera med Make: det
PCBdelay(500); dröjsmål 500 ms
line_following.line_following_setup();
initiera statusen för raden efter robot
line_following.all_stop(); alla motorer stoppa
pinMode (rxPin, ingång);
pinMode (txPin, produktionen);
ställa in datahastigheten för SoftwareSerial port
mySerial.begin(9600);
mySerial.begin(1200);
räknare = 0;
}
I vår setup() funktion måste vi göra följande ändringar: vi behöver kommentera ut mySerial.begin(9600); kommandot och tillägga den följande befalla:
mySerial.begin(1200);
1200 är överföringshastigheten (hastighet för dataöverföring) som RF radioapparater kan kommunicera med varandra. Detta värde kan vara olika för din radio.
Kontrollera i dokumentationen. I min situation kom radion med ingen dokumentation, så jag försökte först 2400 baud, som inte fungerade, så jag sänkte sedan överföringshastigheten till 1200 baud, som fungerade.
Vi också initiera variabeln counter till värdet 0. I funktionen Loop() behöver vi lägga till följande:
mySerial.println (sensor_in, HEX);
mySerial.println (counter, DEC);
räknaren ++;
Först kommentera vi ut mySerial.printLn (sensor_in, HEX); linje och tillägga den följande lina:
mySerial.printLn (counterm DEC);
För att testa att vi korrekt konfigurerad våra RF radio vill vi bara skicka några nummer till vår arbetsstation. Senare när vi se till att våra RF-anslutningar arbetar vi kommer att ändra mySerial.printLn() tillbaka till vad det var innan.
Detta är alla förändringar vi måste göra.
Anslut bara USB-kabeln till Arduino USB-kontakten på din robot. Vi kommer först kompilera och ladda upp programmet till våra Arduino.
Kom ihåg att vi måste du kontrollera att vi använder rätt seriell portnumret, kolla det tidigare blogginlägget "Make: it Robotics startkit-programvara del 2″ för detaljer om hur du utför denna uppgift.
Kom ihåg att du inte behöver slå på batteriet om du växlar för att få roboten kommunicera över den seriella porten.
När lineFollow.ino programmet har laddat upp till Arduino, Anslut din FTDI USB kabel till datorn. Ladda Arduino IDE, Välj rätt seriell port och öppna programmet Serial Monitor. Välj rätt baudhastighet, i mitt fall valde jag 1200 baud.
Om du utfört alla uppgifter korrekt bör du se följande i din följetong monitor-programmet. Ditt program ska se lite annorlunda som denna skärm skott togs från ATMEL Studio IDE:
Om bildskärmen seriell tar emot vad som verkar vara en massa skräp tecken eller en massa frågetecken.
Sedan antingen din överföringshastighet på serial monitorn matchar inte överföringshastigheten du ställer i ditt lineFollow.ino program eller du behöver ändra baudfrekvens som programmet använder som RF radioapparater inte stöder kanske detta överföringshastighet:
Det är också lätt att korrumpera den seriella porten, så i många situationer, är det bäst att koppla bort alla USB-portar och försök igen, kanske även rebooting din dator om du inte kan få det att fungera.
I nästa blogg, handledning vi kommer setup programmet lineFollow.ino sensordata ska skickas till vår dator medan roboten kör runt den svarta cirkeln realtidsdata skickas till vår dator trådlöst.