Sommario:

Comunicazione seriale Arduino e Python - Display della tastiera: 4 passaggi
Comunicazione seriale Arduino e Python - Display della tastiera: 4 passaggi

Video: Comunicazione seriale Arduino e Python - Display della tastiera: 4 passaggi

Video: Comunicazione seriale Arduino e Python - Display della tastiera: 4 passaggi
Video: Trasmettere via seriale una struttura dati tra due schede Arduino - Video 525 2024, Novembre
Anonim
Comunicazione seriale Arduino e Python - Display della tastiera
Comunicazione seriale Arduino e Python - Display della tastiera

Questo progetto è fatto per utenti mac ma può essere implementato anche per Linux e Windows, l'unico passaggio che dovrebbe essere diverso è l'installazione.

Passaggio 1: installazione del software

Installazione software
Installazione software
  1. Scarica e installa Arduino ->
  2. Scarica e installa Python 2.7 ->
  3. Scarica la libreria Python "pyserial-2.7.tar.gz" ->
  4. Decomprimi pyserial-2.7.tar.gz
  5. Apri Terminale e digita:

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

sudo python setup.py install

Installazione del software pronta!

Passaggio 2: cablaggio

Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio
  1. Arduino Uno
  2. Tastiera a 12 pulsanti Sparkfun

Il cablaggio avviene senza resistenze esterne, invece ho utilizzato le resistenze di Pullup interne del microcontrollore (le resistenze di Pullup interne di Arduino hanno un valore da 20K-Ohm a 50K-Ohm)

Per attivare le resistenze di pullup interne impostare i pin di INGRESSO ALTO nel codice

Se usi un'altra tastiera guarda la scheda tecnica per il cablaggio corretto, altrimenti potrebbe danneggiare il tuo microcontrollore

Passaggio 3: codice Arduino

Codice Arduino
Codice Arduino
  • Per prima cosa definiamo una matrice di caratteri per le chiavi
  • La tastiera utilizza normali connettori switch che sono disposti in 4 righe (Pin 7, 2, 3 e 5) e 3 colonne (Pin 6, 8 e 4), sono definiti come Array rowPin e colPin
  • La funzione setup()

    • Apri la porta seriale con Serial.begin();
    • Imposta colonne come OUTPUT-Pin HIGH
    • Attiva i Pullup-Resistors, per fare ciò imposta le righe come INPUT-Pins HIGH;
  • La funzione getkey()

    • Imposta ogni riga LOW e verifica se una delle colonne è LOW. A causa delle resistenze di pullup, tutte le righe sono ALTE finché un tasto non viene premuto. Il tasto premuto genera un segnale LOW sul pin INPUT. Questo BASSO indica il tasto premuto in questa riga e colonna
    • Attendi fino a quando il tasto non viene rilasciato e restituisce il carattere del keymap-Array o 0 se non è stato premuto alcun tasto
    • Utilizzare un ritardo (debounceTime) per stabilizzare il segnale

Passaggio 4: codice Python_2.7

Codice Python_2.7
Codice Python_2.7
  • Importa la libreria seriale
  • Definire una variabile collegata=FALSE, in seguito questa variabile viene utilizzata per verificare se la connessione seriale è disponibile o meno
  • Apri la porta seriale con serial. Serial("Nome della tua porta seriale", baud)

    • Per ottenere il nome della tua porta seriale, fai clic su -> Strumenti/Porta seriale nell'IDLE di Arduino
    • il baud dovrebbe essere lo stesso del codice Arduino
  • In un while loop test se la connessione è disponibile o non leggendo il segnale seriale e impostando la variabile connected=TRUE, esegue il loop fino ad ottenere la connessione seriale
  • Dopo la connessione leggere il seriale in un ciclo while e inserire questo input in una nuova variabile "var"
  • chiudi la porta con ser.close()

Consigliato: