Serial: verschil tussen versies

Uit TrompBot
Naar navigatie springen Naar zoeken springen
Regel 69: Regel 69:




[[Bestand:EnergiaSerial.png|400px]]
[[Bestand:EnergiaSerial.png|700px]]

Versie van 14 aug 2012 22:26

Beginnen | Hardware | Software | Voorbeeldprogramma | Inkscape & lasersnijden | Errors & Tips | Kekbot | [TrompBot Website] | Trompbots | Percussie & ritme | Fioretti programma


Met Serial() kan je berichten sturen van de microcontroller naar de computer, en andersom. Je moet de microcontroller vertellen hoe snel hij moet praten en wat hij moet zeggen.

Voorbeeld

Kopieer dit programma in de Energia software (met CTRL+C en CTRL+V). En druk op de Upload knop.

int i; // een variabele

void setup()
{
  Serial.begin(9600); // stel de snelheid in, 9600 is een standaard snelheid, iets anders werkt niet.
  i = 0;
}

void loop()
{
  Serial.print("Hallo: ");
  Serial.println(i);
  i = i + 1;
  delay(1000); // Wacht 1 seconde
}

Aansluiten

Nu is het belangrijk om een verbinding te maken tussen de PC en de microcontroller. Dat doe je door de jumpers goed te zetten. Op de foto zie je hoe ze moeten staan: Van de jumpers rechtsboven staan er twee horizontaal (van links naar rechts) en drie verticaal (van boven naar onder). Dat is aangegeven met de gele streepjes. Gebruik een klein tangetje om de jumpers er af te halen en weer goed terug te zetten als ze verkeerd staan.

Testen

Open nu het Serieel Scherm van de Energia Software. Als het goed is zie je deze regels:

Hallo: 0
Hallo: 1
Hallo: 2

Kan je dit ook in het programma lezen?

 Serial.begin(9600);      // Zet de snelheid en maak de verbinding klaar
 Serial.print( bericht ); // stuur dit bericht  
 Serial.println( bericht ); // stuur dit bericht en ga naar een nieuwe regel

Meer informatie

Meer informatie over Serial (in het Engels) kan je [hier] vinden.

Nog een voorbeeld

Kopieer dit programma weer naar de Energia software. Open het Serieel Scherm en druk op de linker knop. Kijk wat er gebeurt!

void setup()
{
  Serial.begin(9600); // stel de snelheid in
  pinMode(5, INPUT_PULLUP);
}

void loop()
{
  if( digitalRead(5) )                     // zolang de knop niet is ingedrukt:
    Serial.println("Knop niet ingedrukt!");
  else
    Serial.println("Knop ingedrukt!");
  delay(1000); // Wacht 1 seconde
}