Spisu treści:

Kalkulator Arduino DIY przy użyciu 1602 LCD i klawiatury 4x4: 4 kroki
Kalkulator Arduino DIY przy użyciu 1602 LCD i klawiatury 4x4: 4 kroki

Wideo: Kalkulator Arduino DIY przy użyciu 1602 LCD i klawiatury 4x4: 4 kroki

Wideo: Kalkulator Arduino DIY przy użyciu 1602 LCD i klawiatury 4x4: 4 kroki
Wideo: Arduino - skrzynka na hasło 2024, Listopad
Anonim
Kalkulator Arduino DIY z wyświetlaczem LCD 1602 i klawiaturą 4x4
Kalkulator Arduino DIY z wyświetlaczem LCD 1602 i klawiaturą 4x4

Cześć chłopaki w tej instrukcji zrobimy kalkulator za pomocą Arduino, który może wykonywać podstawowe obliczenia. Więc w zasadzie weźmiemy dane wejściowe z klawiatury 4x4 i wydrukujemy dane na wyświetlaczu LCD 16x2, a arduino wykona obliczenia.

Krok 1: Rzeczy, których potrzebujesz

Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz

Do tej instrukcji będziemy potrzebować następujących rzeczy: Arduino Uno (dowolna wersja będzie działać)

Wyświetlacz LCD 16×2

Klawiatura 4×4Bateria 9VPłytka stykowaPrzewody połączeniowe

Krok 2: Połączenia

Znajomości
Znajomości
Znajomości
Znajomości

Pełny schemat obwodu tego projektu kalkulatora Arduino podano powyżej. Połączenie +5V i uziemienia pokazane na schemacie obwodu można uzyskać z pinu 5V i uziemienia Arduino. Samo Arduino może być zasilane z laptopa lub przez gniazdo DC za pomocą zasilacza 12V lub baterii 9V. Wyświetlacz LCD pracuje w trybie 4-bitowym z Arduino, więc tylko ostatnie cztery bity danych wyświetlacza LCD są podłączone do Arduino. Klawiatura będzie miała 8 pinów wyjściowych, które należy podłączyć od pinu 0 do pinu 7, jak pokazano powyżej. Niektóre płyty Arduino mogą wyświetlać błąd podczas przesyłania programu, jeśli coś jest podłączone do pinu 0 i pin1, więc jeśli wystąpi którykolwiek, po prostu usuń manipulatora podczas wgrywania programu.

Krok 3: Kod

Kod
Kod

Skopiuj poniższy kod i prześlij do niego swoje arduino:/* * Program kalkulatora klawiatury Arduino */#include "LiquidCrystal.h" //Plik nagłówka dla LCD z https://www.arduino.cc/en/Reference/LiquidCrystal# dołącz "Keypad.h" //plik nagłówka dla klawiatury z https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Cztery rowsconst byte COLS = 4; // Trzy kolumny// Zdefiniuj klucze Keymapchar[ROWS][COLS] = { {'7', '8', '9', 'D'}, {'4', '5', '6', ' C'}, {'1', '2', '3', 'B'}, {'*', '0', '#', 'A'}};byte rowPins[ROWS] = { 0, 1, 2, 3 };// Podłącz klawiaturę ROW0, ROW1, ROW2 i ROW3 do tych pinów Arduino.byte colPins[COLS] = { 4, 5, 6, 7 }; // Podłącz klawiaturę COL0, COL1 i COL2 do tych pinów Arduino. Keypad kpd = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); // Utwórz Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; //Szpilki do których podłączony jest wyświetlacz LCDLiquidCrystal lcd(rs, en, d4, d5, d6, d7); długa Num1, Num2, Liczba; klawisz znaku, akcja; wynik logiczny = false;unieważnij setup() { lcd.begin(16, 2); //Używamy wyświetlacza LCD 16*2 lcd.print("Kalkulator DIY"); //Wyświetl komunikat wprowadzający lcd.setCursor(0, 1); // ustaw kursor na kolumnę 0, wiersz 1 delay(2000); //Poczekaj na wyświetlenie informacji lcd.clear(); //Następnie wyczyść}void loop() {key = kpd.getKey(); //przechowywanie naciśniętej wartości klucza w charif (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); }unieważnij DetectButtons(){ lcd.clear(); //Następnie wyczyść, jeśli (key=='*') //Jeśli naciśnięto przycisk anulowania {Serial.println ("Przycisk Anuluj"); Liczba=Liczba1=Liczba2=0; result=false;} if (klawisz == '1') //Jeśli naciśnięto przycisk 1 {Serial.println ("Przycisk 1"); jeśli (liczba==0) liczba=1; w przeciwnym razie liczba = (liczba*10) + 1; //Naciśnięty dwukrotnie } if (klawisz == '4') //Jeśli naciśnięto przycisk 4 {Serial.println ("Przycisk 4"); jeśli (liczba==0) liczba=4; w przeciwnym razie liczba = (liczba*10) + 4; //Naciśnięty dwukrotnie } if (klawisz == '7') //Jeśli naciśnięto przycisk 7 {Serial.println ("Przycisk 7"); jeśli (liczba==0) liczba=7; w przeciwnym razie liczba = (liczba*10) + 7; //Naciśnięty dwukrotnie } if (klawisz == '0') {Serial.println ("Przycisk 0"); //Przycisk 0 jest wciśnięty, jeśli (liczba==0) liczba=0; w przeciwnym razie liczba = (liczba*10) + 0; //Naciśnięty dwukrotnie } if (klawisz == '2') //Przycisk 2 został naciśnięty {Serial.println ("Przycisk 2"); jeśli (liczba==0) liczba=2; w przeciwnym razie liczba = (liczba*10) + 2; //Naciśnięty dwukrotnie } if (klawisz == '5') {Serial.println ("Przycisk 5"); jeśli (liczba==0) liczba=5; w przeciwnym razie liczba = (liczba*10) + 5; //Naciśnięty dwukrotnie } if (klawisz == '8') {Serial.println ("Przycisk 8"); jeśli (liczba==0) liczba=8; w przeciwnym razie liczba = (liczba*10) + 8; //Naciśnięty dwukrotnie } if (klawisz == '#') {Serial.println ("Przycisk równy"); liczba2=liczba; wynik = prawda; } if (klucz == '3') {Serial.println ("Przycisk 3"); jeśli (liczba==0) liczba=3; w przeciwnym razie liczba = (liczba*10) + 3; //Naciśnięty dwukrotnie } if (klawisz == '6') {Serial.println ("Przycisk 6"); jeśli (liczba==0) liczba=6; w przeciwnym razie liczba = (liczba*10) + 6; //Naciśnięty dwukrotnie } if (klawisz == '9') {Serial.println ("Przycisk 9"); jeśli (liczba==0) liczba=9; w przeciwnym razie liczba = (liczba*10) + 9; //Naciśnięty dwukrotnie } if (klawisz == 'A' || klawisz == 'B' || klawisz == 'C' || klawisz == 'D') //Wykrywanie przycisków w kolumnie 4 { Num1 = Number; Liczba =0; if (klucz == 'A') {Serial.println ("Dodanie"); akcja = '+';} if (klucz == 'B') {Serial.println ("Odejmowanie"); akcja = '-'; } if (klucz == 'C') {Serial.println ("Mnożenie"); akcja = '*';} if (klucz == 'D') {Serial.println ("Devesion"); akcja = '/';} opóźnienie(100); }}

void ObliczWynik(){ if (akcja=='+') Liczba = Num1+Num2; if (akcja=='-') Liczba = Num1-Num2; if (akcja=='*') Liczba = Liczba1*Liczba2; if (akcja=='/') Liczba = Num1/Num2; } void DisplayResult() { lcd.setCursor(0, 0); // ustaw kursor na kolumnie 0, wiersz 1 lcd.print(Num1); lcd.print(akcja); lcd.print(Num2); if (wynik==prawda) {lcd.print("="); lcd.print(Numer);} //Wyświetl wynik lcd.setCursor(0, 1); // ustaw kursor na kolumnę 0, wiersz 1 lcd.print(liczba); //Wyświetl wynik }

Krok 4: Dane wyjściowe kalkulatora

Wyjście kalkulatora
Wyjście kalkulatora
Wyjście kalkulatora
Wyjście kalkulatora
Wyjście kalkulatora
Wyjście kalkulatora

Zakończyliśmy więc połączenia i przesłaliśmy kod do arduino i czas na podłączenie zasilania i wykonanie obliczeń, a jak widać, wykonuję obliczenia za pomocą klawiatury, a wyniki można zobaczyć na wyświetlaczu LCD. Więc baw się dobrze, tworząc własny kalkulator DIY za pomocą arduino.

Zalecana: