Indholdsfortegnelse:

Arduino og Python seriel kommunikation - tastaturdisplay: 4 trin
Arduino og Python seriel kommunikation - tastaturdisplay: 4 trin

Video: Arduino og Python seriel kommunikation - tastaturdisplay: 4 trin

Video: Arduino og Python seriel kommunikation - tastaturdisplay: 4 trin
Video: Using an Arduino with Python LESSON 4: Visual Display of Measured Voltage in Visual Python 2024, Juli
Anonim
Arduino og Python seriel kommunikation - tastaturdisplay
Arduino og Python seriel kommunikation - tastaturdisplay

Dette projekt er lavet til mac -brugere, men det kan også implementeres til Linux og Windows, det eneste trin, der burde være anderledes, er installationen.

Trin 1: Softwareinstallation

Softwareinstallation
Softwareinstallation
  1. Download og installer Arduino ->
  2. Download og installer Python 2.7 ->
  3. Download Python -bibliotek "pyserial -2.7.tar.gz" ->
  4. Udpak pyserial-2.7.tar.gz
  5. Åbn Terminal og skriv:

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

sudo python setup.py installation

Softwareinstallation klar!

Trin 2: Ledningsføring

Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
  1. Arduino Uno
  2. Tastatur med 12 knapper til Sparkfun

Ledningerne foretages uden eksterne modstande, i stedet brugte jeg de interne pullup-modstande på mikrokontrolleren (interne pullup-modstande fra Arduino har en værdi på 20K-Ohm til 50K-Ohm)

For at aktivere de interne Pullup-modstande skal du indstille INPUT-Pins HIGH i koden

Hvis du bruger et andet tastatur, skal du kigge på databladet for den rigtige ledning, ellers kan det beskadige din mikrokontroller

Trin 3: Arduino -kode

Arduino kode
Arduino kode
  • Først definerer vi en chars-Matrix for tasterne
  • Tastaturet bruger normale switch -stik, der er arrangeret i 4 rækker (pins 7, 2, 3 og 5) og 3 kolonner (pins 6, 8 og 4), er defineret som arrays rowPins og colPins
  • Opsætningsfunktionen ()

    • Åbn den serielle port med Serial.begin ();
    • Indstil kolonner som OUTPUT-Pins HIGH
    • Aktiver pullup-modstanderne for at gøre dette sæt rækker som INPUT-Pins HIGH;
  • Getkey () -funktionen

    • Indstil hver række LOW og test om en af kolonnerne er LOW. På grund af Pullup-modstandene er alle rækker HØJ, indtil en tast trykkes ned. Den trykte tast genererer et LOW-signal ved INPUT-pin. Denne LAV angiver tasten i denne række og kolonne
    • Vent, indtil nøglen slippes, og returnerer tegningen til tastaturet-Array eller 0, hvis der ikke blev trykket på en tast
    • Brug en forsinkelse (debounceTime) til at stabilisere signalet

Trin 4: Python_2.7 -kode

Python_2.7 -kode
Python_2.7 -kode
  • Importer det serielle bibliotek
  • Definer en variabel forbundet = FALSK, senere bruges denne variabel til at teste, om den serielle forbindelse er tilgængelig eller ej
  • Åbn Serial Port med serial. Serial ("Navn på din Serial Port", baud)

    • For at få navnet på din serielle port skal du klikke på -> Værktøjer/Seriel port i Arduino IDLE
    • baud skal være den samme som i Arduino -koden
  • I et stykke tid loop -test, hvis forbindelsen er tilgængelig eller ikke læser det serielle signal og indstiller variablen tilsluttet = SAND, sløjfer den, indtil den får seriel forbindelse
  • Efter forbindelsen læses serien i et stykke loop og sætter dette input i en ny variabel "var"
  • luk porten med ser.close ()

Anbefalede: