- Szükséges anyagok:
- A Python telepítése a számítógépre:
- PySerial megszerzése a Pythonban:
- Első Arduino Python programunk:
- A LED vezérlése Python és Arduino segítségével:
Az Arduino mindig is erőteljes és könnyen használható tanulási / fejlesztési platform volt, amikor a nyílt forráskódú hardver fejlesztéséről volt szó. A mai modern világban minden hardvert egy magas szintű általános programozási nyelv működtet, hogy hatékonyabbá és felhasználóbarátabbá tegye őket. Az egyik ilyen nyelv a Python. A Python egy értelmezett, objektumorientált, magas szintű programozási nyelv, dinamikus szemantikával, magas szintű beépített adatstruktúrákkal, dinamikus gépeléssel és dinamikus kötéssel kombinálva, nagyon vonzóvá teszi a Rapid Application Development számára.
Ötvözi a hatalom Arduino Python nyitja meg kapuit, a rengeteg lehetőséget, mivel python megnövekedett termelékenység a képességét, hogy kölcsönhatásba más platformokon, mint OpenCV, Matlab, stb.. Tehát a bemutató megtanuljuk, hogyan tudjuk telepíteni python számítógépünkön és hogyan kell használni az Arduino-val az Arduino fedélzeti LED-jének váltására.
Tehát, kezdjük….
Szükséges anyagok:
- Arduino Uno (vagy bármely Arduino tábla)
- Számítógép internet-kapcsolattal
A Python telepítése a számítógépre:
Nyilvánvaló, hogy az oktatóanyag első lépése a Python telepítése a számítógépünkre. Az alábbiakban említett lépések csak a 32 vagy 64 bites operációs rendszert futtató Windows felhasználókra vonatkoznak. A MAC és a Linux telepítési eljárása eltér.
- Kattintson a 32 bites Python-2.7.9 gombra, és ez telepíti a 32 bites Python IDLE-t a számítógépére. Ne töltse le a 64 bites vagy frissített verziókat, mivel ezek nem támogatják az Arduino könyvtárakat. Még akkor is, ha számítógépe 64 bites operációs rendszerrel működik, használhatja magát a 32 bites Python-t is.
- Nyissa meg a letöltött exe fájlt, és kövesse az utasításokat. Ne változtassa meg azt a könyvtárat, amelybe a python települ. Alapértelmezés szerint C: \ Python27 lesz, és hagyja annak.
- Amíg a telepítés megtörténik, figyelmeztetést kaphat az antivírusáról (ha van ilyen), ebben az esetben kattintson az Engedélyezés gombra.
Ez az !, a python sikeresen telepítve van a számítógépünkre. Ellenőrizheti, ha a Windows keresőmezőjében a „Python IDLE” kifejezésre keres, és megnyitja.
Megnyitásakor meg kell kapnia a következő képernyőt. Ezt az ablakot Python Shellnek hívják, és ezentúl „ Python shell ” -nek fogjuk nevezni.
Ezt a képernyőt Python Shellnek hívják. Itt közvetlenül kódolhat, és a kimenetet ugyanazon a képernyőn töltheti le, vagy létrehozhat egy új fájlt, odaírhatja a programot, és itt ellenőrizheti a programot. Később kitérünk a python program létrehozásának részleteire, egyelőre ellenőrizzük, hogy működik-e a python.
Ehhez egyszerűen írja be a „ print (1 + 1) ” szót és nyomja meg az Enter billentyűt. Látnia kell az eredmény kinyomtatását az alábbiak szerint.
PySerial megszerzése a Pythonban:
A következő lépés a pyserial telepítése. A PySerial egy Python API modul, amelyet soros adatok olvasására és írására használnak az Arduino vagy bármely más mikrokontroller számára.
A PySerial letöltéséhez kattintson a Pyserial Windows elemre. Az eredményül kapott letöltés exe fájl lesz, amely közvetlenül telepíthető. Telepítés közben ne módosítson semmilyen beállítást. Hagyja az alapértelmezett könyvtárra és az alapértelmezett beállításokra.
Most ellenőrizzük, hogy a PySerial megfelelően van-e telepítve. Ehhez nyissa meg újra a Python Shell parancsot, és írja be
import soros . Ha a könyvtár telepítése sikeres volt, akkor nem szabad hibaüzeneteket kapnia az alábbi képen látható módon. Ha bármilyen hibát észlel, tegye őket a megjegyzés szakaszba, és megpróbáljuk megoldani.
Ez az oktatóanyag feltételezi, hogy ismeri az Arduino-t, és van tapasztalata a projektek Arduino-ba történő feltöltésében. Tehát menjünk közvetlenül a Python programunkba. Ha Ön kezdő az Arduino-val, ellenőrizze az Arduino-projektjeinket, és kezdje a LED villogását az Arduino-val.
Első Arduino Python programunk:
Mint korábban említettük, a beépített Arduino tábla LED-jét Python szkript segítségével fogjuk irányítani. Kezdjük az Arduino kóddal.
Program az Arduino számára:
Az Arduino python oktatóanyag teljes programja az oldal végén található. Olvassa el tovább, hogy megtudja, hogyan működik.
A beállítási funkción belül inicializáljuk a soros kommunikációt 9600 baud sebességgel, és kijelentjük, hogy a beépített ledet használjuk kimenetként, és alacsonyra kapcsoljuk a program indításakor. Az alábbiak szerint üdvözlő üzenetet is küldtünk a pythonnak soros nyomtatással:
void setup () {Soros.kezdés (9600); // inicializálja a soros COM-ot 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // tegye a LED-csapot (13) kimenetként digitalWrite (LED_BUILTIN, LOW); Serial.println ("Sziasztok! Arduino vagyok"); }
Bent a loop funkció, azt olvassuk, amit az adatokat, hogy jön a sorozatban, és értékét hozzárendeljük a változó „adat”. Most ennek a változónak az értéke („adatok”) alapján váltjuk a beépített ledet az alábbiak szerint.
void loop () {while (Soros.elérhető ()) {adatok = Soros.olvasott (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); else if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Program Python számára:
Az oktatóanyag teljes python programja az oldal végén található. Olvassa el tovább, hogy megtudja, hogyan kell ugyanezt írni és használni.
- Nyissa meg a Python héját (Python IDLE), és kattintson a Fájl-> Új gombra
- Ez megnyit egy új szöveges fájlt, ahová beírhatja a programot.
- Mielőtt bármit beírnánk, a Ctrl + S segítségével elmenthetjük a fájlt. Írjon be bármilyen nevet, és kattintson a mentésre. Ez automatikusan elmenti a fájlokat a.py kiterjesztésbe.
- Írja be a programot, vagy illessze be az oldal végén megadott python kódot. Ennek magyarázata az alábbiakban található, és végül futtassa a programot.
Programunkban az első lépés a soros és az időkönyvtár importálása lenne. A soros könyvtárat, amint azt korábban említettük, a soros adatok olvasására és írására fogjuk használni, az idő könyvtárat pedig arra használjuk, hogy késedelmeket hozzunk létre programunkban. Ez a két könyvtár a következő két sor segítségével importálható a programunkba:
# soros importálás soros kommunikációhoz importálás ideje # Késleltetési funkciók használatához szükséges
A következő lépés egy soros objektum inicializálása lenne a soros könyvtárunk segítségével. Ebben a programban soros objektumunkat „ArduinoSerial” néven neveztük el . Ebben a sorban meg kell említenünk annak a COM-portnak a nevét, amelyhez Arduino-junk csatlakozik, és milyen adatátviteli sebességgel működik az alábbiak szerint.
ArduinoSerial = soros. Serial ('com18', 9600)
Megjegyzés: Nagyon fontos megemlíteni a megfelelő COM port nevet. Megtalálható a számítógép Eszközkezelőjének használatával.
Amint a soros objektum inicializálódik , két másodpercig tartsuk a programot a soros kommunikáció létrejöttéhez. Ezt az alábbi sor segítségével teheti meg:
time.sleep (2)
Most bármit elolvashatunk vagy írhatunk az Arduino Board-ból.
A következő sor az Arduino-ból érkező összeset olvassa és kinyomtatja a shell ablakra
nyomtassa ArduinoSerial.readline ()
Az értéket egy változóhoz is rendelheti, és felhasználhatja számításokhoz.
A következő sor írja be a paraméter értékét az Arduino Board-ba.
ArduinoSerial.write ('1')
Ez a sor '1' -et ír az Arduino-nak. A tizedesjegyektől a karakterláncokig bármit elküldhet ugyanazon sor segítségével.
Most, visszatérve a programunkhoz, a végtelen ciklus belsejében, a következő sorok állnak rendelkezésünkre
var = raw_input () #get bemenet a "beírt" felhasználói nyomtatásból, var # a bemenet megerősítéséhez nyomtassa ki, ha (var == '1'): #if az érték 1 nyomtatási ("LED bekapcsolt") time.sleep (1) if (var == '0'): #if az érték 0 ArduinoSerial.write ('0') #send 0 print ("LED OFF OFF") idő.alszik (1)
A var = raw_input sor megkapja a Shell szkriptbe beírt bármely értéket, és ezt az értéket a var változóhoz rendeli.
Később, ha az érték 1, akkor az „1” sorozatosan az Arduino-ra, a 0 pedig a „0” sorozatot az Arduino-ra nyomtatja. Az Arduino Programunk kódja (a fentiekben tárgyaltuk) a beérkező érték alapján kapcsoljuk be a LED-et.
Miután a teljes program elkészült, a szkriptnek alábbinak kell kinéznie
Most kattintson a Futtatás -> Modul futtatása lehetőségre, vagy nyomja meg az F5 billentyűt, ez megkérheti Önt, hogy mentse a programot, majd elindítja.
A LED vezérlése Python és Arduino segítségével:
A projekt működése meglehetősen egyszerű. Töltse fel a programot az Arduino készülékére, és ellenőrizze, hogy ugyanahhoz a COM-porthoz csatlakozik-e, mint amit a python program említett. Ezután indítsa el a Python programot a fentiek szerint.
Ez egy python shell parancsfájlt indít el, az alábbiak szerint. A bal oldali ablak a kimenetet mutató shell ablak, a jobb oldalon pedig a programot bemutató szkript.
Amint látható, az Arduino programba beírt „Hi !, Arduino vagyok” karakterláncot a Python fogadja és megjeleníti a shell ablakában.
Amikor a shell ablak kéri az értékek megadását, akkor 0 vagy 1 értéket is beírhatunk. Ha 1 értéket küldünk, akkor az Arduino Board LED-je bekapcsol, és ha 0 értéket küldünk, az Arduino Board-on lévő LED kialszik. Sikeres kapcsolatot mutatunk be Arduino programunk és a Python között.
Két alább megadott program van, az egyiket feltölthetjük és futtathatjuk az Arduino-ból, a másikat pedig a Windows Python Shell-ből kell futtatnunk.
Remélem, megértette a projektet, és képes volt működtetni. Ha nem, tegye közzé problémáját az alábbi megjegyzésben, és szívesen segítek. A következő projektünkben megtudhatjuk, mit lehet még jót tenni a Python és az Arduino segítségével azáltal, hogy feltárjuk a többi python modult, például a Vpython, a gamepython stb.