Hogyan programozhatunk és irányíthatunk egy Arduino -t Python segítségével

Hogyan programozhatunk és irányíthatunk egy Arduino -t Python segítségével

A Python elkapta a kódoló világot. Az új nyelv térnyerése mellett a barkács elektronika is virágzott. Fejlesztőlapok és egylapos számítógépek olyan cégektől Arduino és a Raspberry Pi megváltoztatta az emberek háztartási elektronika -készítési módját. Nem lenne fantasztikus, ha programozhatna egy Arduino -t Python segítségével?





hogyan kell jelszót helyezni az USB flash meghajtóra

Nincs jobb érzés, mint két klassz dolog ötvözése. Sajnos lehetetlen közvetlenül programozni egy Arduino programot Python segítségével, mivel a tábláknak nincs lehetőségük a nyelv beépített értelmezésére. Lehetséges azonban az USB közvetlen vezérlése Python program segítségével.





Ez a cikk bemutatja, hogyan állíthat be egy Arduino UNO -t (bár bármelyik Arduino -kompatibilis tábla működhet itt), amely a parancssorból programozható és vezérelhető Python -programok segítségével. Ez az oktatóanyag a Windows 10 rendszerhez készült, de Mac és Linux rendszereken is működik. Ezt a munkafolyamatot használhatja akár egy Arduino vezérléséhez közvetlenül a Raspberry Pi-ből a végső dupla lefelé barkácsolás érdekében.



Az Arduino beállítása a Python számára

A mai projekthez egy Arduino Uno -t fogunk használni a Python pyFirmata felületével együtt. Erre szinte bármilyen Arduino-kompatibilis táblát használhat, bár íráskor csak az Arduino Uno, a Mega, a Due és a Nano támogatja a pyFfirmata felületet. Ha már Python guru vagy, hozzáadhatsz saját táblás támogatást a pyFirmata -hoz - ha igen, mindenképpen frissítsd a GitHub -jukat!

Ha még nem tette meg, telepítse az Arduino IDE -t. Ha teljesen új vagy a mikrokontrollerek világában, akkor a miénk kezdő útmutató Arduino -hoz segít mindent a helyére hozni.



Csatlakoztassa az Arduino táblát, és nyissa meg az IDE -t. Győződjön meg arról, hogy a megfelelő tábla és port van kiválasztva a Eszközök menü. Töltse fel a StandardFirmata példa vázlat, és töltse fel a táblára. Ez lehetővé teszi az Arduino közvetlen vezérlését mindaddig, amíg USB -n keresztül csatlakozik a számítógéphez. Ha a vázlat hiba nélkül feltöltődik a táblára, készen áll a továbblépésre.

Python és parancssori vezérlés

A Python 3.4 -et használjuk az Arduino vezérléséhez, mivel a telepíteni kívánt modul ezt a legújabb kompatibilis verziónak adja meg. Az ezt megelőző bármely verziónak jól kell működnie, és a későbbi verziók működéséről is beszámoltak. Letöltheti a Python 3.4 -et Windows 10 -re a Python Software Foundation webhely. Ha a Python több verzióját kívánja futtatni, a Python virtuális környezetekről szóló útmutatónk segíthet Önnek.





A Python telepítése után hozzá szeretnénk adni a rendszer PATH változójához. Ez lehetővé teszi, hogy a Python -kódot közvetlenül a parancssorból futtassuk anélkül, hogy a telepített könyvtárban kellene lennünk. Ezt a Kezelőpanel , keresés Környezet és kattintson a gombra Szerkessze a rendszer környezeti változóit . Válassza ki az ablak alján Környezeti változók . Ekkor megjelenik ez az ablak:

Ha már látja PÁLYA a listában kattintson a szerkesztés gombra, és adja hozzá a sajátját Piton és Python/Scripts Könyvtár. Ha nincs PATH változója, kattintson az új gombra, és adja hozzá. Ne feledje, hogy a Python közvetlenül a C: itt. Ha máshol telepítette, módosítania kell, hogy tükrözze ezt. Kattintson az OK gombra az ablakok láncolatában, és majdnem készen áll az Arduino vezérlésére a Python segítségével!





A varázszsír

Szükséged lesz a puzzle utolsó darabjára, hogy Python szépen beszéljen Arduino -val. Ez egy úgynevezett Python felület formájában jelenik meg pyFirmata . Ez a felület, amelyet Tino de Bruijn hozott létre letölthető a github -ból, bár telepítheti közvetlenül a parancssorból, ha beírja:

pip install pyfirmata

Ha minden rendben van, telepítenie kell és így kell kinéznie:

Ha nem sikerül, akkor vegye át a Python hozzáadását Környezeti változó szakaszban, és győződjön meg arról, hogy a helyes elérési utat adta meg a Python könyvtárához.

Hogy megtörténjen

Most minden beállítva, és létrehozhat egy Python programot az Arduino számára, hogy tesztelje. Nyisson meg egy választott IDE -t. Használni fogjuk Fogyatkozás ma, de ugyanolyan könnyen használhat bármilyen szövegszerkesztőt, vagy akár egy IDE -t a felhőben.

Hozzon létre egy új szkriptet, és mentse el pislogni.py . A hagyományos villogó LED -es program hagyományait megtörve olyan programot hoz létre, amely a felhasználónak azt jelzi, hányszor szeretné, hogy a LED villogjon, mielőtt végrehajtaná. Ez egy rövid program, amit megtehet töltse le itt ha egyenesen hozzá akarsz jutni, de bontsuk le.

Először is importálni kell, amire szüksége van a pyFirmata modul, a standard Python mellett Idő modul.

miért nem jelenik meg az usb -m
from pyfirmata import Arduino, util
import time

Most szeretné beállítani az Arduino táblát. Ez a cikk feltételezi, hogy egy Arduino uno tábla, bár számos más Arduino tábla is támogatott. A fedélzeti támogatás részleteit a pyFirmata github tartalmazza.

Ellenőrizze, hogy melyik COM portot használja az Arduino IDE -ben, és írja be a kódba változóként tábla .

board = Arduino('COM3')

Most be kell állítania a felhasználói promptot. Akik ismerik a Python -t, itt mindent fel fognak ismerni. Kérdést nyomtat a képernyőre a bemenet függvényt, és tárolja a választ változóként. Miután a felhasználó megadta a számot, a program jelzi, hányszor villog a LED.

loopTimes = input('How many times would you like the LED to blink: ')
print('Blinking ' + loopTimes + ' times.')

Ahhoz, hogy a LED a megfelelő számú alkalommal villogjon, használja a hurokhoz . Ha te új a Pythonban , vigyázzon a behúzással, mivel más nyelvekkel ellentétben a szóközök a szintaxis részét képezik. Ne feledje, hogy a 13 -as érintkező az Arduino Uno beépített LED -je, ezt módosítania kell, ha a táblája más.

for x in range(int(loopTimes)):
board.digital[13].write(1)
time.sleep(0.2)
board.digital[13].write(0)
time.sleep(0.2)

Ön leadja a loopTimes változót egész számra, mivel a felhasználó bemenete automatikusan karakterláncként kerül tárolásra. Ebben az egyszerű bemutatóban feltételezzük, hogy a felhasználó számértéket ad meg. Bármely más bejegyzés, például a „nyolc” hibát jelez.

Mentse el a szkriptet, és nyissa meg a Parancssor .

Villogó fények és egyéb kinyilatkoztatások

Minden készen áll az indulásra, mindössze annyit kell tennie, hogy navigáljon a szkript helyéhez, és futtassa azt. Ezt gépeléssel tegye meg cd [elérési út a szkript könyvtárához] majd gépelni python pislog.py .

Ha minden rendben van, a program enyhe késéssel indul, amint az Arduino inicializál, számot kér, majd többször felvillan a beépített LED segítségével.

A program kimenetének így kell kinéznie:

Amint megnyomja az enter billentyűt a kiválasztott pislogások után, az Arduino -nak teljesítenie kell a parancsokat.

Kis kezdetek

Ez a projekt egy csupasz kezdet a kommunikációhoz Python és egy Arduino tábla között. Ez a megközelítés nagyon különbözik a szokásos munkafolyamattól, amikor szkripteket tölt fel magába az Arduino -ba, mégis teljesen új módszert nyit meg a platformmal való munkához, különösen, ha kedveli a Python programozási nyelvet.

Ha a Linux szerver otthon ez az Arduino táblákkal való kommunikációs módszer kiterjesztheti ezt a szervert egy teljes értékű DIY Home Automation rendszerre. Ha a mikrokontrollert vezérlő Python -szkripteket egy DIY automatizálási áramkörrel kombinálja, a NAS tároló doboz teljesen új hasznos funkciókat vehet fel.

hogyan lehet megtalálni a wifi jelszót a telefonon

Hogy ez legyen a végső barkácsélmény, miért ne készítsd el saját NAS dobozodat és a készülékek vezérlésére is használja? Képzelje el, milyen jó lenne megnyomni a play gombot a Plex szerverén, és a lámpák automatikusan kialudnának!

Már irányítod az Arduinót a Python használatával? Vannak olyan csodálatos megoldások, amelyekről még nem tudunk? Tudassa velünk az alábbi megjegyzés rovatban!

Részvény Részvény Csipog Email 5 tipp a VirtualBox Linux gépek feltöltéséhez

Unod már a virtuális gépek gyenge teljesítményét? Íme, mit kell tennie a VirtualBox teljesítményének növelése érdekében.

Olvassa tovább
Kapcsolódó témák
  • DIY
  • Programozás
  • Arduino
  • Otthoni automatizálás
  • Piton
A szerzőről Ian Buckley(216 megjelent cikk)

Ian Buckley szabadúszó újságíró, zenész, előadó és videó producer, Berlinben, Németországban él. Amikor éppen nem ír vagy a színpadon, barkácsol elektronikával vagy kóddal, abban a reményben, hogy őrült tudós lesz.

Bővebben: Ian Buckley

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide