• IT-Karriere:
  • Services:

Kommandos empfangen

Nun fehlt nur noch der Teil, der auch tatsächlich die Werte im Array ändert. Das passiert, sobald ein Kommando über die I2C empfangen wird. Dafür haben wir mit Hilfe der Wire-Bibliothek die Callback-Funktion receiveEvent() registriert:

Stellenmarkt
  1. Erzbistum Köln, Köln
  2. STADT ERLANGEN, Erlangen

  1. void receiveEvent(int count)
  2. {
  3.  
  4. int pin = 0;
  5.  
  6. pin = Wire.read();
  7. pins[pin].mode = Wire.read();
  8. pins[pin].value = Wire.read();
  9. }

Das überlieferte Kommando wird einfach Byte für Byte eingelesen und der entsprechende Parameter zugewiesen. Auf eine weitergehende Logik, die Zustandsänderungen im Array sofort auch in der LED-Ansteuerung umzusetzen, verzichten wir. Da das Programm keinen blockierenden Code enthält, können wir sicher sein, dass die processPins-Funktion sowieso innerhalb kürzester Zeit wieder aufgerufen wird.

Arduino und Touchboard verbinden

Um die physische I2C-Verbindung herzustellen, müssen per Kabel auf dem Touchboard die GPIO-Pins 2 und 3 mit den Analog-Pins 1 und 2 des Arduino-Boards verbunden werden. Außerdem muss eine gemeinsame Masseverbindung hergestellt werden.

Im Prinzip könnten wir den Arduino auch gleich über das Touchboard mit Strom versorgen. Leider reicht hierfür der gelieferte Strom des Touchboards nicht aus - bereits, wenn keine der LEDs leuchtet. Deswegen müssen wir den Arduino ebenfalls per USB mit Strom versorgen, wie auch das Touchboard.

Wollen wir dieses Problem eleganter lösen, gibt es eine Option: statt eines vollständigen Arduinos nur einen nackten, genügsameren Atmel-Microcontroller-Chip als IO-Expander zu nutzen. Doch die Möglichkeiten, die sich daraus ergeben und wie dieser entsprechend programmiert werden kann, sind Stoff genug für einen eigenen Artikel.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 LEDs ansteuernFazit 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11.  


Anzeige
Spiele-Angebote
  1. (u. a. Death Stranding für 39,99€, Bloodstained: Ritual of the Night für 17,99€, Journey to...
  2. 4,25€
  3. 20,49€

McFarmar 13. Jan 2015

Finde ich auch super. Ein Kollege hat ein Kind das im richtigen Alter ist - ich glaube...

Konstantin... 13. Jan 2015

den ich persönlich lustiger finde. Man benötigt zwar einen PC dafür, wenn ich aber...


Folgen Sie uns
       


    •  /