INHOUDSOPGAWE:

Seriële kommunikasie van Arduino en Python - Toetsenbordvertoning: 4 stappe
Seriële kommunikasie van Arduino en Python - Toetsenbordvertoning: 4 stappe

Video: Seriële kommunikasie van Arduino en Python - Toetsenbordvertoning: 4 stappe

Video: Seriële kommunikasie van Arduino en Python - Toetsenbordvertoning: 4 stappe
Video: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Julie
Anonim
Seriële kommunikasie van Arduino en Python - Toonbordskerm
Seriële kommunikasie van Arduino en Python - Toonbordskerm

Hierdie projek is gemaak vir Mac -gebruikers, maar dit kan ook geïmplementeer word vir Linux en Windows, die enigste stap wat anders moet wees, is die installasie.

Stap 1: sagteware -installasie

Sagteware installasie
Sagteware installasie
  1. Laai en installeer Arduino ->
  2. Laai en installeer Python 2.7 ->
  3. Laai Python -biblioteek "pyserial -2.7.tar.gz" af ->
  4. Pak die pyserial-2.7.tar.gz uit
  5. Maak terminale oop en tik:

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

sudo python setup.py installeer

Sagteware -installasie gereed!

Stap 2: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
  1. Arduino Uno
  2. Toetsenbord met 12 knoppies van Sparkfun

Die bedrading geskied sonder eksterne weerstande, in plaas daarvan gebruik ek die interne pullup-weerstande van die mikrokontroller (interne Pullup-weerstande van Arduino het 'n waarde van 20K-Ohm tot 50K-Ohm)

Om die interne Pullup-weerstande te aktiveer, stel die INPUT-Pins HOOG in die kode

As u 'n ander sleutelbord gebruik, kyk dan na die gegewensblad vir die regte bedrading, anders kan dit u mikrobeheerder beskadig

Stap 3: Arduino -kode

Arduino -kode
Arduino -kode
  • Eerstens definieer ons 'n tekens-matriks vir die sleutels
  • Die bedieningspaneel gebruik normale skakelaars wat in vier rye (penne 7, 2, 3 en 5) en drie kolomme (penne 6, 8 en 4) gerangskik is, gedefinieer as reekse ry -penne en kolpinne
  • Die opset () funksie

    • Maak die reekshek oop met Serial.begin ();
    • Stel kolomme as OUTPUT-PINS HIGH
    • Aktiveer die Pullup-weerstande om hierdie stel rye as INPUT-Pins HOOG te doen;
  • Die funksie getkey ()

    • Stel elke ry LAAG en toets of een van die kolomme LAAG is. As gevolg van die Pullup-weerstande is alle rye HOOG totdat een sleutel ingedruk word. Die ingedrukte sleutel genereer 'n LAE-sein by die INPUT-pin. Hierdie LOW dui die ingedrukte sleutel in hierdie ry en kolom aan
    • Wag totdat die sleutel losgelaat word en gee die teken van die sleutelkaart-Array of 0 terug as geen sleutel ingedruk is nie
    • Gebruik 'n vertraging (debounceTime) om die sein te stabiliseer

Stap 4: Python_2.7 -kode

Python_2.7 Kode
Python_2.7 Kode
  • Voer die reeksbiblioteek in
  • Definieer 'n veranderlike wat gekoppel is = ONWAAR, later word hierdie veranderlike gebruik om te toets of die reeksverbinding beskikbaar is of nie
  • Maak die seriële poort oop met serial. Serial ("Naam van u seriële poort", baud)

    • Om die naam van u seriële poort te kry, klik op -> Tools/Serial Port in die Arduino IDLE
    • die baud moet dieselfde wees as in die Arduino -kode
  • In 'n rukkie lustoets as die verbinding beskikbaar is of die seriële sein nie gelees word nie en die veranderlike gekoppel is = TRUE, loop dit totdat dit 'n seriële verbinding kry
  • Nadat die verbinding gelees is, lees die reeks in 'n tyd -lus en plaas hierdie invoer in 'n nuwe veranderlike "var"
  • sluit die poort met ser.close ()

Aanbeveel: