Heute ist die Grove-Serie von Sensoren, Aktoren und Displays zu einer großen Familie gewachsen. Immer mehr Module schließen sich dem Grove-Ökosystem an. Wir können sehen, dass Grove Entwicklern, Ingenieuren, Lehrern, Studenten und sogar Künstlern beim Bauen und Gestalten hilft. Wir fühlen uns immer dafür verantwortlich, das Grove-Modul mit so vielen Plattformen wie möglich kompatibel zu machen. Jetzt erweitern wir das Angebot um einen Grove Base Hat für Raspberry Pi und einen Grove Base Hat für Raspberry Pi Zero, d. h. wir führen Raspberry Pi in das gesamte Grove-System ein.
Grove Base Hat für Raspberry Pi bietet digitale/analoge/I2C/PWM/UART-Ports, um alle Ihre Anforderungen zu erfüllen. Mit Hilfe der eingebauten MCU steht auch ein 12-Bit 8-Kanal Digital-Analog-Wandler für den Raspberry Pi zur Verfügung.
Grove Base Hat für Raspberry Pi unterstützt derzeit etwa 60 Grove-Module. Es ändert nichts daran, dass ständig neue kompatible Module hinzugefügt werden.
kaufe jetzt |
Eigenschaften
- Kompatibel mit Raspberry 2/3 B / B + Zero
- Eingebaute MCU
- 12-Bit-ADC
- Vielzahl von Grove-Ports
Spezifikationen
Charakteristisch | Wert |
---|---|
Betriebsspannung | 3,3 V. |
MCU | STM32 |
ADC | 12-Bit-8-Kanal |
Grove- Ports |
|
Kommunikationsbus mit RaspberryPi | I2C |
I2C -Adresse | 0x04 |
Beachtung Die Arbeitsspannung beträgt 3,3 V, bitte liefern Sie nicht mehr als 3,3 V, da sonst der Raspberry Pi beschädigt werden kann. Diese Abschirmung funktioniert nicht mit dem Grove-5-V-Modul über den Grove-Anschluss, verwenden Sie also das Grove-3,3-V-Modul |
Hardware-Übersicht
Verteilung von Leads
GPIO
Gleiche Pinbelegung wie beim Raspberry Pi.
PWM (Pulsweitenmodulation)
Der PWM-Grove-Port wird mit GPIO/BCM Pin12 (PWM0) und GPIO/BCM Pin13 (PWM1) verbunden, dem Hardware-PWM-Pin des Raspberry Pi. Zusätzlich können alle GPIO-Pins als Software-PWM-Pins verwendet werden.
Beachtung 0- Alle Pin-Nummern, mit Ausnahme des Grove-Anschlusses, sind mit BCM-Pin-Nummern gekennzeichnet. Weitere Informationen zu den Unterschieden zwischen BCM-Pins und physischen Pins finden Sie hier . 1- Im Vergleich zu Hardware-PWM ist Software-PWM nicht so genau und hat Probleme bei hohen Frequenzen. 2- GPIO / BCM Pin18 ist auch mit PWM0 gekennzeichnet, tatsächlich haben GPIO / BCM 12 und GPIO / BCM 18 denselben PWM-Kanal, sodass sie keine unterschiedliche Geschwindigkeit einstellen können. 3- Die Audioausgangsbuchse verwendet auch PWM 0 und PWM 1, Sie können also an dieser Buchse keine Audioausgabe haben und gleichzeitig PWM verwenden. |
UART
Der Grove-UART-Port wird mit GPIO14 (UART0 TX) und GPIO15 (UART0 RX) verbunden. UART wird häufig auf Raspberry Pi als bequeme Möglichkeit zur Steuerung über GPIO oder zum Zugriff auf Kernel-Boot-Meldungen von einer seriellen Konsole (standardmäßig aktiviert) verwendet. Es kann auch verwendet werden, um Arduino, gebootetes ATmega, ESP8266 usw. mit Ihrem Minicomputer zu verbinden.
Es gibt 6 digitale Grove-Buchsen auf dieser Platine, normalerweise ist das gelbe Kabel (das mit dem oberen Pin der 4-poligen Grove-Buchse verbunden ist) des Grove-Kabels das Signalkabel, daher heißen die digitalen Grove-Ports: D5 / D16 / D18 / D22 / D24 / D26 .
Wie Sie wissen, gibt es auf dem Raspberry Pi keinen Digital-Analog-Wandler, sodass Sie analoge Sensoren nicht direkt anschließen können. Mit Hilfe der eingebauten STM32-MCU kann der Grove Base Hat jetzt mit einem externen 12-Bit-Konverter arbeiten. Das bedeutet, dass Ihr Raspberry Pi mit analogen Sensoren arbeiten kann. Außerdem stehen nicht nur eine, sondern gleich vier analoge Grove-Buchsen zur Verfügung.
Der analoge Sensor speist die analoge Spannung in den 12-Bit-Wandler ein. Nach der Umwandlung analoger Daten in digitale Daten gibt der Konverter die digitalen Daten über die I2C-Schnittstelle in den Raspberry Pi ein.
Auf dem Board befinden sich drei I2C-Ports, die alle direkt mit dem I2C-Port des Raspberry Pi verbunden sind. Sie können diesen Teil als I2C-Hub behandeln. Die meisten der neuen Grove-Module verfügen über eine I2C-Schnittstelle. Sie werden selbst feststellen, dass diese drei Ports äußerst nützlich sind.
SWD
Wir verwenden den SWD-Port, um die Firmware auf dieses Overlay zu brennen. Außerdem sehen Sie in diesem Abschnitt 3 GPIO-Pins, d. h. Pin 9 / Pin 10 / Pin 11 . Diese drei Pins werden von keinem Grove-Port verwendet, Sie können sie verwenden, ohne sich Gedanken über Pin-Kurzschlüsse machen zu müssen.
Grove Base Hat für Raspberry Pi vs. GrovePi+
Parameter | Grove Base Hat für Raspberry Pi | GrovePi+ |
---|---|---|
Betriebsspannung | 3,3 V. | 5 V |
MCU | STM32F030F4P6 | ATMEGA328P |
Grove-Ports |
|
|
Hain- Digital | Verbinden Sie sich direkt mit dem Raspberry Pi | Verbinden Sie sich mit digitalen ATMEGA328P-Pins , übertragen Sie das I2C-Signal und trennen Sie die IP-Adresse über den Pegelwandler von Raspberry Pi |
Grove-Analog | An STM32F030F4P6 (12-Bit-Konverter) anschließen, an I2C-Signal übertragen und direkt an Raspberry Pi ausgeben | Verbinden Sie sich mit den analogen ATMEGA328P-Pins (10-Bit- Konverter ) , übertragen Sie das I2C-Signal und trennen Sie die IP-Adresse über den Pegelkonverter von Raspberry Pi |
Grove-I2C | Verbinden Sie sich direkt mit dem Raspberry Pi | Per Pegelwandler mit Raspberry Pi verbinden |
Grove-PWM | Verbinden Sie sich direkt mit dem Raspberry Pi | - |
RPISER | Verbinden Sie sich direkt mit dem Raspberry Pi | Verbinden Sie sich direkt mit dem Raspberry Pi |
SERIE | - | An die digitalen Pins D0 / D1 von ATMEGA328P anschließen , an das I2C-Signal übertragen und die IP- Verbindung zum Raspberry Pi über einen Pegelwandler trennen |
SWD | Firmware auf STM32F030F4P6 brennen | - |
UND SP | - | Brennen Sie die Firmware auf ATMEGA328P |
Steckerstifte Himbeer-Pi | 40 | 26 |
Wie man anfängt
Ausrüstung
Benötigtes Material
- Himbeer-Pi x1
- Grove Base Hat für Raspberry Pi x1
- Grove-Modul
Schritt 1. Verbinden Sie den Grove Base Hat mit dem Raspberry Pi.
Schritt 2. Verbinden Sie das Grove-Modul mit dem entsprechenden Grove-Port.
Schritt 3. Schließen Sie die Stromversorgung an den microUSB-Anschluss des Raspberry Pi an.
Beachtung Wir empfehlen, dass Sie den Raspberry Pi an die Stromversorgung anschließen, nachdem Ihre gesamte Hardware angeschlossen ist. Bitte stecken Sie das Sensormodul nicht im laufenden Betrieb, da sonst der Raspberry Pi abstürzen kann. |
Software
In diesem Abschnitt erfahren Sie, wie Sie die Bibliothek seeed grove.py installieren und die I2C- , PWM-, digitalen und analogen Ports auf dem Grove Base Hat für Raspberry Pi verwenden.
Spitze Wenn Sie nicht wissen, wie Sie Ihren Raspberry Pi bedienen, lesen Sie bitte hier , bevor Sie beginnen. |
Die Architektur
Zur Unterstützung von Grove-Sensoren hängt grove.py von vielen Hardware-Schnittstellenbibliotheken wie mraa / smbus2 / rpi.gpi / rpi_ws281x ab.
Installation
Online-Installation mit einem Klick
Mit einem Befehl unten können Sie alle Abhängigkeiten und die neueste grove.py installieren / aktualisieren.
curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s -
Erfolg Wenn alles nach Plan läuft, sehen Sie die Nachricht unten. grove.py-0.5 erfolgreich installiert ################################################## ## ##### Lastest Grove.py von github Installation abgeschlossen !!!!! ################################################## ## ##### |
Installation Schritt für Schritt
Neben der Schnellinstallation ist es auch möglich, Abhängigkeiten und die neueste grove.py Schritt für Schritt zu installieren. Weitere Informationen finden Sie auf github.
Installation Schritt für Schritt
Sie können die Quelldatei überprüfen, indem Sie die Bibliothek grove.py klonen.
Git-Klon https://github.com/Seeed-Studio/grove.py
Benutzen
Jetzt können Sie den Grove Base Hat für Raspberry Pi zusammen mit einem Dutzend Grove-Modulen verwenden. Geben Sie den Befehl grove_ ein und drücken Sie die Tabulatortaste , um eine Liste kompatibler Grove-Geräte anzuzeigen.
pi @ himbeerpi: ~ $ grove_ grove_3_axis_compass_bmm150 grove_i2c_color_sensor_v2 grove_mini_pir_motion_sensor grove_rotary_angle_sensor grove_temperature_sensor grove_4_digit_display grove_i2c_motor_driver grove_moisture_sensor grove_ryb_led_button grove_thumb_joystick grove_air_quality_sensor_v1_3 grove_lcd_1.2inches grove_oled_display_128x64 grove_servo grove_tilt_switch grove_button grove_led grove_piezo_vibration_sensor grove_slide_potentiometer grove_touch_sensor grove_collision_sensor grove_light_sensor_v1_2 grove_pwm_buzzer grove_sound_sensor grove_ultrasonic_ranger grove_gesture_sensor grove_loudness_sensor grove_recorder_v3_0 grove_switch grove_water_sensor grove_high_accuracy_temperature grove_mech_keycap grove_relay grove_temperature_humidity_sensor pi @ himbeerpi: ~ $ grove_
Dann zeigen wir Ihnen, wie Sie sie je nach Porttyp verwenden.
PWM-Anschluss
Wir werden das Grove-Buzzer- Beispiel verwenden , um den PWM-Port vorzustellen.
Hardware-Anschlussdiagramm
Geben Sie an der Eingabeaufforderung den folgenden Befehl ein: sudo grove_pwm_buzzer
.
pi @ himbeerpi: ~ $ sudo grove_pwm_buzzer Stecken Sie den Grove-Buzzer in den Grove-Base-Hat-PWM-Steckplatz [12 13 VCC GND] 3800 3400 3000 2900 2550 2270 2000 Anwendung beenden
Der Summer ertönt mehrmals, stoppt dann und das Programm wird automatisch geschlossen.
Digitaler Anschluss
Wir werden den Grove - Ultraschall-Abstandssensor als Beispiel verwenden , um den digitalen Anschluss zu demonstrieren.
Hardware-Anschlussdiagramm
Geben Sie den folgenden Befehl ein: grove_ultrasonic_ranger 5 6
an der Eingabeaufforderung.
PI @ Raspberrypi: ~ $ grove_ultraconic_ranger 5 6 Erkennung Entfernung ... 6.979909436456088 cm 7.966469074117726 cm 12.451204760321255,784797089675378 cm 17.429220265355603 cm 18.73230112010035 cm 1973.838039 cm groove_ultrasonic_ranger ", Linie 11, inload_entry_point ('grove.py == 0.5', 'console_scripts', 'grove_ultrasonic_ranger') () Datei "/usr/local/lib/python3.5/dist-packages/grove/grove_ultrasonic_ranger.py", Zeile 107, in main time.sleep (1) KeyboardInterrupt
Wenn Sie den Abstand zwischen dem Grove - Ultraschall-Abstandssensor und dem Ziel ändern, ändert sich der Messwert entsprechend. Drücken Sie zum Schließen Strg + C.
Beachtung Für die meisten Grove-Module müssen Sie einen Pin-Nummernparameter hinzufügen, z. B. grove_ultrasonic_ranger 5 6, 5 und 6 ist der GPIO/BCM-Pin. Sie werden jedoch möglicherweise feststellen, dass wir im ersten grove_pwm_buzzer-Beispiel den Parameter nicht nach dem Befehl hinzugefügt haben. Dies liegt daran, dass der PWM-Port und der I2C-Port keine Pin-Nummer-Parameter benötigen. Die Pin-Nummern-Bezeichnung finden Sie neben dem Grove-Stecker. |
Analoger Anschluss
Wir verwenden das Beispiel von Grove - Air Quality Sensor v1.3 , um den analogen Anschluss vorzustellen.
Hardware-Anschlussdiagramm
Geben Sie den folgenden Befehl ein: grove_air_quality_sensor_v1_3 0 1
in der Befehlszeile.
pi @ himbeerpi: ~ $ grove_air_quality_sensor_v1_3 0 1 Erkennen ... 62, Luftqualität OK. 63, Luftqualität OK. 61, Luftqualität OK. 61, Luftqualität OK. 59, Luftqualität OK. 62, Luftqualität OK. 60, Luftqualität OK. 60, Luftqualität OK. 59, Luftqualität OK. 60, Luftqualität OK. 60, Luftqualität OK. 60, Luftqualität OK. 57, Luftqualität OK. ^ CTraceback (letzter Aufruf zuletzt): Datei „/usr/local/bin/grove_air_quality_sensor_v1_3“, Zeile 11, inload_entry_point ('grove.py == 0.5', 'console_scripts', 'grove_air_quality_sensor_v1_3') () Datei "/usr/local/lib/python3.5/dist-packages/grove/grove_air_quality_sensor_v1_3.py", Zeile 68, in main time.sleep (.1) KeyboardInterrupt
Mit diesem Sensor können Sie die Luftqualität ermitteln. Drücken Sie zum Beenden Strg + C.
Beachtung Sie haben vielleicht bemerkt, dass die Pin-Nummer für den analogen Port A1, A0 ist, aber wir verwenden 0 und 1 im Befehl, genau wie beim digitalen Port. Stellen Sie also sicher, dass Sie das Modul in den richtigen Anschluss stecken, da es sonst zu Pin-Kurzschlüssen kommen kann. |
I2C
Wir verwenden das Beispiel von Grove - OLED Display 128x64 , um den I2C-Port zu zeigen.
Hardware-Anschlussdiagramm
Geben Sie den folgenden Befehl ein: grove_oled_display_128x64
in der Befehlszeilenschnittstelle.
pi @ himbeerpi: ~ $ grove_oled_display_128x64 pi @ himbeerpi: ~ $
Es sieht so aus, als wäre nichts passiert, aber wenn Sie Ihr OLED-Display überprüfen, finden Sie dort vielleicht den berühmtesten Satz der Cyberwelt.
Beachtung Wenn Sie das I2C-Tool verwenden, um die I2C-Adresse des Grove-Moduls zu scannen, können Sie zwei oder mehr Adressen finden. 0x04 ist die richtige Grove Base Hat-Adresse für Raspberry Pi . |