Tartalomjegyzék:

TinkerCad számológép verseny: 8 lépés
TinkerCad számológép verseny: 8 lépés

Videó: TinkerCad számológép verseny: 8 lépés

Videó: TinkerCad számológép verseny: 8 lépés
Videó: [1DAY_1CAD] POTATO SNACK (Tinkercad : know-how / style / education) 2024, November
Anonim
Számológép TinkerCad verseny
Számológép TinkerCad verseny

Hé, így a közelmúltban azt vizsgáltam, hogyan lehet különböző típusú kódokat egy áramkörbe implementálni. Úgy találtam, hogy számológép készítése nagyszerű módja az "eset" és más, érdekesnek talált kódformák megvalósításának. A múltban számológépeket készítettem egyenesen kódból, de ehhez kapcsolót készítettem. Különösen a karantén idején, amikor szinte egész nap a számítógépemen vagyok. A projekt célja matematikai műveletek végrehajtása LCD képernyőn.

1. lépés: Anyagok

Áramkör:

  • LCD 16 x 2
  • Arduino Uno R3
  • 4x4 -es billentyűzet
  • Kis kenyértábla
  • Potenciométer (250 kΩ)
  • Ellenállás (1kΩ)
  • x26 Jumper vezetékek

2. lépés: A 4x4 -es billentyűzet csatlakoztatása

A 4x4 -es billentyűzet csatlakoztatása
A 4x4 -es billentyűzet csatlakoztatása

Csatlakoztassa a 4 soros csapokat a 4x4 billentyűzeten az Arduino 4-7 csapokhoz, és a 4 oszlopcsapokat az Arduino 0-3 csapokhoz.

3. lépés: Tápellátás biztosítása a kenyértáblán és az LCD csatlakoztatása

Adjon áramot a kenyértáblának és csatlakoztassa az LCD -t
Adjon áramot a kenyértáblának és csatlakoztassa az LCD -t

A kenyértáblához 5 -ös tápfeszültséget használtam. Csatlakoztattam a tápellátást és a földet a kenyértáblához. Az LCD -t a kenyérsütő lapra helyezi, és úgy helyezi el, hogy minden csapja összekapcsolódjon a kenyérpaddal.

4. lépés: Csatlakoztassa a tápellátást és a földelést az LCD -hez

Csatlakoztassa a tápellátást és a földelést az LCD -hez
Csatlakoztassa a tápellátást és a földelést az LCD -hez

Az LCD -hez 3 földelőcsapot kell csatlakoztatni. Az egyik a földhöz csatlakozik, az LCD -hez, a másik az LCD LED -hez, az utolsó pedig az RW -hez. Az LCD és a LED VCC -je tápellátást igényel. A LED tápellátásához azonban ellenállás szükséges, ebben az esetben 1 kΩ -os ellenállást használtam.

5. lépés: A potenciométer csatlakoztatása

A potenciométer csatlakoztatása
A potenciométer csatlakoztatása

Csatlakoztassa a potenciométert a kenyértáblához 3 szabad oszloppal. Három csapja lesz, az oszlop, amely az 1 érintkezőt tartalmazza, földelni kell. Az oszlop, amely a 2 -es érintkezőt tartalmazza, áramot kap. Ekkor az ablaktörlő oszlopában lesz egy áthidaló vezeték, amely az LCD VO -jához csatlakozik.

6. lépés: Az Arduino csatlakoztatása az LCD -hez

Az Arduino csatlakoztatása az LCD -hez
Az Arduino csatlakoztatása az LCD -hez

Az Arduino 8-13. Csapjai az LCD-hez csatlakoznak. Az Arduino 8-11-es csapjai a D8-hoz (7-4) csatlakoznak. Ezután az Arduino 12. csapja csatlakozik az LCD engedélyezéséhez, és az Arduino 13. csapja az LCD regiszteréhez.

7. lépés: A kód végrehajtása

A billentyűzettel és az LCD -vel végzett matematikai műveletekhez kódra lesz szükség. A következőkben az általam használt kódot használom, bár több változtatást is végrehajthatok, hogy tisztábbá és jobbá tegyem. Szóval bátran játssz vele egy kicsit.

#befoglalni #befoglalni

LiquidCrystal LCD (13, 12, 11, 10, 9, 8);

hosszú első = 0;

hosszú másodperc = 0;

dupla össz = 0;

int posit = 0;

char customKey;

const byte ROWS = 4;

const bájt COLS = 4;

char billentyűk [ROWS] [COLS] = {

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

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

bájt colPins [COLS] = {3, 2, 1, 0};

Billentyűzet customKeypad = Billentyűzet (makeKeymap (billentyűk), rowPins, colPins, ROWS, COLS);

void setup () {

lcd. kezdet (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

void loop () {

customKey = customKeypad.getKey ();

switch (customKey) {

„0”… „9” eset:

lcd.setCursor (0, 0);

első = első * 10 + (customKey - '0');

lcd.print (első);

pozitív ++;

szünet;

„+” eset:

első = (összesen! = 0? összesen: első);

lcd.setCursor (pozitív, 0);

lcd.print ("+");

pozitív ++;

second = SecondNumber ();

összesen = első + második;

lcd.setCursor (1, 1);

lcd.print (összesen);

először = 0, második = 0;

pozitív = 0;

szünet;

"-" eset:

első = (összesen! = 0? összesen: első);

lcd.setCursor (pozitív, 0);

lcd.print ("-");

pozitív ++;

second = SecondNumber ();

összesen = első - második;

lcd.setCursor (1, 1);

lcd.print (összesen);

először = 0, második = 0;

pozitív = 0;

szünet;

"*" eset:

első = (összesen! = 0? összesen: első);

lcd.setCursor (pozitív, 0);

lcd.print ("*");

pozitív ++;

second = SecondNumber ();

összesen = első * második;

lcd.setCursor (1, 1);

lcd.print (összesen);

először = 0, második = 0;

pozitív = 0;

szünet;

eset '/':

első = (összesen! = 0? összesen: első);

lcd.setCursor (pozitív, 0);

lcd.print ("/");

pozitív ++;

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

második == 0? lcd.print ("Hiba"): összesen = (úszó) első / (úszó) második;

lcd.print (összesen);

először = 0, második = 0;

pozitív = 0;

szünet;

„C” eset:

összesen = 0;

első = 0;

második = 0;

pozitív = 0;

lcd.clear ();

szünet; }

}

hosszú Második szám () {

míg (1) {

customKey = customKeypad.getKey ();

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

második = második * 10 + (customKey - '0');

lcd.setCursor (pozitív, 0);

lcd.print (második); }

if (customKey == 'C') {

összesen = 0;

első = 0;

második = 0;

pozitív = 0;

lcd.clear ();

szünet; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

posit = összesen;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

szünet; }

}

visszatérés második;}

8. lépés: Eredmény

Eredmény
Eredmény
Eredmény
Eredmény

Remélem, mindenki élvezte ezt az oktathatót. Köszönöm, hogy elolvasta!

Saim.

Ajánlott: