Taula de continguts:

Comunicació sèrie Arduino i Python: pantalla del teclat: 4 passos
Comunicació sèrie Arduino i Python: pantalla del teclat: 4 passos

Vídeo: Comunicació sèrie Arduino i Python: pantalla del teclat: 4 passos

Vídeo: Comunicació sèrie Arduino i Python: pantalla del teclat: 4 passos
Vídeo: INTERFAZ DE COMUNICACION ENTRE PYTHON Y ARDUINO con OpenCV | Pyserial 2024, Desembre
Anonim
Comunicació sèrie Arduino i Python: pantalla del teclat
Comunicació sèrie Arduino i Python: pantalla del teclat

Aquest projecte està pensat per a usuaris de Mac, però també es pot implementar per a Linux i Windows, l’únic pas que hauria de ser diferent és la instal·lació.

Pas 1: Instal·lació del programari

Instal·lació de programari
Instal·lació de programari
  1. Descarregueu i instal·leu Arduino ->
  2. Baixeu i instal·leu Python 2.7 ->
  3. Baixeu la biblioteca Python "pyserial-2.7.tar.gz" ->
  4. Descomprimiu pyserial-2.7.tar.gz
  5. Obriu el terminal i escriviu:

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

sudo python setup.py install

La instal·lació del programari està a punt.

Pas 2: cablejat

Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
  1. Arduino Uno
  2. Teclat Sparkfun de 12 botons

El cablejat es fa sense resistències externes, en canvi, he utilitzat les resistències pullup internes del microcontrolador (les resistències pullup internes d’Arduino tenen un valor de 20K-Ohm a 50K-Ohm)

Per activar els pull-Resistors interns, configureu els pins INPUT HIGH al codi

Si utilitzeu un altre teclat, mireu el full de dades per obtenir el cablejat adequat, en cas contrari podria danyar el microcontrolador

Pas 3: Codi Arduino

Codi Arduino
Codi Arduino
  • Primer definim una matriu de caràcters per a les claus
  • El teclat utilitza connectors normals de commutació que es disposen en 4 files (pins 7, 2, 3 i 5) i 3 columnes (pins 6, 8 i 4), es defineixen com a matrius filaPins i colPins
  • La funció setup ()

    • Obriu la porta de sèrie amb Serial.begin ();
    • Estableix les columnes com a OUTPUT-Pins HIGH
    • Activeu els Pull-Resistors, per fer això, configureu files com INPUT-Pins HIGH;
  • La funció getkey ()

    • Estableix cada fila BAIX i prova si una de les columnes és BAIXA. A causa dels pull-resistors, totes les files són HIGH fins que es prem una tecla cap avall. La tecla premuda genera un senyal BAIX al pin INPUT. Aquest BAIX indica la tecla premuda en aquesta fila i columna
    • Espereu fins que la tecla es deixi anar i retorni el caràcter de la matriu de mapa de tecles o 0 si no es va prémer cap tecla
    • Utilitzeu un retard (debounceTime) per estabilitzar el senyal

Pas 4: codi Python_2.7

Codi Python_2.7
Codi Python_2.7
  • Importeu la biblioteca en sèrie
  • Definiu una variable connectada = FALS, posteriorment s'utilitza aquesta variable per provar si la connexió sèrie està disponible o no
  • Obriu el port sèrie amb serial. Serial ("Nom del vostre port sèrie", baud)

    • Per obtenir el nom del vostre port sèrie, feu clic a -> Eines / Port sèrie a l'Arduino IDLE
    • el baud hauria de ser el mateix que al codi Arduino
  • En un moment, prova de bucle si la connexió està disponible o no està llegint el senyal sèrie i configurant la variable connectada = TRUE, es fa un bucle fins que obté connexió serial
  • Després de la connexió, llegiu el serial en un bucle while i introduïu aquesta entrada en una nova variable "var"
  • tanqueu el port amb ser.close ()

Recomanat: