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
Cecha | Wartość |
---|---|
Napięcie robocze | 3.3 V |
MCU | STM32 |
ADC | 12-bitowy 8-kanałowy |
Porty Grove |
|
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.
Porty cyfrowe
Na tej płytce znajdują się 2 gniazda cyfrowe 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.
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.
PWM (Modulacja szerokości impulsów)
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. |
I2C
Port I2C Grove łączy się bezpośrednio z portem I2C Raspberry Pi. Większość nowych modułów Grove ma interfejs I2C. Przekonasz się sam, że te trzy porty są niezwykle przydatne.
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.
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.
Jak zacząć
Sprzęt
Wymagane materiały
- Raspberry Pi x1
- Grove Base Hat dla Raspberry Pi Zero x1
- Moduł Grove
-
Krok 1. Podłącz Grove Base Hat do Raspberry Pi Zero.
-
Krok 2. Podłącz moduł Grove do odpowiedniego portu Grove.
-
Krok 3. Podłącz zasilanie do portu microUSB na Raspberry Pi Zero.
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 Zero.
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 !!!!! ####################################################### |
nstalacja 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.
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 Zero 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, inload_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, inload_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. |