Sadržaj:

Kalkulator TinkerCad natjecanje: 8 koraka
Kalkulator TinkerCad natjecanje: 8 koraka

Video: Kalkulator TinkerCad natjecanje: 8 koraka

Video: Kalkulator TinkerCad natjecanje: 8 koraka
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Studeni
Anonim
Kalkulator TinkerCad natjecanje
Kalkulator TinkerCad natjecanje

Hej, tako sam nedavno istraživao kako implementirati različite vrste koda u krug. Otkrio sam da bi izrada kalkulatora bila izvrstan način za implementaciju "case" i drugih oblika koda koji su mi bili zanimljivi. Ranije sam izrađivao kalkulatore izravno iz koda, ali zanimljivost mi je stvorila sklop za to. Pogotovo u ovo vrijeme karantene gdje sam gotovo cijeli dan na računalu. Projekt je za provedbu matematičkih operacija na LCD zaslonu.

Korak 1: Materijali

Za krug:

  • LCD 16 x 2
  • Arduino Uno R3
  • Tipkovnica 4x4
  • Mali Breadboard
  • Potenciometar (250 kΩ)
  • Otpornik (1 kΩ)
  • x26 Žice za kratkospojnike

Korak 2: Spajanje 4x4 tipkovnice

Povezivanje 4x4 tipkovnice
Povezivanje 4x4 tipkovnice

Spojite pinove od 4 reda na tipkovnici 4x4 na Arduino pinove 4-7 i spojite pinove s 4 stupca na Arduino pinove 0-3.

Korak 3: Omogućite napajanje tiskanoj ploči i povežite LCD

Omogućite napajanje tiskanoj ploči i povežite LCD
Omogućite napajanje tiskanoj ploči i povežite LCD

Koristio sam napon snage 5 za ploču. Priključio sam napajanje i masu na ploču. LCD se postavlja na matičnu ploču i postavlja tako da se svi njegovi pinovi spoje na matičnu ploču.

Korak 4: Spojite napajanje i uzemljenje na LCD

Spojite napajanje i uzemljenje na LCD
Spojite napajanje i uzemljenje na LCD

Za spajanje na LCD bit će potrebna 3 pina uzemljenja. Jedan će biti spojen na uzemljenje LCD -a, drugi će biti spojen na LED diodu LCD -a, a posljednji će biti spojen na RW. VCC na LCD -u i LED diodi zahtijevaju spajanje napajanja. Međutim, za napajanje LED -a bit će potreban priključeni otpornik. U ovom sam slučaju koristio otpornik od 1 kΩ.

Korak 5: Spajanje potenciometra

Spajanje potenciometra
Spajanje potenciometra

Spojite potenciometar na ploču s 3 slobodna stupca. Imat će 3 pina, stupcu koji sadrži priključak 1 pina trebat će mu uzemljenje. Stupcu koji sadrži priključak 2 kontakta potrebno je napajanje. Tada će brisač u svom stupcu imati kratkospojnu žicu koja se spaja na VO LCD -a.

Korak 6: Spajanje Arduina na LCD

Spajanje Arduina na LCD
Spajanje Arduina na LCD

Igle 8-13 na Arduinu bit će spojene na LCD. Igle 8-11 na Arduinu povezat će se s D8 (7-4). Zatim će se pin 12 Arduina spojiti s Enable -om LCD -a, a pin 13 na Arduinu će se spojiti na registar LCD -a.

Korak 7: Implementirajte kôd

Kod će biti potreban za korištenje matematičkih operacija s tipkovnicom i LCD -om. Sljedeći će biti kôd koji sam koristio, međutim više se promjena ipak može implementirati kako bi bilo čišće i bolje. Zato se slobodno poigrajte s tim malo.

#include #include

LCD tekući kristal (13, 12, 11, 10, 9, 8);

dugo prvo = 0;

duga sekunda = 0;

dvostruko ukupno = 0;

int pozit = 0;

char customKey;

const byte ROWS = 4;

const bajt COLS = 4;

ključevi char [ROWS] [COLS] = {

{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'}};

byte rowPins [ROWS] = {7, 6, 5, 4};

bajt colPins [COLS] = {3, 2, 1, 0};

Tipkovnica customKeypad = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS);

void setup () {

lcd.begin (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

void loop () {{100} {101}

customKey = customKeypad.getKey ();

switch (customKey) {

slučaj '0' … '9':

lcd.setCursor (0, 0);

prvi = prvi * 10 + (customKey - '0');

lcd.print (prvi);

pozit ++;

pauza;

slučaj '+':

prvi = (ukupno! = 0? ukupno: prvo);

lcd.setCursor (pozicija, 0);

lcd.print ("+");

pozit ++;

second = Drugi broj ();

ukupno = prvi + drugi;

lcd.setCursor (1, 1);

lcd.tisak (ukupno);

prvi = 0, drugi = 0;

pozit = 0;

pauza;

slučaj '-':

prvi = (ukupno! = 0? ukupno: prvo);

lcd.setCursor (pozicija, 0);

lcd.print ("-");

pozit ++;

second = Drugi broj ();

ukupno = prvi - drugi;

lcd.setCursor (1, 1);

lcd.tisak (ukupno);

prvi = 0, drugi = 0;

pozit = 0;

pauza;

slučaj '*':

prvi = (ukupno! = 0? ukupno: prvo);

lcd.setCursor (pozicija, 0);

lcd.print ("*");

pozit ++;

second = Drugi broj ();

ukupno = prva * druga;

lcd.setCursor (1, 1);

lcd.tisak (ukupno);

prvi = 0, drugi = 0;

pozit = 0;

pauza;

slučaj '/':

prvi = (ukupno! = 0? ukupno: prvo);

lcd.setCursor (pozicija, 0);

lcd.print ("/");

pozit ++;

second = Drugi broj (); lcd.setCursor (1, 1);

drugi == 0? lcd.print ("Greška"): ukupno = prvo (float) prvo / (float) drugo;

lcd.tisak (ukupno);

prvi = 0, drugi = 0;

pozit = 0;

pauza;

slučaj 'C':

ukupno = 0;

prvi = 0;

drugi = 0;

pozit = 0;

lcd.clear ();

pauza; }

}

long SecondNumber () {

dok (1) {

customKey = customKeypad.getKey ();

if (customKey> = '0' && customKey <= '9') {

drugi = drugi * 10 + (customKey - '0');

lcd.setCursor (pozicija, 0);

lcd.print (drugi); }

if (customKey == 'C') {

ukupno = 0;

prvi = 0;

drugi = 0;

pozit = 0;

lcd.clear ();

pauza; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

pozit = ukupno;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

pauza; }

}

povratak drugi;}

Korak 8: Rezultat

Proizlaziti
Proizlaziti
Proizlaziti
Proizlaziti

Nadam se da ste svi uživali u ovom uputstvu. Hvala na čitanju!

Saim.

Preporučeni: