Kazalo:

Natečaj TinkerCad za kalkulator: 8 korakov
Natečaj TinkerCad za kalkulator: 8 korakov

Video: Natečaj TinkerCad za kalkulator: 8 korakov

Video: Natečaj TinkerCad za kalkulator: 8 korakov
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, November
Anonim
Računalniško tekmovanje TinkerCad
Računalniško tekmovanje TinkerCad

Hej, pred kratkim sem raziskal, kako v vezje implementirati različne vrste kode. Ugotovil sem, da bi bila izdelava kalkulatorja odličen način za implementacijo "case" in drugih oblik kode, ki so se mi zdele zanimive. V preteklosti sem kalkulatorje izdeloval neposredno iz kode, toda izdelava vezja zanj me je zanimala. Še posebej v tem času karantene, kjer sem skoraj ves dan za računalnikom. Projekt je namenjen izvajanju matematičnih operacij na LCD zaslonu.

1. korak: Materiali

Za vezje:

  • LCD 16 x 2
  • Arduino Uno R3
  • Tipkovnica 4x4
  • Majhna deska
  • Potenciometer (250 kΩ)
  • Upor (1 kΩ)
  • x26 Mostične žice

2. korak: Priključitev tipkovnice 4x4

Priključitev tipkovnice 4x4
Priključitev tipkovnice 4x4

4-vrstične nožice na tipkovnici 4x4 povežite z zatiči Arduino 4-7 in zatiči za 4 stolpce povežite z zatiči Arduino 0-3.

3. korak: Napajajte ploščico in priključite LCD

Napajajte ploščico in priključite LCD
Napajajte ploščico in priključite LCD

Za ploščo sem uporabil napetost 5. Napajanje in ozemljitev sem priključil na ploščo. LCD je nameščen na ploščo in postavljen tako, da se vsi njegovi zatiči povežejo s ploščo.

4. korak: Priključite napajanje in ozemljitev na LCD

Priključite napajanje in ozemljitev na LCD
Priključite napajanje in ozemljitev na LCD

Za priključitev na LCD -zaslon bodo potrebni 3 zatiči ozemljitve. Eden bo priključen na tla sam od sebe, drugi bo povezan z LED diodo LCD, zadnji pa bo povezan z RW. VCC LCD in LED bosta za priključitev napajanja potrebovala napajanje. Za napajanje LED bo potreben priključen upor, v tem primeru sem uporabil upor 1kΩ.

5. korak: Priključitev potenciometra

Priključitev potenciometra
Priključitev potenciometra

Potenciometer priključite na ploščo s 3 prostimi stolpci. Imel bo 3 zatiče, za stolpec, ki vsebuje priključek 1, pa je potrebno ozemljitev. Stolpec, ki vsebuje priključek 2, potrebuje napajanje. Potem bo brisalnik v svojem stolpcu imel mostično žico, ki se poveže z VO LCD -ja.

6. korak: Arduino priključite na LCD

Priključitev Arduina na LCD
Priključitev Arduina na LCD

Zatiči 8-13 na Arduinu bodo povezani z LCD. Zatiči 8-11 na Arduinu se bodo povezali z D8 (7-4). Nato se bo pin 12 na Arduinu povezal z omogočanjem LCD -ja, pin 13 na Arduinu pa se bo povezal z registrom LCD -ja.

7. korak: Izvedite kodo

Za uporabo matematičnih operacij s tipkovnico in LCD -jem bo potrebna koda. Spodaj bo koda, ki sem jo uporabil, vendar lahko še vedno izvedem več sprememb, da bo čistejša in boljša. Zato se z njim malo igrajte.

#include #include

LCD tekoči kristal (13, 12, 11, 10, 9, 8);

dolga prva = 0;

dolga sekunda = 0;

dvojno skupaj = 0;

int posit = 0;

char customKey;

const byte ROWS = 4;

const bajt COLS = 4;

ključi 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 () {

customKey = customKeypad.getKey ();

switch (customKey) {

primer '0' … '9':

lcd.setCursor (0, 0);

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

lcd.print (prvi);

posit ++;

zlom;

primer '+':

prvi = (skupaj! = 0? skupaj: prvi);

lcd.setCursor (pozicija, 0);

lcd.print ("+");

posit ++;

second = SecondNumber ();

skupaj = prvi + drugi;

lcd.setCursor (1, 1);

lcd.print (skupaj);

prvi = 0, drugi = 0;

pozit = 0;

zlom;

Ovitek '-':

prvi = (skupaj! = 0? skupaj: prvi);

lcd.setCursor (pozicija, 0);

lcd.print ("-");

posit ++;

second = SecondNumber ();

skupaj = prvi - drugi;

lcd.setCursor (1, 1);

lcd.print (skupaj);

prvi = 0, drugi = 0;

pozit = 0;

zlom;

Ovitek '*':

prvi = (skupaj! = 0? skupaj: prvi);

lcd.setCursor (pozicija, 0);

lcd.print ("*");

posit ++;

second = SecondNumber ();

skupaj = prva * druga;

lcd.setCursor (1, 1);

lcd.print (skupaj);

prvi = 0, drugi = 0;

pozit = 0;

zlom;

Ovitek '/':

prvi = (skupaj! = 0? skupaj: prvi);

lcd.setCursor (pozicija, 0);

lcd.print ("/");

posit ++;

second = SecondNumber (); lcd.setCursor (1, 1);

drugi == 0? lcd.print ("Napaka"): skupaj = najprej (float) najprej / (float) sekunda;

lcd.print (skupaj);

prvi = 0, drugi = 0;

pozit = 0;

zlom;

primer 'C':

skupaj = 0;

prvi = 0;

drugi = 0;

pozit = 0;

lcd.clear ();

zlom; }

}

long SecondNumber () {

medtem ko (1) {

customKey = customKeypad.getKey ();

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

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

lcd.setCursor (pozicija, 0);

lcd.print (drugi); }

if (customKey == 'C') {

skupaj = 0;

prvi = 0;

drugi = 0;

pozit = 0;

lcd.clear ();

zlom; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

pozit = skupaj;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

zlom; }

}

vrni se drugo;}

8. korak: Rezultat

Rezultat
Rezultat
Rezultat
Rezultat

Upam, da ste vsi uživali v tem navodilu. Hvala za branje!

Saim.

Priporočena: