Kako programirati i kontrolirati Arduino s Pythonom

  • Brian Curtis
  • 0
  • 5125
  • 493
Oglas

Python je olujom zauzeo svijet kodiranja. Usporedo s usponom ovog novog jezika, procvala je i DIY elektronička scena. Razvojne ploče i jednostruka ploča računala tvrtki poput Arduino Što je Arduino i što možete učiniti s tim? Što je Arduino i što možete učiniti s tim? Arduino je izvanredan mali elektronički uređaj, ali ako ga nikada prije niste koristili, samo što su točno i što možete učiniti s jednim? i Raspberry Pi Raspberry Pi: Neslužbeni udžbenik Raspberry Pi: Neslužbeni vodič Bez obzira jeste li trenutni vlasnik Pi-a koji želi saznati više ili ste potencijalni vlasnik ovog uređaja veličine veličine kreditne kartice, ovo nije vodič koji želite propustiti , promijenili su način na koji ljudi stvaraju kućnu elektroniku. Zar ne bi bilo fenomenalno ako biste mogli programirati Arduino s Pythonom?

Ne postoji bolji osjećaj nego kombinirati dvije cool stvari. Nažalost, nemoguće je izravno programirati Arduino s Python-om, budući da ploče nemaju mogućnost internetske interpretacije jezika. Moguće je, međutim, izravna kontrola USB-a pomoću Python programa.

Ovaj članak će vam pokazati kako postaviti Arduino UNO (iako bilo koji Arduino kompatibilni vodič za kupnju Arduinova: Koju ploču trebate nabaviti? Arduino vodič za kupnju: Koju ploču treba nabaviti? Postoji toliko mnogo različitih Arduino ploča, oprostili biste se zbog zbunjenosti. Što biste trebali kupiti za svoj projekt? Pomozite nam da ovaj Arduino vodič za kupnju! može raditi ovdje) da se programira i kontrolira iz naredbenog retka pomoću Python programa. Ovaj je udžbenik napisan za Windows 10, ali djeluje i za Mac i Linux. Možete čak koristiti ovaj tijek rada za upravljanje Arduinom izravno iz Vodiča za automatizaciju kućica Raspberry Pi s Raspberry Pi i Arduino Vodičem za kućnu automatizaciju Raspberry Pi i Arduino Tržište kućne automatizacije preplavljeno je skupim potrošačkim sustavima, nespojivim jedni s drugima i skupim za instalaciju. , Ako imate Raspberry Pi i Arduino, u osnovi možete postići istu stvar ... za vrhunski dvostruki doživljaj "uradi sam".

Postavljanje vašeg Arduinoa za Python

Za današnji projekt koristit ćemo Arduino Uno, zajedno s pyFirmata sučeljem za Python. Za to možete koristiti gotovo bilo koju ploču koja je kompatibilna s Arduinom, iako u vrijeme pisanja samo su Arduino Uno, Mega, Due i Nano podržani sučeljem pyFfirmata. Ako ste već Python guru, možete dodati svoju podršku u ploči pyFirmata - budite sigurni da ćete ažurirati njihov GitHub ako to učinite!

Ako već niste, instalirajte Arduino IDE. Ako ste potpuno novi u svijetu mikrokontrolera, vodič za početnike za Arduino Upoznavanje s Arduinom: Vodič za početnike Početak rada s Arduinom: Vodič za početnike Arduino je platforma za prototiranje elektronike otvorenog koda koja se temelji na fleksibilnom i jednostavnom hardveru i softver. Namijenjen je umjetnicima, dizajnerima, hobistima i svima koji su zainteresirani za stvaranje interaktivnih objekata ili okruženja. pomoći će vam da sve postavite na svoje mjesto.

Spojite Arduino ploču i otvorite IDE. Provjerite jeste li odabrali ispravnu ploču i priključak alat izbornik. Učitajte StandardFirmata primjer skica i stavite na ploču. To će vam omogućiti izravno upravljanje Arduinom sve dok je on povezan s računalom putem USB-a. Ako se skica prenese na vašu ploču bez ikakvih pogrešaka, spremni ste krenuti dalje.

Nadzor Pythona i naredbenog retka

Python 3.4 koristit ćemo za kontrolu našeg Arduino-a, jer modul koji ćete instalirati navodi to kao najnoviju kompatibilnu verziju. Bilo koja verzija prije toga trebala bi funkcionirati, a kasnije verzije prijavljene su da djeluju. Možete preuzeti Python 3.4 za Windows 10 sa stranice Python Software Foundation. Ako želite pokrenuti više verzija Pythona, naš vodič za Python virtualno okruženje Saznajte kako koristiti Python virtualno okruženje Saznajte kako koristiti Python virtualno okruženje Bez obzira jeste li iskusni programer Python-a ili tek započinjete s učenjem kako postavljanje virtualnog okruženja bitno je za svaki Python projekt. moći će vam pomoći.

Nakon što instalirate Python, želimo ga dodati u varijablu PATH vašeg sustava. Ovo će nam omogućiti da pokrenemo Python kôd izravno iz naredbenog retka bez potrebe da se nalazimo u direktoriju u kojem je instaliran. To možete učiniti otvaranjem otvora Upravljačka ploča, u potrazi za okolina i kliknite na Uredite varijable okoline sustava. Na dnu prozora odaberite Okolišne varijable. Ovo će otvoriti ovaj prozor:

Ako već vidite STAZA na popisu kliknite uređivanje i dodajte svoje Piton i Python / Skripte imenik. Ako nemate varijablu PATH, kliknite novu i dodajte je. Imajte na umu da je Python instaliran izravno u C: \ ovdje. Ako ste ga instalirali drugdje, morat ćete ga modificirati da to odražava. Kliknite natrag natrag niz lanac prozora i gotovo ste spremni kontrolirati svoj Arduino pomoću Pythona!

Čarobna mast

Trebat će vam posljednji dio slagalice da Python lijepo razgovara s našim Arduinom. Dolazi u obliku Python sučelja pod nazivom pyFirmata. Ovo sučelje, koje je kreirao Tino de Bruijn, dostupno je za preuzimanje sa github-a, iako ga možete instalirati izravno iz naredbenog retka upisivanjem:

pip instalirati pyfirmata

Sve u redu, to bi trebalo instalirati i izgledati ovako:

Ako ne uspije, prijeđite na dodavanje Pythona Okolišna varijabla odjeljak i provjerite jeste li dali pravi put u vaš Python direktorij.

To se događa

Sada je sve postavljeno i za Arduino možete kreirati program Python za testiranje. Otvorite IDE po vašem izboru. Koristit ćemo se tipkovnim prečacima Eclipse 8 Eclipse ključnim za početnike 8 Prečaci na tipkovnici Eclipse bitni za početnike Koliko je novost prilagođena IDE (sučelju) Eclipse, dugujete sebi da naučite ove prečace na tipkovnici. danas, ali jednako tako lako možete koristiti bilo koji uređivač teksta Uređivač teksta u odnosu na IDE: koji je bolji za programere? Uređivač teksta u odnosu na IDE: koji je bolji za programere? Odabir između naprednijeg IDE-a i jednostavnijeg uređivača teksta može biti težak. Nudimo vam nekoliko uvida koji će vam pomoći pri donošenju te odluke. ili čak IDE u oblaku ID ID-a Codenvy: internetska IDE za Ruby, HTML, Java, Python i još više Codenvy IDE: internetska IDE za Ruby, HTML, Java, Python i više .

Stvorite novu skriptu i spremite je kao blink.py. Prekidajući tradiciju sa standardnim treptajućim LED programom, kreirat ćete program koji će tražiti korisnika toliko vremena koliko želi da LED zasvijetli prije nego što ga uvede. To je kratak program, koji možete preuzeti ovdje ako želite izravno do njega, ali pustimo ga da ga razbijemo.

Najprije ćete htjeti uvesti ono što vam treba pyFirmata modula, zajedno sa standardnim Python-om Vrijeme modul.

from pyfirmata import Arduino, util vrijeme uvoza

Sada ćete htjeti postaviti Arduino ploču. Ovaj članak pretpostavlja da koristite an Arduino Uno ploča, iako je podržano nekoliko drugih Arduino ploča. Pojedinosti o podršci na ploči potražite u PyFirmata githubu.

Provjerite koji COM port koristite u Arduino IDE i unesite ga u svoj kod kao varijablu odbor.

ploča = Arduino ("COM3")

Sada ćete postaviti korisnički upit. Oni koji poznaju Python ovdje će prepoznati sve. Pitanje ispišete na zaslon pomoću ulazni funkciju, a odgovor spremite kao varijablu. Jednom kada korisnik unese broj, program prijavi koliko puta će LED treptati.

loopTimes = ulaz ('Koliko puta želite da LED trepće:') ispis ("trepće" + petlja + "puta".)

Kako bi LED LED treptao odgovarajući broj puta, koristite a za petlju. Ako ste novi u Python 10 Primjerima Python koji će vam pomoći da brzo naučite 10 osnovnih primjera Pythona koji će vam pomoći da brzo naučite Ovaj članak osnovnih primjera pythona namijenjen je onima koji već imaju određeno iskustvo u programiranju i jednostavno žele brzo prijeći na Python. koliko je moguće. , pripazite na uvlačenje, jer za razliku od drugih jezika, razmaci su dio sintakse. Imajte na umu da je pin 13 ugrađeni LED za Arduino Uno, ovo ćete morati modificirati ako je vaša ploča drugačija.

za x u rasponu (int (loopTimes)): board.digital [13] .write (1) time.sep (0.2) board.digital [13] .write (0) time.sep (0.2)

Bacićete se loopTimes promjenjive na cijeli broj, jer će se unos od korisnika automatski pohraniti kao niz. U ovom jednostavnom demo prikazu pretpostavljamo da će korisnik unijeti brojčanu vrijednost. Svaki drugi unos, primjerice "osam", dovest će do pogreške.

Spremite svoju skriptu i otvorite Komandni redak.

Trepereća svjetla i druga otkrića

Sve je spremno za rad, sve što trebate učiniti je navigaciju do mjesta gdje je skripta i pokretanje. To napravite tako da upišete cd [put do direktorija skripte] a zatim tipkati python blink.py.

Sve u redu, program će započeti s malim kašnjenjem nakon što se Arduino inicijalizira, zatraži broj i zatim bljesne mnogo puta koristeći ugrađenu LED.

Izlaz programa trebao bi izgledati ovako:

Čim pritisnete enter nakon odabranog broja treptaja, Arduino bi trebao izvršiti vaše narudžbe.

Mali počeci

Ovaj je projekt započeo komunicirati između Pythona i Arduinove ploče. Ovaj se pristup vrlo razlikuje od uobičajenog tijeka prijenosa skripti na sam Arduino, no otvara sasvim novi način rada s platformom, posebno ako vam se sviđa programski jezik Python.

Ako koristite Linux poslužitelj 12 najboljih operativnih sustava Linux poslužitelja i tko ih treba koristiti? 12 najboljih operativnih sustava Linux poslužitelja i tko ih treba koristiti za izgradnju poslužitelja? Linux je idealan, obično nudi poboljšane dozvole, veću fleksibilnost i stabilnost. Ali koga odabrati? Pogledajte 12 najboljih operativnih sustava Linux poslužitelja i tko ih treba koristiti. kod kuće, ova metoda komunikacije s Arduino pločama mogla bi proširiti taj poslužitelj u potpuno razvijeni DIY sustav kućne automatike. Kombinirajući Python skripte za kontrolu mikrokontrolera sa DIY sklopom automatizacije Arduino projektne ideje za automatizirane ideje Arduino kuće za automatizirani dom, zar ne bi bilo sjajno zalijevati staklenik bez napuštanja stolice? Arduino se može angažirati kao ključna komponenta nekih projekata kućne automatizacije - evo pet! , Vaš NAS spremnik mogao bi preuzeti cijeli novi niz korisnih funkcija.

Da biste to učinili vrhunskim „uradi sam“ iskustvom, zašto ne biste izgradili vlastiti NAS okvir Trebate mrežno spremanje? Evo kako izgraditi vlastiti NAS Box potreban mrežni prostor za pohranu? Evo kako izgraditi vlastiti NAS Box NAS označava mrežnu pohranu u prilogu. Kako je Windows postao lakši za korištenje s mrežnim uređajima, a cijene hardvera pale, ovaj se pojam počeo upotrebljavati na potrošačkom tržištu. Danas postoji velika raznolikost ... i da li ga upotrebljavate za kontrolu vaših uređaja? Zamislite kako bi bilo cool pritisnuti igranje na Plexu Vaš vodič za Plex - fantastičan medijski centar Vaš vodič za Plex - fantastičan medijski centar Ako imate puno lokalno spremljenih filmova i TV emisija, morate instalirati Plex. Ovo je jedini vodič za početak rada s Plex-om koji ćete ikada trebati pročitati. poslužitelju i svjetla se automatski isključuju!

Već kontrolirate Arduino koristeći Python? Postoje nevjerojatna zaobilaženja o kojima jednostavno još ne znamo? Javite nam se u odjeljku za komentare u nastavku!




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.