Turinys:

„TinkerCad“skaičiuoklės konkursas: 8 žingsniai
„TinkerCad“skaičiuoklės konkursas: 8 žingsniai

Video: „TinkerCad“skaičiuoklės konkursas: 8 žingsniai

Video: „TinkerCad“skaičiuoklės konkursas: 8 žingsniai
Video: Excel creative charts / kūrybiškos diagramos 2024, Lapkritis
Anonim
TinkerCad konkurso skaičiuoklė
TinkerCad konkurso skaičiuoklė

Ei, todėl neseniai tyrinėjau, kaip į grandinę įdiegti įvairių tipų kodus. Radau, kad skaičiuoklės kūrimas būtų puikus būdas įgyvendinti „atvejį“ir kitas kodo formas, kurios man pasirodė įdomios. Anksčiau skaičiuotuvus gaminau tiesiai iš kodo, tačiau sukūręs grandinę man tai sudomino. Ypač šiuo karantino laikotarpiu, kai beveik visą dieną sėdžiu prie kompiuterio. Projektas yra įgyvendinti matematines operacijas LCD ekrane.

1 žingsnis: medžiagos

Grandinei:

  • LCD 16 x 2
  • „Arduino Uno R3“
  • Klaviatūra 4x4
  • Maža duonos lenta
  • Potenciometras (250 kΩ)
  • Rezistorius (1kΩ)
  • x26 jungiamieji laidai

2 veiksmas: prijunkite 4x4 klaviatūrą

4x4 klaviatūros prijungimas
4x4 klaviatūros prijungimas

Prijunkite 4 eilutės kaiščius 4x4 klaviatūroje prie „Arduino“kaiščių 4–7 ir 4 stulpelių kaiščius prie „Arduino“kaiščių 0–3.

3 veiksmas: maitinkite duonos lentą ir prijunkite LCD ekraną

Pateikite maitinimą į duonos lentą ir prijunkite LCD ekraną
Pateikite maitinimą į duonos lentą ir prijunkite LCD ekraną

Maitinimo plokštei naudoju 5 maitinimo įtampą. Prijungiau maitinimą ir žemę prie duonos lentos. Skystųjų kristalų ekranas dedamas ant duonos lentos ir dedamas taip, kad visi jo kaiščiai būtų prijungti prie duonos lentos.

4 žingsnis: Prijunkite maitinimą ir įžeminimą prie LCD

Prijunkite maitinimą ir įžeminimą prie LCD
Prijunkite maitinimą ir įžeminimą prie LCD

Prie LCD reikės prijungti 3 žemės kaiščius. Vienas bus prijungtas prie pagrindo prie LCD, kitas bus prijungtas prie LCD šviesos diodo, o paskutinis bus prijungtas prie RW. Norint prijungti LCD ir LED VCC, reikės prijungti maitinimą. Tačiau šviesos diodui maitinti reikės rezistoriaus, prijungto šiuo atveju, aš naudoju 1 kΩ rezistorių.

5 žingsnis: potenciometro prijungimas

Potenciometro prijungimas
Potenciometro prijungimas

Prijunkite potenciometrą prie duonos lentos su 3 laisvomis kolonomis. Jame bus 3 kaiščiai, kolonai, kurioje yra 1 gnybtas, reikės įžeminti. Stulpeliui, kuriame yra 2 gnybto kaištis, reikės elektros energijos. Tada valytuvo stulpelyje bus jungiamasis laidas, jungiantis prie LCD VO.

6 veiksmas: „Arduino“prijungimas prie LCD

„Arduino“prijungimas prie LCD
„Arduino“prijungimas prie LCD

„Arduino“8–13 kaiščiai bus prijungti prie LCD. „Arduino“8–11 kaiščiai atitinkamai prisijungs prie D8 (7–4). Tada „Arduino“12 kaištis prisijungs prie LCD įjungimo, o „Arduino“13 kaištis prisijungs prie LCD registro.

7 žingsnis: Įdiekite kodą

Norint naudoti matematines operacijas su klaviatūra ir LCD, reikės kodo. Toliau bus naudojamas kodas, tačiau vis tiek galiu atlikti kelis pakeitimus, kad jis būtų švaresnis ir geresnis. Taigi drąsiai su juo šiek tiek pažaisk.

#įtraukti #įtraukti

„LiquidCrystal lcd“(13, 12, 11, 10, 9, 8);

ilgas pirmas = 0;

ilga sekundė = 0;

dvigubas bendras = 0;

int pozit = 0;

char customKey;

const baitas ROWS = 4;

const baitas COLS = 4;

„Char“klavišai [ROWS] [COLS] = {

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

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

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

Klaviatūra customKeypad = Klaviatūra (makeKeymap (klavišai), rowPins, colPins, ROWS, COLS);

void setup () {

LCD. pradžia (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

void loop () {

customKey = customKeypad.getKey ();

jungiklis (customKey) {

atvejis „0“… „9“:

lcd.setCursor (0, 0);

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

lcd.print (pirmasis);

teigiamas ++;

pertrauka;

atvejis „+“:

pirmas = (iš viso! = 0? iš viso: pirmas);

lcd.setCursor (teigiamas, 0);

lcd.print ("+");

teigiamas ++;

antras = antras numeris ();

iš viso = pirmas + antras;

lcd.setCursor (1, 1);

lcd.print (iš viso);

pirmas = 0, antras = 0;

teigiamas = 0;

pertrauka;

atvejis '-':

pirmas = (iš viso! = 0? iš viso: pirmas);

lcd.setCursor (teigiamas, 0);

lcd.print ("-");

teigiamas ++;

antras = antras numeris ();

iš viso = pirmas - antras;

lcd.setCursor (1, 1);

lcd.print (iš viso);

pirmas = 0, antras = 0;

teigiamas = 0;

pertrauka;

atvejis „*“:

pirmas = (iš viso! = 0? iš viso: pirmas);

lcd.setCursor (teigiamas, 0);

lcd.print ("*");

teigiamas ++;

antras = antras numeris ();

iš viso = pirma * antra;

lcd.setCursor (1, 1);

lcd.print (iš viso);

pirmas = 0, antras = 0;

teigiamas = 0;

pertrauka;

atvejis '/':

pirmas = (iš viso! = 0? iš viso: pirmas);

lcd.setCursor (teigiamas, 0);

lcd.print ("/");

teigiamas ++;

antras = antras numeris (); lcd.setCursor (1, 1);

antra == 0? lcd.print ("Klaida"): iš viso = (plūdė) pirma / (plūdė) antra;

lcd.print (iš viso);

pirmas = 0, antras = 0;

teigiamas = 0;

pertrauka;

atvejis „C“:

iš viso = 0;

pirmas = 0;

antras = 0;

teigiamas = 0;

lcd.clear ();

pertrauka; }

}

ilgas antras numeris () {

nors (1) {

customKey = customKeypad.getKey ();

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

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

lcd.setCursor (teigiamas, 0);

lcd.print (antras); }

if (customKey == 'C') {

iš viso = 0;

pirmas = 0;

antras = 0;

teigiamas = 0;

lcd.clear ();

pertrauka; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

pozityvas = bendras;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

pertrauka; }

}

grįžti antra;}

8 žingsnis: rezultatas

Rezultatas
Rezultatas
Rezultatas
Rezultatas

Tikiuosi, kad jums visiems patiko ši pamoka. Ačiū, kad skaitėte!

Saimas.

Rekomenduojamas: