Mündəricat:

Arduino və Python Serial Rabitəsi - Klaviatura Ekranı: 4 Addım
Arduino və Python Serial Rabitəsi - Klaviatura Ekranı: 4 Addım

Video: Arduino və Python Serial Rabitəsi - Klaviatura Ekranı: 4 Addım

Video: Arduino və Python Serial Rabitəsi - Klaviatura Ekranı: 4 Addım
Video: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Noyabr
Anonim
Arduino və Python Serial Rabitəsi - Klaviatura Ekranı
Arduino və Python Serial Rabitəsi - Klaviatura Ekranı

Bu layihə mac istifadəçiləri üçün hazırlanmışdır, ancaq Linux və Windows üçün də tətbiq oluna bilər, fərqli olması lazım olan yeganə addım quraşdırmadır.

Addım 1: Proqramın Quraşdırılması

Proqram Quraşdırılması
Proqram Quraşdırılması
  1. Arduino yükləyin və quraşdırın ->
  2. Python 2.7 -ni yükləyin və quraşdırın ->
  3. Python kitabxanasını yükləyin "pyserial -2.7.tar.gz" ->
  4. Pyserialı açın-2.7.tar.gz
  5. Terminalı açın və yazın:

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

sudo python setup.py qurun

Proqram quraşdırılması hazırdır!

Addım 2: Kabel çəkmə

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
  1. Arduino Uno
  2. Sparkfun 12 düyməli klaviatura

Kablolama xarici rezistorlar olmadan aparılır, bunun əvəzinə mikro nəzarətçinin daxili çəkmə-rezistorlarından istifadə etdim (Arduinonun daxili çəkmə müqavimətləri 20K-Ohm-dan 50K-Ohm-ə qədərdir)

Daxili Pullup-Resistors aktivləşdirmək üçün INPUT-Pins HIGH kodunu təyin edin

Başqa bir Klaviatura istifadə edirsinizsə, düzgün naqillər üçün məlumat vərəqinə baxın, əks halda mikro nəzarətçinizə zərər verə bilər

Addım 3: Arduino Kodu

Arduino kodu
Arduino kodu
  • Əvvəlcə açarlar üçün bir chars-Matrix təyin edirik
  • Klaviatura, 4 sıra (Pins 7, 2, 3 və 5) və 3 sütun (Pins 6, 8 və 4) sıralanan normal keçid bağlayıcılarından istifadə edir, Array rowPins və colPins olaraq təyin olunur
  • Setup () funksiyası

    • Serial.begin () ilə serial qapısını açın;
    • Sütunları OUTPUT-Pins HIGH olaraq təyin edin
    • Satırları INPUT-Pins HIGH olaraq təyin etmək üçün çəkmə müqavimətini aktivləşdirin;
  • Getkey () funksiyası

    • Hər satırı LOW olaraq təyin edin və sütunlardan birinin LOW olub olmadığını yoxlayın. Çəkmə-Rezistorlar səbəbiylə bir düymə aşağı itilənə qədər hamısı yüksəkdir. Təklif olunan düymə GİRİŞ-Pində LOW Siqnal yaradır. Bu DÜŞÜK, bu sətirdə və sütunda vurulmuş düyməni göstərir
    • Açar buraxılana qədər gözləyin və heç bir düyməni basmadığınız təqdirdə klaviatura-Array simvolunu və ya 0-ı qaytarın
    • Siqnalı sabitləşdirmək üçün gecikmə (debounceTime) istifadə edin

Addım 4: Python_2.7 Kodu

Python_2.7 kodu
Python_2.7 kodu
  • Serial Kitabxanasını idxal edin
  • Bağlı bir dəyişən təyin edin = FALSE, daha sonra bu dəyişən serial bağlantısının olub olmadığını yoxlamaq üçün istifadə olunur
  • Serial Portunu Serial ilə açın. Serial ("Serial Portunuzun Adı", baud)

    • Ardıcıl portunuzun adını almaq üçün Arduino IDLE -də> Alətlər/Serial Limanı vurun
    • baud Arduino Kodeksində olduğu kimi olmalıdır
  • Bir müddət loop testində, əgər əlaqə mövcuddursa və ya serial siqnalını oxumursa və bağlı = TRUE dəyişənini təyin edirsə, serial bağlantısı əldə olunana qədər dönər.
  • Bağlantıdan sonra serialı bir müddət oxuyun və bu girişi yeni bir dəyişənə qoyun "var"
  • portu ser.close () ilə bağlayın

Tövsiyə: