Bücher online kostenlos Kostenlos Online Lesen
Raspberry Pi - Einstieg, Optimierung, Projekte

Raspberry Pi - Einstieg, Optimierung, Projekte

Titel: Raspberry Pi - Einstieg, Optimierung, Projekte Kostenlos Bücher Online Lesen
Autoren: Maik Schmidt
Vom Netzwerk:
linken Seite verwenden, um bis zu 8 Analogsensoren anzuschließen. Die Hälfte der Pins auf der rechten Seite dient der Stromversorgung und Masse (VDD, VREF, AGND und DGND). Mit den verbleibenden vier Pins (CLK, DOUT, DIN und CS) können Sie die anliegende Spannung als Digitalzahl auslesen.
    Der MCP3008 hat eine Auflösung von 10 Bit, sodass Sie sich vielleicht fragen, wie Sie 10 Bit mit nur vier Leitungen übertragen können. Man würde erwarten, dass der Chip 10 Pins für die Ausgabe des anliegenden Analogsignals besitzt. Das ist zwar grundsätzlich richtig, aber 10 Pins wären auch eine ziemliche Verschwendung. Nicht nur der MCP3008 müsste mehr Anschlüsse haben, sondern auch der Pi.
    Aus diesem Grund wendet der MCP3008 einen Trick an, um seine Werte auszugeben. Er implementiert das Serial Peripheral Interface (SPI) 8 . SPI ermöglicht Ihnen eine synchrone serielle Verbindung zwischen einem Haupt- und mehreren Nebengeräten. Haupt- und Nebengeräte kommunizieren über einen seriellen Bus und in unserem Fall ist Pi der Master und der MCP3008 das Nebengerät. Immer wenn der Pi ein Analogsignal lesen möchte, sendet er eine Nachricht und der MCP3008 antwortet.

    Abb. 10–5 So verbinden Sie zwei SPI-Geräte.
    Um einen SPI-Bus zwischen zwei Geräten einzurichten, benötigen Sie vier Leitungen. In Abbildung 10–5 sehen Sie, wie Sie den Pi mit dem MCP3008 verbinden, sodass beide mittels SPI kommunizieren können. Machen Sie sich keine Sorgen. Sie sehen den Rest des Schaltplans im Abschnitt » Jetzt spielt alles zusammen «. Leider ist SPI keine besonders exakte Spezifikation, weshalb verschiedene Hersteller für ihre Pins unterschiedliche Bezeichnungen verwenden. Mit der SCLK-Leitung synchronisieren Haupt- und Nebengerät ihre Arbeit über ein gemeinsames Taktsignal. Die Leitung MOSI (Master Out, Slave In) dient zum Senden von Daten vom Hauptzum Nebengerät, während MISO (Master In, Slave Out) für die Rückübertragung vom Neben- zum Hauptgerät sorgt. Mit der Leitung SS (Slave Select) wählt das Hauptgerät ein Nebengerät aus, das eine Aufgabe übernehmen soll.
    Die SPI-Kommunikation in Software abzubilden ist nicht schwer, die Pi-Hardware kann das jedoch schon von Haus aus. Das gilt auch für Raspbian, weshalb Sie im nächsten Abschnitt erfahren, wie Sie sie aktivieren.
SPI auf dem Pi aktivieren
    Per Voreinstellung aktiviert Raspbian SPI nicht, sodass Sie erst ein paar Konfigurationsdateien anpassen müssen. Zuerst müssen Sie SPI aus der Modulsperrliste entfernen. Dazu editieren Sie
/etc/modprobe.d/raspiblacklist.conf
:
    pi@raspberry:~$
 
sudo nano /etc/modprobe.d/raspi-blacklist.conf
    Bei Erscheinen dieses Buchs enthielt diese Datei nur zwei Zeilen, um SPI und I 2 C zu deaktivieren. Sie sieht wahrscheinlich wie folgt aus:
    blacklist spi-bcm2708
blacklist i2c-bcm2708
    Um die SPI-Unterstützung aus der Sperrliste zu entfernen, müssen Sie die entsprechende Zeile auskommentieren, sodass die Datei hinterher wie folgt aussieht:
    #blacklist spi-bcm2708
blacklist i2c-bcm2708
    Alternativ können Sie die Zeile natürlich auch löschen. Speichern Sie anschließend die Datei und fügen Sie das SPI-Modul der Liste der Module hinzu, die Pi automatisch beim Systemstart lädt.
    pi@raspberry:~$
 
sudo nano /etc/modules
    Fügen Sie eine Zeile hinzu, die nur das Wort »spidev« enthält, und speichern Sie die Datei. Dann starten Sie den Pi erneut.
    pi@raspberry:~$
 
sudo reboot
    Ihr Pi sollte jetzt zwei SPI-Geräte unterstützen, die Sie mit dem folgenden Befehl suchen können:
    pi@raspberry:~$
 
ls /dev/spidev*
/dev/spidev0.0 /dev/spidev0.1
    Im folgenden Abschnitt erwecken wir eines dieser Geräte zum Leben, indem wir einen MCP3008 und einen Temperatursensor an den Pi anschließen.
Jetzt spielt alles zusammen
    Da wir jetzt wissen, wie SPI prinzipiell funktioniert, müssen wir den Pi mit dem MCP3008 und den MCP3008 mit dem Temperatursensor TMP36 verbinden. In Abbildung 10–6 sehen wir, wie das geht.
    Wir müssen die Versorgungsspannung und die Masse an verschiedenen Stellen auf dem Steckbrett anschließen. Daher verbinden wir sie mit den beiden Reihen links am Steckbrett. Von dort können wir die Spannung und Masse einfach mithilfe von kurzen Leitungen an andere Stellen verteilen.
    Dann stecken wir den MCP3008-Baustein ein und achten auf die richtige Polung. Integrierte Schaltkreise (ICs) haben oben an einem Ende eine Einbuchtung im Gehäuse und der MCP3008 ist keine Ausnahme. Pin 1 befindet sich links von der

Weitere Kostenlose Bücher