Tartalomjegyzék:

Arduino és Python soros kommunikáció - Billentyűzet kijelző: 4 lépés
Arduino és Python soros kommunikáció - Billentyűzet kijelző: 4 lépés

Videó: Arduino és Python soros kommunikáció - Billentyűzet kijelző: 4 lépés

Videó: Arduino és Python soros kommunikáció - Billentyűzet kijelző: 4 lépés
Videó: Arduino C++ programozás tanfolyam - Utasítás, függvény 2024, November
Anonim
Arduino és Python soros kommunikáció - Billentyűzet kijelző
Arduino és Python soros kommunikáció - Billentyűzet kijelző

Ez a projekt mac felhasználók számára készült, de Linux és Windows rendszerekre is megvalósítható, az egyetlen lépés, amely eltérhet a telepítéstől.

1. lépés: Szoftver telepítése

Szoftver telepítés
Szoftver telepítés
  1. Az Arduino letöltése és telepítése ->
  2. A Python 2.7 letöltése és telepítése ->
  3. Töltse le a "pyserial -2.7.tar.gz" Python könyvtárat ->
  4. Csomagolja ki a pyserial-2.7.tar.gz
  5. Nyissa meg a terminált és írja be:

cd /users/"Your-User-Account"/Downloads/pyserial-2.7

sudo python setup.py install

A szoftver telepítése kész!

2. lépés: Kábelezés

Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
  1. Arduino Uno
  2. Sparkfun 12 gombos billentyűzet

A huzalozás külső ellenállások nélkül történik, ehelyett a mikrovezérlő belső felhúzó ellenállásait használtam (az Arduino belső felhúzó ellenállások értéke 20K-50K-Ohm)

A belső felhúzó ellenállások aktiválásához állítsa az INPUT-Pins HIGH értéket a kódba

Ha másik billentyűzetet használ, nézze meg a megfelelő kábelezés adatlapját, különben károsíthatja a mikrokontrollert

3. lépés: Arduino kód

Arduino kód
Arduino kód
  • Először definiálunk egy chars-mátrixot a kulcsokhoz
  • A billentyűzet normál kapcsolócsatlakozókat használ, amelyek 4 sorban (7., 2., 3. és 5. érintkező) és 3 oszlopban (6., 8. és 4. láb) vannak elrendezve, tömb sorok és csapok
  • A setup () függvény

    • Nyissa ki a soros kaput a Serial.begin ();
    • Állítsa az oszlopokat OUTPUT-Pins HIGH értékre
    • Aktiválja a felhúzó ellenállásokat, ehhez sorokat állítson be INPUT-Pins HIGH;
  • A getkey () függvény

    • Állítson minden sort LOW értékre, és ellenőrizze, hogy az egyik oszlop LOW. A felhúzó ellenállások miatt minden sor MAGAS, amíg egy gombot le nem nyomnak. A megnyomott gomb LOW-jelet generál az INPUT-pin-n. Ez az LOW jelzi a lenyomott gombot ebben a sorban és oszlopban
    • Várjon, amíg a kulcsot elengedi, és visszaadja a keymap-Array karaktert, vagy 0-t, ha nem nyomtak meg gombot
    • A jel stabilizálásához használjon késleltetést (debounceTime)

4. lépés: Python_2.7 kód

Python_2.7 kód
Python_2.7 kód
  • Importálja a soros könyvtárat
  • Változó definiálása csatlakoztatva = HAMIS, később ezt a változót használják annak tesztelésére, hogy a soros kapcsolat elérhető -e vagy sem
  • Nyissa meg a soros portot serial. Serial ("A soros port neve", baud)

    • A soros port nevének megtekintéséhez kattintson az -> Eszközök/Soros port elemre az Arduino IDLE -ben
    • a baudnak ugyanaznak kell lennie, mint az Arduino kódban
  • Egy ideig ciklus teszt, hogy a kapcsolat elérhető -e, vagy nem olvassa a soros jelet, és beállítja a csatlakoztatott változót = TRUE, addig ciklusos, amíg soros kapcsolatot nem kap
  • A kapcsolat után olvassa el a sorozatot egy ciklus ciklusban, és helyezze be ezt a bemenetet egy új "var" változóba
  • zárja be a portot a ser.close ()

Ajánlott: