Obsah:

Sériová komunikace Arduino a Python - displej klávesnice: 4 kroky
Sériová komunikace Arduino a Python - displej klávesnice: 4 kroky

Video: Sériová komunikace Arduino a Python - displej klávesnice: 4 kroky

Video: Sériová komunikace Arduino a Python - displej klávesnice: 4 kroky
Video: Arduino návody | Klávesnice 4x4 16 tlačítek 2024, Červenec
Anonim
Sériová komunikace Arduino a Python - displej klávesnice
Sériová komunikace Arduino a Python - displej klávesnice

Tento projekt je vytvořen pro uživatele počítačů Mac, ale lze jej také implementovat pro Linux a Windows, jediným krokem, který by se měl lišit, je instalace.

Krok 1: Instalace softwaru

Instalace softwaru
Instalace softwaru
  1. Stáhněte a nainstalujte Arduino ->
  2. Stáhněte a nainstalujte Python 2.7 ->
  3. Stáhněte si knihovnu Python "pyserial -2.7.tar.gz" ->
  4. Rozbalte soubor pyserial-2.7.tar.gz
  5. Otevřete terminál a zadejte:

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

instalace sudo python setup.py

Instalace softwaru připravena!

Krok 2: Zapojení

Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
  1. Arduino Uno
  2. Klávesnice Sparkfun s 12 tlačítky

Zapojení se provádí bez externích rezistorů, místo toho jsem použil interní Pullup-rezistory mikrokontroléru (interní Pullup-Rezistory Arduina mají hodnotu 20K-Ohm až 50K-Ohm)

Pro aktivaci interních Pullup-rezistorů nastavte INPUT-Pins HIGH v kódu

Pokud použijete jinou klávesnici, podívejte se do katalogového listu pro správné zapojení, jinak by mohlo dojít k poškození vašeho mikrokontroléru

Krok 3: Arduino kód

Arduino kód
Arduino kód
  • Nejprve pro klíče definujeme matici znaků
  • Klávesnice používá běžné přepínače, které jsou uspořádány ve 4 řadách (piny 7, 2, 3 a 5) a 3 sloupcích (piny 6, 8 a 4), jsou definovány jako pole rowPins a colPins
  • Funkce setup ()

    • Otevřete sériovou bránu pomocí Serial.begin ();
    • Nastavte sloupce jako VÝSTUPNÍ PINY VYSOKÉ
    • Aktivujte Pullup-Resistors, abyste provedli tuto sadu řádků jako INPUT-Pins HIGH;
  • Funkce getkey ()

    • Nastavte každý řádek LOW a vyzkoušejte, zda je jeden ze sloupců LOW. Kvůli Pullup-Resistors jsou všechny řádky VYSOKÉ, dokud není stisknuto jedno tlačítko dolů. Stlačený klíč generuje LOW-Signal na INPUT-Pin. Tato NÍZKÁ označuje stisknutý klíč v tomto řádku a sloupci
    • Počkejte, až se klíč uvolní, a vrátí znak mapy klíče-pole nebo 0, pokud nebyl stisknut žádný klíč
    • Ke stabilizaci signálu použijte zpoždění (debounceTime)

Krok 4: Kód Python_2.7

Kód Python_2.7
Kód Python_2.7
  • Importujte sériovou knihovnu
  • Definujte připojenou proměnnou = FALSE, později se tato proměnná používá k testování, zda je sériové připojení k dispozici nebo ne
  • Otevřete sériový port pomocí serial. Serial ("Název vašeho sériového portu", baud)

    • Název sériového portu získáte kliknutím na -> Nástroje/Sériový port v Arduino IDLE
    • baud by měl být stejný jako v Arduino Code
  • Během testu smyčky, pokud je připojení k dispozici nebo nečte sériový signál a nastavuje připojenou proměnnou = TRUE, bude smyčka procházet, dokud nezíská sériové připojení
  • Po připojení přečtěte seriál ve chvíli smyčce a vložte tento vstup do nové proměnné „var“
  • zavřete port pomocí ser.close ()

Doporučuje: