Cuprins:

Comunicare serială Arduino și Python - Afișare tastatură: 4 pași
Comunicare serială Arduino și Python - Afișare tastatură: 4 pași

Video: Comunicare serială Arduino și Python - Afișare tastatură: 4 pași

Video: Comunicare serială Arduino și Python - Afișare tastatură: 4 pași
Video: (pyserial) communicate to arduino through python 2024, Iulie
Anonim
Comunicare serială Arduino și Python - Afișare tastatură
Comunicare serială Arduino și Python - Afișare tastatură

Acest proiect este conceput pentru utilizatorii de Mac, dar poate fi implementat și pentru Linux și Windows, singurul pas care ar trebui să fie diferit este instalarea.

Pasul 1: Instalarea software-ului

Instalarea software-ului
Instalarea software-ului
  1. Descărcați și instalați Arduino ->
  2. Descărcați și instalați Python 2.7 ->
  3. Descărcați biblioteca Python "pyserial-2.7.tar.gz" ->
  4. Unzip pyserial-2.7.tar.gz
  5. Deschideți terminalul și tastați:

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

sudo python setup.py instalare

Instalare software gata!

Pasul 2: Cablare

Cablare
Cablare
Cablare
Cablare
Cablare
Cablare
Cablare
Cablare
  1. Arduino Uno
  2. Tastatură cu 12 butoane Sparkfun

Cablarea se face fără rezistențe externe, în schimb, am folosit rezistențele interne ale microcontrolerului (rezistoarele interne ale Arduino au o valoare de 20K-Ohm la 50K-Ohm)

Pentru a activa rezistențele interne de pullup, setați pinii INPUT HIGH în cod

Dacă utilizați o altă tastatură, uitați-vă la fișa tehnică pentru cablarea corectă, altfel vă poate deteriora microcontrolerul

Pasul 3: Cod Arduino

Cod Arduino
Cod Arduino
  • Mai întâi definim o matrice de caractere pentru chei
  • Tastatura utilizează conectori comutatori normali care sunt dispuși în 4 rânduri (Pinii 7, 2, 3 și 5) și 3 coloane (Pinii 6, 8 și 4), sunt definiți ca Array tablouri și coloane
  • Funcția setup ()

    • Deschideți poarta serială cu Serial.begin ();
    • Setați coloanele ca OUTPUT-Pins HIGH
    • Activați rezistențele pullup, pentru a face acest lucru, setați rândurile ca INPUT-Pins HIGH;
  • Funcția getkey ()

    • Setați fiecare rând LOW și testați dacă una dintre coloane este LOW. Datorită pullup-rezistențelor sunt toate rândurile HIGH până când o tastă este apăsată în jos. Tasta apăsată generează un semnal LOW la pinul INPUT. Acest LOW indică tasta împinsă în acest rând și coloană
    • Așteptați până când tasta este eliberată și returnează caracterul tastei-matrice sau 0 dacă nu a fost apăsată nicio tastă
    • Folosiți o întârziere (debounceTime) pentru a stabiliza semnalul

Pasul 4: Cod Python_2.7

Cod Python_2.7
Cod Python_2.7
  • Importați Serial Library
  • Definiți o variabilă conectată = FALS, ulterior se utilizează această variabilă pentru a testa dacă conexiunea serială este disponibilă sau nu
  • Deschideți portul serial cu serial. Serial („Numele portului dvs. serial”, baud)

    • Pentru a obține numele portului dvs. serial, faceți clic pe -> Instrumente / Port serial în Arduino IDLE
    • baudul ar trebui să fie același ca în Codul Arduino
  • Într-o buclă de timp, dacă conexiunea este disponibilă sau nu citește semnalul serial și setează variabila conectată = ADEVĂRAT, acesta se blochează până când devine conexiune serială
  • După conexiune, citiți serialul într-o buclă de timp și puneți această intrare într-o nouă variabilă "var"
  • închide portul cu ser.close ()

Recomandat: