Mundarija:

Arduino va Python ketma -ket aloqasi - klaviatura displeyi: 4 qadam
Arduino va Python ketma -ket aloqasi - klaviatura displeyi: 4 qadam

Video: Arduino va Python ketma -ket aloqasi - klaviatura displeyi: 4 qadam

Video: Arduino va Python ketma -ket aloqasi - klaviatura displeyi: 4 qadam
Video: 🤑 Ko'p pul to'lanadigan dasturlash sohalari! 2024, Iyul
Anonim
Arduino va Python ketma -ket aloqasi - klaviatura displeyi
Arduino va Python ketma -ket aloqasi - klaviatura displeyi

Ushbu loyiha Mac foydalanuvchilari uchun mo'ljallangan, lekin u Linux va Windows uchun ham qo'llanilishi mumkin, farq qiladigan yagona qadam - bu o'rnatish.

1 -qadam: dasturiy ta'minotni o'rnatish

Dasturiy ta'minotni o'rnatish
Dasturiy ta'minotni o'rnatish
  1. Arduino -ni yuklab oling va o'rnating ->
  2. Python 2.7 -ni yuklab oling va o'rnating ->
  3. Python kutubxonasini yuklab oling "pyserial -2.7.tar.gz" ->
  4. Pyserial-2.7.tar.gz-ni oching
  5. Terminalni oching va yozing:

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

sudo python setup.py ni o'rnating

Dasturiy ta'minotni o'rnatish tayyor!

2 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
  1. Arduino Uno
  2. Sparkfun 12 tugmachali klaviatura

Ulanish tashqi rezistorlarsiz amalga oshiriladi, buning o'rniga men mikrokontrolderning ichki tortish-rezistorlaridan foydalandim (Arduino ichki tortish qarshiliklari 20K-Ohmdan 50K-Ohmgacha)

Ichki tortishish-rezistorlarni faollashtirish uchun INPUT-Pins HIGH kodini o'rnating

Agar siz boshqa klaviaturadan foydalansangiz, to'g'ri simlar uchun ma'lumot varag'iga qarang, aks holda bu sizning mikrokontrolleringizga zarar etkazishi mumkin

3 -qadam: Arduino kodi

Arduino kodi
Arduino kodi
  • Birinchidan, biz kalitlar uchun matritsani belgilaymiz
  • Klaviatura 4 qatorda (7, 2, 3 va 5 -pinlar) va 3 ustunda (6, 8 va 4 -pinlar) joylashtirilgan, oddiy qatorli ulagichlardan foydalanadi.
  • Setup () funktsiyasi

    • Serial.begin () bilan ketma -ket eshikni oching;
    • Ustunlarni OUTPUT-Pins HIGH sifatida o'rnating
    • Qatorlarni INPUT-Pins HIGH sifatida o'rnatish uchun tortish-qarshiliklarni faollashtiring;
  • Getkey () funktsiyasi

    • Har bir qatorni LOW o'rnating va ustunlardan biri LOW ekanligini tekshiring. Chiqish qarshiliklari bitta tugma bosilmaguncha barcha qatorlar yuqori. Bosilgan tugma INPUT-PIN-da past signalni hosil qiladi. Bu LOW bu satr va ustunda bosilgan kalitni ko'rsatadi
    • Kalit bo'shatilguncha kutib turing va agar tugma bosilmasa 0-tugmachaning xaritasini qaytaradi
    • Signalni barqarorlashtirish uchun kechiktirishdan (debounceTime) foydalaning

4 -qadam: Python_2.7 kodi

Python_2.7 kodi
Python_2.7 kodi
  • Serial kutubxonasini import qiling
  • = FALSE ulangan o'zgaruvchini aniqlang, keyinchalik bu o'zgaruvchi ketma -ket ulanish mavjud yoki yo'qligini tekshirish uchun ishlatiladi
  • Seriya portini ketma -ket oching. "Serial portingizning nomi", bod)

    • Ketma -ket port nomini olish uchun Arduino IDLE -da -> Asboblar/Seriya portini bosing
    • bod Arduino kodeksidagi kabi bo'lishi kerak
  • Bir muncha vaqt o'tgach, agar ulanish mavjud bo'lsa yoki ketma -ket signal o'qilmasa va ulangan = TRUE o'zgaruvchisini o'rnatmasa, u ketma -ket ulanmaguncha aylanadi.
  • Ulanish tugagandan so'ng, ketma -ketlikni o'qing va ushbu kirishni "var" yangi o'zgaruvchisiga qo'ying.
  • portni ser.close () bilan yoping

Tavsiya: