Jak wyświetlić wejście klawiatury na LCD za pomocą Arduino Uno

Jak wyświetlić wejście klawiatury na LCD za pomocą Arduino Uno
Projekty, w których użytkownik wymagany jest wejście do uruchomienia kodu Arduino, klawiatury są zwykle używane. Klawiatury to krótka forma klawiatur, które można użyć do wykonywania niezbędnych funkcji, takich jak wprowadzanie dowolnej wartości znaków lub wartości liczbowej. Podobnie możemy użyć modułu wyświetlacza LCD do wyświetlania wejściowych albo podawanych ręcznie za pomocą klawiatury lub przez dowolny czujnik do kodu Arduino. Ponadto wyjścia można również wyświetlić na LCD w celu lepszej interpretacji kodu Arduino. Zrobiliśmy mały projekt klawiatury interfejsu z Arduino i wyświetlanie wejścia klawiatury na LCD.

Jak łączyć klawiaturę z Arduino

Klawiatura zwykle występuje w dwóch rozmiarach jeden to 3 × 3, a drugi to 4 × 4, więc tutaj w tym projekcie używamy klawiatury 4 × 4. Schemat obwodu interfejsu klawiatury z Arduino i wyświetlanie go w LCD to:

Wdrożenie sprzętowe

Komponenty, których użyliśmy do wyświetlania wejścia klawiatury na LCD za pomocą Arduino, to:

  • Arduino Uno
  • Łączenie przewodów
  • Potencjometr
  • Jedna klawiatura membrany 4 × 4
  • Wyświetlacz ciekłokrystaliczny
  • Tablica chleba

Użyliśmy płyty breadboardowej do interfejsu LCD z Arduino, podczas gdy bezpośrednio podłączyliśmy klawiaturę z Arduino Uno Board. Można to zilustrować poniższy rysunek i użyliśmy potencjometru do kontrolowania jasności LCD.

Kod Arduino do wyświetlania wejścia klawiatury na LCD

W tym projekcie program Arduino oblicza wskaźnik masy ciała (BMI), przyjmując wagę i wysokość osoby jako dane wejściowe z klawiatury. Aby obliczyć BMI, zastosowaliśmy następujący wzór:

Bmi = (waga [kg]/wysokość [cm]*wysokość [cm])*10000;

Aby obliczyć BMI w układzie metrycznym, a głównie wysokość jest mierzona w centymetrach, więc przekonwertowaliśmy wysokość w metrach, pomnożając cały wynik przez 10 000.

#include // biblioteka dla klawiatury
#include // biblioteka dla LCD
Liquidcrystal LCD (A1, A0, 5, 4, 3, 2); // szpilki Arduino dla LCD
Rzęby bajtów const = 4; // Inicjowanie wierszy klawiatury
const bajte cols = 4; // inicjowanie kolumn klawiatury
Char Keys [wiersze] [cols] = // dając wartości każdemu klawiszowi klawiatury
„1”, „2”, „3”, '&',
„4”, „5”, „6”, „B”,
„7”, „8”, „9”, „C”,
'*', '0', '=', 'd'
;
Bajt Rowpins [wiersze] = 13,12,11,10; // szpilki Arduino do rzędów klawiatury
bajt colpins [cols] = 9,8,7,6; // szpilki Arduino dla kolumn z klawiatury
Keypad mykeypad = klawiatura (MakeKeymap (klawisze), wierszki, colpins, rzędy, cols); /* Funkcja mapowania wartości na klawiszach*/
// przypisanie logicznego typu danych do zmiennych i inicjowanie ich z zero
boolean obecny = false;
boolean następny = false;
Boolean final = false;
String Num1, Num2; // zmienne do wyświetlania wejścia całkowitej klawiatury
zmienna zmienna; // do przechowywania wyniku BMI
Char op; // przypisanie typu danych znaków dla znaku używanego do BMI
void Setup ()

LCD.rozpocząć (16,2); // Inicjowanie LCD
LCD.setCursor (3,0); // Ustawienie miejsca do wyświetlania pierwszej linii danych
LCD.print („Linuxhint”); // Dane do wyświetlenia
LCD.setCursor (1,1); // Ustawienie miejsca do wyświetlania drugiej linii danych
LCD.print („kalkulator BMI”); // dane do wyświetlenia
opóźnienie (2000); // czas, dla którego dane będą wyświetlane na LCD
LCD.clear (); // usuwanie LCD
LCD.setCursor (0,0); // Ustawienie miejsca do wyświetlania drugiej linii danych
LCD.wydrukuj („Enter WGT i hgt”); // dane do wyświetlenia

void Loop ()
// za pomocą funkcji getKey, aby uzyskać wartość naciśniętego klawisza
Char Key = Mykeypad.Weź klucz();
if (klucz != No_key && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' 6 ' || key == '7' || key == '8' || key == '9' || key == '0')) // Sprawdź, który klawisz jest naciśnięty, sprawdzając jego wartość całkowitą

Jeśli obecny != prawda)

num1 = num1 + klucz; // przechowywanie wartości klawisza naciśniętego w num1
float numLength = num1.długość();
LCD.setCursor (0, 1); /* Rozpalanie miejsca, w którym zostanie wyświetlony pierwszy wpis*/
LCD.druk (num1); // Drukowanie pierwszego wprowadzonego numeru

w przeciwnym razie

Num2 = NUM2 + KLUCZ; // Przechowywanie wartości drugiego klawisza naciśniętego w NUM2
float numLength = NUM2.długość();
LCD.setCursor (4, 1);/*Rozpalanie miejsca, w którym wyświetli się drugi wpis*/
LCD.druk (num2); // Drukowanie drugiej liczby wprowadzonej
finał = true;


// Warunek Jeśli naciśnięty jest klawisz przypisany operator do obliczeń BMI
else if (obecny == False && Key != No_key && (key == '&'))

if (obecne == false)

obecny = prawda;
op = klucz; // Zapisywanie klawisza naciśniętego do obliczenia BMI
LCD.setCursor (3,1); // Ustawienie miejsca do wyświetlania danych
LCD.druk (op); // Wyświetlanie znaku używanego do BMI


// Warunki do obliczenia BMI
else if (final == true && klucz != No_key && key == '=')
if (op == '&')
ans = (num1.tofloat () / (num2.tofloat ()*num2.tofloat ()))*10000; // Wzór do obliczenia BMI

LCD.setCursor (0,2); // Ustawienie miejsca do wyświetlania danych
LCD.drukuj („Twój BMI to:”); // Dane do wyświetlenia
LCD.druk (Ans); // Wyświetlanie odpowiedzi na obliczenia BMI
LCD.clear (); // usuwanie LCD
if (Ans<18.5) // if BMI is less than 18.5 then you are under weight
LCD.setCursor (0,0);
LCD.drukuj („jesteś”);
LCD.setCursor (0,1);
LCD.druk („pod wagą”);

inaczej, jeśli (Ans<25)// if BMI is less than 25 then you have normal weight
LCD.setCursor (0,0);
LCD.druk („masz”);
LCD.setCursor (0,1);
LCD.wydruku („normalna waga”);

inaczej, jeśli (Ans<30) if BMI is less than 30 then you are over weight
LCD.setCursor (0,0);
LCD.drukuj („jesteś”);
LCD.setCursor (0,1);
LCD.Drukuj („nad wagą”)
w przeciwnym razie // else jesteś otyły
LCD.Drukuj („jesteś otyły”);

opóźnienie (2000); // czas lub które zostaną wyświetlone

// warunek wyczyszczenia LCD lub ponownego uruchamiania kodu Arduino
W przeciwnym razie (klucz != No_key && key == 'c')
LCD.jasne();
obecny = false;
finał = false;
setup (); // wywoływanie funkcji konfiguracji, aby ponownie uruchomić kod
num1 = "";
num2 = "";
ans = 0;
op = ";

Aby obliczyć BMI, skompilowaliśmy kod Arduino w taki sposób, że najpierw zdefiniowaliśmy biblioteki klawiatury i LCD i Pins Arduino są przypisane do LCD. Następnie po zainicjowaniu wymiaru klawiatury podaliśmy każdemu klawiszowi klawiatury wartość, tworząc ciąg.

Następnie przypisaliśmy klawiaturę PINS do Arduino, a za pomocą funkcji klawiatury zmapowało wartości na klawisze klawiatury. Idąc naprzód, zadeklarowaliśmy niektóre zmienne, których użyliśmy do przyjmowania danych wejściowych dla klawiatury i przechowywania wyniku dla obliczeń BMI.

W funkcji konfiguracji wyświetliśmy pewne dane na temat LCD i do funkcji pętli użyliśmy warunku IF dla klawiszy posiadających jakiekolwiek wartości całkowite do rozpoznania, która wartość jest wprowadzana.

Program przyjmuje dwa wejścia od użytkownika, jest waga, a drugi to wysokość, a gdy wyznaczony klucz dla BMI obliczy BMI i poinformuje o stanie, decydując o tym za pomocą wartości BMI.

Aby zresetować program, zdefiniowaliśmy klawisz, że po naciśnięciu wyczyści LCD, a funkcja konfiguracji zostanie wywołana w celu ponownego uruchomienia kodu Arduino. Tutaj, w kodzie, przypisaliśmy klucz „a” klawiatury do wykonania obliczeń BMI, a klucz „c” klawiatury jest używany do usuwania LCD.

Implementacja sprzętu do wyświetlania wejścia klawiatury na LCD

Opublikowaliśmy obraz poniżej implementacji sprzętowej do wyświetlania wejścia klawiatury na LCD.

Kod Arduino zapyta użytkownika o wagę i wysokość oraz za pomocą klawiatury użytkownik wprowadzi wartości dla wagi i wysokości jak na obrazie opublikowanym poniżej.

Obok obliczenia BMI naciśnij klawisz „A” klawiatury, a BMI będzie wyświetlany na LCD, jak na poniższym rysunku.

Na podstawie wartości BMI kod Arduino poda status BMI i można go zobaczyć na rysunku opublikowanym poniżej.

Wniosek

Kiedy musimy ręcznie podać dane wejściowe do programu Arduino, musimy połączyć klawiaturę z Arduino. Klawiatur są mniejszymi wersjami klawiatur, które mogą wykonywać niektóre podstawowe funkcje, takie jak podawanie danych wejściowych do dowolnego urządzenia. Te wejścia mogą być znakami lub liczbą całkowitą, a klawisze klawiatury są łatwo konfigurowalne. W tym zapisie wyświetliśmy wejście klawiatury na LCD, tworząc kod kalkulatora BMI, w którym są dwa wejścia wymagane przez kod Arduino: waga i wysokość.