Grove Base Kit dla Raspberry Pi - zestaw podstawowy

Grove to modułowy system prototypowy składający się z jednostki bazowej oraz różnych elementów ze znormalizowanym złączem. Jednostką bazową może być np. Arduino Uno lub Raspberry Pi, które umożliwiają komunikację, przetwarzanie danych i kontrolę wejść/wyjść z modułów Grove. Każdy moduł Grove zazwyczaj wykonuje jedną funkcję, od prostego przycisku do bardziej złożonego czujnika tętna. Wszystkie moduły posiadają znormalizowane złącze Grove pozwalające w łatwy i szybki sposób łączyć ze sobą poszczególne elementy w systemie blokowym, przez co tworzenie projektów wykorzystujących większą ilość elementów staje się łatwe i przyjemne. Umożliwia to szybszą naukę oraz mniej skomplikowane eksperymentowanie, budowanie i prototypowanie w porównaniu z lutowaniem czy standardowym prototypowaniem opartym o przewody i zworki. Dla minikomputera Raspberry Pi zaprojektowany został konwerter Grove Base Hat podłączany do złącza GPIO, umożliwiający łatwe podłączenie wielu modułów.

 

Użytkownicy nie posiadający doświadczenia z systemem Grove powinni zapoznać się z poradnikiem dla początkujących, aby nauczyć się wykonywania podstawowych operacji w systemie Grove. Pierwsza część poradnika zawiera informacje na temat komponentów zawartych w zestawie. W następnym rozdziale omawiana jest podstawowa konfiguracja minikomputera Raspberry Pi, a po tych krótkich przygotowaniach poradnik przechodzi do 11 części instruktażowych uczących podstawowych operacji związanych z elementami zestawu startowego.  

  

Spis treści

Grove Base Kit dla Raspberry Pi

Zestaw podstawowy Grove Start Kit składa się z jednej nakładki Grove Base Hat (dla Raspberry Pi) oraz 10 modułów Grove. Szczegółowe informacje znaleźć można poniżej.

 

Szczegółowy opis produktów

Grove Base Hat

Grove Base Hat dla Raspberry Pi

Obecnie seria czujników, aktuatorów i wyświetlaczy Grove znacznie się powiększyła. W jej skład wchodzą coraz to nowsze moduły, które ułatwiają pracę inżynierom, nauczycielom, studentom a nawet artystom. Projektowanie, tworzenie, budowanie – te wszystkie czynności, dzięki modułom Grove stały się szybsze i łatwiejsze. Wszystkie te czynniki sprawiły, że do oferty modułów trafiły nakładki, przeznaczone dla fanów niezwykle popularnych minikomputerów. Grove Base Hat dla Raspberry Pi oraz Grove Base Hat dla RPi Zero. Pozwala to wykorzystać w pełni funkcjonalność modułów Grove z możliwościami malinki.

 

Grove Base Hat dla Raspberry Pi wyposażony jest w cyfrowe oraz analogowe porty, złącza interfejsów I2C czy UART oraz PWM, wszystko po to, by użytkownikowi nie zabrakło możliwości. Dzięki wbudowanemu mikrokontrolerowi dostępny jest również 12-bitowy 8-kanałowy konwerter analogowo-cyfrowy dla Raspberry Pi.

 

Właściwości

  • Kompatybilny z Raspberry 4B / 3B+ / 3B / 2B / Zero
  • Wbudowany MCU
  • 12-bitowy konwerter analogowo-cyfrowy
  • Wielofunkcyjne porty Grove

 

Przegląd sprzętu

GPIO:Taki sam rozkład jak w Raspberry Pi.

 

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

 

Uwaga

  • 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.

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

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

  • 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.

 

UARTPort 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, mikrokontrolerów ATmega, ESP8266, itp. z Twoim minikomputerem.

 

CyfrowyNa płytce znajduje się 6 cyfrowych gniazd Grove. Oznaczone są symbolami D5 / D16 / D18 / D22 / D24 / D26.

 

AnalogowyJak wiadomo, Raspberry Pi nie posiada konwertera analogowo-cyfrowego, więc nie można do niego podłączyć bezpośrednio czujników analogowych. Z pomocą wbudowanego MCU STM32, Grove Base Hat może współpracować z zewnętrznym 12-bitowym konwerterem. Oznacza to, że Twoje Raspberry Pi może pracować z sensorami analogowymi. Co więcej, dostępne są aż cztery analogowe gniazda Grove. Po przekształceniu danych analogowych na dane cyfrowe konwerter wprowadza je 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: Portu SWD używamy do wgrania oprogramowania układowego nakładki. Ponadto sekcja ta zawiera 3 piny GPIO, tj. pin 9 / pin 10 / pin 11. Piny te nie są używane przez żaden port Grove, możesz ich używać bez obaw o spięcia pinów.

 

Moduły Grove

Grove - Buzzer

Ten moduł wykorzystuje buzzer piezoelektryczny jako komponent główny. Podłączony do wyjścia cyfrowego jest w stanie generować wysokie dźwięki. Podłączenie do wyjścia analogowego umożliwia generowanie dźwięków o różnych częstotliwościach. (uwaga: zakres częstotliwości, który może rozpoznać ludzkie ucho, wynosi od 20 Hz do 20 kHz).

 

Grove - Przycisk z czerwoną diodą LED

Grove - czerwony przycisk z diodą LED. Przycisk jest stabilny i solidny. Jego żywotności to około 100 000 kliknięć. Dzięki wbudowanej diodzie LED możesz zastosować ją w wielu interesujących projektach. Ciekawym rozwiązaniem jest użycie jej jako wskaźnika statusu przycisku..

 

Grove - Czujnik natężenia światła

Grove - Czujnik światła zawiera fotorezystor wykrywający intensywność światła. Rezystancja fotorezystora maleje wraz ze wzrostem natężenia światła. Podwójny układ OpAmp LM358 na płytce wytwarza napięcie odpowiadające natężeniu światła (tj. oparte na wartości rezystancji). Sygnał wyjściowy ma wartość analogową, im jaśniejsze światło, tym większa jego wartość.

 

Grove - Czujnik wilgotności gleby

Czujnik wilgoci może być używany do wykrywania poziomu wilgoci gleby lub obecności wody wokół czujnika. Moduł pomaga w pielęgnacji roślin. Jest łatwy w użyciu, wystarczy włożyć go do gleby i zacząć odczytywać dane. Wykorzystując czujnik możesz w łatwy sposób stworzyć projekt automatycznego wskaźnika nawodnienia kwiatów. 

 

Grove - Mini czujnik ruchu PIR

Grove - mini czujnik ruchu PIR to pasywny czujnik podczerwieni, który pozwala wykrywać ruch w swoim zasięgu. Wystarczy podłączyć go do Grove - Base Shield i odpowiednio zaprogramować. Gdy ktoś porusza się w zasięgu wykrywania, czujnik zmieni stan pinu SIG na wysoki.

 

Grove - Serwo

 

 

Serwo to silnik prądu stałego z przekładnią i systemem sprzężenia zwrotnego. Jest stosowany w mechanizmach napędowych robotów. Ciekawy moduł dla miłośników Grove.  Serwomechanizm wyposażony jest we wtyczkę Grove, dzięki czemu jego podpięcie nie wymaga dodatkowych przewodów połączeniowych.

 

Grove - Czujnik temperatury i wilgotności(DHT11)

Czujnik temperatury i wilgotności posiadający fabrycznie skalibrowane wyjście cyfrowe. Unikalny element czujnika pojemnościowego mierzy wilgotność względną, a za pomiar temperatury odpowiada termistor o ujemnym współczynniku temperaturowym (NTC). Cechuje się on niezawodnością i długoterminową stabilnością. Należy pamiętać, że ten czujnik nie będzie działał przy temperaturach poniżej 0 stopni.

  

Grove - Przekaźnik

Przekaźnik Grove to cyfrowy, normalnie otwarty przełącznik. Z jego pomocą możesz przełączać obwód wysokiego napięcia, przy użyciu niskiego napięcia, np. 5 V z kontrolera. Na płytce znajduje się wskaźnik pracy w postaci diody LED.

 

Grove - Ultradźwiękowy czujnik odległości

Grove - ultradźwiękowy czujnik odległości jest bezkontaktowym modułem pomiaru odległości działającym przy częstotliwości 40 kHz. Kiedy dostarczymy impulsowy sygnał wyzwalający o czasie trwania większym niż 10 us poprzez pojedynczy pin, czujnik wyemituje 8 cykli o poziomie 40 kHz i wykryje echo. Szerokość impulsu sygnału echa jest proporcjonalna do zmierzonej odległości.

 

Grove - Wyświetlacz LCD 16 x 2 (białe znaki na niebieskim tle)

Ten moduł Grove to 16-znakowy wyświetlacz LCD z 2 liniami. Wykorzystuje on interfejs magistrali I2C do komunikacji z płytką uruchomieniową, dzięki czemu zmniejsza on liczbę wykorzystywanych pinów z 10 do 2, co jest bardzo wygodne dla systemu Grove. Moduł wyświetlacza pozwala również na tworzenie i wyświetlanie różnych symboli, np. serc,  za pomocą prostej konfiguracji kodu.

Jak zacząć?

Będziemy do tego potrzebowali:

 

Podstawowy poradnik

Jak nagrać system Raspbian na kartę?

 

1. Pobierz Raspbian Stretch

Pobierz Raspbian Stretch z oficjalnej strony Raspberry Pi i wybierz wersję “with desktop and recommended software”.

 

 

2. Win32 Disk Imager

  • Pobierz Win32 Disk Imager ze strony Sourceforge Project jako plik instalatora i włącz go, aby zainstalować oprogramowanie.

  • Włóż kartę microSD do slotu na kartę w swoim komputerze.

  • Uruchom Win32DiskImager z pulpitu lub menu.

  • W polu urządzenia wybierz odpowiednią literę dysku karty SD. Uważaj, aby wybrać właściwy dysk: jeśli wybierzesz niewłaściwy, możesz utracić dane na dysku twardym komputera! Jeśli używasz gniazda karty SD w komputerze i nie widzisz napędu w oknie Win32DiskImager, spróbuj użyć zewnętrznego adaptera SD.

  • Kliknij 'Write' i poczekaj, aż komputer ukończy zapisywanie.

 

 

  • Zakończ.

 

 

  • Wyłącz program i wyjmij kartę SD.

 

Podstawowa konfiguracja

Bezprzewodowe podłączenie i SSH

1. Stwórz plik o nazwie "wpa_supplicant.conf" w folderze /boot i skopiuj poniższy kod.

 

country=PL
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="Nazwa-WiFi"
psk="Hasło-WiFi"
key_mgmt=WPA-PSK
priority=1
}

 

Uwaga

Nazwa i hasło Wi-Fi powinny być takie same jak lokalnej sieci Wi-Fi, do której podłączony jest Twój komputer (upewnij się, że Twój komputer oraz Raspberry Pi są w tej samej sieci LAN).

 

2. Stwórz pusty plik o nazwie "ssh" w folderze /boot.

3. Włóż kartę SD z Raspbianem do Raspberry Pi

4. Podłącz Raspberry Pi do zasilania.

5. Otwórz putty, aby podłączyć komputer do Raspberry Pi.

Pobierz putty: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

 

Domyślna nazwa użytkownika: pi. Domyślne hasło: raspberry

 

 

Konfiguracja VNC

 

1. Otwórz raspi-config wpisując poniższe polecenie do terminala.

 

sudo raspi-config

 

Zjedź do "5 interfacing Options" i wciśnij "enter", aby wybrać.

 

 

Zjedź do "P3 VNC" i wciśnij "enter", aby wybrać.

 

 

Wybierz "Yes", aby włączyć.

 

 

Wybierz "Ok".

 

  

**2. ** Zainstaluj VNC Viewer

Pobierz VNC Viewer

Otwórz VNC Viewer i wprowadź adres IP Raspberry Pi. Adres IP możesz znaleźć, wpisując polecenie ifconfig w terminalu Raspberry Pi (lub możesz wpisać raspberrypi.local).

 

Uwaga

Jeśli używasz raspberrypi.local do logowania, powinieneś upewnić się, że w Twojej sieci LAN jest używane tylko jedno Raspberry Pi.

 

Wprowadź domyślną nazwę użytkownika i hasło, teraz możesz wejść na zdalny pulpit Raspberry Pi!

 

 

Udało się!

 

 

Konfiguracja Base Hat

1. Wyłącz Raspberry Pi

 

sudo shutdown -h now

 

Podłącz Grove Base Hat do Raspberry Pi.

2. Podłącz zasilanie do Raspberry Pi za pomocą przewodu microUSB, aby włączyć magistralę I2C, otwórz raspi-config przy pomocy poniższej komendy.

 

sudo raspi-config

 

Zjedź do "5 interfacing options" i wciśnij "enter", aby wybrać.

 

 

Zjedź do "P5 I2C" i wciśnij "enter", aby wybrać.

 

 

Wybierz "Yes", aby włączyć.

 

 

Wybierz "Ok".

 

 

Wybierz "Finish", aby zapisać zmiany.

  

 

3. Szybka instalacja przy pomocy poniższego polecenia.

 

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

 

 

Jeśli wszystko udało się pomyślnie, powinieneś zobaczyć poniższy komunikat.

  

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

 

4. Poza szybką instalacją, możesz też zainstalować wszystkie zmienne.

5. Sklonuj najnowszą bibliotekę repozytorium python.py.

 

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

 

Demo przycisku LED

Po podstawowej konfiguracji Raspberry Pi możemy teraz uruchomić kod demonstracyjny LED. Uwaga: należy najpierw wykonać powyższe kroki, aby kontynuować.

 

Podłączenie sprzętu

Krok 1: Podłącz Grove - przycisk z czerwoną diodą LED do portu D5 na Base Hat

Krok 2: Podepnij Base Hat do Raspberry Pi

Krok 3: Podłącz Raspberry Pi do źródła zasilania za pomocą przewodu microUSB.

 

Wprowadź kod

Krok 1: Wprowadź poniższe polecenie, aby stworzyć plik Pythona

  

cd grove.py
nano example.py

  

Krok 2: Skopiuj poniższy kod do pliku Pythona

  

Uwaga

Upewnij się, że edytor tekstu jest w formacie unix.

 

#!/usr/bin/env python

import time
from grove.grove_ryb_led_button import GroveLedButton

def main():
    ledbtn = GroveLedButton(5)

    while True:
        ledbtn.led.light(True)
        time.sleep(1)

        ledbtn.led.light(False)
        time.sleep(1)

if __name__ == '__main__':
    main()

 

Krok 3:Uruchom program

 

sudo chmod +x  example.py
sudo ./example.py

 

Po pojedynczym kliknięciu przycisku LED, dioda LED przejdzie w tryb „ON”, a jeśli długo go przytrzymasz w „OFF”. Po dwukrotnym kliknięciu przycisku LED dioda zacznie migać.

 

pi@raspberrypi:~/grove.py $ sudo ./example.py
turn on  LED
turn on  LED
turn off LED
turn on  LED
blink    LED
^CTraceback (most recent call last):
  File "./example.py", line 17, in 
    main()
  File "./example.py", line 14, in main
    time.sleep(1)
KeyboardInterrupt
pi@raspberrypi:~/grove.py $ 

 

Objaśnienie blink code

W Pythonie, ponieważ moduły odnoszą się do siebie nawzajem, różne moduły mogą mieć różne definicje "main” i za każdym razem może być tylko jeden program wejściowy. Wybór programu wejściowego zależy od wartości nazwy. „if__name __ == 'main'” jest równe, oznacza to, że jest to emulacja pythona.

 

if __name__ == '__main__':
    main()

  

Grove Base Kit dla Raspberry Pi

Czy jesteś już gotowy na zapoznanie się z systemem Grove? Stworzyliśmy 8 samouczków, które możesz zacząć od podstawowych modułów Grove. W tej części przedstawiono sposób łączenia modułów i stosowania ich w rzeczywistych aplikacjach.

 

Wymaganie wstępne

Aby rozpocząć samouczek Grove, wymagana jest podstawowa znajomość Raspberry Pi i języka programowania Python. Upewnij się, że pomyślnie ukończyłeś samouczek konfiguracji podstawowej powyżej, ukończyłeś demo LED Blink i upewnij się, że w pełni działa on z Raspberry Pi i Grove Base Hat.

 

Rezultaty nauki

  • Będziesz w stanie korzystać z Grove Base Hat do budowania aplikacji z modułami Grove.
  • Będziesz w stanie zademonstrować każdy element Grove Starter Kit i wykorzystać odpowiedni moduł do własnych projektów
  • Będziesz w stanie rozpoznać typy modułów zawarte w tym zestawie oraz ich zastosowania.
  • Zrozumiesz różnicę między sygnałem analogowym i cyfrowym.

zapraszamy do współpracy!