Aus Raspberry Pi Geek 04/2018

I2C-Workshop, 18: Arduino als I2C-Slave (Seite 3)

Das Programm (Listing 6) macht im Prinzip dasselbe wie I2cget: Es baut eine Verbindung mit dem Gerät 0x20 am I2C-Bus 1 auf und liest ein Byte von der Adresse. Den eingelesenen Wert gibt es auf dem Bildschirm aus. Um das Programm knapp zu halten, beinhaltet es keinerlei Routinen zur Fehlerbehandlung. Sie starten es mit dem Kommando go run i2c.go im Terminal.

Listing 6

package main
import (
  "fmt"
  "gobot.io/x/gobot/drivers/i2c"
  "gobot.io/x/gobot/sysfs"
)
func main() {
  bus,err := sysfs.NewI2cDevice("/dev/i2c-1")
  device := i2c.NewConnection(bus,0x20)
  defer device.Close()
  value,err := device.ReadByte()
  fmt.Printf("Counter Value:%X\n",value)
}

Fazit

Alles in allem ist es keine leichte Aufgabe, einen Mikrocontroller wie den Arduino als Slave am I2C-Bus zu betreiben. Es gilt dabei, viele Kleinigkeiten zu bedenken und bis zum ersten Ergebnis viele Schritte zu gehen. Haben Sie diese Hürden erst einmal genommen, eröffnen sich jedoch viele interessante Möglichkeiten. Der Arduino als echtzeitfähiger Mikrocontroller ermöglicht komplett andere Szenarien als der RasPi, der – durch sein Betriebssystem bedingt – dieses Kriterium nicht erfüllt. Der Arduino erweitert zudem die GPIOs des RasPi um analoge Ein- und Ausgabe. Das erlaubt es, spezielle, vollständig auf ein Problem zugeschnittene I2C-Slaves zu programmieren. Kleine Atmel-Controller [7] erhalten Sie im Handel schon für unter 1 Euro. 

Der Autor

Martin Mohr entwickelte schon in früher Jugend eine Vorliebe für alles, was blinkt. Das verstärkte sich durch eine Ausbildung zum Elektroniker. Nach einem Studium der Informatik entwickelte er überwiegend Java-Applikationen. Mit dem RasPi erwachte die alte Liebe zur Elektronik wieder.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben