Tartalomjegyzék:

Bináris decimális számológép: 8 lépés
Bináris decimális számológép: 8 lépés

Videó: Bináris decimális számológép: 8 lépés

Videó: Bináris decimális számológép: 8 lépés
Videó: Binary to decimal short trick 2024, Július
Anonim
Bináris decimális számológép
Bináris decimális számológép

A tizenegyedik évfolyam számítástechnikájában döntenem kellett egy végső projekt mellett. Először nem tudtam, mit készítsek, mert tartalmaznia kellett bizonyos hardverkomponenseket. Néhány nap múlva az osztálytársam azt mondta, hogy készítsek egy projektet a néhány hónappal ezelőtt létrehozott négybites összeadó alapján. Aznap a négy bites összegzőm segítségével egy bináris -decimális konvertert tudtam létrehozni.

Ennek a projektnek a létrehozása sok kutatást igényel, amely magában foglalja elsősorban a teljes és fél összeadó működésének megértését.

Lépés: Szükséges anyagok

Ehhez a projekthez a következő anyagokra lesz szüksége:

  • Arduino UNO
  • négy kenyeretábla
  • kilenc voltos akkumulátor
  • hét XOR kapu (2 XOR chip)
  • hét ÉS kapu (2 ÉS zseton)
  • három VAGY kapu (1 VAGY chip)
  • öt LED
  • nyolc 330 ohmos ellenállás
  • LCD kijelzö
  • négy férfi-női vezeték
  • sok férfi-férfi vezeték
  • huzalcsupaszító
  • közös anód RGB LED

Költség (vezetékek nélkül): 79,82 USD

Minden anyagköltséget az ABRA elektronikáján találtak.

2. lépés: A 4 bites összeadó megértése

A 4 bites összeadó megértése
A 4 bites összeadó megértése

Mielőtt elkezdenénk, meg kell értenie, hogyan működik a négybites összeadó. Amikor először megnézzük ezt az áramkört, észre fogjuk venni, hogy van egy fél összeadó áramkör és három teljes összeadó áramkör. Mivel a négybites összeadó egy teljes és fél összeadó kombinációja, közzétettem egy videót, amely elmagyarázza, hogyan működik a kétféle összeadó.

www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s

3. lépés: A 4 bites összeadó építése

A 4 bites összeadó építése
A 4 bites összeadó építése
A 4 bites összeadó építése
A 4 bites összeadó építése

A négybites összeállító felépítésének magyarázata nagyon nehéz, mivel sok kábelezést igényel. Ezen képek alapján adhatok néhány trükköt ennek az áramkörnek a felépítéséhez. Először is, a logikai chipek elrendezésének módja nagyon fontos lehet. Annak érdekében, hogy tiszta áramkör legyen, rendelje meg a chipeket ebben a sorrendben: XOR, AND, OR, AND, XOR. Ezzel a sorrenddel nemcsak az áramköre lesz rendezett, hanem nagyon könnyen megszervezhető is.

Egy másik nagy trükk az, hogy egyenként és a jobb oldalról a bal oldalra kell összeállítani minden egyes összeadót. Gyakori hiba, amit sokan elkövettek, hogy az összes hozzáadást egyszerre hajtják végre. Ezzel megzavarhatja a vezetékeket. Egy hiba a 4 bites összeadóban azt eredményezheti, hogy az egész nem működik,

4. lépés: Áramellátás és földelés biztosítása az áramkörhöz

A 9 voltos akkumulátor segítségével áramellátást és földelést biztosít a négy bites összeállítót tartalmazó kenyértáblához. A fennmaradó 3 kenyértáblához áramot és földelést biztosít az Arduino UNO -n keresztül.

5. lépés: A LED -ek bekötése

Kábelezés LED -ek
Kábelezés LED -ek

Ebben a projektben az öt LED -et használjuk bemeneti és kimeneti eszközként. Kimeneti eszközként a LED bináris számot fog világítani, a négybites összeadó bemeneteitől függően. Beviteli eszközként attól függően, hogy mely LED -ek világítanak és kialszanak, tizedes számként tudjuk kivetíteni az átalakított bináris számot az LCD kijelzőn. A LED vezetékezéséhez a négybites összeadó egyik összegét csatlakoztatja a LED anód lábához (a LED hosszú lába), de e kettő közé helyezzen egy 330 ohmos ellenállást. Ezután csatlakoztassa a LED katódlábát (a LED rövid lába) a földi sínhez. Az ellenállás és az összegző vezeték között csatlakoztasson egy dugaszt a férfi vezetékhez az Arduino UNO bármely digitális tűjéhez. Ismételje meg ezt a lépést a fennmaradó három összegnél és a végrehajtásnál. Az általam használt digitális tűk 2, 3, 4, 5 és 6 voltak.

6. lépés: A közös anód RGB LED bekötése

Kábelezés Közös anód RGB LED
Kábelezés Közös anód RGB LED

Ebben a projektben ennek az RGB LED -nek az a célja, hogy megváltoztassa a színeket, amikor új tizedes szám keletkezik az LCD kijelzőn. Amikor először megnézi a közös anód RGB ledet, észre fogja venni, hogy 4 lába van; egy piros lámpa láb, egy erő (anód) láb, egy zöld lámpa láb és egy kék fény láb. A tápfeszültség (anód) lábát az 5 voltos feszültségű tápegységhez csatlakoztatják. Csatlakoztassa a fennmaradó három színes lábat 330 ohmos ellenállásokhoz. Az ellenállás másik végén egy férfi -férfi vezetékkel csatlakoztassa azt az Arduino PWM dgital tűjéhez. A PWM digitális tüske bármilyen digitális tű, mellette ferde vonallal. Az általam használt PWM csapok 9, 10 és 11 voltak.

7. lépés: Az LCD kijelző bekötése

Az LCD kijelző bekötése
Az LCD kijelző bekötése

Ehhez a projekthez az LCD kijelző az átalakított bináris számot tizedesre fogja vetíteni. Ha megnézzük az LCD kijelzőt, akkor 4 dugót találunk. Ezek a csapok VCC, GND, SDA és SCL. A VCC -hez dugó -hüvely vezetékkel csatlakoztassa a VCC -tűt a kenyértáblán lévő tápcsatlakozóhoz. Ez 5 V feszültséget biztosít a VCC csaphoz. A GND csaphoz csatlakoztassa a földelő sínhez egy hüvely -anya vezetékkel. Az SDA és az SCL csapokkal csatlakoztassa egy analóg tűhöz, egy hüvely -női vezetékkel. Csatlakoztattam az SCL tűt az A5 analóg érintkezőhöz és az SDA tűt az analóg A4 tűhöz.

8. lépés: A kód írása

Most, hogy elmagyaráztam a projekt építési részét, kezdjük el a kódolást. Először is le kell töltenünk és importálnunk kell a következő könyvtárakat; LiquidCrystal_I2C könyvtár és a drótkönyvtár.

#befoglalni #befoglalni

Miután ezt megtette, deklarálnia kell az összes szükséges változót. Bármilyen típusú kódnál először be kell jelentenie a változókat.

const int számjegy = 2;

const int számjegy2 = 3;

const int számjegy3 = 4;

const int számjegy4 = 5;

const int számjegy = 6;

int számjegy1 = 0;

int számjegy2 = 0;

int számjegyösszeg3 = 0;

int számjegy4 = 0;

int számjegyösszeg5 = 0;

char array1 = "Bináris decimálisig";

char array2 = "Átalakító";

int tim = 500; // a késleltetési idő értéke

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C LCD (0x27, 16, 2);

A void setup () -ban deklarálja a pin -típust az összes változóhoz. A soros kezdést is használni fogja, mert az analogWrite () függvényt használjuk

üres beállítás ()

{

Sorozat.kezdet (9600);

pinMode (1. számjegy, BEMENET);

pinMode (2. számjegy, BEMENET);

pinMode (3. számjegy, BEMENET);

pinMode (4. számjegy, BEMENET);

pinMode (5. számjegy, BEMENET);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

A void setup () -ban létrehoztam egy for -cikket, hogy létrehozzam a projekt nevét tartalmazó üzenetet. Az ok, amiért nincs benne a void loopban (), az az, hogy ha az ürességben van, az üzenet ismétlődni fog

lcd.setCursor (15, 0); // állítsa a kurzort a 15. oszlop 0. sorára

for (int positionCounter1 = 0; positionCounter1 <17; positionCounter1 ++)

{

lcd.scrollDisplayLeft (); // A kijelző tartalmát egy szóközzel balra görget.

lcd.print (tömb1 [pozícióCounter1]); // Üzenet nyomtatása az LCD -re.

késleltetés (tim); // várjon 250 mikroszekundumot

}

lcd.clear (); // Törli az LCD képernyőt, és a kurzort a bal felső sarokba helyezi.

lcd.setCursor (15, 1); // állítsa a kurzort a 15. oszlop 1. sorára

for (int positionCounter = 0; positionCounter <9; positionCounter ++)

{

lcd.scrollDisplayLeft (); // A kijelző tartalmát egy szóközzel balra görget.

lcd.print (array2 [positionCounter]); // Üzenet nyomtatása az LCD -re.

késleltetés (tim); // várjon 250 mikroszekundumot

}

lcd.clear (); // Törli az LCD képernyőt, és a kurzort a bal felső sarokba helyezi.

}

Most, hogy befejeztük a void setup () -ot, térjünk át a void loop -ra (). Az üres ciklusban több if-else utasítást hoztam létre annak biztosítására, hogy bizonyos lámpák ki- vagy bekapcsolásakor bizonyos tizedes számot jelenítsen meg a kijelzőn. Mellékeltem egy dokumentumot, amely bemutatja, hogy mi van az ürességi körömben és az általam létrehozott sok más ürességben. Kattintson ide a dokumentum megtekintéséhez

Most már csak annyit kell tennie, hogy futtassa a kódot, és élvezze az új bináris -tizedes átalakítót.

Ajánlott: