Spisu treści:

Kalkulator Konkurs TinkerCad: 8 kroków
Kalkulator Konkurs TinkerCad: 8 kroków

Wideo: Kalkulator Konkurs TinkerCad: 8 kroków

Wideo: Kalkulator Konkurs TinkerCad: 8 kroków
Wideo: Jak się uczyć programowania - drogaMarka#4 2024, Listopad
Anonim
Kalkulator Konkurs TinkerCad
Kalkulator Konkurs TinkerCad

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łączanie klawiatury 4x4
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

Zapewnij zasilanie płyty do krojenia chleba i podłącz wyświetlacz LCD
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

Podłącz zasilanie i uziemienie do wyświetlacza LCD
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łączanie potencjometru
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

Podłączanie Arduino do LCD
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

Wynik
Wynik
Wynik
Wynik

Mam nadzieję, że wszystkim podobało się to pouczenie. Dziękuję za przeczytanie!

Saima.

Zalecana: