
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02

Hej, więc ostatnio badałem, jak zaimplementować różne typy kodu w obwodzie. Odkryłem, że zrobienie kalkulatora byłoby świetnym sposobem na zaimplementowanie „przypadków” i innych form kodu, które uważałem za interesujące. W przeszłości robiłem kalkulatory prosto z kodu, ale zrobienie do niego obwodu wzbudziło zainteresowanie. Zwłaszcza w tym czasie kwarantanny, kiedy prawie cały dzień siedzę na komputerze. Projekt polega na zaimplementowaniu operacji matematycznych na ekranie LCD.
Krok 1: Materiały
Dla obwodu:
- LCD 16x2
- Arduino Uno R3
- Klawiatura 4x4
- Mała deska do krojenia chleba
- Potencjometr (250 kΩ)
- Rezystor (1kΩ)
- x26 przewody połączeniowe
Krok 2: Podłączanie klawiatury 4x4

Podłącz 4 styki rzędowe na klawiaturze 4x4 do styków Arduino 4-7 i podłącz 4 styki kolumny do styków Arduino 0-3.
Krok 3: Zapewnij zasilanie płyty do krojenia chleba i podłącz wyświetlacz LCD

Użyłem napięcia zasilania 5 dla płytki stykowej. Podłączyłem zasilanie i masę do płytki stykowej. Wyświetlacz LCD jest umieszczony na płytce stykowej i umieszczony tak, aby wszystkie jego styki były połączone z płytką stykową.
Krok 4: Podłącz zasilanie i uziemienie do wyświetlacza LCD

Do wyświetlacza LCD należy podłączyć 3 styki uziemienia. Jeden będzie podłączony do masy samego wyświetlacza LCD, drugi będzie podłączony do diody LED LCD, a ostatni zostanie podłączony do RW. VCC LCD i diody LED będą wymagały podłączenia zasilania. Jednak zasilanie diody będzie wymagało podłączenia rezystora, w tym przypadku użyłem rezystora 1kΩ.
Krok 5: Podłączanie potencjometru

Podłącz potencjometr do płytki stykowej z 3 wolnymi kolumnami. Będzie miał 3 piny, kolumna zawierająca 1 pin terminala będzie wymagała uziemienia. Kolumna zawierająca pin terminala 2 będzie wymagała podania zasilania. Wtedy wycieraczka będzie miała w swojej kolumnie przewód połączeniowy, który łączy się z VO LCD.
Krok 6: Podłączanie Arduino do LCD

Piny 8-13 na Arduino zostaną podłączone do wyświetlacza LCD. Piny 8-11 na Arduino połączą się odpowiednio z D8 (7-4). Następnie pin 12 Arduino połączy się z Enable LCD, a pin 13 Arduino połączy się z rejestrem LCD.
Krok 7: Implementuj kod
Kod będzie potrzebny do wykonywania operacji matematycznych na klawiaturze i wyświetlaczu LCD. Poniżej znajduje się kod, którego użyłem, jednak nadal mogę wprowadzić wiele zmian, aby uczynić go czystszym i lepszym. Więc nie krępuj się trochę pobawić.
#włącz #włącz
LCD LiquidCrystal (13, 12, 11, 10, 9, 8);
długi pierwszy = 0;
długa sekunda = 0;
suma podwójna = 0;
int pozycja = 0;
char customKey;
stały bajt ROWS = 4;
stały bajt COLS = 4;
klucze znaków[ROWS][COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'} };
bajt rowPins[ROWS] = {7, 6, 5, 4};
bajt colPins[COLS] = {3, 2, 1, 0};
Klawiatura customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
pusta konfiguracja (){
lcd.początek(16, 2);
lcd.setCursor(5, 0);
lcd.clear(); }
pusta pętla () {
customKey = customKeypad.getKey();
przełącznik (klucz niestandardowy) {
przypadek „0” … „9”:
lcd.setCursor(0, 0);
pierwszy = pierwszy * 10 + (klucz niestandardowy - „0”);
lcd.print(pierwszy);
stanowisko++;
przerwa;
przypadek „+”:
pierwszy = (całkowita != 0 ? całkowita: pierwsza);
lcd.setCursor(pozycja, 0);
lcd.print("+");
stanowisko++;
drugi = Drugi Numer();
suma = pierwszy + drugi;
lcd.setCursor(1, 1);
lcd.print(ogółem);
pierwszy = 0, drugi = 0;
pozycja=0;
przerwa;
Obudowa '-':
pierwszy = (całkowita != 0 ? całkowita: pierwsza);
lcd.setCursor(pozycja, 0);
lcd.print("-");
stanowisko++;
drugi = Drugi Numer();
suma = pierwszy - drugi;
lcd.setCursor(1, 1);
lcd.print(ogółem);
pierwszy = 0, drugi = 0;
pozycja=0;
przerwa;
Obudowa '*':
pierwszy = (całkowita != 0 ? całkowita: pierwsza);
lcd.setCursor(pozycja, 0);
lcd.print("*");
stanowisko++;
drugi = Drugi Numer();
suma = pierwsza * druga;
lcd.setCursor(1, 1);
lcd.print(ogółem);
pierwszy = 0, drugi = 0;
pozycja=0;
przerwa;
Obudowa '/':
pierwszy = (całkowita != 0 ? całkowita: pierwsza);
lcd.setCursor(pozycja, 0);
lcd.print("/");
stanowisko++;
drugi = Drugi Numer(); lcd.setCursor(1, 1);
drugi == 0 ? lcd.print("Błąd"): total = (zmiennoprzecinkowa)pierwsza / (zmiennoprzecinkowa)sekunda;
lcd.print(ogółem);
pierwszy = 0, drugi = 0;
pozycja=0;
przerwa;
przypadek „C”:
suma = 0;
pierwszy = 0;
drugi = 0;
pozycja = 0;
lcd.clear();
przerwa; }
}
długi Drugi Numer() {
dopóki(1) {
customKey = customKeypad.getKey();
if(customKey >= '0' && customKey <= '9') {
sekunda = sekunda * 10 + (customKey - '0');
lcd.setCursor(pozycja, 0);
lcd.print(drugi); }
if(customKey == 'C') {
suma = 0;
pierwszy = 0;
drugi = 0;
pozycja = 0;
lcd.clear();
przerwa; }
if(Klucz niestandardowy == '='){
lcd.setCursor(0, 1);
lcd.print("=");
pozycja = suma;
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("=");
przerwa; }
}
powróć drugi;}
Krok 8: Wynik


Mam nadzieję, że wszystkim podobało się to pouczenie. Dziękuję za przeczytanie!
Saima.
Zalecana:
Kalkulator oszczędności konta bankowego: 18 kroków

Kalkulator oszczędności konta bankowego: Dziękuję za wybranie mojego kalkulatora oszczędności. Dzisiaj nauczymy się, jak zaprogramować klasę KontoBankowe, aby śledzić własne wydatki i oszczędności. Aby założyć konto bankowe, aby śledzić wydatki, najpierw potrzebujesz podstawowego n
Gimbal z nadrukiem 3D (konkurs Tinkercad): 6 kroków

Gimbal z nadrukiem 3D (konkurs Tinkercad): Witam, To jest gimbal do aparatu, który zaprojektowałem w Tinkercad. Główny gimbal został wykonany z uchwytu This Jar Handle i pięciopierścieniowego gimbala / żyroskopu, którego nie mogę już znaleźć. Projekt Tinkercad można znaleźć tutaj. Zostało to zaprojektowane do pracy na Powers
Robot rysujący z tarczą Adafruit (konkurs Make It Move): 10 kroków (ze zdjęciami)

Robot rysujący z tarczą Adafruit (konkurs Make It Move): Cześć, nazywam się Jacob i mieszkam w Wielkiej Brytanii. W tym projekcie zbuduję dla Ciebie robota, który rysuje. *Jestem pewien, że wielu z Was chce to zobaczyć, więc jeśli chcesz wiedzieć, przejdź od razu do przedostatniego kroku, ale koniecznie wróć tutaj, aby zobaczyć
Konkurs Mash Up i LED: Latarka z dozownikiem Pez: 5 kroków

Mash Up i konkurs LED: Latarka dozownika Pez: Jest to latarka dozownika pez. Nie jest zbyt jasny, ale jest wystarczająco jasny, aby znaleźć klucze, klamki itp
USB Thumb Drive Zippo Lighter Case Mod (Kieszonkowy konkurs! GŁOSUJ NA MNIE!): 7 kroków

USB Thumb Drive Zippo Lighter Case Mod (Kieszonkowy konkurs! GŁOSUJ NA MNIE!): Masz dość tego nudnego pendrive'a? Podrasuj to za pomocą tego Zippo Lighter Mod