Innehållsförteckning:

Arduino och Python seriell kommunikation - knappsatsvisning: 4 steg
Arduino och Python seriell kommunikation - knappsatsvisning: 4 steg

Video: Arduino och Python seriell kommunikation - knappsatsvisning: 4 steg

Video: Arduino och Python seriell kommunikation - knappsatsvisning: 4 steg
Video: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Juli
Anonim
Arduino och Python seriell kommunikation - knappsatsdisplay
Arduino och Python seriell kommunikation - knappsatsdisplay

Detta projekt är gjort för mac -användare men det kan också implementeras för Linux och Windows, det enda steget som borde vara annorlunda är installationen.

Steg 1: Programvaruinstallation

Mjukvaruinstallation
Mjukvaruinstallation
  1. Ladda ner och installera Arduino ->
  2. Ladda ner och installera Python 2.7 ->
  3. Ladda ner Python -biblioteket "pyserial -2.7.tar.gz" ->
  4. Packa upp pyserial-2.7.tar.gz
  5. Öppna terminalen och skriv:

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

sudo python setup.py installera

Programinstallation klar!

Steg 2: Kabeldragning

Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
  1. Arduino Uno
  2. Sparkfun 12 -knapps knappsats

Ledningarna görs utan externa motstånd, istället använde jag mikrokontrollerens interna pullup-resistorer (interna pullup-resistorer i Arduino har ett värde på 20K-Ohm till 50K-Ohm)

För att aktivera de interna pullup-resistorerna, sätt INPUT-Pins HIGH i koden

Om du använder en annan knappsats, titta på databladet för rätt kabeldragning, annars kan det skada din mikrokontroller

Steg 3: Arduino -kod

Arduino -kod
Arduino -kod
  • Först definierar vi en tecken-matris för nycklarna
  • Knappsatsen använder normala switchkontakter som är arrangerade i 4 rader (stift 7, 2, 3 och 5) och 3 kolumner (stift 6, 8 och 4), definieras som Arrays rowPins och colPins
  • Setup () -funktionen

    • Öppna serieporten med Serial.begin ();
    • Ange kolumner som OUTPUT-Pins HIGH
    • Aktivera pullup-resistorerna, för att göra de här raderna som INPUT-Pins HIGH;
  • Getkey () -funktionen

    • Ställ in varje rad LÅG och testa om en av kolumnerna är LÅG. På grund av pullup-resistorerna är alla rader HIGH tills en tangent trycks ned. Den tryckta nyckeln genererar en LÅG-signal vid INPUT-stiftet. Denna LÅG anger den tryckta nyckeln i den här raden och kolumnen
    • Vänta tills nyckeln släpps och returnerar tangenten för nyckelkarta-Array eller 0 om ingen nyckel har tryckts in
    • Använd en fördröjning (debounceTime) för att stabilisera signalen

Steg 4: Python_2.7 -kod

Python_2.7 -kod
Python_2.7 -kod
  • Importera seriebiblioteket
  • Definiera en variabel ansluten = FALSK, senare används denna variabel för att testa om den seriella anslutningen är tillgänglig eller inte
  • Öppna Serial Port med serial. Serial ("Namn på din Serial Port", baud)

    • För att få namnet på din seriella port klickar du på -> Verktyg/Seriell port i Arduino IDLE
    • baud bör vara samma som i Arduino -koden
  • I ett stund -loop -test om anslutningen är tillgänglig eller inte läser den seriella signalen och ställer in variabeln ansluten = TRUE, slingas den tills den får seriell anslutning
  • Efter anslutningen läser du serien i en stundslinga och lägger denna ingång i en ny variabel "var"
  • stäng porten med ser.close ()

Rekommenderad: