Sadržaj:

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

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

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

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 knjižnicu Python "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 tipkovnica s 12 tipki

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

Za aktiviranje unutarnjih Pullup-Resistors namjestite INPUT-Pins HIGH u kodu

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

Korak 3: Arduino kod

Arduino kod
Arduino kod
  • Prvo definiramo chars-Matrix za ključeve
  • Tipkovnica koristi uobičajene konektore za prebacivanje koji su raspoređeni u 4 reda (pinovi 7, 2, 3 i 5) i 3 stupca (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, kako 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 jedna tipka ne pritisne prema dolje. Pritisnuti tipka generira LOW-signal na INPUT-Pin-u. Ovaj LOW označava pritisnutu tipku u ovom retku i stupcu
    • Pričekajte dok se ključ ne otpusti i vrati char znaka keymap-Array ili 0 ako nijedna tipka nije pritisnuta
    • Upotrijebite odgodu (debounceTime) za stabilizaciju signala

Korak 4: Kod Python_2.7

Kod Python_2.7
Kod Python_2.7
  • Uvezite serijsku biblioteku
  • Definirajte povezanu varijablu = FALSE, kasnije se ova varijabla koristi za provjeru 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
    • baud 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 serijski zapis u vremenskoj petlji i stavite ovaj ulaz u novu varijablu "var"
  • zatvorite port s ser.close ()

Preporučeni: