- Előfeltételek:
- A VPython telepítése a számítógépre:
- A VPython programozása:
- Az Arduino előkészítése:
- Dolgozó:
Korábbi oktatóanyagunkban megtanultuk, hogyan kell telepíteni a python-ot a Windows gépünkre, és hogyan lehet az Arduino-t a python-tal összekapcsolni egy egyszerű LED-es vezérlő projekt segítségével. Ha új vagy, akkor erősen ajánlom, hogy térjen vissza az előző oktatóanyagra, mivel ez az oktatóanyag folytatása.
Lehet, hogy már elkezdtél azon gondolkodni, miért lenne szükségünk Pythonra az Arduino-val, ha csak a soros porton keresztül tud kommunikálni. De, a Python nagyon erős fejlesztői platform, amelyre rengeteg hűvös alkalmazás integrálható, amelyekbe gépi tanulás, számítógépes látás és még sok minden más integrálható. Ebben az oktatóanyagban megtudhatjuk, hogyan hozhatunk létre egy kis grafikus felületet a Python használatával. Ehhez szükségünk lesz egy Vpython nevű modulra. Az alábbi oktatóanyag csak Windows felhasználókra vonatkozik, mivel Mac vagy Linux felhasználók számára az eljárás más.
A bemutató végén megtudhatjuk, hogyan készíthetünk egyszerű GUI-t a Python használatával. Készítünk egy kis animációt, amely reagál az Arduinóhoz csatlakoztatott ultrahangos érzékelő értékére. Ez az alkalmazás ultrahangos érzékelő segítségével követi az objektumot, és grafikus formában jeleníti meg a számítógépen a VPython segítségével. Ahogy mozgatjuk az objektumot, az ultrahangos érzékelő érzékeli a távolságot, és ezeket az információkat az Arduino segítségével elküldi a Python programnak, és az objektumot a számítógépen is mozgatja. Érdekesen hangzik! Szóval kezdjük…
Előfeltételek:
- Arduino (bármilyen verzió)
- HC-SR04 ultrahangos érzékelő
- Vezetékek csatlakoztatása
- Számítógép Python-nal
- Az előző oktatóanyag ismerete
A VPython telepítése a számítógépre:
Korábbi oktatóanyagunkban már megtanultuk, hogyan kell telepíteni a python-t a gépedre, és hogyan mozoghatunk rajta, és hogyan hozhatunk létre egy egyszerű programot az Arduino segítségével. Most a tetejére telepítettük a Visual Python-ot (VPython), hogy hűvös grafikákat készítsünk a Python for Arduino használatával. Az alábbi egyszerű lépésekért kezdje el a VPython használatát
1. lépés. Győződjön meg arról, hogy a Python már telepítve van-e a korábbi oktatói útmutatások szerint.
2. lépés: Kattintson a VPython gombra az exe fájl letöltéséhez a Visual Python programhoz. Ne válassza a 64 bites verzió telepítését, még akkor sem, ha a gépe 64 bites rendszeren fut. Csak kövesse a megadott linket.
3. lépés. Indítsa el az exe fájlt, és kövesse a beállítást. Ne változtassa meg az alapértelmezett könyvtár elérési utat, és győződjön meg arról, hogy a „teljes telepítés” lehetőséget választotta.
4. lépés. A telepítés után meg kell találnia egy új „VIDLE (VPython)” nevű alkalmazást az asztalon vagy az alkalmazás panelen, az alábbiak szerint.
5. lépés. Indítsa el az alkalmazást, és kapnia kell egy ablakot az alábbiak szerint.
6. lépés. Ez az ablak, ahova beírjuk a VPython programját. De most ellenőrizzük, hogy a Vpython működik-e egy példa program megnyitásával. Ehhez válassza a File-> Open-> Bounce parancsot
7. lépés. Meg kell nyitnia egy példa programot. Próbálja meg elindítani a programot a Run -> Run Module használatával . Ha minden a várt módon működik, akkor a következő képernyőt kell kapnia.
Látnia kell a Shell ablakot (balra) két >>> jelzéssel, amely a sikeres összeállítást jelzi, és a tényleges ablakot (elöl), amely ugráló labdát mutat .
8. lépés. Kipróbálhat más példa programokat is a VPython erejének felfedezéséhez, például az „elektromos motor” nevű példa program a következő képernyőn fogja megdöbbenteni.
9. lépés. Ez azt jelenti, hogy a VPython készen áll a használatra, és rátérhet a „ Vpython programozása ” témára.
10. lépés. Egyébként, ha egy vagy a sok közül, aki „hibás hibát” kap , ne veszítse el a reményt, mert a további lépések során megoldjuk ezt a problémát
11. lépés. Nyissa meg a Sajátgép -> C meghajtó -> Python 27 -> Szkriptek -> local.bat fájlt . Ez elindít egy parancssort az alábbiak szerint
12. lépés. Most írja be a „pip install --upgrade numpy” szót, és nyomja meg az Enter billentyűt. A Numpy új verzióját telepíteni kell a számítógépére. Lehet, hogy várnia kell egy ideig, ha az internetkapcsolata lassú.
13. lépés. Miután elkészült, visszatérhet a 4. lépésre, és kipróbálhat egy példaprogramot, és képesnek kell lennie arra, hogy működjön.
A VPython programozása:
Ezután elkezdjük programozni a VPython ablakunkat. Ebben a programban két 3D téglalap alakú objektumot hozunk létre, az egyiket a képernyő közepére helyezzük az álló ultrahangos érzékelőre hivatkozva, a másikat pedig dinamikus helyen, az amerikai szenzor és az objektum (papír) távolsága alapján.
A teljes Python-kód az oldal végén található. A továbbiakban ezt a python kódot azzal magyaráztam, hogy apró, értelmes junks-kra osztottam őket.
Az első sor a vizuális könyvtár importálása lenne, hogy 3D objektumokat hozzunk létre. Az alábbi sor ugyanezt teszi.
vizuális importból *
Ismernie kell a következő négy sort, mivel már az előző bemutatónkban használtuk őket. Soros és időkönyvtár importálására használják, valamint soros kapcsolatot létesítenek az Arduinóval a COM18-on, 9600-as sebességgel
# soros importálása soros kommunikációhoz importálási idő # Késleltetési funkciók használatához szükséges ArduinoSerial = soros. Sorozat ('com18', 9600) # Létrehozza az arduinoSerialData time.sleep nevű soros port objektumot (2) # várjon 2 másodpercet a kommunikációhoz megalapozni
Itt az ideje objektumokat létrehozni. Én létre két 3d téglalapok nevezték obj és fali. A walll egy stacioner fal cián közepébe helyeztük a képernyő és a obj van a mozgatható objektumot fehér színben. Az „USA-érzékelő” szöveget is elhelyeztem a fali tárgy közelében.
obj = doboz (pos = (- 5,0,0), méret = (0,1,4,4), szín = szín.fehér) fal L = doboz (pos = (- 1,0,0), méret = (0,2), 12,12), color = color.cyan) text (text = 'USA-érzékelő', tengely = (0,1,0), pos = (- 2, -6,0), mélység = -0,3, color = szín.cián)
Biztos vagyok benne, hogy a fenti három sor görög és latin nyelven jelent volna meg az első olvasók többségében, de idővel képes lenne megérteni. Minden, ami a zárójelben szerepel (x, y, z) koordináták. És ezek a koordináták nagyon hasonlítanak azokra, amelyeket középiskolai geometriai osztályunkban találunk, az alábbiak szerint.
Most, a grafikus és soros port készen áll, csak annyit kell tennünk, hogy elolvassuk az adatokat, és az „obj” -t (fehér téglalap) egy helyre tesszük az Arduino-ból érkező adatok szerint. Ezt a következő sorokkal tehetjük meg, ahol az obj.pos.x vezérli az objektum X koordináta helyzetét (fehér téglalap).
t = int (ArduinoSerial.readline ()) # olvassa el a soros adatokat, és nyomtassa ki sorként t = t * 0,05 obj.pos.x = t
Az Arduino előkészítése:
A Python szkript készen áll arra, hogy meghallgassa az értékeket a COM portról, és ennek megfelelően animálja a grafikát, de az Arduino még nincs kész. Először csatlakoztatnunk kell az ultrahangos érzékelőt az Arduino-hoz a következő áramköri ábra szerint. Ha Ön teljesen új az amerikai érzékelők és az Arduino számára, akkor vissza kell térnie az Arduino és ultrahangos szenzor alapú távolságmérés oktatóanyagára.
Ezután töltse fel az oldal végén megadott Arduino programot. A program önmagyarázata megjegyzés sorokkal. Tudjuk, hogy az ultrahangos érzékelő úgy működik, hogy kiszámítja azt az időt, amelyre az impulzus eljut egy tárgyon és visszatér. Ezt az értéket az Arduino PulseIn függvényének használatával számítják ki. Később az eltelt időt az alábbi vonal segítségével távolságokká alakítják.
dist = (időzített / 2) / 2,91;
Itt a távolságot milliméterben (mm) számítják ki.
Dolgozó:
A projekt működése egyszerű. Indítsa el a Python programot, és helyezzen el egy objektumot az amerikai érzékelő előtt az alábbiak szerint:
Most indítsa el a python programot, és észre kell vennie, hogy a fehér téglalap együtt mozog a papírjával, a papír és az érzékelő közötti távolság szintén megjelenik a héj ablakban, amint az az alábbi képen látható.
Így követhetjük nyomon az objektum mozgását az Ultrahangos érzékelő és a Python segítségével az Arduino segítségével.
Remélem, megértette a projektet, és élvezett egy ilyen építését. Ez csak egy finom lépés a python felé, de ennek segítségével sokkal kreatívabb dolgokat építhet fel. Ha van ötlete, hogy mit kell építeni ezzel a bejegyzéssel, írja be őket a megjegyzés szakaszba, és a fórumokat használja technikai segítségre. Találkozunk egy másik érdekes python projekttel.