Sadržaj:

Arduino i Python serijska komunikacija - prikaz tastature: 4 koraka
Arduino i Python serijska komunikacija - prikaz tastature: 4 koraka

Video: Arduino i Python serijska komunikacija - prikaz tastature: 4 koraka

Video: Arduino i Python serijska komunikacija - prikaz tastature: 4 koraka
Video: CS50 2013 - Week 9 2024, Juli
Anonim
Arduino i Python serijska komunikacija - prikaz tastature
Arduino i Python serijska komunikacija - prikaz tastature

Ovaj je projekt napravljen za korisnike Mac računara, ali se može implementirati i za Linux i Windows, jedini korak koji bi trebao biti drugačiji je instalacija.

Korak 1: Instalacija softvera

Instalacija softvera
Instalacija softvera
  1. Preuzmite i instalirajte Arduino ->
  2. Preuzmite i instalirajte Python 2.7 ->
  3. Preuzmite Python biblioteku "pyserial -2.7.tar.gz" ->
  4. Raspakirajte pyserial-2.7.tar.gz
  5. Otvorite terminal i upišite:

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

sudo python setup.py install

Instalacija softvera spremna!

Korak 2: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
  1. Arduino Uno
  2. Sparkfun 12 tastatura

Ožičenje se vrši bez vanjskih otpornika, umjesto toga koristio sam unutrašnje Pullup-Resistors mikrokontrolera (unutrašnji Pullup-Resistors iz Arduina imaju vrijednost od 20K-Ohm do 50K-Ohm)

Za aktiviranje unutrašnjih Pullup-Resistors postavite INPUT-Pinove HIGH u kod

Ako koristite drugu tipkovnicu, pogledajte tehnički list za odgovarajuće ožičenje, jer u suprotnom može oštetiti vaš mikrokontroler

Korak 3: Arduino kod

Arduino kod
Arduino kod
  • Prvo definiramo chars-Matrix za ključeve
  • Tastatura koristi uobičajene konektore za prebacivanje koji su raspoređeni u 4 reda (pinovi 7, 2, 3 i 5) i 3 kolone (pinovi 6, 8 i 4), definirani su kao nizovi redovi pinova i colPins
  • Funkcija setup ()

    • Otvorite serijski ulaz pomoću Serial.begin ();
    • Postavite stupce kao OUTPUT-Pins HIGH
    • Aktivirajte Pullup-Resistors, da biste ovo postavili kao INPUT-Pins HIGH;
  • Funkcija getkey ()

    • Svaki red postavite na LOW i provjerite je li jedan od stupaca LOW. Zbog Pullup-Resistors su svi redovi VISOKI sve dok se jedan ključ ne pritisne prema dolje. Pritisnuti taster generiše LOW-signal na INPUT-Pin-u. Ovaj LOW označava pritisnuti taster u ovom redu i koloni
    • Sačekajte dok se ključ ne otpusti i vrati char znaka keymap-Array ili 0 ako nijedan taster nije pritisnut
    • Koristite odgodu (debounceTime) za stabilizaciju signala

Korak 4: Kod Python_2.7

Python_2.7 kod
Python_2.7 kod
  • Uvezite serijsku biblioteku
  • Definirajte povezanu varijablu = FALSE, kasnije se ova varijabla koristi za testiranje je li serijska veza dostupna ili nije
  • Otvorite serijski port sa serijski. Serial ("Naziv vašeg serijskog porta", boud)

    • Da biste dobili naziv svog serijskog porta, kliknite -> Alati/Serijski port u Arduino IDLE -u
    • boud bi trebao biti isti kao u Arduino kodu
  • U neko vrijeme test petlje ako je veza dostupna ili ne čita serijski signal i postavlja varijablu connected = TRUE, petlja se dok ne dobije serijsku vezu
  • Nakon povezivanja pročitajte serijal u while petlji i stavite ovaj ulaz u novu varijablu "var"
  • zatvorite port sa ser.close ()

Preporučuje se: