- Wymagania
- Instalacja PyFirmata w Arduino przy użyciu Raspberry Pi
- Objaśnienie kodu
- Zanikająca dioda LED na Arduino za pomocą pyFirmata
Chociaż Raspberry Pi i Arduino to dwa różne urządzenia pod względem aplikacji i struktury, ale oba są uważane za dwie konkurujące ze sobą platformy sprzętowe typu open source. Oboje mają bardzo silną społeczność i wsparcie. Dzisiaj nieco zmienimy pewne rzeczy i pokażemy, jak możemy wykorzystać oba z nich. Jeśli masz zarówno płyty Arduino, jak i Raspberry pi, w tym artykule dowiesz się, jak używać Raspberry pi i Pythona do sterowania Arduino.
Będziemy używać oprogramowania PyFirmata do wydawania poleceń Arduino za pomocą skryptu Python Raspberry Pi. PyFirmata jest w zasadzie wstępnie zbudowanym pakietem biblioteki programu w języku Python, który można zainstalować w Arduino, aby umożliwić komunikację szeregową między skryptem Pythona na dowolnym komputerze a Arduino. Ten pakiet Pythona umożliwia odczyt i zapis dowolnego kodu PIN w Arduino. Tutaj uruchomimy program w języku Python na Arduino przy użyciu Raspberry pi.
W tym samouczku skorzystamy z tej biblioteki i użyjemy jej w naszej płycie Arduino do sterowania Arduino za pomocą Raspberry Pi.
Wymagania
- Raspberry Pi z zainstalowanym Raspbian OS
- Arduino Uno lub dowolna inna płyta Arduino
- Kabel USB Arduino
- DOPROWADZIŁO
W tym samouczku używam monitora zewnętrznego za pomocą kabla HDMI do połączenia z Raspberry Pi. Jeśli nie masz monitora, możesz użyć klienta SSH (Putty) lub serwera VNC, aby połączyć się z Raspberry pi za pomocą laptopa lub komputera. Jeśli napotkasz jakiekolwiek trudności, postępuj zgodnie z naszym przewodnikiem Pierwsze kroki z Raspberry Pi.
Instalacja PyFirmata w Arduino przy użyciu Raspberry Pi
Aby załadować oprogramowanie PyFirmata do Arduino, musimy zainstalować Arduino IDE w Raspberry Pi. Wykonaj następujące kroki, aby zainstalować:
Krok 1: - Podłącz Raspberry Pi do internetu. Otwórz terminal poleceń i wpisz następujące polecenie i naciśnij enter
sudo apt - get - y install arduino python - serial mercurial
Poczekaj kilka minut, zajmie to trochę czasu. To polecenie zainstaluje Arduino IDE w twoim Raspberry Pi.
Krok 2: - Teraz zainstalujemy pliki pyFirmata za pomocą podanego githuba:
git clone https://github.com/tino/pyFirmata
Następnie uruchom następujące polecenie:
cd pyFirmata sudo python setup.py install
Krok 3: - Zainstalowaliśmy wszystkie wymagane pliki i ustawienia.
Teraz połącz swoją płytkę Arduino z Raspberry Pi za pomocą kabla USB i uruchom Arduino IDE, wpisując arduino w oknie terminala.
Krok 4: - Następnie wpisz polecenie lsusb, aby sprawdzić, czy Arduino jest połączone z twoim raspberry pi.
W Arduino IDE przejdź do narzędzi i wybierz swoją płytkę oraz port szeregowy.
Krok 5: - Prześlij oprogramowanie PyFirmata na Arduino, klikając Plik -> Przykłady -> Firmata -> Standardowe Firmata, a następnie kliknij przycisk przesyłania. Jak pokazano niżej.
Pomyślnie zainstalowaliśmy oprogramowanie pyFirmata na płycie Arduino. Teraz możemy sterować naszym Arduino za pomocą Raspberry Pi.
W celach demonstracyjnych będziemy migać i gasnąć diodę LED na Arduino, pisząc kody Pythona w Raspberry Pi.
Objaśnienie kodu
Jeśli chodzi o kodowanie, należy przeczytać dokumentację pyFirmata, aby lepiej zrozumieć. Będziemy używać funkcji pyFirmata do pisania naszego kodu. Dokumentację pyFirmata można znaleźć, klikając link.
Zacznijmy więc pisać kod
Otwórz swój ulubiony edytor tekstu na Raspberry Pi i zaimportuj bibliotekę pyFirmata.
import pyfirmata
Zdefiniuj pin na Arduino do podłączenia diody LED
led_pin = 9
Teraz musimy wpisać nazwę portu szeregowego, do którego podłączona jest płytka Arduino za pomocą funkcji pyfirmata.Arduino (), a następnie wykonać instancję, przypisując port do zmiennej płytki .
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Kod jest uruchomiony"
W while pętli czynią doprowadziły stykowe wysokiej i niskiej pomocą board.digital.write () funkcji i opóźnienia Daj pomocą board.pass_time () funkcji.
while True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Nasz kod jest gotowy, zapisz ten kod dodając rozszerzenie .py do nazwy pliku.
Otwórz terminal poleceń i wpisz python blink.py, aby uruchomić kod na płycie Arduino. Upewnij się, że płyta Arduino jest połączona z płytą Raspberry Pi za pomocą kabla USB.
Teraz możesz zobaczyć migającą diodę LED na płycie Arduino.
Pełny kod migającej diody za pomocą pyFirmata jest podany na końcu.
Zanikająca dioda LED na Arduino za pomocą pyFirmata
Teraz napiszemy kod do wygaszania diody LED, aby lepiej zapoznać się z funkcjami pyFirmata. Ten kod jest prosty jak poprzedni. Trzeba użyć dwóch dla pętli, po jednym dla zwiększenia jasności oraz drugi dla zmniejszania jasności.
W tym kodzie zdefiniowaliśmy piny w inny sposób, jak led = board.get_pin ('d: 9: p'), gdzie d oznacza pin cyfrowy . Taka jest funkcja biblioteki pyFirmata. Przeczytaj dokumentację, aby uzyskać więcej informacji.
Kompletny kod dla Fading LED przy użyciu pyFirmata jest podany na końcu.
Teraz możesz dodać więcej czujników do swojego systemu i sprawić, że będzie fajniejszy, sprawdź nasze inne projekty Arduino i spróbuj zbudować je za pomocą Raspberry pi i skryptu Python.