So aktivieren Sie SPI / I2C auf Raspberry Pi (und wozu sie es verwenden können)
Der Raspberry Pi kann für fast alles verwendet werden. Von Heim-Media-Centern bis hin zu benutzerdefinierten Retro-Spiele-Setups können Sie mit Sicherheit sagen, dass der Pi und ähnliche Einplatinencomputer allgegenwärtig werden.
Wenn Sie mit den GPIO-Pins des Raspberry Pi experimentieren, werden die Dinge noch interessanter. Wir haben bereits beschrieben, was all diese Pins tun, also lassen Sie uns nun untersuchen, wie Sie die SPI- und I2C-Protokolle auf Ihrem Pi aktivieren und warum Sie dies vielleicht möchten.
Was ist SPI auf Raspberry Pi??
Bevor wir eintauchen, wollen wir uns kurz mit den beiden Protokollen beschäftigen.
SPI (oder Serial Peripheral Interface) ermöglicht einem Mikrocontroller wie dem Pi die gleichzeitige Kommunikation mit über 100 Peripheriekomponenten. Der Mikrocontroller fungiert als “Meister” an alle “Sklave” Komponenten und kann mit ihnen mit hoher Geschwindigkeit kommunizieren. Dieses Diagramm zeigt eine einfache SPI-Verbindung:
Wenn Sie zum ersten Mal über SPI lesen, kann dies ziemlich einschüchternd wirken, aber bleiben Sie dabei! SCLK ist die vom Master eingestellte Taktrate, die die Geschwindigkeit festlegt, mit der Informationen zwischen den Geräten ausgetauscht werden.
Bei jedem Zyklus (oder “Tick”) der Uhr senden und empfangen sowohl Master als auch Slave ein Informationsbit. Das ist was der MOSI (Master Out Slave In) und MISO (Master In Slave Out) Pins sind für.
Das SS oder Der Slave-Select-Pin (auf dem Pi mit CE0 oder CE1 gekennzeichnet) wird verwendet, um einem Slave-Gerät mitzuteilen, dass es zu einem bestimmten Zeitpunkt mit dem Master kommunizieren soll oder nicht. In den meisten Fällen benötigt jedes Slave-Gerät einen eigenen SS-Pin, kann jedoch die SCLK-, MOSI- und MISO-Pins gemeinsam nutzen.
Einige Geräte können sein “Daisy angekettet” Um einen SS-Pin gemeinsam zu nutzen, bleiben die insgesamt verwendeten Pins auf vier, plus zwei für Strom und Masse. SPI ist bekannt dafür, unglaublich schnell zu sein, und wird üblicherweise in Schieberegistern oder ADCs (Analog-Digital-Wandlern) verwendet, um Daten zwischen Geräten zu übertragen.
Augmented Startups Der YouTube-Kanal bietet eine einfach zu verfolgende Grundierung für SPI, in der das Protokoll näher erläutert wird:
So aktivieren Sie SPI für Raspberry Pi
Öffnen Sie, um SPI auf Ihrem Raspberry Pi zu aktivieren raspi-config vom Terminal durch Eingabe von:
sudo raspi-config
Navigiere zu Schnittstellenoptionen, und im folgenden Menü auswählen P4 SPI Automatisches Laden des SPI-Kernelmoduls aktivieren / deaktivieren. Wählen Ja bei der Fensteraufforderung. SPI ist jetzt aktiviert!
Alternativ können Sie SPI über die Option aktivieren /boot/config.txt Datei. Öffnen Sie ein Terminalfenster und geben Sie Folgendes ein:
sudo nano /boot/config.txt
Suchen Sie nach einer Zeile, die liest # dtparam = spi = ein und entfernen Sie das # Symbol. Unabhängig davon, wie Sie SPI aktivieren, starten Sie Ihr Pi und SPI neu.
Was können Sie mit SPI auf Raspberry Pi tun??
Es gibt Hunderte verschiedener Projekte, die viele verschiedene SPI-Peripheriegeräte verwenden. Ein gutes Starterprojekt ist die Programmierung Ihres eigenen RFID-Lesegeräts.
Wir haben den MFRC-522-Reader in unserem DIY Smart Lock mit Arduino und RFID-Tutorial verwendet. DIY Smart Lock mit Arduino und RFID DIY Smart Lock mit Arduino und RFID So erstellen Sie ein einfaches RFID-basiertes Smart Lock mit einem Arduino als Rückgrat und einem wenige billige Komponenten. Weiterlesen . Für eine Einführung in das Himbeer-Pi-geführte RFID-Produkt sollten Sie die ausführlichen Anleitungen von piddlerintheroot lesen.
Diese Art von Setup ist nicht nur für Hobby-Elektronik. In unserer Sammlung der besten Raspberry Pi-Projekte Die 13 besten Raspberry Pi-Projekte des Jahres 2017 Die 13 besten Raspberry Pi-Projekte des Jahres 2017 Sie werden begeistert sein von diesen beeindruckend kreativen Raspberry Pi-Projekten. Lesen Sie mehr. Wir haben ein umfassendes MES-System mit Raspberry Pi und RFID im Rahmen eines großen Fabrikbetriebs in Europa vorgestellt.
Was ist I2C auf Raspberry Pi??
I2C ist ein von Phillips Electronics entwickeltes Kommunikationsprotokoll, das in Microcontroller-basierten Hobbyprojekten einen starken Einsatz erlebt hat. Der Grund dafür liegt auf der Hand: Es werden nur zwei Drähte anstelle von SPIs mindestens vier Kabeln verwendet. Es wird auch von benutzerdefinierten Bibliotheken gut unterstützt. Es gibt viele Komponenten, die für die Verwendung mit I2C auf Raspberry Pi entwickelt wurden. Es ist zwar langsamer als SPI, arbeitet jedoch für die meisten täglichen Anwendungen schnell genug.
Ähnlich wie bei SPI hat das Protokoll eine Meister Gerät, wie der Pi, und a Sklave Gerät, z. B. einen Bildschirm, ein Schieberegister oder einen Motortreiber.
Die erste Verbindung zwischen den Geräten ist die SCL (Serielle Uhr), die vom Master eingestellt wird, um die Datenübertragung zu synchronisieren. Die zweite Zeile ist die SDA (Serielle Daten), die die Daten zwischen allen Geräten am I2C-Bus hin und her transferiert.
Das Mastergerät beginnt die Kommunikation mit a Start Bit und ein Sieben-Bit Hex-Adresse. Dies muss mit dem Slave-Gerät übereinstimmen, damit sie kommunizieren können. So können so viele Geräte mit nur zwei Drähten verwendet werden.
Das Master-Gerät gibt dann an, ob es lesen oder schreiben möchte (R / W) den Slave vor dem Empfang einer Bestätigung oder ACK zurück.
Ein einfach zu verfolgender und tiefer gehender Blick auf I2C wird erneut von YouTuber Augmented Startups bereitgestellt:
So aktivieren Sie I2C auf Raspberry Pi
I2C ist auch auf dem Pi über die aktiviert raspi-config Speisekarte. Öffnen Sie das Terminal und geben Sie Folgendes ein:
sudo raspi-config
Verwenden Sie die Pfeiltasten, um auszuwählen Schnittstellenoptionen, gefolgt von P5 I2C Aktivieren / Deaktivieren des automatischen Ladens des I2C-Kernelmoduls. Bestätigen Sie, dass Sie das Protokoll aktivieren möchten, und es sollte ein Bestätigungsbildschirm angezeigt werden.
Wie bei SPI können Sie I2C auch aktivieren, indem Sie Ihre config.txt-Datei ändern. Öffnen Sie ein Terminal und geben Sie Folgendes ein:
sudo nano /boot/config.txt
Ändern #dtparam = i2c_arm = ein, entferne den # Symbol.
Starten Sie Ihr Pi neu und I2C ist bereit zu gehen!
Was können Sie mit I2C auf Raspberry Pi tun??
I2C eignet sich für Projekte, die eine große Anzahl von Ausgaben erfordern. Eine typische Anwendung sind LCD-Bildschirme, für deren Verwendung bis zu 16 Pins erforderlich sind. Bei I2C sind dies nur zwei für die Kommunikation und zwei für Strom und Masse.
Viele LCD-Bildschirme verfügen über ein I2C “Rucksack” angebracht, was die Einrichtung erheblich vereinfacht und den Rest Ihrer Pi-Pins für andere Sensoren und Peripheriegeräte freigibt.
TheRaspberryPiGuy enthält ein ausführliches YouTube-Tutorial zum Einrichten und Verwenden eines LCD-Bildschirms mit I2C auf Raspberry Pi
Verwendung von SPI und I2C speichert Pins!
SPI und I2C auf Raspberry Pi eignen sich zwar nicht für Anfänger mit kompletter Hobby-Elektronik, haben aber auch nichts zu fürchten.
Bevor Sie eintauchen, sollten Sie unserem Anfängerleitfaden für Raspberry Pi folgen, um die Grundlagen zu erlernen.
Das Durcharbeiten einiger Beispielprojekte ist der beste Weg, um zu lernen, und wir freuen uns darauf, zu sehen, was Sie sich vorstellen! Wer weiß, was für seltsame und wunderbare Raspberry Pi-Kreationen? Manchmal werden die Dinge komisch. Sehr seltsam. Lesen Sie mehr, was Sie machen?
Mehr erfahren über: Himbeer-Pi.