Turinys:

„Arduino“ir „Python“serijinis ryšys - klaviatūros ekranas: 4 žingsniai
„Arduino“ir „Python“serijinis ryšys - klaviatūros ekranas: 4 žingsniai

Video: „Arduino“ir „Python“serijinis ryšys - klaviatūros ekranas: 4 žingsniai

Video: „Arduino“ir „Python“serijinis ryšys - klaviatūros ekranas: 4 žingsniai
Video: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Liepa
Anonim
„Arduino“ir „Python“serijinis ryšys - klaviatūros ekranas
„Arduino“ir „Python“serijinis ryšys - klaviatūros ekranas

Šis projektas skirtas „Mac“vartotojams, tačiau jis taip pat gali būti įgyvendintas „Linux“ir „Windows“, vienintelis žingsnis, kuris turėtų skirtis, yra diegimas.

1 veiksmas: programinės įrangos diegimas

Programinės įrangos diegimas
Programinės įrangos diegimas
  1. Atsisiųskite ir įdiekite „Arduino“->
  2. Atsisiųskite ir įdiekite „Python 2.7“->
  3. Atsisiųskite „Python“biblioteką „pyserial -2.7.tar.gz“->
  4. Išpakuokite pyserial-2.7.tar.gz
  5. Atidarykite terminalą ir įveskite:

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

sudo python setup.py įdiegti

Programinės įrangos diegimas paruoštas!

2 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
  1. Arduino Uno
  2. „Sparkfun“12 mygtukų klaviatūra

Laidavimas atliekamas be išorinių rezistorių, o aš naudoju vidinius mikrovaldiklio traukimo rezistorius (vidiniai „Arduino“traukimo rezistoriai yra nuo 20K iki 50K omų)

Norėdami suaktyvinti vidinius traukimo rezistorius, įveskite kodą INPUT-PIN HIGH

Jei naudojate kitą klaviatūrą, peržiūrėkite tinkamo laido duomenų lapą, kitaip galite sugadinti mikrovaldiklį

3 žingsnis: „Arduino“kodas

Arduino kodas
Arduino kodas
  • Pirmiausia mes apibrėžiame „Chars-Matrix“raktams
  • Klaviatūroje naudojamos įprastos jungiklių jungtys, išdėstytos 4 eilutėse (7, 2, 3 ir 5 kaiščiai) ir 3 stulpeliuose (6, 8 ir 4 smeigtukai), apibrėžiamos kaip masyvų eilutės kaiščiai ir stulpeliai
  • Sąrankos () funkcija
    • Atidarykite serijos vartus naudodami Serial.begin ();
    • Nustatykite stulpelius kaip OUTPUT-Pins HIGH
    • Norėdami tai padaryti, suaktyvinkite traukimo rezistorius kaip INPUT-Pins HIGH;
  • Funkcija getkey ()

    • Nustatykite kiekvieną eilutę LOW ir patikrinkite, ar vienas iš stulpelių yra LOW. Dėl traukimo rezistorių visos eilutės yra AUKŠTOS, kol vienas klavišas nuspaudžiamas žemyn. Paspaudus klavišą, įvesties kaištyje atsiranda žemas signalas. Ši LOW rodo stumiamą klavišą šioje eilutėje ir stulpelyje
    • Palaukite, kol raktas bus atleistas, ir grąžins „keymap-Array“simbolį arba 0, jei nepaspausite jokio klavišo
    • Norėdami stabilizuoti signalą, naudokite atidėjimą (debounceTime)

4 žingsnis: „Python_2.7“kodas

„Python_2.7“kodas
„Python_2.7“kodas
  • Importuokite serijos biblioteką
  • Apibrėžkite prijungtą kintamąjį = FALSE, vėliau šis kintamasis naudojamas patikrinti, ar serijinis ryšys yra prieinamas, ar ne
  • Atidarykite nuoseklųjį prievadą naudodami serial. Serial („Jūsų serijinio prievado pavadinimas“, baudas)

    • Norėdami sužinoti savo serijinio prievado pavadinimą, spustelėkite -> Įrankiai/nuoseklusis prievadas „Arduino IDLE“
    • baudas turėtų būti toks pat kaip „Arduino“kode
  • Po kurio laiko ciklo bandymas, ar ryšys yra prieinamas, ar neskaito serijinio signalo, ir nustato kintamąjį prijungtas = TRUE, ciklas tęsiasi tol, kol gaunamas nuoseklusis ryšys
  • Po prisijungimo kurį laiką perskaitykite seriją ir įdėkite šį įvestį į naują kintamąjį „var“
  • uždarykite prievadą naudodami ser.close ()

Rekomenduojamas: