Taula de continguts:
- Pas 1: llista de materials
- Pas 2: Esquema i Cicruit
- Pas 3: el codi
- Pas 4: Correcció de valors
- Pas 5: projecte després de la crítica i la revisió
- Pas 6: després d'alguns treballs de soldring
- Pas 7: El moment de la veritat
- Pas 8: el final
Vídeo: Teclat One Pin 4 × 4: 10 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Cada vegada que veig un teclat, ve amb molts pins, és un gran malbaratament dels pins d'Arduino, de manera que podem executar un teclat amb un sol pin?. La resposta és aquí.
Pas 1: llista de materials
Maquinari:
01 Arduino UNO
02 Taules de pa
01 LCD amb I2C
16 polsadors
04 resistències 1,5 kΩ
04 resistències 620 Ω
04 resistències de 220 Ω
08 resistències 100 Ω
01 resistència 1 kΩ
07 cables de pont
Programari:
Arduino IDE instal·lat al vostre PC
Pas 2: Esquema i Cicruit
La idea és que tenim una matriu de 4 * 4 de botons connectats verticalment a terra pel cable dret i horitzontalment per l’altre cable (el cable de botó) i resistències d’1,5 kΩ, 620Ω, 220Ω i 100Ω, els extrems de les 4 files estan connectades per quatre resistències de 100Ω tal com es mostra a l'esquema.
Cada vegada que premeu un botó, tanqueu el circuit i el corrent passa per un camí diferent i una cadena de resistències diferent, per això el pin A0 rep una lectura analògica diferent per a cada polsador. Tot el que necessiteu ara és codificació.
Pas 3: el codi
#incloure
#incloure
LiquidCrystal_I2C lcd (0x3f, 20, 4);
int Botó = A0;
int readvalue;
configuració nul·la ()
{
Serial.begin (9600);
lcd.begin ();
pinMode (Button, INPUT);
lcd.backlight ();
lcd.print ("Hello World");
endarreriment (2000);
lcd.clear ();
lcd.print ("Teclat amb un pin 4 * 4");
endarreriment (2000); }
bucle buit ()
{
readvalue = analogRead (Button);
Serial.println (readvalue);
if (readvalue == 852) {lcd.clear (); lcd.print ("A");}
else {if (readvalue == 763) {lcd.clear (); lcd.print ("B");}
else {if (readvalue == 685) {lcd.clear (); lcd.print ("C");}
else {if (readvalue == 965) {lcd.clear (); lcd.print ("D");}
else {if (readvalue == 565) {lcd.clear (); lcd.print ("9");}
else {if (readvalue == 614) {lcd.clear (); lcd.print ("6");}
else {if (readvalue == 360) {lcd.clear (); lcd.print ("3");}
else {if (readvalue == 335) {lcd.clear (); lcd.print ("#");}
else {if (readvalue == 396) {lcd.clear (); lcd.print ("8");}
else {if (readvalue == 349) {lcd.clear (); lcd.print ("5");}
else {if (readvalue == 235) {lcd.clear (); lcd.print ("2");}
else {if (readvalue == 279) {lcd.clear (); lcd.print ("0");}
else {if (readvalue == 452) {lcd.clear (); lcd.print ("7");}
else {if (readvalue == 271) {lcd.clear (); lcd.print ("4");}
else {if (readvalue == 170) {lcd.clear (); lcd.print ("1");}
else {if (readvalue == 92) {lcd.clear (); lcd.print ("*");} else {}}}}}}}}}}}}}}}}}}
Pas 4: Correcció de valors
Quan obriu el monitoreu en sèrie mostrarà un valor de 1023, si premeu un botó us donarà una altra lectura, heu de prendre aquests valors i fer alguns canvis al codi
Pas 5: projecte després de la crítica i la revisió
No hi ha dubte que tots som aquí per aprendre i compartir el nostre coneixement, gràcies a alguns comentaris que algunes persones de la comunitat van deixar molt útils i vaig decidir fer alguns ajustaments i millores al meu projecte:
El maquinari:
Vaig decidir soldar tots els components d'un PCB per evitar el problema de la mala connexió a les taules de suport.
El codi:
Un amic em va aconsellar que utilitzeu un programari de denúncia i només és un bucle (per exemple) per fer que el programa trigui a triar una lectura, vol dir que fa moltes lectures (500 en el meu examen), però només l'últim.
for (i = 1; i <= 500; i ++) {// pren només la 500a lectura analògica
value = analogRead (Button);} // això ajuda a trigar una estona a evitar males lectures
Un altre amic gràcies a ell em va aconsellar que comparés "readvalue" amb un rang de valors no un, perquè "readvalue" pren molts valors per al mateix polsador. Per exemple, "A" dóna una lectura de: 849, 850, 851 852, 853, 854, 855, de manera que es tracta d'un interval de 7 valors: un llindar (852) i 3 valors a l'esquerra i a la dreta. el que hem de fer aquí és comparar el valor absolut de la diferència entre "readvalue" i "852" amb "3".
if (abs (readvalue-852) <= 8) {lcd.clear (); lcd.print ("A");}
Pas 6: després d'alguns treballs de soldring
Pas 7: El moment de la veritat
Com podeu veure, el programa de vegades confon botons, però encara funciona, en teoria no hi ha cap problema amb el circuit, però el codi necessita més calibratge.
Pas 8: el final
Espero que aquest projecte us agradi i ho intenteu, potser ho fareu millor que a mi.
Pregunteu-me si teniu preguntes, deixeu comentaris i no oblideu votar-me si us agrada.
Recomanat:
Connector ICSP per Arduino Nano sense capçalera de pin soldat però pin de Pogo: 7 passos
Connector ICSP per a Arduino Nano sense capçalera de pin soldat però pin Pogo: feu un connector ICSP per a Arduino Nano sense capçalera de pin soldat a la placa però Pin Pogo. - BP75-E2 (capçal cònic d'1,3 mm) Pin de sonda de prova de primavera
Guia d'ús del teclat Raspberry Pi amb un pin: 9 passos
Guia d'ús del teclat Raspberry Pi amb un pin: EXENCIÓ DE RESPONSABILITAT: AQUESTA ÉS UNA GUIA D'ÚS PER A UN PRODUCTE DE FONTS OBERTES: EL TECLAT DE UN PIN. AQUEST NO ÉS UN PROJECTE DE Bricolatge. SI VOLS FER-TE LES TAULES, ES PODEN TROBAR ELS ARXIUS D’ÀIGUA AL FINAL DEL TUTORIAL. Què és el teclat One Pin? Teclat amb un pin
Interfície de teclat amb 8051 i visualització de números de teclat en 7 segments: 4 passos (amb imatges)
Interfície de teclat amb 8051 i visualització de números de teclat en 7 segments: en aquest tutorial us explicaré com podem interfície de teclat amb 8051 i mostrar números de teclat en pantalla de 7 segments
Teclat Das ràpid i brut (teclat en blanc): 3 passos
Teclat Das ràpid i brut (teclat en blanc): un teclat Das és el nom del teclat més popular sense inscripcions a les tecles (teclat en blanc). El teclat Das es ven per 89,95 dòlars. Aquest instructiu us guiarà tot i fer-ne un amb qualsevol teclat antic que tingueu al voltant
Neteja del teclat d'alumini Apple o qualsevol altre teclat suau: 5 passos
Neteja del teclat d'alumini Apple … o qualsevol altre teclat suau: tan net com tu o jo intentem mantenir els nostres teclats d'alumini Apple, es tornen bruts al cap d'un any més o menys. Aquesta instrucció us ajudarà a netejar-la. Vés amb compte, perquè no sóc responsable si el teu teclat es trenca mentre fas això … SUCKS F