Płytka Joy-Pi zawiera 2 jednostki przełączające. Każda jednostka zawiera 8 przełączników. Przełączniki
umożliwiają przełączanie między użyciem czujników i modułów. Ponieważ Raspberry Pi ma tylko
ograniczoną liczbę pinów GPIO, potrzebujemy przełączników, aby móc korzystać z większej liczby
czujników.
KORZYSTANIE Z GPIOS
Poniżej wyjaśnimy bardziej szczegółowo, czym są GPIO, jak działają i jak są kontrolowane.
Strona 5 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
GPIO oznacza: „Wejście / wyjście ogólnego przeznaczenia” (uniwersalne wejście / wyjście). Piny GPIO
nie mają określonego celu. Mogą być konfigurowane jako wejście lub wyjście i mają ogólne
przeznaczenie. To zależy od tego, co chcesz osiągnąć.
Przykład pinu wejściowego: Przycisk
Jeśli przycisk jest wciśnięty, sygnał zostanie przesłany przez pin wejściowy do RaspberryPi
Przykładowy pin wyjściowy: Brzęczyk
Wyślij sygnał przez pin wyjściowy, aby sterować brzęczykiem. Piny GPIO znajdują się po prawej
stronie płytki Raspberry Pi, jeśli zaczynasz z perspektywy Joy-Pi.
Istnieją 2 możliwe schematy GPIO Raspberry Pi: GPIO-BOARD i GPIO-BCM
Opcja GPIO-BOARD wskazuje, że odnosisz się do pinów za pomocą numeru pinu. Oznacza to, że będą
używane numery pinów wymienione poniżej.
Opcja GPIO.BCM oznacza, że odwołujesz się do pinów „Broadcom SOC Channel”. To są liczby po
„GPIO”.
Strona 6 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Silnik krokowy (STEP 4), matryca przycisków
(COL3), przycisk w prawo
36
Czujnik ultradźwiękowy (TRIG)
37
Serwo1, matryca przycisków (COL2), przycisk w
górę
38
Czujnik podczerwieni
39
Uziemienie
40
Przekaźnik
W naszych przykładach używamy języka Python do sterowania pinami GPIO. W Pythonie znajduje się
biblioteka o nazwie „RPi.GPIO”. Jest to biblioteka, która pomaga programowo sterować pinami za
pomocą Pythona.
Spójrz na poniższy przykład i komentarze w kodzie, aby lepiej zrozumieć, jak to działa.
Pierwszym krokiem będzie zaimportowanie biblioteki przez wpisanie polecenia „RPi.GPIO as GPIO”, a
następnie biblioteka „time” zawiera polecenie „import time”.
Następnie ustawiamy tryb GPIO na GPIO.BOARD. W naszym przykładzie deklarujemy pin wejściowy
jako numer 11, a pin wyjściowy jako pin 12 (wejście to czujnik dotyku, a wyjście to brzęczyk).
Wysyłamy sygnał do pinu wyjściowego, czekamy 1 sekundę, a następnie wyłączamy. Następnie, aby
potwierdzić dane wejściowe, przechodzimy przez pętlę do momentu odebrania sygnału wejściowego
GPIO.input. Drukujemy „Input Given”, aby upewnić się, że kliknięcie zostało potwierdzone, wyczyść
GPIO za pomocą GPIO.cleanup () i dokończ skrypt.
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Aby dowiedzieć się więcej o celu i zastosowaniu GPIO, zalecamy przeczytanie oficjalnej dokumentacji
na temat pinów GPIO napisanej przez fundację Raspberry Pi.
POBIERANIE WSTĘPNIE ZAINSTALOWANEGO SYSTEMU OPERACYJNEGO
W pierwszym kroku musisz pobrać plik obrazu z systemem operacyjnym Joy-Pi.
Plik można znaleźć na naszej stronie internetowej pod adresem https://joy-pi.net/downloads/.
1. Załaduj plik .Zip na swój komputer i rozpakuj go do dowolnego folderu. Powinieneś otrzymać plik
.ISO
2. Podłącz kartę MicroSD do komputera za pomocą dołączonego czytnika kart MicroSD.
3. Sformatuj teraz kartę MicroSD za pomocą programu „SD Formatter”
4. Uruchom program „Win32DiskImager” i wybierz rozpakowany plik .Iso, a następnie kliknij przycisk
„Zapisz”, aby skopiować obraz na kartę MicroSD.
5. Teraz karta MicroSD jest gotowa do użycia, możesz ją teraz włożyć do swojego Raspberry Pi.
Strona 10 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Po pomyślnym pobraniu naszego skryptu chcielibyśmy go wykonać. Otwórz terminal ponownie i
postępuj zgodnie z poniższymi instrukcjami, aby uruchomić skrypt:
Napisz polecenie „sudo python <nazwa skryptu>”, aby wykonać skrypt w języku Python.
Na przykład:
sudo python buzzer.py
Polecenie sudo daje nam uprawnienia roota (uprawnienia administratora), które są później
wymagane przez bibliotekę GPIO. Piszemy „python”, aby powiedzieć systemowi, że chcemy wykonać
polecenie w Pythonie. Na koniec piszemy nazwę skryptu, tak jak umieściliśmy go na pulpicie. Upewnij
się, że zawsze znajdujesz się we właściwym folderze podczas wykonywania polecenia.
5. LEKCJE
5.1 LEKCJA 1: UŻYWANIE BRZĘCZYKA DO DŹWIĘKÓW OSTRZEGAWCZYCH
W poprzednim wyjaśnieniu nauczyliśmy się, jak używać pinu GPIO zarówno jako wyjścia, jak i wejścia.
Aby to teraz przetestować, posłużymy się prawdziwym przykładem i zastosujemy naszą wiedzę z
poprzedniej lekcji. Moduł, którego będziemy używać to „Brzęczyk”.
Użyjemy wyjścia GPIO, aby wysłać sygnał do brzęczyka i zamknąć obwód, aby wygenerować głośny
brzęczenie. Następnie wyślemy kolejny sygnał, aby go wyłączyć.
Brzęczyk znajduje się po prawej stronie płytki Joy-Pi i można go łatwo rozpoznać po głośnym dźwięku,
który wydaje po aktywacji. Kiedy używasz Raspberry Pi po raz pierwszy, brzęczyk może mieć naklejkę
ochronną. Upewnij się, że ta naklejka została usunięta przed użyciem brzęczyka.
Podobnie jak w poprzednim przykładzie przygotowaliśmy specjalny skrypt ze szczegółowymi
komentarzami, który wyjaśni, jak działa cały proces buzzera i jak możemy sterować buzzerem za
pomocą GPIO.
Najpierw importujemy bibliotekę RPi.GPIO i bibliotekę czasu. Następnie konfigurujemy brzęczyk. Na
pinie 12 ustawiamy tryb GPIO na GPIO BOARD, a pin na OUTPUT.
Strona 13 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Wysyłamy sygnał przez 0,5 sekundy, a następnie go wyłączamy.
Przykład kodu brzęczyka:
Wykonaj następujące polecenia i spróbuj sam:
cd /home/pi/Desktop/Joy-Pi/
sudo python buzzer.py
5.2 LEKCJA 2: STEROWANIE BRZĘCZYKIEM ZA POMOCĄ PRZYCISKÓW
Po pomyślnym zademonstrowaniu, jak włączać i wyłączać brzęczyk, nadszedł czas, aby uczynić rzeczy
bardziej ekscytującymi. W tej lekcji połączymy przycisk z brzęczykiem, tak aby brzęczyk był włączany
tylko przez naciśnięcie przycisku.
Tym razem użyjemy 2 konfiguracji GPIO. Jednym z nich będzie GPIO.INPUT, które przyjmuje przycisk
jako wejście, a innym będzie GPIO.OUTPUT, które wysyła sygnał do brzęczyka, aby wyprowadzić
dźwięk.
Strona 14 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Uwaga! W tym przykładzie musisz przełączać się między modułami. Włącz przełącznik nr 5, 6, 7 i 8 na
lewym zespole przełączającym. Wszystkie pozostałe przełączniki powinny być wyłączone.
W naszym przykładzie używamy górnego z 4 klawiszy w lewym dolnym rogu. Teoretycznie jednak
można użyć dowolnego z 4 kluczy. Jeśli nadal chcesz użyć innego klucza, musisz odpowiednio zmienić
przypisanie pinów.
W tej części naszego samouczka musimy użyć 2 ustawień GPIO. Jedno wejście i jedno wyjście.
Wejście GPIO służy do określenia, kiedy klawisz został naciśnięty, a wyjście GPIO służy do aktywacji
brzęczyka po naciśnięciu klawisza.
Jak widać w poniższym przykładzie, zdefiniowaliśmy 2 piny o nazwach buzzer_pin i button_pin.
Program działa do momentu naciśnięcia klawiszy CTRL + C.
Kiedy naciskasz klawisz na Joy-Pi, brzęczyk wydaje dźwięk! Zwolnij klawisz, a brzęczyk się zatrzyma.
Przykładowy kod:
Strona 15 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Wykonaj następujące polecenia i spróbuj sam:
cd /home/pi/Desktop/Joy-Pi/
sudo python button_buzzer.py
5.3 LEKCJA 3: JAK DZIAŁA PRZEKAŹNIK I JAK GO KONTROLOWAĆ
Teraz, gdy wiemy już wszystko, co powinniśmy wiedzieć o brzęczyku, czas na następną lekcję. Teraz
dowiemy się, jak korzystać z przekaźnika, jaka jest funkcja przekaźnika i jak nim sterować.
Przekaźniki są używane do sterowania obwodem za pomocą oddzielnego sygnału małej mocy lub gdy
kilka obwodów musi być sterowanych jednym sygnałem. Jeśli podłączysz przewody do „NC” i „COM” i
wyślesz sygnał GPIO.HIGH, przekaźnik zamknie się i wyłączy niestandardowy obwód. Jeśli zatrzymasz
sygnał, przekaźnik otworzy się i aktywuje twój obwód niestandardowy.
Strona 16 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Przekaźnik znajduje się w środkowej, dolnej części płytki, obok matrycy klawiszy. Ma 3 wejścia, z
których 2 użyjemy w tym przykładzie.
„NC” oznacza „normalnie zamknięty”, „NO” oznacza „normalnie otwarty”, a „COM” oznacza
„wspólny”.
Wspólny w tym przypadku oznacza wspólną płaszczyznę.
Gdy obwód wspólny nie jest zasilany (GPIO.LOW), obwód „NC” jest zamknięty.
Kiedy wspólny obwód zostanie zasilony (GPIO.HIGH), przekaźnik zamknie obwód dla „NO”.
Używając „NO” i „COM” wszystko jest odwrócone.
Gdy „COM” jest wyłączony (GPIO.LOW), obwód przekaźnika jest otwarty.
Gdy „COM” jest włączony (GPIO.High), obwód przekaźnika jest zamknięty.
Uwaga! Bardzo ważne jest, aby nie próbować podłączać do przekaźnika urządzeń wysokiego napięcia
(np. Lampy stołowej, ekspresu do kawy itp.). Może to spowodować porażenie prądem i poważne
obrażenia.
Teraz, gdy już zrozumieliśmy, czym jest przekaźnik i jak działa, przyjrzyjmy się kodowi:
Strona 17 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Czy kiedykolwiek zastanawiałeś się, jak wibruje Twój telefon, gdy ktoś do Ciebie dzwoni lub kiedy
otrzymujesz wiadomość?
Zbudowaliśmy dokładnie ten sam moduł w naszym Joy-Pi i teraz nauczymy się go używać.
Moduł wibracji znajduje się po prawej stronie matrycy LED i poniżej segmentowej diody LED. Kiedy
jest włączony, trudno jest stwierdzić, skąd pochodzą wibracje, ponieważ wydaje się, że cała płyta Joy-
Pi wibruje.
Strona 18 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Moduł wibracyjny wykorzystuje sygnał GPIO.OUTPUT, podobnie jak Brzęczyk i inne używane
wcześniej moduły. Po wysłaniu sygnału wyjściowego moduł zacznie wibrować. Kiedy zatrzymasz
sygnał za pomocą GPIO.LOW, wibracje ustaną.
Możesz dostosować długość wibracji w różnych odstępach czasu.
W tym przykładzie musisz przełączać się między modułami. Ustaw przełącznik numer 1 prawej
jednostki przełączającej w pozycji włączonej. Wszystkie pozostałe przełączniki powinny być
wyłączone.
Wykonaj następujące polecenia i wypróbuj sam:
cd /home/pi/Desktop/Joy-Pi/
sudo python vibration.py
Strona 19 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
5.5 LEKCJA 5: WYKRYWANIE HAŁASU ZA POMOCĄ CZUJNIKA DŹWIĘKU
Podczas tej lekcji nauczymy się, jak używać czujnika dźwięku do wprowadzania danych, wykrywania
głośnych dźwięków i odpowiedniego reagowania. Możesz więc zbudować własny system alarmowy,
który wykrywa głośne dźwięki lub włączać diodę LED, klaszcząc!
Czujnik dźwięku składa się z dwóch części: niebieskiego potencjometru, który reguluje czułość, oraz
samego czujnika, który wykrywa wejście dźwięków. Czujnik dźwięku można łatwo rozpoznać po
niebieskim potencjometrze, a sam czujnik znajduje się po prawej stronie pod brzęczykiem.
Za pomocą potencjometru możemy regulować czułość czujnika. Aby nasz skrypt zadziałał, musimy
najpierw nauczyć się kontrolować wrażliwość. Aby wyregulować czułość, musisz przekręcić małą
śrubkę na potencjometrze za pomocą śrubokręta w lewo lub w prawo. Najlepszym sposobem
sprawdzenia czułości jest uruchomienie skryptu. Klaszcz w dłonie i sprawdź, czy urządzenie odbiera
sygnał. Brak sygnału oznacza, że czułość czujnika nie jest wystarczająco wysoka. Można to łatwo
skorygować, obracając potencjometr.
Strona 20 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Najpierw definiujemy nasz pin, GPIO18. Następnie ustawiliśmy pętlę while, aby trwale uruchomić ten
skrypt. Sprawdzamy, czy otrzymaliśmy sygnał wejściowy z czujnika dźwięku wskazujący, że zostały
wykryte głośne dźwięki, a następnie drukujemy „Wykryto dźwięk”. Jeśli naciśnięto Ctrl + C, program
kończy pracę.
5.6 LEKCJA 6: WYKRYWANIE JASNOŚCI CZUJNIKIEM ŚWIATŁA
Czujnik światła jest jednym z naszych ulubionych. Jest niezwykle przydatny w wielu projektach i
sytuacjach, np. z lampami, które włączają się automatycznie, gdy tylko się ściemni. Dzięki czujnikowi
światła możemy zobaczyć, jak jasna jest powierzchnia modułu.
Czujnik światła jest trudny do wykrycia, ponieważ składa się z bardzo małych części. Czujnik znajduje
się po lewej stronie brzęczyka. Jeśli zakryjesz go palcem, wyjście czujnika światła powinno być bliskie
zeru, ponieważ żadne światło nie może do niego dotrzeć.
Czas przetestować to w czasie rzeczywistym i zobaczyć, jak to działa. Jednak czujnik światła różni się
trochę od innych czujników, ponieważ działa z I2C, a nie z normalnymi GPIO, czego nauczyliśmy się na
wcześniejszych lekcjach.
W tym skrypcie używamy funkcji do komunikacji z czujnikiem, w ten sposób możemy uzyskać jasność.
Im wyższa liczba, tym wyższe otoczenie.
Strona 21 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
cd /home/pi/Desktop/Joy-Pi/
sudo python light_sensor.py
5.7 LEKCJA 7: WYKRYWANIE TEMPERATURY I WILGOTNOŚCI
DHT11 to bardzo ciekawy czujnik, ponieważ ma nie tylko jedną funkcję, ale dwie! Zawiera zarówno
czujnik wilgotności, jak i czujnik temperatury, z których oba są bardzo dokładne. Idealny do każdego
projektu stacji pogodowej lub jeśli chcesz sprawdzić temperaturę i wilgotność w pomieszczeniu!
Strona 23 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Czujnik DHT11 jest bardzo łatwy do rozpoznania. Mały niebieski czujnik z wieloma małymi otworami.
Znajduje się po prawej stronie przekaźnika i nad czujnikiem dotykowym. Praca z czujnikiem DHT11
jest bardzo łatwa dzięki bibliotece Adafruit_DHT. Biblioteka służy do wyświetlania temperatury i
wilgotności jako wartości bez konieczności wykonywania skomplikowanych obliczeń
matematycznych.
Wykonaj następujące polecenia i wypróbuj sam:
cd /home/pi/Desktop/Joy-Pi/
sudo python dht11.py
5.8 LEKCJA 8: WYKRYWANIE RUCHÓW
Czujnik ruchu jest jednym z najbardziej przydatnych i najczęściej używanych czujników. Można go
wykorzystać np. Do budowy systemu alarmowego. Gdy czujnik wykryje ruch, może wysłać sygnał do
brzęczyka, który następnie uruchomi głośny alarm.
Strona 24 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Czujnik ruchu znajduje się bezpośrednio pod czujnikiem dźwięku i jest zakryty małą, przezroczystą
nasadką. Nasadka pomaga czujnikowi wykryć więcej ruchów poprzez załamanie światła
podczerwonego otoczenia. Czułość czujnika ruchu, podobnie jak czujnika dźwięku, regulowana jest
potencjometrem. Znajduje się on poniżej potencjometru czujnika dźwięku, ale jest znacznie mniejszy.
Za pomocą śrubokręta można ustawić odległości, na jakie ma reagować czujnik ruchu.
Czujnik ruchu sterowany jest pinami GPIO. Po wykryciu ruchu czujnik ruchu wyśle sygnał. To zatrzyma
się na jakiś czas, a następnie zatrzyma się ponownie, aż czujnik wykryje następny ruch.
Strona 25 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Czujnik ultradźwiękowy znajduje się w prawym dolnym rogu płytki Joy-Pi, bezpośrednio nad silnikiem
krokowym i interfejsami serwomechanizmu. Można go łatwo rozpoznać po dwóch dużych kołach.
Przesuniemy dłonie po czujniku odległości, aby zmierzyć odległość między naszymi rękami a Joy-Pi.
Czujnik odległości współpracuje z GPIO INPUT, ale różni się nieco od tego, którego używaliśmy na
poprzednich lekcjach. Czujnik potrzebuje określonego odstępu czasu, aby móc dokładnie wykryć
odległość. Wysyła sygnał ultradźwiękowy, a dzięki wbudowanemu czujnikowi odbiera echo odbite od
przeszkody. Na podstawie różnicy czasu między wysłaniem sygnału a odebraniem echa obliczana jest
odległość.
Strona 27 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Dzięki Joy-Pi możesz wyświetlać dane LCD, które zbierasz za pomocą czujników i aktualizować je w
czasie rzeczywistym w zależności od zmian, przez które przechodzą moduły. Na przykład w
połączeniu z czujnikiem temperatury - zawsze wyświetlaj aktualną temperaturę i wilgotność na
wyświetlaczu LCD.
Ekran LCD zajmuje dużą część płyty Joy-Pi - znajduje się w górnej środkowej części Joy-Pi, po prawej
stronie wyświetlacza GPIO LED. Gdy tylko skrypt demonstracyjny i przykłady zostaną wykonane,
wyświetlacz włączy się. Dzięki zintegrowanemu podświetleniu można odczytać dane na wyświetlaczu
nawet w całkowitej ciemności.
Podobnie jak czujniki dźwięku i ruchu, wyświetlacz LCD ma również powiązany potencjometr. Za
pomocą tego potencjometru można regulować jasność podświetlenia wyświetlacza. Jeśli obrócisz go
w kierunku przeciwnym do ruchu wskazówek zegara, jasność wzrośnie, a jeśli obrócisz go zgodnie z
ruchem wskazówek zegara, zmniejszy się. Obróć potencjometr przeciwnie do ruchu wskazówek
zegara, aby zwiększyć kontrast, obróć go w prawo, aby zmniejszyć kontrast.
Strona 29 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Wyświetlacz LCD i niektóre inne czujniki nie współpracują z technologią GPIO. Dlatego używamy
„I2C”. Używamy adresu 21 dla wyświetlacza LCD, ustanawiając połączenie z tym adresem I2C.
Możemy więc wysyłać polecenia takie jak pisanie tekstu, włączanie podświetlenia LCD, aktywowanie
kursora itp. Do sterowania wyświetlaniem używamy biblioteki Adafruit_CharLCDBackpack.
Strona 30 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Do sterowania LCD używamy biblioteki Adafruit_CharLCDBackpack.
Wykonaj następujące polecenia i wypróbuj sam:
cd /home/pi/Desktop/Joy-Pi/
sudo python lcd.py
5.11 LEKCJA 11: CZYTANIE I PISANIE KART RFID
W tej lekcji dowiesz się, jak sterować modułem RFID. Moduł RFID to bardzo ciekawy i przydatny
moduł. Znajduje zastosowanie na całym świecie w różnych rozwiązaniach, takich jak: inteligentne
zamki do drzwi, identyfikatory pracowników, wizytówki, a nawet obroże dla psów.
Strona 31 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Moduł RFID znajduje się bezpośrednio pod Raspberry Pi i wygląda jak mały symbol Wifi. Ten symbol
oznacza łączność bezprzewodową. Aby z niego skorzystać, musimy wziąć chip lub kartę, która jest
dostarczana z Joy-Pi i przytrzymać ją nad obszarem chipa RFID Joy-Pi. Musi być wystarczająco blisko,
aby nasz skrypt został rozpoznany. 2-4 cm powinno być wystarczająco blisko. Po prostu wypróbuj!
Aby korzystać z osłony RFID RC522, potrzebujemy magistrali SPI. Musimy zmodyfikować plik
konfiguracyjny, w przeciwnym razie jądro nie mogłoby się uruchomić, aby uzyskać dostęp do pliku
konfiguracyjnego, używamy następującego polecenia:
sudo nano /boot/config.txt
Na końcu pliku należy dołączyć następujące wiersze:
device_tree_param=spi=on
dtoverlay=spi-bcm2708
Zapisujemy plik CTRL + O i wciskamy Enter, po pliku możemy zamknąć edytor CTRL + X. Na koniec
musimy aktywować SPI, więc używamy następującego polecenia, aby zmodyfikować ustawienia:
sudo raspi-config
Teraz przechodzimy do „Interfacing options”, następnie aktywujemy „SPI” i klikamy „OK”,
restartujemy Raspberry pi i część konfiguracyjna modułu RFID jest zakończona.
Aby przejść do folderu ze skryptami RFID, musisz użyć następującego polecenia:
cd /home/pi/Desktop/Joy-Pi/MFRC522-python
Jeśli chcesz pisać na chipie lub karcie, możesz użyć następującego polecenia:
sudo python Write.py
Strona 32 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Możesz zmienić dane, które są zapisywane na chipie lub karcie RFID, zmieniając kod programu:
Aby zmodyfikować dane, musisz zmienić kolejność liczb w nawiasach kwadratowych, ale liczby nie
mogą być mniejsze od 0 ani powyżej 255.
Jeśli chcesz odczytać sekwencję liczb, musisz użyć następującego polecenia:
sudo python Read.py
Teraz możesz położyć chip lub kartę na czytniku RFID, a wyświetli się coś takiego:
Sekwencja liczb obok sektora 8 to ta, którą zapisaliśmy teraz na chipie lub karcie.
Przykładowy kod RFID-Read:
Strona 33 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Silnik krokowy to niezależny moduł, który będziesz musiał podłączyć do płytki. Musimy wziąć silnik
krokowy dostarczony z zestawem i podłączyć go do naszego Joy-Pi. Wystarczy podłączyć silnik
krokowy do następującego złącza na płycie Joy-Pi:
Moduł może się nagrzewać podczas użytkowania. Wynika to z przyczyn technicznych i nie jest niczym
niezwykłym.
W tym przykładzie musisz przełączać się między modułami. Ustawić przełączniki 3, 4, 5 i 6 na prawej
jednostce przełączającej w położenie włączone. Wszystkie pozostałe przełączniki powinny być
wyłączone.
Silnik krokowy podłączony jest do 4 pinów GPIO, które włączają się szybko jeden po drugim.
Powoduje to, że silnik krokowy „popycha” do przodu i robi jeden krok. Za pomocą funkcji turnSteps
można wykonać dowolną liczbę kroków. Funkcja turnDegrees obraca silnik o określony kąt.
Przykładowy kod można znaleźć na następnej stronie.
Przykładowy kod silnika krokowego:
Strona 37 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Za pomocą serwomotoru można mechanicznie sterować urządzeniami i przemieszczać części. Na
przykład można stworzyć inteligentne kosze na śmieci, skrzynię z inteligentnym otwieraniem i
zamykaniem drzwi oraz wiele innych projektów wypoczynkowych.
Joy-Pi ma dwa interfejsy serwo, z których oba mogą być używane do sterowania silnikami serwo. W
tym samouczku użyjemy drugiego interfejsu, który jest oznaczony jako „Servo2”. Oczywiście możesz
również użyć innego interfejsu serwomechanizmu, ale musisz w tym celu dostosować skrypt do
odpowiednich GPIO.
Serwomotor potrzebuje trzech pinów: dodatniego, ujemnego i pinowego danych. Dodatni pin to
czerwony kabel, ujemny pin to czarny kabel (zwany także uziemieniem), a kabel danych jest żółty.
W tym przykładzie musisz przełączać się między modułami. Ustaw przełączniki nr 7 i 8 na prawej
jednostce przełączającej w położenie włączone. Wszystkie pozostałe przełączniki powinny być
wyłączone.
Strona 41 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Przyjrzyjmy się naszemu przykładowemu kodowi, aby lepiej go zrozumieć: Serwo używa styku
GPIO.board numer 22. Za każdym razem skrypt ustawi kierunek obrotów serwomotoru. Możemy
użyć dodatnich stopni, aby obrócić w lewo i ujemnych stopni, aby obrócić się w prawo. Po prostu
zmień stopnie i zobacz, jak zmienia się obrót silnika.
Strona 42 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Matryca LED odgrywa ważną rolę w wielu projektach z migającymi diodami LED. Nawet jeśli nie
widać tego na pierwszy rzut oka, matryca LED potrafi znacznie więcej niż tylko mruganie na
czerwono. Może być używany do wyświetlania informacji, tekstu, emotikonów, a nawet chińskich
znaków. Idealny do wyświetlania informacji w zabawny i wyjątkowy sposób, a może nawet do gry
takiej jak Snake lub minutnik!
Moduł matrycy LED to duży kwadratowy moduł umieszczony po lewej stronie segmentowej diody
LED i tuż pod wyświetlaczem LCD. Można go łatwo rozpoznać po małych białych kropkach, które są
diodami LED. Nie daj się zwieść niewielkiemu rozmiarowi diod LED. Ta matryca LED z łatwością
oświetli ciemne miejsce!
W tym przykładzie wyświetlamy krótki tekst. W skrypcie tworzymy ciąg z komunikatem i używamy
funkcji show_message () do wyświetlenia komunikatu na wyświetlaczu macierzy.
Możemy kontrolować właściwości, takie jak opóźnienia, które sprawiają, że wiadomość jest szybsza
lub wolniejsza. Na przykład scroll_delay 0 będzie dość szybki, a opóźnienie 0.1 spowoduje, że
przepływ komunikatów nieco się spowolni. Matrix LED, w przeciwieństwie do innych modułów,
wykorzystuje interfejs SPI, z którego można nią sterować. Wypróbuj kilka przykładów i zmień kod,
aby zobaczyć, co się stanie.
Strona 44 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Segmentowa dioda LED jest bardzo użytecznym wyświetlaczem, jeśli chodzi o liczby i dane. Może
nam pokazać czas, policzyć, ile razy zrobiliśmy pewne rzeczy. Wyświetlacz segmentowy znajduje
również zastosowanie w wielu rozwiązaniach przemysłowych, np. W windach.
Strona 45 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Wyświetlacz segmentowy znajduje się bezpośrednio nad czujnikiem drgań i obok matrycy LED. Gdy
jest wyłączony, widoczne są 4 ósemki. Gdy tylko aktywujesz moduł wyświetlacza segmentowego,
ciemny kolor zmieni się w błyszczący, jasnoczerwony.
W naszym przykładzie pokazujemy zegar. Użyjemy modułów czasu i daty, aby uzyskać czas
systemowy Raspberry Pi, który wyświetlamy za pomocą funkcji segment.write_display (). Funkcja
set_digit () w połączeniu z liczbami 0, 1, 2 i 3, ustawia pozycję na wyświetlaczu, na której ma się
pojawić liczba.
Ponieważ w tym przykładzie pobierany jest bieżący czas systemowy, konieczne jest najpierw
skonfigurowanie Raspberry Pi na odpowiednią strefę czasową. Otwórz okno terminala i wprowadź
następujące polecenie:
sudo dpkg-reconfigure tzdata
Otworzy się okno, w którym możesz wybrać aktualną strefę czasową. Po wybraniu właściwej strefy
czasowej potwierdź przyciskiem OK i ponownie naciśnij Enter, aby potwierdzić.
Strona 46 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Czujnik dotykowy jest bardzo przydatny, jeśli chodzi o kluczowe funkcje. Wiele produktów na rynku
wykorzystuje dotyk zamiast naciskania przycisku, na przykład smartfony i tablety. Czujnik dotykowy
znajduje się bezpośrednio pod czujnikiem DHT11 i po prawej stronie przekaźnika. Łatwo dostępne
pozycjonowanie Joy-Pi umożliwia łatwą obsługę.
Czujnik dotykowy działa jak każdy inny kluczowy moduł. Jedyną różnicą jest to, że wystarczy go
dotknąć, a nie nacisnąć. Poprzez dotknięcie czujnika dotykowego moduł zamyka obwód, ponieważ
komputer wykrywa dotknięcie czujnika. Czujnik dotykowy wykorzystuje pin 11 płytki GPIO.
Wykonaj następujące polecenia i wypróbuj sam:
cd /home/pi/Desktop/Joy-Pi/
sudo python touch.py
Strona 48 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
5.17 LEKCJA 17: WYKRYWANIE POCHYLENIA ZA POMOCĄ CZUJNIKA POCHYLENIA
Czujnik nachylenia pozwala nam wykryć przechylenie w prawo lub w lewo. Jest używany w robotyce i
innych gałęziach przemysłu, aby zapewnić prostą obsługę. To mały, wydłużony, czarny czujnik, który
znajduje się między czujnikiem DHT11 a czujnikiem ultradźwiękowym i można go łatwo wykryć po
dźwięku, jaki wydaje, gdy lekko przechylamy deskę.
Możesz łatwo pomyśleć, że coś wewnątrz płytki Joy-Pi jest uszkodzone, gdy usłyszysz ten dźwięk, ale
ten hałas jest całkowicie normalny. Kiedy czujnik przechyłu jest przechylony w lewo, obwód jest
aktywowany i wysyłany jest sygnał GPIO HIGH. Jeśli czujnik przechyłu jest przechylony w prawo,
obwód jest dezaktywowany i wysyłany jest sygnał GPIO LOW.
W tym przykładzie musisz przełączać się między modułami. Ustaw przełącznik nr 2 prawej jednostki
przełączającej w pozycji włączonej. Wszystkie pozostałe przełączniki powinny być wyłączone.
Strona 49 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Matryca przycisków to moduł z 16 niezależnymi przyciskami, który można wykorzystać do wielu
projektów, takich jak klawiatura czy gra pamięciowa. Ogromne możliwości klawiszy pozwalają zrobić
prawie wszystko. Matryca przycisków znajduje się w dolnej środkowej części płytki Joy-Pi, po prawej
stronie przekaźnika. Można go łatwo rozpoznać po 16 pojedynczych przyciskach. Doskonałe
umiejscowienie na tablicy umożliwia łatwą obsługę klawiszy, zapewniając jednocześnie dobry
przegląd wszystkich innych czujników.
Macierz przycisków składa się z czterech kolumn i wierszy. Konfigurujemy wiersze i kolumny macierzy
za pomocą ich pinów GPIO i inicjalizujemy obiekt ButtonMatrix () jako zmienną przycisku. Następnie
możemy nacisnąć dowolny przycisk matrycy i zobaczyć, który z nich został naciśnięty.
W naszym przykładzie po rozpoznaniu naciśnięcia klawisza aktywujemy funkcję activButton (), która
wyświetla numer wciśniętego przycisku. Możesz oczywiście edytować ten moduł, aby zrobić
wszystko, co możesz sobie wyobrazić.
Przykładowy kod znajduje się w następnych 2 stronach.
W tym przykładzie musisz przełączać się między modułami. Ustaw WSZYSTKIE przełączniki lewej
jednostki przełączającej na włączone. Wszystkie pozostałe przełączniki powinny być wyłączone.
Strona 50 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
W tej lekcji dowiemy się, jak korzystać z odbiornika podczerwieni i jak odbierać kody IR z pilota.
Użycie tej metody jest niezwykle przydatne, ponieważ możemy użyć różnych akcji definiowania dla
różnych przycisków. Za pomocą pilota możemy włączać różne diody LED lub sterować serwomotorem
za każdym naciśnięciem przycisku.
Czujnik podczerwieni jest dostarczany z Joy-Pi, ale nie jest wstępnie zainstalowany. Musisz go
podłączyć do gniazda, jak pokazano na powyższym obrazku. Czujnik podczerwieni znajduje się po
prawej stronie czujnika DHT11 i nad czujnikiem przechyłu. Wygląda jak mała dioda LED z 3 pinami.
Potrzebujemy również pilota na podczerwień, który znajduje się w zestawie Joy-Pi-Kit.
Odbiornik podczerwieni wykorzystuje bibliotekę LIRC i Python-LIRC do odbierania i rozumienia
kodów, które wysyłamy pilotem na podczerwień. Zmienna Out zawiera klawisz, który wcisnęliśmy. Za
pomocą zapytań if możemy sprawdzić, czy zostały naciśnięte określone klawisze. Informacje te
pozwalają nam wykonywać odpowiednie polecenia.
Przykładowy kod znajduje się w następnej stronie.
Ważne!!! Usuń czujnik podczerwieni przed zamknięciem obudowy Joy-Pi
Strona 53 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Płytka prototypowa jest niezwykle użyteczną częścią Joy-Pi, która pozwala nam tworzyć własne
obwody i funkcje. Teraz, gdy nauczyliśmy się korzystać ze wszystkich czujników, czas stworzyć własny.
W tej lekcji utworzysz swój pierwszy niestandardowy obwód na przykładzie migającej diody LED.
Płytka prototypowa znajduje się na środku płytki Joy Pi. Jest to mała, biała deska z wieloma małymi
otworami.
Stworzymy niestandardowy obwód z funkcją migania diody LED. Aby to zrobić, musimy użyć GPIO
jako wyjścia i GND, tak jak to zrobiliśmy we wcześniejszych lekcjach. Podłączymy interfejs serwa
(interfejs SERVO1) do GPIO 37.
Możesz użyć tego zdjęcia jako przewodnika podczas tworzenia obwodu na płytce z wtyczkami.
Pamiętaj, że pin nr 37 znajduje się na porcie GPIO, a GND na porcie GND interfejsu SERVO1.
W tym przykładzie musisz przełączać się między modułami, ponieważ używane są piny
serwomechanizmu. Ustawić przełączniki 7 i 8 prawej jednostki przełączającej w położeniu włączenia.
Wszystkie pozostałe przełączniki powinny być wyłączone.
Strona 55 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Musimy użyć rezystora i podłączyć go do ujemnej strony diody (ujemna strona diody to ta z krótszą
nóżką). Drugą stronę rezystora podłączymy przewodem bezpośrednio do pinu GND interfejsu
SERVO1. Podłącz dodatnią stronę diody LED do pinu GPIO37 interfejsu SERVO1.
Po zbudowaniu obwodu jest czas na napisanie kodu, który będzie sterował diodą LED. Plan jest taki,
aby wysłać GPIO.HIGH do pinu GPIO37, a następnie odczekać 0,2 sekundy i odciąć sygnał za pomocą
GPIO.LOW. Zostanie to zapętlone, a dioda LED zacznie migać.
Możesz zatrzymać program, klikając CTRL + C.
Przykładowy kod znajduje się na następnej stronie. Ważne: rezystor, dioda LED i kable nie są
dołączone.
Strona 56 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
cd /home/pi/Desktop/Joy-Pi/
sudo python blinking_led.py
5.21 LEKCJA 21: FOTOGRAFOWANIE APARATEM RASPBERRY PI
Kamera Raspberry Pi jest niezwykle przydatna i może być używana do różnych projektów. Na
przykład do kamer bezpieczeństwa, rozpoznawania twarzy i wielu innych. W następnej lekcji
wprowadzimy Cię w podstawy korzystania z kamery Raspberry Pi. To nauczy Cię, jak zrobić zdjęcie.
Kamera znajduje się centralnie nad ekranem Joy-Pi i jest podłączona bezpośrednio do Raspberry Pi za
pomocą kabla USB.
Strona 57 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
Jeśli chcesz, możesz zmienić rozdzielczość. Po przechwyceniu możesz przejść do folderu zapisu za
pomocą polecenia „cd” i odtworzyć wideo za pomocą następującego polecenia:
omxplayer example.mp4
Wideo będzie odtwarzane na pełnym ekranie, jeśli chcesz zamknąć wideo, naciśnij CTRL + C.
6. INFORMACJE I ZOBOWIĄZANIA ZWROTNE
Symbol na sprzęcie elektrycznym i elektronicznym
Ten przekreślony kosz na śmieci oznacza, że sprzęt elektryczny i elektroniczny nie należy do odpadów
domowych. Musisz zwrócić stare urządzenia do punktu zbiórki. Przed przekazaniem zużytych baterii i
akumulatorów, które nie są zamknięte w zużytym sprzęcie, należy je oddzielić.
Opcje zwrotu
Jako użytkownik końcowy możesz bezpłatnie zwrócić swoje stare urządzenie (które zasadniczo
spełnia tę samą funkcję, co zakupione u nas nowe urządzenie) w celu utylizacji przy zakupie nowego
urządzenia. Małe urządzenia, których zewnętrzne wymiary nie przekraczają 25 cm, można usuwać w
zwykłych ilościach domowych niezależnie od zakupu nowego urządzenia.
Możliwość zwrotu w siedzibie naszej firmy w godzinach otwarcia
Urządzenie elektroniczne są odpadami do recyclingu i nie wolno wyrzucać ich z odpadami
gospodarstwa domowego. Pod koniec okresu eksploatacji, dokonaj utylizacji produktu zgodnie z
odpowiednimi przepisami ustawowymi. Wyjmij włożony akumulator i dokonaj jego utylizacji
oddzielnie
b) Akumulatory
Ty jako użytkownik końcowy jesteś zobowiązany przez prawo (rozporządzenie dotyczące baterii i
akumulatorów) aby zwrócić wszystkie zużyte akumulatory i baterie.
Pozbywanie się tych elementów w odpadach domowych jest prawnie zabronione.
Zanieczyszczone akumulatory są oznaczone tym symbolem, aby wskazać, że unieszkodliwianie
odpadów w domowych jest zabronione. Oznaczenia dla metali ciężkich są następujące: Cd = kadm,
Hg = rtęć, Pb = ołów (nazwa znajduje się na akumulatorach, na przykład
pod symbolem kosza na śmieci po lewej stronie).
7. Informacje o prawach autorskich
Ten produkt zawiera oprogramowanie, które jest dostępne na warunkach licencji otwartej treści typu
GNU General Public License w wersji 2 (GPL) lub X11 License (zwanej również MIT). Pełne teksty
licencji zobaczysz na następujących stronach. Bardziej szczegółowe informacje można znaleźć na
stronach http://www.gnu.org/licenses/old-licenses/gpl-2.0 i https://www.gnu.org/licenses/licenselist.html.
Ponieważ jest to wolne oprogramowanie, nie ma gwarancji, o ile jest to dozwolone przez prawo.
Szczegóły hierzu finden Sie in der GNU General Public License und der X11 License. Należy pamiętać,
że oczywiście gwarancja na sprzęt nie jest naruszona i obowiązuje w całości
Ponadto dostarczymy kod źródłowy w formie do odczytu maszynowego, obliczony tylko na koszt
wytworzenia nośnika. Żądanie należy wysłać na adres service@joy-it.net.
Strona 60 z 61
Dystrybucja Conrad Electronic Sp. z o.o., ul. Kniaźnina 12, 31-637 Kraków, Polska
OGÓLNA LICENCJA PUBLICZNA GNU
Wersja 2, czerwiec 1991
Prawa autorskie (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Każdy może kopiować i rozpowszechniać wierne kopie
niniejszego dokumentu licencyjnego, ale zmiana go jest niedozwolona.
7. Wsparcie
Wspieramy Cię również po zakupie. W przypadku jakichkolwiek pytań lub problemów, prosimy o
kontakt mailowy, telefoniczny lub za pośrednictwem naszego systemu zgłoszeń na naszej stronie
internetowej.
E-Mail: service@joy-it.net
System biletów: http://support.joy-it.net
Telefon: +49 (0) 2845 98469 - 66 (11 - 18 Uhr)
Więcej informacji można znaleźć na naszej stronie internetowej:
www.joy-it.net