INHOUDSOPGAWE:

Gebruik 'n 4x4 -sleutelbord met CircuitPython: 4 stappe
Gebruik 'n 4x4 -sleutelbord met CircuitPython: 4 stappe

Video: Gebruik 'n 4x4 -sleutelbord met CircuitPython: 4 stappe

Video: Gebruik 'n 4x4 -sleutelbord met CircuitPython: 4 stappe
Video: MakerSnack - Using MQTT & CircuitPython to Control a Raspberry Pi Robot 2024, November
Anonim
Gebruik 'n 4x4 -sleutelbord met CircuitPython
Gebruik 'n 4x4 -sleutelbord met CircuitPython

Hierdie goedkoop klavier bied 'n eenvoudige numeriese invoer vir u CircuitPython -projekte. Ek gaan dit gebruik met 'n Adafruit ItsyBitsy M0 express.

Jy sal nodig hê:

  • Toetsenbord - myne is 4x4
  • ItsyBitsy M0 Express of soortgelyke bord
  • Mu Editor op u rekenaar geïnstalleer
  • USB -kabel om die kode te flits

Stap 1: Hoe die sleutelbord werk

Hoe die sleutelbord werk
Hoe die sleutelbord werk

Hulle Toetsenbord het 16 eenvoudige, stadigwerkende borrelskakelaars wat in 'n vierkantige rooster met 8 verbindings onderaan gerangskik is. As ons van 0 na 7 van links tel, is die verbindings 0 tot 3 verbind met elk van die rye. Verbinding 0 met die boonste ry en verbinding 3 met die onderste ry. Verbindings 4 tot 7 is verbind met die kolomme met verbinding 4 in die linkerkolom en verbinding 7 met die regterkolom. Elkeen van die 16 skakelaars maak 'n verbinding tussen 'n ander ry/kolom kombinasie. As ons op toets 7 druk, word die derde ry by die linkerkolom gekoppel. Ons kan sien of die 5 -toets ingedruk word as die ry HOOG is en ons 'n HOOG in die kolom kan lees. Om dit te doen, gaan ons na die rye en INVOER vanuit die kolomme.

Ons moet elke ry HOOG om die beurt stel, terwyl die ander rye LAAG is, lees elke kolom om die beurt totdat ons 'n HOOG invoer kry. Dit word maklik bestuur met geneste lusse.

Ons moet rekening hou met die feit dat hierdie borrelskakelaars redelik traag werk en baie hard ingedruk moet word om dit toe te maak. Om al 16 skakelaars op hierdie manier te skandeer, kan baie vinnig gedoen word, maar ons moet herhaaldelik skandeer om 'n toets te druk. Ons moet ook met 'n kort vertraging 'ontbons', sodat ons nie sleutels herhaal elke keer as ons druk nie.

Aangesien die skakelaars taai is, benodig ons 'n paar terugvoer aan die gebruiker om aan te dui dat 'n druk op die toets gelees is. Die ingeboude LED flits elke keer as 'n toets gedruk word.

Stap 2: Fisiese verbindings

Fisiese verbindings
Fisiese verbindings

Verbindings links na regs op KeyPad0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 op ItsyBitsy

D7 tot D11 word as UITGANTE uiteengesit, terwyl A5 tot A2 as ingange met PULLDOWN opgestel is.

Die kode bevat baie opmerkings en moet maklik wees om te volg.

Stap 3: Hoe Getkey () werk

Hoe Getkey () werk
Hoe Getkey () werk

Hierdie funksie skandeer die toetsbord vir 'n enkele druk. Dit kontroleer elkeen van die sleutels vinnig om die beurt maksimum 10 keer om te sien of 'n sleutelskakelaar gesluit is. As 'n sleutel ingedruk word, gee dit die sleutelwaarde terug en tel links na regs van bo na onder (0 … 15) Let op die waardes vir die onderste ry: 14, 0, 15, 13 (Hex E, 0, F, D). As daar geen sleutel ingedruk is nie, gee dit -999 terug as 'n foutkode wat maklik in die hoofprogram opgetel kan word. Die ingeboude LED flits as 'n sleuteldruk as terugvoer van gebruikers opgetel word. Dit loop redelik vinnig en die wag-afwagting van 0.2 sekondes word slegs gebruik as 'n sleutel ingedruk word.

Stap 4: Getvalue (syfers)

Getvalue (syfers)
Getvalue (syfers)

Hierdie roetine verskaf 'n n -syferwaarde van die numeriese sleutels. Dit ignoreer die rooi sleutels.

Hierdie Python -kode kan maklik omgeskakel word om op 'n ander toestel te werk, soos 'n Raspberry Pi, u hoef waarskynlik slegs die opstellyne aan die bokant van die skrif te verander.

Laat weet my asseblief as u die kode nuttig vind.

Bly veilig en geniet dit!

Aanbeveel: