Les 9(Serieel communiceren tussen 2 Arduino's)

Alleen lezen

Les 9(Serieel communiceren tussen 2 Arduino's)

Berichtdoor pe1br » do okt 19, 2017 1:19 am

Les10-1:

Deze les ga je samen doen met je buurman.

Zorg er voor dat je alle voedingsspanningen los koppelt (usb niet aangesloten op de pc en geen power adapter aangesloten op de voedingsplug).
sluit samen beide Arduino's aan volgens onderstaand schema:


Start het Arduino programma en sluit de USB kabel aan.
Op de arduino met de buttons (bovenste) typ de volgende code over of kopieer deze naar de arduino ide:
Code: Selecteer alles
int button1 = 2;  //button 1 verbonden aan pin 2
int button2 = 6;  //button 2 verbonden aan pin 6

void setup() {
  Serial.begin(9600); //baudrate serial
  pinMode(button1, INPUT_PULLUP); //button1 input en pullup
  pinMode(button2, INPUT_PULLUP); //button2 input en pullup
}

void loop() {
  if (digitalRead(button1) == LOW) Serial.println("1"); //Als button1 laag is (gnd) stuur een 1
  else Serial.println("8");                             //anders stuur een 8
  delay(100);                                           //wacht 100ms
  if (digitalRead(button2) == LOW) Serial.println("2"); //Als button2 laag is (gnd) stuur een 2
  else Serial.println("9");                             //anders stuur een 9
  delay(100);                                           //wacht 100 ms
}


Start het Arduino programma en sluit de USB kabel aan.
Op de arduino met de leds (onderste) typ de volgende code over of kopieer deze naar de arduino ide:
Code: Selecteer alles
int led1 = 8; //led1 verbonden aan pin 8
int led2 = 12; //led 2 verbonden aan pin 12

void setup() {
  Serial.setTimeout(10); //timeout serial monitor
  Serial.begin(9600); //baudrate serial
  pinMode(led1, OUTPUT); //led1 (pin 8) output
  pinMode(led2, OUTPUT); //led2 (pin 12) output
}

void loop() {
  if (Serial.available() > 0) { //controleer of er serial data beschikbaar is
    String incoming_serial; //maak een container voor serial data
    incoming_serial=Serial.readString(); //stop de serial data in de container
    if (incoming_serial.startsWith("1")) digitalWrite(led1, HIGH); //als de data begint met 1 zet led 1 aan
    if (incoming_serial.startsWith("2")) digitalWrite(led2, HIGH); //als de data begint met 2 zet led 2 aan
    if (incoming_serial.startsWith("8")) digitalWrite(led1, LOW);  //als de data begint met 8 zet led 1 uit
    if (incoming_serial.startsWith("9")) digitalWrite(led2, LOW);  //als de data begint met 9 zet led 2 uit
  }
}

Als je nu op de knopjes drukt van de eerste Arduino zullen de leds op de 2de Arduino hierop reageren.
Bijlagen
les-9-1_bb.jpg
(1.33 MiB) Nog niet gedownload
pe1br
 
Berichten: 56
Geregistreerd: do apr 14, 2016 3:37 am

Keer terug naar archief workshop oktober 2017

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron