Obecnie seria czujników, siłowników i wyświetlaczy Grove rozrosła się w dużą rodzinę. Coraz więcej modułów dołącza do ekosystemu Grove. Widzimy, że Grove pomaga twórcom, inżynierom, nauczycielom, studentom, a nawet artystom budować i tworzyć. Zawsze uważamy, że naszym obowiązkiem jest uczynienie modułu Grove kompatybilnym z jak największą liczbą platform. Teraz do oferty dołączamy Grove Base Hat dla Raspberry Pi oraz Grove Base Hat dla Raspberry Pi Zero, innymi słowy wprowadzamy Raspberry Pi do całego systemu Grove.

 

Grove Base Hat dla Raspberry Pi zapewnia porty cyfrowe / analogowe / I2C / PWM / UART spełniające wszystkie Twoje potrzeby. Z pomocą wbudowanego MCU dostępny jest również 12-bitowy 8-kanałowy konwerter cyfrowo-analogowy dla Raspberry Pi.

Grove Base Hat dla Raspberry Pi aktualnie obsługuje około 60 modułów Grove. Nie zmienia to faktu, że nowe kompatybilne moduły są wciąż systematycznie dodawane.

  

Kup Teraz

Właściwości

  • Kompatybilny z Raspberry 2/ 3 B/B+ Zero
  • Wbudowany MCU
  • 12-bitowy ADC
  • Różnorodne porty Grove

Specyfikacje

CechaWartość
Napięcie robocze 3.3 V
MCU STM32
ADC 12-bitowy 8-kanałowy
Porty Grove
  • 6 Cyfrowy 
  • 4 Analogowy 
  • 3 I2C 
  • 1 PWM 
  • 1UART

Magistrala komunikacji

z Raspberry Pi

I2C
Adres I2C 0x04

 

Uwaga

Napięcie robocze wynosi 3,3 V, proszę nie dostarczać więcej niż 3,3 V, w przeciwnym razie może to spowodować uszkodzenie Raspberry Pi. Ta nakładka nie współpracuje z modułem Grove 5 V przez port Grove, użyj zatem modułu Grove 3.3V

 

Przegląd sprzętu

Rozkład wyprowadzeń

  

 

GPIO

Taki sam rozkład wyprowadzeń jak w Raspberry Pi.

 

 

PWM (Modulacja szerokości impulsów)

Port PWM Grove podłącza się do GPIO/BCM pin12(PWM0) i GPIO/BCM pin13(PWM1), który jest pinem PWM hardwarowym Raspberry Pi. Dodatkowo, wszystkie piny GPIO możesz wykorzystać jako piny PWM softwarowe. 

              

Uwaga

0- Wszystkie numery pinów, poza portem Grove, są oznaczone numerami pinów BCM. Więcej informacji o różnicach między pinami BCM a pinami fizycznymi znajduje się tutaj.

1- W porównaniu ze hardwarowym PWM, PWM softwarowe nie jest tak dokładne i będzie mieć problemy przy wysokich częstotliwościach.

2- GPIO/BCM pin18 jest również oznaczony jako PWM0, w rzeczywistości GPIO / BCM 12 i GPIO / BCM 18 mają ten sam kanał PWM, więc nie mogą ustawić innej szybkości.

3- Wyjście audio jack również korzysta z PWM 0 i PWM 1, więc nie możesz mieć wyjścia audio w tym gnieździe i korzystać z PWM w tym samym czasie.

 

UART

Port Grove UART łączy się z GPIO14 (UART0 TX) i GPIO15 (UART0 RX). UART jest powszechnie używany w Raspberry Pi jako wygodny sposób kontrolowania przez GPIO lub uzyskiwania dostępu do komunikatów rozruchowych jądra z konsoli szeregowej (domyślnie włączone). Może być również używany jako sposób na połączenie Arduino, bootloadowanego ATmega, ESP8266, itp. z Twoim minikomputerem.

 

Porty cyfrowe

Na tej płytce znajduje się 6 cyfrowych gniazd Grove, zwykle żółty przewód (który łączy się z górnym pinem 4-pinowego gniazda Grove) kabla Grove jest przewodem sygnałowym, więc cyfrowe porty Grove nazywają się: D5 / D16 / D18 / D22 / D24 / D26.

 

Porty analogowe

Jak wiadomo, na Raspberry Pi nie ma konwertera cyfrowo-analogowego, więc nie można podłączyć czujników analogowych bezpośrednio. Teraz z pomocą wbudowanego MCU STM32, Grove Base Hat może współpracować z zewnętrznym 12-bitowym konwerterem. Oznacza to, że Twój Raspberry Pi może pracować z sensorami analogowymi. Co więcej, dostępne są nie tylko jedno, ale aż cztery analogowe gniazda Grove.

 

Czujnik analogowy wprowadza napięcie analogowe do 12-bitowego konwertera. Po przekształceniu danych analogowych na dane cyfrowe konwerter wprowadza dane cyfrowe do Raspberry Pi poprzez interfejs I2C.

 

I2C

Na płytce dostępne są trzy porty I2C, wszystkie łączą się bezpośrednio z portem I2C Raspberry Pi. Możesz traktować tę część jak hub I2C. Większość nowych modułów Grove ma interfejs I2C. Przekonasz się sam, że te trzy porty są niezwykle przydatne.

 

 

SWD

Używamy portu SWD do nagrania oprogramowania układowego na tej nakładce. Ponadto w tej sekcji możesz zobaczyć 3 piny GPIO, tj. pin 9 / pin 10 / pin 11. Te trzy piny nie są używane przez żaden port Grove, możesz ich używać bez obaw o spięcia pinów.

 

Grove Base Hat dla Raspberry Pi vs. GrovePi+

ParametrGrove Base Hat dla Raspberry PiGrovePi+
Napięcie robocze 3.3 V 5 V
MCU STM32F030F4P6 ATMEGA328P
Porty Grove
  • 6 x Cyfrowy (3.3 V)
  • 4 x Analogowy (3,3 V)
  • 3 x I2C (3,3 V)
  • 1 x PWM (3,3 V)
  • 1 x RPISER (UART) podłącz do Raspberry Pi(3.3 V)
  • 1 x SWD
  • 7 x Cyfrowy (5 V)
  • 3 x Analogowy (5 V)
  • 3 x I2C (5 V)
  • 1 x SERIAL: podłącz do ATMEGA328P D 0 / 1 (5 V)
  • 1 x RPISER (UART) podłącz do Raspberry Pi(3.3 V)
  • 1 x ISP

Grove-

Cyfrowe

Podłącz bezpośrednio do Raspberry Pi Podłącz do pinów cyfrowych ATMEGA328P, przenieś na sygnał I2C i podłącz do Raspberry Pi przez konwerter poziomów
Grove-Analogowe Podłącz do STM32F030F4P6 (12-bitowy konwerter), przenieś na sygnał I2C i wyprowadź bezpośrednio do Raspberry Pi Podłącz do pinów analogowych ATMEGA328P (10-bitowy konwerter)przenieś na sygnał I2C i podłącz do Raspberry Pi przez konwerter poziomów
Grove-I2C Podłącz bezpośrednio do Raspberry Pi Podłącz do Raspberry Pi przez konwerter poziomów
Grove-PWM Podłącz bezpośrednio do Raspberry Pi -
RPISER Podłącz bezpośrednio do Raspberry Pi Podłącz bezpośrednio do Raspberry Pi
SERIAL - Podłącz do pinów cyfrowych D0/D1 ATMEGA328Pprzenieś na sygnał I2C i podłącz do Raspberry Pi przez konwerter poziomów
SWD Nagraj oprogramowanie układowe na STM32F030F4P6 -
ISP - Nagraj oprogramowanie układowe na ATMEGA328P

Piny złącz 

Raspberry Pi

40 26

Jak zacząć

Sprzęt

Wymagane materiały

  1. Raspberry Pi x1
  2. Grove Base Hat dla Raspberry Pi x1
  3. Moduł Grove

 

  • Krok 1. Podłącz Grove Base Hat do Raspberry Pi.

  • Krok 2. Podłącz moduł Grove do odpowiedniego portu Grove.

  • Krok 3. Podłącz zasilanie do portu microUSB na Raspberry Pi.

 

Uwaga

Zalecamy podłączenie zasilania do Raspberry Pi po podłączeniu całego sprzętu. Proszę nie podłączać modułu czujnika na gorąco, w przeciwnym razie Raspberry Pi może ulec awarii.

  

Oprogramowanie

W tej sekcji nauczysz się, jak zainstalować bibliotekę seeed grove.py i jak korzystać z portów I2C, PWM, cyfrowych i analogowych na Grove Base Hat dla Raspberry Pi.

 

Wskazówka

Jeśli nie wiesz, jak obsługiwać się Raspberry Pi, przejdź tutaj przed rozpoczęciem.

 

Architektura

Aby obsługiwać czujniki grove, grove.py zależy od wielu bibliotek interfejsu sprzętowego, takich jak mraa / smbus2 / rpi.gpi / rpi_ws281x.

 

 

Instalacja

Instalacja online jednym kliknięciem

Za pomocą jednego polecenia poniżej możesz zainstalować/updatować wszystkie zależności i najnowszy grove.py.

curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s -

 

Sukces

Jeśli wszystko pójdzie zgodnie z planem, zobaczysz poniższy komunikat.

 

Successfully installed grove.py-0.5
#######################################################
Lastest Grove.py from github install complete   !!!!!
#######################################################

 

Instalacja krok po kroku

Poza szybką instalacją jest również możliwość instalacji zależności i najnowszego grove.py krok po kroku. Więcej informacji można znaleźć na stronie github.

 

Instalacja krok po kroku

 

Plik źródłowy możesz sprawdzić, klonując bibliotekę grove.py. 

git clone https://github.com/Seeed-Studio/grove.py

 

Użycie

Teraz możesz korzystać z Grove Base Hat dla Raspberry Pi wraz z kilkunastoma modułami Grove. Wpisz polecenie grove_ i wciśnij klawisz Tab żeby zobaczyć listę kompatybilnych urządzeń Grove.

 

pi@raspberrypi:~$ 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@raspberrypi:~$ grove_

 

Następnie pokażemy, jak używać ich zgodnie z typem portu.

 

Port PWM

Skorzystamy z przykładu Grove - buzzer, żeby zaprezentować port PWM.

 

Schemat połączeń sprzętu

Wpisz poniższe polecenie: sudo grove_pwm_buzzer w wierszu poleceń.

 

pi@raspberrypi:~$ sudo grove_pwm_buzzer
Insert Grove-Buzzer to Grove-Base-Hat slot PWM[12 13 VCC GND]

3800
3400
3000
2900
2550
2270
2000
exiting application

 

Buzzer zadzwoni kilkakrotnie, potem przestanie, program automatycznie się zamknie.

 

Port cyfrowy

Skorzystamy z przykładu Grove - Ultradźwiękowy Czujnik Odległości, aby zaprezentować port cyfrowy.

 

Schemat połączeń sprzętu

Wpisz następujące polecenie: grove_ultrasonic_ranger 5 6 w wierszu poleceń.

 

pi@raspberrypi:~$ grove_ultrasonic_ranger 5 6
Detecting distance...
6.979909436456088 cm
7.966469074117726 cm
12.451204760321255 cm
15.184797089675378 cm
17.429220265355603 cm
18.73230112010035 cm
20.717752390894397 cm
19.83807004731277 cm
17.3059003106479 cm

^CTraceback (most recent call last):
  File "/usr/local/bin/grove_ultrasonic_ranger", line 11, in 
    load_entry_point('grove.py==0.5', 'console_scripts', 'grove_ultrasonic_ranger')()
  File "/usr/local/lib/python3.5/dist-packages/grove/grove_ultrasonic_ranger.py", line 107, in main
    time.sleep(1)
KeyboardInterrupt

 

Gdy zmieniasz dystans pomiędzy Grove - Ultradźwiękowy Czujnik Odległości a obiektem docelowym, wartość pomiaru odpowiednio ulegnie zmianie. Wciśnij Ctrl+C aby zamknąć.

 

Uwaga

W przypadku większości modułów Grove należy dodać parametr numeru pin, jak np. grove_ultrasonic_ranger 5 6, 5 i 6 to pin GPIO/BCM. Możesz jednak zauważyć, że w pierwszym przykładzie grove_pwm_buzzer nie dodaliśmy parametru po poleceniu. Dzieje się tak, ponieważ port PWM i port I2C nie wymagają parametrów numeru pin. Oznaczenie numeru pinu można znaleźć obok wtyczki Grove.

 

Port analogowy

Skorzystamy z przykładu Grove - czujnik jakości powietrza v1.3, aby zaprezentować port analogowy.

 

Schemat połączeń sprzętu

 

 

Wprowadź następujące polecenie: grove_air_quality_sensor_v1_3 0 1 w wierszu poleceń. 

 

pi@raspberrypi:~$ grove_air_quality_sensor_v1_3 0 1
Detecting ...
62, Air Quality OK.
63, Air Quality OK.
61, Air Quality OK.
61, Air Quality OK.
59, Air Quality OK.
62, Air Quality OK.
60, Air Quality OK.
60, Air Quality OK.
59, Air Quality OK.
60, Air Quality OK.
60, Air Quality OK.
60, Air Quality OK.

57, Air Quality OK.
^CTraceback (most recent call last):
  File "/usr/local/bin/grove_air_quality_sensor_v1_3", line 11, in 
    load_entry_point('grove.py==0.5', 'console_scripts', 'grove_air_quality_sensor_v1_3')()
  File "/usr/local/lib/python3.5/dist-packages/grove/grove_air_quality_sensor_v1_3.py", line 68, in main
    time.sleep(.1)
KeyboardInterrupt

Możesz użyć tego czujnika do wykrywania jakości powietrza. Wciśnij Ctrl+C żeby wyjść.

 

Uwage

Być może zauważyłeś, że dla portu analogowego numer pinowy to A1, A0, jednak w poleceniu używamy parametru 0 i 1, tak samo jak w wypadku portu cyfrowego. Upewnij się więc, że podłączyłeś moduł do właściwego portu, w przeciwnym razie mogą wystąpić spięcia pinów.

 

I2C

Skorzystamy z przykładu Grove - OLED Wyświetlacz 128x64, aby zaprezentować port I2C.

 

Schemat połączeń sprzętu

Wprowadź następujące polecenie: grove_oled_display_128x64 w interfejsie wiersza poleceń.

  

pi@raspberrypi:~$ grove_oled_display_128x64
pi@raspberrypi:~$ 

 

Wygląda jakby nic się nie zadziało, ale jeśli sprawdzisz swój wyświetlacz OLED, to możesz tam znaleźć najbardziej znane zdanie w świecie cybernetycznym.

 

Uwaga

Jeśli używasz narzędzia I2C do skanowania adresu I2C modułu Grove, to możesz znaleźć dwa lub więcej adresów. 0x04 to właściwy adres Grove Base Hat dla Raspberry Pi.

Linki

zapraszamy do współpracy!