Jak przejąć kontrolę nad Raspberry Pi
![Dorota Masłowska „Jak przejąć kontrolę nad światem, nie wychodząc z domu"](https://i.ytimg.com/vi/355eYCJu2R0/hqdefault.jpg)
Zawartość
- etapy
- Część 1 Zainstaluj system operacyjny
- Część 2 Pobierz NOOBS
- Część 3 Sformatuj kartę SD
- Część 4 Skopiuj NOOBS na kartę SD
- Część 5 Przejmij kontrolę nad Raspberry pi
- Część 6 Skonfiguruj sieć
- Skonfiguruj sieć przewodową
- Skonfiguruj sieć bezprzewodową (SSH / Wi-Fi)
- Część 7 Zainstaluj Geany IDE
- Część 8 Napęd silnika prądu stałego w Pythonie (część okablowania)
- Część 9 Uzupełnij połączenia
- Część 10 Sterowanie silnikiem prądu stałego w Pythonie (część programistyczna)
- Część 11 1. wyzwanie
- Użyj czujnika ultradźwiękowego HC-SR04 (okablowanie)
- Użyj czujnika ultradźwiękowego HC-SR04 (część programująca)
- Część 12 2. wyzwanie
Raspberry Pi to komputer wielkości karty kredytowej. Został zaprojektowany i wyprodukowany przez Raspberry Foundation, która jest organizacją non-profit zajmującą się zapewnianiem dostępności komputerów i programów. Pierwotną misją projektu Raspberry było zaprojektowanie komputera tak tanio, jak to możliwe, z dobrymi możliwościami programowania. Więc włóż to w ręce studentów. Ten przewodnik ma na celu położyć podwaliny pod korzystanie z Raspberry Pi, a tym samym ułatwić jego obsługę.
Ostrzeżenie. Ten artykuł jest dla osób z dobrym doświadczeniem komputerowym.
etapy
Część 1 Zainstaluj system operacyjny
- Dowiedz się, co to jest NOOBS (nowe oprogramowanie Out Of Box). Jest to menedżer instalacji dla różnych systemów operacyjnych, które mogą być używane z Raspberry Pi. Jego celem jest ułatwienie instalacji wybranego systemu operacyjnego (OS). Jest to pierwszy kontakt z częścią programową naszego mikrokomputera. Następujące systemy operacyjne są zawarte w NOOBS:
- Raspbian
- Pidora
- OpenELELC
- RaspBMC
- RISC OS
- Arch Linus
- Sprzęt wymagany w tym samouczku to:
- PC
- Karta SD klasy 4 o pojemności co najmniej 8 GB
- Oryginalne pudełko zawierające Raspberry Pi zawiera już preinstalowaną kartę pamięci SD z NOOBS. Poniższe kroki są zatem przydatne tylko podczas instalacji na nowej karcie SD.
Część 2 Pobierz NOOBS
-
Możesz pobrać „NOOBS” na następujący adres: NOOBS
Część 3 Sformatuj kartę SD
- Konieczne jest posiadanie karty SD o pojemności co najmniej 4 GB. Zalecany rozmiar to jednak 8 GB.
Część 4 Skopiuj NOOBS na kartę SD
- Wyodrębnij pliki. Wyodrębnij dokumenty z pliku zip o nazwie NOOBS pobranego w pierwszym kroku. Skopiuj wyodrębnione pliki na nowo sformatowaną kartę SD. Należy jednak pamiętać, że w niektórych przypadkach wyodrębnione pliki mogą przejść do nowego folderu, w takim przypadku lepiej jest skopiować same pliki niż folder.
- Po pierwszym uruchomieniu zostanie wyświetlona lista dostępnych systemów operacyjnych.
Część 5 Przejmij kontrolę nad Raspberry pi
- Aby użyć Raspberry Pi, wykonaj poniższe czynności.
- Włóż kartę SD do Raspberry, aż usłyszysz „kliknięcie”.
- Podłącz kabel HDMI i podłącz go do ekranu. Pamiętaj, aby podłączyć i włączyć
- ekran. Zasilaj Raspberry za pomocą ładowarki Micro USB
- Podłącz klawiaturę i mysz do dowolnego portu USB.
- Po wykonaniu tych kroków zobaczysz na monitorze, że ładuje się oprogramowanie NOOBS. Po załadowaniu pojawi się lista systemów operacyjnych, które można zainstalować. Raspbian to zalecany system operacyjny do instalacji. Wybierz Raspbian i kliknij przycisk „zainstaluj” znajdujący się w górnej części okna.
-
Instalacja zajmuje około 20 minut. Po zakończeniu instalacji pojawi się czarny ekran poleceń. Konieczne będzie wtedy wprowadzenie, na żądanie programu, nazwy użytkownika: „pi” i hasła: „malina”. Następnie wpisz następujące polecenie w wierszu polecenia i naciśnij klawisz „Enter”:startx
- Gratulacje! Udało Ci się zainstalować środowisko niezbędne do korzystania z Raspberry pi :)! Przejdziemy teraz do konfiguracji sieci.
Część 6 Skonfiguruj sieć
Połącz się z Internetem. Gdy Raspberry Pi zacznie działać, należy następnie skonfigurować połączenie z Internetem dla Raspberry Pi. Po wykonaniu tej czynności będzie można surfować po Internecie, tak jak w przypadku zupełnie inny komputer. Istnieją dwa sposoby skonfigurowania połączenia: przewodowe (za pomocą kabla Ethernet) lub bezprzewodowe przez Wi-Fi. Wykonaj poniższe czynności, aby skonfigurować sieć.
Skonfiguruj sieć przewodową
- Niezbędnym wyposażeniem jest:
- funkcjonalny Raspberry Pi (patrz Pierwsze kroki z Raspberry Pi)
- kabel Ethernet
- Wystarczy podłączyć jedną z głowic kabla Ethernet do odpowiedniego portu w Raspberry Pi, a drugą do modemu lub routera z dostępem do Internetu. W rezultacie Raspberry Pi zostanie automatycznie podłączony do Internetu.
Skonfiguruj sieć bezprzewodową (SSH / Wi-Fi)
- Niezbędnym wyposażeniem jest:
- funkcjonalny Raspberry Pi (patrz Wprowadzenie do Raspberry Pi 3)
- klucz USB Wi-Fi
- Podłącz pamięć USB WiFi do jednego z dostępnych portów Raspberry Pi.
-
Otwórz usługę konfiguracji Wi-Fi, dotykając ikony w menu.- Po otwarciu usługi pojawi się następujący interfejs.
- Po otwarciu usługi pojawi się następujący interfejs.
-
Kliknij przycisk skanowania. Pojawi się nowe okno. W związku z tym podwoi sieć, z której chcemy korzystać. -
Wpisz hasło Wprowadź hasło dostępu do sieci w polu Klucz wstępny (PSK), jak pokazano poniżej.- Teraz kliknij „Zapisz” i dodaj sieć. Po wykonaniu tej czynności nastąpi połączenie z siecią internetową.
- Teraz kliknij „Zapisz” i dodaj sieć. Po wykonaniu tej czynności nastąpi połączenie z siecią internetową.
Część 7 Zainstaluj Geany IDE
- Geany to lekki e-wydawca korzystający z GTK + i Scintilla, zawierający podstawowe funkcje zintegrowanego środowiska programistycznego. Zaprojektowany z myślą o kilku zależnościach i szybkim uruchomieniu, obsługuje języki C / C ++, Java, JavaScript, PHP, HTML, CSS, Python, Perl, Ruby, Pascal i Haskell.
-
Otwórz wiersz polecenia w menu. - Wpisz wiersz polecenia „sudo root”, aby znaleźć się w folderze głównym Raspberry. Następnie wprowadź nazwę użytkownika „pi” i hasło „malina”.
- Wpisz następujący wiersz polecenia.
apt-get install python geany xterm
- Instalacja zajmuje kilka sekund.
- Otwórz Geany IDE w menu.
- Możesz teraz napisać swój pierwszy program, tworząc swój pierwszy plik w zakładce „plik”.
- Po napisaniu kodu wszystko, co musisz zrobić, to zarejestrować się i skompilować kod.
Część 8 Napęd silnika prądu stałego w Pythonie (część okablowania)
W tej części pokażemy, jak podłączyć silnik prądu stałego do Raspberry Pi i jak utworzyć mały program w pythonie, który może zmieniać prędkość obrotową i kierunek silnika prądu stałego.
-
Ten mały samouczek prawdopodobnie pomoże ci później w realizacji projektu robota. - Zrozum zasadę. Po pierwsze musisz to wiedzieć silnik prądu stałego nie łączy się bezpośrednio ze stykami GPIO Raspberry Pi, Rzeczywiście, prąd, który będzie używany do obracania silnika (-ów), będzie dość wysoki dla naszego małego Raspberry Pi i może zostać uszkodzony.
- Dlatego zastosujemy układ zaprojektowany do sterowania maksymalnie dwoma silnikami prądu stałego. Układ L293D.
- Ważną cechą Raspberry Pi jest rząd pinów GPIO w rogu płytki. Dowolny z pinów GPIO można wyznaczyć w programowaniu jako pin wejściowy lub wyjściowy.
- Dlatego zastosujemy układ zaprojektowany do sterowania maksymalnie dwoma silnikami prądu stałego. Układ L293D.
- Podłącz L293D.
- Piny 4, 5, 12 i 13 L293D muszą być podłączone do GND, jak widać na zdjęciu. Pin 16 L293D pozwala na zasilanie. Zasilimy go napięciem 5 V. Napięcie to nie jest przekazywane do silnika, ale tylko do układu L293D.
- Aby zasilić silnik, użyj styku 8 L293D (zacisk dodatni) podłączonego do akumulatorów lub akumulatora. Zacisk ujemny musi być podłączony do uziemienia (GND). Uważaj, aby nie przekroczyć limitu napięcia dla silnika.
- Piny 4, 5, 12 i 13 L293D muszą być podłączone do GND, jak widać na zdjęciu. Pin 16 L293D pozwala na zasilanie. Zasilimy go napięciem 5 V. Napięcie to nie jest przekazywane do silnika, ale tylko do układu L293D.
-
Podłącz silnik. Aby podłączyć pierwszy silnik, wystarczy podłączyć go do pinów 3 i 6 (Wyjście 1A i 1B) układu L293D.
Część 9 Uzupełnij połączenia
- Pin 1 układu L293D jest pinem „włączania” pierwszego silnika. Kiedy ten kołek jest logicznie „wysoki”, silnik pracuje z maksymalną prędkością, a gdy ten kołek jest logicznie „niski”, silnik jest zatrzymany. Aby umożliwić zmniejszenie prędkości silnika, wystarczy grać w tych dwóch stanach, zmieniając je bardzo szybko. Nazywa się to „PWM” (modulacja szerokości impulsu). Podłączymy styk 1 układu L293D do styku 22 Raspberry Pi, aby kontrolować prędkość.
- Aby kontrolować kierunek obrotów silnika, musisz dobrze się bawić z pinami 2 i 7 układu L293D. Gdy pin 2 jest „wysoki”, a pin 7 jest „niski”, silnik będzie się obracał w jednym kierunku. Jeśli dwa stany logiczne zostaną odwrócone między tymi dwoma kołkami, silnik obróci się w innym kierunku. Zamierzamy podłączyć 2-stykowy układ L293D do styku 18 Raspberry, a 7-stykowy układ L293D do styku Raspberry 16.
- Aby kontrolować kierunek obrotów silnika, musisz dobrze się bawić z pinami 2 i 7 układu L293D. Gdy pin 2 jest „wysoki”, a pin 7 jest „niski”, silnik będzie się obracał w jednym kierunku. Jeśli dwa stany logiczne zostaną odwrócone między tymi dwoma kołkami, silnik obróci się w innym kierunku. Zamierzamy podłączyć 2-stykowy układ L293D do styku 18 Raspberry, a 7-stykowy układ L293D do styku Raspberry 16.
Część 10 Sterowanie silnikiem prądu stałego w Pythonie (część programistyczna)
- Ten niewielki kod umożliwia kontrolowanie kierunku i prędkości obrotowej silnika. Obraca się najpierw w jednym kierunku z dużą prędkością przez 3 sekundy. Następnie ze zmniejszoną prędkością. Następnie kierunek obrotów jest odwrócony, a silnik pracuje ze zmniejszoną prędkością, a następnie z dużą prędkością. Pozwalamy Ci teraz odkryć ten kod:
importuj GPIO.setmode (GPIO.BOARD) GPIO z czasu importu uśpienia RPi.GPIO
- Możemy teraz skonfigurować porty GPIO.
Motor1A = 16 ## Wyjście A pierwszego silnika, styk 16 Motor1B = 18 ## Wyjście B pierwszego silnika, styk 18 Motor1E = 22 ## Włączenie pierwszego silnika, styk 22 GPIO.setup (Motor1A, GPIO.OUT) ## 3 piny są wyjściowe (OUT) GPIO.setup (Engine1B, GPIO.OUT) GPIO.setup (Engine1E, GPIO.OUT)
- Tutaj konfigurujemy PWM.
pwm = GPIO.PWM (Motor1E, 50) ## Pin 22 w PWM przy częstotliwości 50 Hz pwm.start (100) ## wykonujemy z cyklem roboczym 100%
- Stany portów GPIO są aktywne.
„Bezpośredni obrót w kierunku, maksymalna prędkość z cyklem roboczym 100%” GPIO.output (Motor1A, GPIO.HIGH) GPIO.output (Motor1B, GPIO.LOW) GPIO.output (Motor1E, GPIO.HIGH)
- Teraz pozwól, aby silnik pracował przez 3 sekundy.
sen (3)
- Cykl pracy zostaje zmieniony na 20% w celu zmniejszenia prędkości.
pwm.ChangeDutyCycle (20)
„Bezpośredni obrót w kierunku, z cyklem roboczym 20%” uśpienie (3) „Obroty w tył, z cyklem roboczym 20%” GPIO.output (Motor1A, GPIO.LOW) GPIO.output (Motor1B, GPIO.HIGH) sleep (3) pwm.ChangeDutyCycle (100) „Rotacja wsteczna, maksymalna prędkość (cykl roboczy 100%)” sleep (3) „Zatrzymanie silnika” GPIO.output (Engine1E, GPIO.LOW) pwm.stop () ## zatrzymaj PWM GPIO.cleanup ()
Część 11 1. wyzwanie
Tym razem stwórz mały kod z dwoma silnikami. To zależy od Ciebie!
Użyj czujnika ultradźwiękowego HC-SR04 (okablowanie)
- Sprzęt wymagany na tym etapie to:
- moduł ultradźwiękowy HC-SR04,
- rezystancja 1 kΩ,
- rezystancja 2 kΩ,
- kable połączeniowe,
- Chlebak
- Czujnik ultradźwiękowy HC-SR04 mierzy odległość od 2 do 400 cm, wysyłając sygnały dźwiękowe z częstotliwością 40 kHz. W zależności od czasu, który oddziela emisję od odbioru sygnału ultradźwiękowego, odległość oblicza się.
- HC-SR04 ma 4 piny:
- pin (Gnd), służący do uziemienia modułu (0 V),
- kołek wyjściowy (Echo), używany do informowania o zakończeniu emisji pociągu dultrasonowego i jego powrocie po odbiciu się na przeszkodzie,
- pin wejściowy (Trig for Trigger), używany do wyzwalania emisji pociągu dultrason,
- pin (Vcc), używany do zasilania czujnika w 5 V.
- Napięcie wyjściowe dostarczane przez pin Echo wynosi 5 V. Jednak pin wejściowy (GPIO) Rapsberry Pi jest zaprojektowany na napięcie do 3,3 V.
- Dlatego, aby uniknąć uszkodzenia Rapsberry Pi, zastosujemy mostek dzielnika napięcia składający się z dwóch rezystorów w celu obniżenia napięcia wyjściowego czujnika.
- Właśnie wtedy, jak widać powyżej, podłącz:
- sosna „Vcc” przy 5 V Raspberry Pi (czerwona nić)
- pin „Trig” na pin GPIO 23 (pin 16) Raspberry (żółty wątek)
- pin „Echo” na pin GPIO 24 (pin 18) Raspberry (niebieski drut)
- Sosna GND z malinowym GND (czarny drut)
- Nie zapomnij o dwóch małych oporach!
- Czujnik jest teraz podłączony do Raspberry Pi. Nie ma już programowania w języku Python!
Użyj czujnika ultradźwiękowego HC-SR04 (część programująca)
- Pierwszym krokiem jest zaimportowanie różnych bibliotek do:
- Zarządzanie portami GPIO.
- zarządzanie zegarem
import RPi.GPIO jako czas importu GPIO GPIO.setmode (GPIO.BCM)
- Następnie musimy zidentyfikować różne szpilki, których będziemy używać. W naszym przypadku pin wyjściowy „GPIO 23” (TRIG: sygnał wyzwalający czujnik ultradźwiękowy) i pin wejściowy „GPIO 24” (ECHO: odbieranie sygnału z powrotem).
TRIG = 23 ECHO = 24
- Możemy teraz skonfigurować porty GPIO.
GPIO.setup (TRIG, GPIO.OUT) GPIO.setup (ECHO, GPIO.IN)
- Aby upewnić się, że pin „Trig” jest początkowo niski, ustawimy go na „False” i damy czas oczekiwania, aby czujnik mógł się zresetować.
GPIO.output (TRIG, False) „Oczekiwanie na ustabilizowanie się czujnika” time.sleep (2)
- Czujnik ultradźwiękowy potrzebuje impulsu 10 μs, aby aktywować moduł. Aby utworzyć wyzwalacz, należy wyzwolić pin Trig przez 10 μs, a następnie ustawić go na niski:
GPIO.output (TRIG, True) time.sleep (0.00001) GPIO.output (TRIG, False)
- Aby znacznik czasu różnych zdarzeń, które pochodzą ze zmiany stanu pin, użyjemy pętli while i funkcji time.time (). Wykryj zmianę stanu sygnału. Pierwszym krokiem jest wykrycie i znacznik czasu natychmiast przed zmianą stanu ze stanu niskiego na stan wysoki. Ten moment (impuls_start) będzie końcem emisji pociągu dultrasonowego przez czujnik.
podczas gdy GPIO.input (ECHO) == 0: pulse_start = time.time ()
- Po wyemitowaniu pociągu ultradźwiękowego kołek echa pozostanie wysoki, dopóki ultradźwięk odbity przez przeszkodę nie powróci. Następnie próbujemy ponownie wykryć przełączenie sygnału Echo na stan niski. Ten znacznik czasu (puls_end) będzie oznaczał wykrycie powrotu ultradźwięków.
podczas gdy GPIO.input (ECHO) == 1: puls_end = time.time ()
- Możemy poznać czas trwania impulsu (czas trwania impulsu), obliczając różnicę między dwoma impulsami:
puls_duration = pulse_end - pulse_start
- Aby poznać odległość, stosujemy formułę:
odległość = czas trwania impulsu * 17150
- Zaokrąglimy nasz dystans do dwóch miejsc po przecinku:
odległość = okrągła (odległość 2)
- Aby wyświetlić odległość w „cm”:
„Odległość:”, odległość „cm”
- W celu zresetowania pinów GPIO dodajemy:
GPIO.cleanup ()
- Wszystko, co musisz teraz zrobić, to zapisać kod, nadając mu na przykład nazwę „sensor_distance” i uruchomić go w wierszu poleceń:
sudo python remote_capteur.py
- Gratulacje! jesteś w stanie kontrolować silnik, a także wykrywać odległość za pomocą czujnika ultradźwiękowego!
Część 12 2. wyzwanie
- Jeśli masz ten pojazd trójkołowy. Dzięki temu, czego się nauczyłeś, musisz być w stanie prowadzić ten pojazd, aby mógł on tworzyć „E” podczas ruchu. Będzie również mógł się zatrzymać, jeśli napotka przeszkodę za pomocą czujników ultradźwiękowych.
- To zależy od Ciebie!