This tutorial is part of: Tastature
Svi videozapisi o tastaturi su navedeni ovdje.
Arduino kod i video za tastaturu sa četiri tipke
U ovom tutorijalu naučit ćemo kako koristiti tastaturu sa četiri tipke s Arduino pločom. Ovaj projekat je posebno koristan za aplikacije gdje su vam potrebna višestruka dugmad, ali želite smanjiti broj žica koje se koriste. Povezivanjem tastature na specifičan način, možemo postići funkcionalnu postavku sa samo pet žica umjesto osam.

Tastatura sa četiri tipke pojednostavljuje proces povezivanja, jer ima zajedničku vezu koja smanjuje ukupan broj potrebnih žica. Svaka tipka je povezana s Arduino pločom preko određenih pinova, omogućavajući laku interakciju i kontrolu. Ovaj vodič će pokriti povezivanje, kod i očekivano ponašanje tastature, tako da možete uspješno replicirati projekat (u videu na 02:30).
Objašnjenje hardvera
Glavne komponente ovog projekta uključuju tastaturu sa četiri tipke i Arduino ploču. Tastatura sadrži četiri dugmeta, a svako dugme se povezuje s Arduino pločom preko dvije žice—jedne zajedničke žice i jedne namjenske žice za svako dugme. Ova postavka omogućava jednostavne veze uz minimaliziranje nereda.
Arduino interpretira pritiske dugmadi koristeći digitalne ulaze, oslanjajući se na interne pull-up otpornike kako bi osigurao stabilna očitavanja. Kada je dugme pritisnuto, povezuje odgovarajući pin s masom, omogućavajući Arduinu da detektuje promjenu stanja.
Detalji iz tehničke dokumentacije
| Proizvođač | Generički |
|---|---|
| Broj dijela | Tastatura sa 4 tipke |
| Logički/IO napon | 5 V |
| Napon napajanja | 5 V |
| Broj tipki | 4 |
| Tip zajedničkog pina | Aktivan-nizak |
| Otpornost dugmeta | 1 kΩ (tip.) |
| Pakovanje | Fleksibilna PCB ploča |
| Napomene / varijante | Dostupno u više rasporeda |
- Svako dugme zahtijeva dvije veze: jednu za dugme i jednu za zajedničku masu.
- Korištenje internih pull-up otpornika pojednostavljuje povezivanje i smanjuje broj komponenti.
- Osigurajte da je zajednički pin povezan s masom za ispravan rad.
- Izvršite debouncing pritisaka dugmadi u softveru kako biste izbjegli lažna očitavanja.
- Testirajte funkcionalnost dugmadi jednostavnim serijskim ispisom za povratnu informaciju.
Upute za povezivanje

Za povezivanje tastature sa četiri tipke na Arduino, slijedite ove korake:
- Spojite prvu žicu tipke na pin
2na Arduinu. - Spojite drugu žicu tipke na pin
3. - Spojite treću žicu tipke na pin
4. - Spojite četvrtu žicu tipke na pin
5. - Spojite zajedničku žicu s tastature na pin mase na Arduinu.
Provjerite da je svaka žica čvrsto povezana kako biste izbjegli labave veze. Ako naiđete na probleme, provjerite svaku vezu prema dodijeljenim pinovima prikazanim u videu (u videu na 04:15).
Primjeri koda i objašnjenje
Sljedeći isječak koda inicijalizira pinove za tastaturu i postavlja ih kao ulaze:
#define key1 2 //spojite žicu 1 na pin 2
#define key2 3 //spojite žicu 2 na pin 3
#define key3 4 //spojite žicu 3 na pin 4
#define key4 5 //spojite žicu 4 na pin 5
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP); // postavi pin kao ulaz
pinMode(key2, INPUT_PULLUP); // postavi pin kao ulaz
pinMode(key3, INPUT_PULLUP); // postavi pin kao ulaz
pinMode(key4, INPUT_PULLUP); // postavi pin kao ulaz
}
U gornjem kodu, svaka tipka je definirana s odgovarajućim brojem pina. INPUT_PULLUP način rada osigurava da pinovi očitavaju visoko stanje kada nisu pritisnuti, pojednostavljujući detekciju pritiska dugmeta.
Funkcija loop čita stanje svake tipke i ispisuje odgovarajuću poruku kada je pritisnuta:
void loop() {
int key1S = digitalRead(key1); // čitaj da li je key1 pritisnut
int key2S = digitalRead(key2); // čitaj da li je key2 pritisnut
int key3S = digitalRead(key3); // čitaj da li je key3 pritisnut
int key4S = digitalRead(key4); // čitaj da li je key4 pritisnut
if(!key1S) {
Serial.println("tipka 1 je pritisnuta");
}
if(!key2S) {
Serial.println("tipka 2 je pritisnuta");
}
// Dodatni kod za key3 i key4...
delay(100);
}
Ovaj segment koda provjerava stanje svake tipke i ispisuje poruku na serijski monitor kada je tipka pritisnuta. delay(100) omogućava efekat debouncinga, osiguravajući da se višestruki pritisci ne registruju u brzom slijedu.
Demonstracija / Šta očekivati
Nakon uspješnog povezivanja i uploada koda na vaš Arduino, trebali biste očekivati da serijski monitor prikazuje poruke koje označavaju koja je tipka pritisnuta. Pritisak na tipku jedan će prikazati "tipka 1 je pritisnuta" i tako dalje za ostale tipke. Ako se poruke ne pojavljuju, provjerite svoje povezivanje i osigurajte da je zajednička žica povezana s masom.
Budite oprezni s obrnutim vezama, jer to može dovesti do neočekivanog ponašanja. Osigurajte da korišteni pinovi odgovaraju onima definiranim u vašem kodu (u videu na 06:45).
Vremenske oznake videa
- 00:00 - Uvod
- 02:30 - Objašnjenje povezivanja
- 04:15 - Dodjela pinova
- 06:45 - Testiranje tastature
This tutorial is part of: Tastature
- Korištenje 4x3 tastature sa Arduinom
- Arduino kod i video: 4x4 matrična crna tastatura
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Kako koristiti 4x4 Soft Keypad sa Arduinom
- How to Use a 5x4 20-Key Keypad with Arduino to Detect Strings
- Lesson 67: Controlling an 8-Channel Relay with a Keypad Using Arduino
- 1602 LCD tastatura štit: Osnovni kod
++
/*
* This is the Arduino code for a 4-key keypad.
* Watch the video for details and demo: https://youtu.be/BiOh_Z2N7kk
*
* Written by Ahmad Shamshiri for the Robojax Video channel,
get code, wiring diagram and resources at www.Robojax.com/RJT37
* Date: December 28, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
* This code has been downloaded from https://robojax.com
// Recorded December 28, 2017 for Robojax.com
#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP);// set pin as input
pinMode(key2, INPUT_PULLUP);// set pin as input
pinMode(key3, INPUT_PULLUP);// set pin as input
pinMode(key4, INPUT_PULLUP);// set pin as input
}
void loop() {
int key1S = digitalRead(key1);// read if key1 is pressed
int key2S = digitalRead(key2);// read if key2 is pressed
int key3S = digitalRead(key3);// read if key3 is pressed
int key4S = digitalRead(key4);// read if key4 is pressed
// Code written for Robojax.com video tutorial
if(!key1S){
Serial.println("key 1 is pressed");
}
if(!key2S){
Serial.println("key 2 is pressed");
}
if(!key3S){
Serial.println("key 3 is pressed");
}
if(!key4S){
Serial.println("key 4 is pressed");
}
delay(100);
}
Things you might need
-
Amazon
-
AliExpressPurchase soft keypad from Aliexpresss.click.aliexpress.com
Resources & references
No resources yet.