Innholdsfortegnelse:

Arduino og Python seriell kommunikasjon - tastaturvisning: 4 trinn
Arduino og Python seriell kommunikasjon - tastaturvisning: 4 trinn

Video: Arduino og Python seriell kommunikasjon - tastaturvisning: 4 trinn

Video: Arduino og Python seriell kommunikasjon - tastaturvisning: 4 trinn
Video: Arduino SERIAL Monitor and Communication EXPLAINED #arduino 2024, Juli
Anonim
Arduino og Python seriell kommunikasjon - tastaturvisning
Arduino og Python seriell kommunikasjon - tastaturvisning

Dette prosjektet er laget for mac -brukere, men det kan også implementeres for Linux og Windows, det eneste trinnet som bør være annerledes er installasjonen.

Trinn 1: Programvareinstallasjon

Programvareinstallasjon
Programvareinstallasjon
  1. Last ned og installer Arduino ->
  2. Last ned og installer Python 2.7 ->
  3. Last ned Python -biblioteket "pyserial -2.7.tar.gz" ->
  4. Pakk ut pyserial-2.7.tar.gz
  5. Åpne Terminal og skriv:

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

sudo python setup.py installere

Programvareinstallasjon klar!

Trinn 2: Kabling

Kabling
Kabling
Kabling
Kabling
Kabling
Kabling
Kabling
Kabling
  1. Arduino Uno
  2. Sparkfun 12 -knappers tastatur

Ledningene gjøres uten eksterne motstander, i stedet brukte jeg de interne pullup-motstandene til mikrokontrolleren (interne Pullup-motstander fra Arduino har en verdi på 20K-Ohm til 50K-Ohm)

For å aktivere de interne pullup-motstandene, sett INPUT-Pins HIGH i koden

Hvis du bruker et annet tastatur, se på databladet for de riktige ledningene, ellers kan det skade mikrokontrolleren

Trinn 3: Arduino -kode

Arduino -koden
Arduino -koden
  • Først definerer vi en tegn-matrise for tastene
  • Tastaturet bruker normale bryterkontakter som er ordnet i 4 rader (Pins 7, 2, 3 og 5) og 3 kolonner (Pins 6, 8 og 4), er definert som Arrays rowPins og colPins
  • Setup () -funksjonen

    • Åpne den serielle porten med Serial.begin ();
    • Sett kolonner som OUTPUT-Pins HIGH
    • Aktiver Pullup-motstandene, for å gjøre dette settet som INPUT-Pins HIGH;
  • Getkey () -funksjonen

    • Sett hver rad LAV og test om en av kolonnene er LAV. På grunn av Pullup-motstandene er alle radene HØY til en tast trykkes ned. Den trykte tasten genererer et LAVT signal ved INPUT-pinnen. Denne LOW angir tasten som er trykket på i denne raden og kolonnen
    • Vent til nøkkelen slippes og returnerer røyken til tastaturet-Array eller 0 hvis ingen tast ble trykket
    • Bruk en forsinkelse (debounceTime) for å stabilisere signalet

Trinn 4: Python_2.7 -kode

Python_2.7 -kode
Python_2.7 -kode
  • Importer det serielle biblioteket
  • Definer en variabel tilkoblet = FALSK, senere brukes denne variabelen til å teste om den serielle tilkoblingen er tilgjengelig eller ikke
  • Åpne serieporten med serial. Serial ("Navn på din serielle port", baud)

    • For å få navnet på den serielle porten, klikk -> Verktøy/Seriell port i Arduino IDLE
    • baud skal være den samme som i Arduino -koden
  • I en stund -sløyfetest hvis tilkoblingen er tilgjengelig eller ikke leser det serielle signalet og setter variabelen tilkoblet = SANN, sløyfes den til den får seriell tilkobling
  • Etter tilkoblingen, les serien i en stund -sløyfe og legg denne inngangen i en ny variabel "var"
  • lukk porten med ser.close ()

Anbefalt: