Jak programować i kontrolować Arduino za pomocą Pythona

  • Edmund Richardson
  • 0
  • 4094
  • 121
Reklama

Python podbił świat kodowania szturmem. Wraz z pojawieniem się tego nowego języka rozkwitła także elektronika DIY. Płytki rozwojowe i komputery jednopłytowe takich firm jak Arduino Czym jest Arduino i co można z tym zrobić? Co to jest Arduino i co możesz z tym zrobić? Arduino to niezwykłe małe urządzenie elektroniczne, ale jeśli nigdy wcześniej go nie używałeś, jakie dokładnie są i co możesz z tym zrobić? i Raspberry Pi Raspberry Pi: Nieoficjalny samouczek Raspberry Pi: Nieoficjalny samouczek Bez względu na to, czy jesteś obecnym właścicielem Pi, który chce dowiedzieć się więcej, czy potencjalnym właścicielem tego urządzenia o wielkości karty kredytowej, nie jest to przewodnik, którego nie możesz przegapić . zmieniły sposób, w jaki ludzie tworzą elektronikę warzoną w domu. Czy nie byłoby wspaniale, gdybyś mógł zaprogramować Arduino za pomocą Pythona?

Nie ma lepszego uczucia niż połączenie dwóch fajnych rzeczy. Niestety nie jest możliwe bezpośrednie zaprogramowanie Arduino za pomocą Pythona, ponieważ płyty nie mają opcji wbudowanej interpretacji języka. Możliwa jest jednak bezpośrednia kontrola nad USB za pomocą programu Python.

W tym artykule dowiesz się, jak skonfigurować Arduino UNO (choć jakakolwiek płyta kompatybilna z Arduino Przewodnik zakupu Arduino: Którą płytę powinieneś dostać? Przewodnik zakupu Arduino: Którą płytę powinieneś dostać? Istnieje wiele różnych rodzajów płyt Arduino, zapomnisz o tym, że jesteś zdezorientowany. Co powinieneś kupić dla swojego projektu? Pomóż nam, dzięki temu przewodnikowi kupującemu Arduino! możesz tu pracować), aby programować i kontrolować z poziomu wiersza poleceń za pomocą programów w języku Python. Ten samouczek jest napisany dla systemu Windows 10, ale działa również na komputerach Mac i Linux. Możesz nawet użyć tego przepływu pracy do sterowania Arduino bezpośrednio z Przewodnika automatyki domowej Raspberry Pi z Raspberry Pi i Przewodnikiem automatyki domowej Arduino z Raspberry Pi i Arduino Rynek automatyki domowej jest zalany drogimi systemami konsumenckimi, niekompatybilnymi ze sobą i kosztownymi w instalacji . Jeśli masz Raspberry Pi i Arduino, możesz w zasadzie osiągnąć to samo w…, aby uzyskać najwyższy komfort podwójnego majsterkowania.

Konfigurowanie Arduino dla Pythona

Do dzisiejszego projektu użyjemy Arduino Uno wraz z interfejsem pyFirmata dla Pythona. Możesz użyć do tego prawie dowolnej płyty kompatybilnej z Arduino, chociaż w chwili pisania tego tekstu tylko Arduino Uno, Mega, Due i Nano są obsługiwane przez interfejs pyFfirmata. Jeśli jesteś już guru w Pythonie, możesz dodać własną obsługę forum do pyFirmata - pamiętaj, aby zaktualizować ich GitHub, jeśli tak zrobisz!

Jeśli jeszcze tego nie zrobiłeś, zainstaluj Arduino IDE. Jeśli jesteś zupełnie nowy w świecie mikrokontrolerów, nasz przewodnik dla początkujących po Arduino Rozpoczęcie pracy z Arduino: Przewodnik dla początkujących Rozpoczęcie pracy z Arduino: Przewodnik dla początkujących Arduino to platforma prototypowania elektroniki typu open source oparta na elastycznym, łatwym w użyciu sprzęcie i oprogramowanie. Jest przeznaczony dla artystów, projektantów, hobbystów i wszystkich zainteresowanych tworzeniem interaktywnych obiektów lub środowisk. pomoże ci wszystko załatwić.

Podłącz swoją tablicę Arduino i otwórz IDE. Upewnij się, że wybrano prawidłową kartę i port w Przybory menu. Załaduj StandardFirmata przykładowy szkic i załaduj go na tablicę. Umożliwi to bezpośrednie sterowanie Arduino, o ile jest ono podłączone do komputera przez USB. Pod warunkiem, że szkic zostanie przesłany na tablicę bez żadnych błędów, możesz przejść dalej.

Kontrola języka Python i wiersza poleceń

Będziemy używać Pythona 3.4 do kontrolowania naszego Arduino, ponieważ moduł, który będziesz instalować, określa to jako najnowszą kompatybilną wersję. Każda wcześniejsza wersja powinna działać poprawnie, a późniejsze wersje zostały zgłoszone do działania. Możesz pobrać Python 3.4 na Windows 10 ze strony Python Software Foundation. Jeśli chcesz uruchomić wiele wersji Pythona, nasz przewodnik po środowiskach wirtualnych Python Dowiedz się, jak korzystać ze środowiska wirtualnego Python Dowiedz się, jak korzystać ze środowiska wirtualnego Python Niezależnie od tego, czy jesteś doświadczonym programistą Python, czy dopiero zaczynasz, uczy się, jak konfiguracja środowiska wirtualnego jest niezbędna w każdym projekcie Python. będzie w stanie ci pomóc.

Po zainstalowaniu Pythona chcemy dodać go do zmiennej PATH twojego systemu. Pozwoli nam to uruchomić kod Pythona bezpośrednio z wiersza poleceń bez konieczności przebywania w katalogu, w którym został zainstalowany. Możesz to zrobić, otwierając Panel sterowania, szukać Środowisko i kliknij Edytuj systemowe zmienne środowiskowe. W dolnej części okna wybierz Zmienne środowiska. Spowoduje to wyświetlenie tego okna:

Jeśli już to widzisz ŚCIEŻKA na liście kliknij edytuj i dodaj swój Pyton i Python / Scripts informator. Jeśli nie masz zmiennej PATH, kliknij nowy i dodaj go. Zauważ, że Python został zainstalowany bezpośrednio w DO:\ tutaj. Jeśli zainstalowałeś go gdzie indziej, musisz go zmodyfikować, aby to odzwierciedlić. Kliknij OK z powrotem w łańcuch okien, a będziesz prawie gotowy do kontrolowania swojego Arduino za pomocą Pythona!

Magiczny smar

Potrzebujesz ostatniego kawałka układanki, aby Python ładnie rozmawiał z naszym Arduino. Ma to postać interfejsu Pythona o nazwie pyFirmata. Ten interfejs, stworzony przez Tino de Bruijn, jest dostępny do pobrania z github, chociaż można go zainstalować bezpośrednio z wiersza poleceń, wpisując:

pip zainstaluj pyfirmata

Wszystko dobrze, powinno się zainstalować i wyglądać tak:

Jeśli zawiedzie, dodaj Python do pliku Zmienna środowiskowa i upewnij się, że podałeś właściwą ścieżkę do katalogu Python.

To się stało

Teraz wszystko jest skonfigurowane i możesz utworzyć program Python dla swojego Arduino, aby go przetestować. Otwórz IDE do wyboru. Będziemy używać Eclipse 8 Skróty klawiaturowe Eclipse Essential dla początkujących 8 Skróty klawiaturowe Eclipse Essential dla początkujących Tak przyjazny dla początkujących, jak Eclipse IDE (interfejs), musisz się nauczyć tych skrótów klawiaturowych. dziś, ale równie łatwo można użyć dowolnego edytora tekstu Edytory tekstu a IDE: Który z nich jest lepszy dla programistów? Edytory tekstu a IDE: Który z nich jest lepszy dla programistów? Wybór pomiędzy zaawansowanym IDE a prostszym edytorem tekstu może być trudny. Oferujemy wgląd, który pomoże Ci podjąć tę decyzję. , a nawet IDE w chmurze Codenvy IDE: Online IDE dla Ruby, HTML, Java, Python i więcej Codenvy IDE: Online IDE dla Ruby, HTML, Java, Python i więcej .

Utwórz nowy skrypt i zapisz go jako blink.py. Łamiąc tradycję ze standardowym migającym programem LED, stworzysz program, który pyta użytkownika o to, ile razy dioda LED ma migać przed jego wykonaniem. Jest to krótki program, który możesz pobrać tutaj, jeśli chcesz od razu przejść do niego, ale podzielmy go.

Po pierwsze, chcesz zaimportować to, czego potrzebujesz z pyFirmata moduł wraz ze standardowym Pythonem Czas moduł.

z importu pyfirmata Arduino, użyj czasu importu

Teraz będziesz chciał skonfigurować tablicę Arduino. W tym artykule założono, że używasz Arduino Uno płytę, chociaż obsługiwanych jest kilka innych płyt Arduino. Szczegółowe informacje na temat wsparcia na pokładzie można znaleźć na github pyFirmata.

Sprawdź, którego portu COM używasz w Arduino IDE i wprowadź go do swojego kodu jako zmienną deska.

board = Arduino („COM3”)

Teraz skonfigurujesz monit użytkownika. Osoby zaznajomione z Pythonem rozpoznają tutaj wszystko. Możesz wydrukować pytanie na ekranie za pomocą wkład funkcji i zapisz odpowiedź jako zmienną. Gdy użytkownik poda numer, program informuje, ile razy dioda LED będzie mrugać.

loopTimes = input ('Ile razy chcesz, aby dioda LED migała:') print („Miga” + loopTimes + „razy”).

Aby dioda LED migała odpowiednią liczbę razy, należy użyć dla pętli. Jeśli nie znasz języka Python 10 Podstawowe przykłady języka Python, które pomogą Ci szybko się uczyć 10 Podstawowe przykłady języka Python, które pomogą Ci szybko się uczyć Ten artykuł o podstawowych przykładach języka Python jest przeznaczony dla tych, którzy mają już pewne doświadczenie w programowaniu i po prostu chcą szybko przejść do Pythona jak to możliwe. , zwróć uwagę na wcięcie, ponieważ w przeciwieństwie do innych języków spacje są częścią składni. Zauważ, że pin 13 jest wbudowaną diodą LED dla Arduino Uno, musisz to zmienić, jeśli twoja płyta jest inna.

dla xw zakresie (int (loopTimes)): board.digital [13] .write (1) time.sleep (0.2) board.digital [13] .write (0) time.sleep (0.2)

Rzucisz loopTimes zmienna na liczbę całkowitą tutaj, ponieważ dane wejściowe od użytkownika będą automatycznie zapisywane jako ciąg. W tym prostym demo zakładamy, że użytkownik wprowadzi wartość liczbową. Każdy inny wpis, na przykład „osiem”, zgłosi błąd.

Zapisz skrypt i otwórz Wiersz polecenia.

Migające światła i inne objawienia

Wszystko jest gotowe do działania, wystarczy przejść do skryptu i uruchomić go. Zrób to, pisząc cd [ścieżka do katalogu skryptu] a następnie pisać python blink.py.

Wszystko jest w porządku, twój program uruchomi się z niewielkim opóźnieniem podczas inicjalizacji Arduino, poprosi o numer, a następnie zamiga tyle razy za pomocą wbudowanej diody LED.

Dane wyjściowe programu powinny wyglądać następująco:

Jak tylko naciśniesz enter po wybranej liczbie mrugnięć, Arduino powinno wykonać twoje rozkazy.

Małe początki

Ten projekt był od podstaw komunikacją między Pythonem a tablicą Arduino. Podejście to bardzo różni się od zwykłego procesu przesyłania skryptów do samego Arduino, ale otwiera zupełnie nowy sposób pracy z platformą, szczególnie jeśli podoba ci się język programowania Python.

Jeśli korzystasz z serwera Linux 12 najlepszych systemów operacyjnych Linux Server i kto powinien ich używać 12 najlepszych systemów operacyjnych Linux Server i kto powinien ich używać Budowanie serwera? Linux jest idealny, zazwyczaj oferuje zwiększone uprawnienia, większą elastyczność i stabilność. Ale który wybrać? Sprawdź 12 najlepszych systemów operacyjnych Linux dla serwerów i kto powinien ich używać. w domu ta metoda komunikacji z płytami Arduino może rozszerzyć ten serwer na pełnoprawny system automatyki domowej. Łącząc skrypty Pythona sterujące mikrokontrolerem z obwodem automatyzacji DIY Pomysły na projekt Arduino dla zautomatyzowanego domu Pomysły na projekt Arduino dla zautomatyzowanego domu Czy nie byłoby wspaniale podlewać szklarnię bez opuszczania krzesła? Arduino może być zaangażowane jako kluczowy element niektórych projektów automatyki domowej - oto pięć! , Twój schowek NAS może przyjąć zupełnie nowy zestaw przydatnych funkcji.

Aby zapewnić najwyższą jakość samodzielnego tworzenia, dlaczego nie zbudować własnego urządzenia NAS Potrzebujesz pamięci sieciowej? Oto jak zbudować własny serwer NAS Potrzebujesz pamięci sieciowej? Oto jak zbudować własne urządzenie NAS Box NAS oznacza Network Attached Storage. Ponieważ system Windows stał się łatwiejszy w obsłudze z urządzeniami podłączonymi do sieci, a ceny sprzętu spadły, termin ten zaczął być stosowany na rynku konsumenckim. Dziś jest wiele różnych… i możesz używać go również do sterowania urządzeniami? Wyobraź sobie, jak fajnie byłoby nacisnąć przycisk odtwarzania na swoim urządzeniu Plex Przewodnik po Plex - The Awesome Media Center Twój przewodnik po Plex - The Awesome Media Center Jeśli masz dużo zapisanych lokalnie filmów i programów telewizyjnych, musisz zainstalować Plex. Jest to jedyny poradnik na temat rozpoczynania pracy z Plex, który musisz przeczytać. serwer i automatycznie wyłączają się światła!

Czy już kontrolujesz Arduino za pomocą Pythona? Czy są niesamowite obejścia, o których jeszcze nie wiemy? Daj nam znać w sekcji komentarzy poniżej!




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.