Sisukord:

Binaar- kuni kümnendarvukalkulaator: 8 sammu
Binaar- kuni kümnendarvukalkulaator: 8 sammu

Video: Binaar- kuni kümnendarvukalkulaator: 8 sammu

Video: Binaar- kuni kümnendarvukalkulaator: 8 sammu
Video: Самый простой способ выровнять пол! Наливной пол за 20 минут. 2024, November
Anonim
Binaar- kuni kümnendarvukalkulaator
Binaar- kuni kümnendarvukalkulaator

Üheteistkümnenda klassi arvutitehnika jaoks pidin otsustama lõpliku projekti. Alguses ei teadnud ma, mida teha, sest see pidi sisaldama teatud riistvarakomponente. Mõne päeva pärast ütles mu klassivend mulle, et teeksin projekti, mis põhineb mõne kuu eest loodud neljabitisel liituril. Pärast seda päeva suutsin oma nelja bitise liituri abil luua binaar -kümnendmuunduri.

Selle projekti loomine nõuab palju uurimistööd, mis hõlmab peamiselt arusaamist täis- ja poolliituri toimimisest.

Samm: vajalikud materjalid

Selle projekti jaoks vajate järgmisi materjale:

  • Arduino UNO
  • neli leivalauda
  • üheksa-voldine aku
  • seitse XOR -väravat (2 XOR -kiipi)
  • seitse JA väravat (2 JA kiipe)
  • kolm VÕI väravat (1 VÕI kiip)
  • viis LED -i
  • kaheksa 330 oomi takistit
  • LCD ekraan
  • neli isas-emane juhet
  • palju mees-mees juhtmeid
  • traadi eemaldaja
  • tavaline anood RGB LED

Maksumus (ilma juhtmeteta): 79,82 dollarit

Kogu materjali maksumus leiti ABRA elektroonikast.

2. samm: 4 -bitise liitja mõistmine

4 -bitise liitja mõistmine
4 -bitise liitja mõistmine

Enne alustamist peate mõistma, kuidas neljabitine liitur töötab. Kui vaatame seda vooluringi esmakordselt, märkate, et seal on pool liiturvool ja kolm täisarvutusahelat. Kuna neljabitine liitur on täis- ja poolelisandi kombinatsioon, olen postitanud video, milles selgitatakse, kuidas kaks tüüpi liitjaid töötavad.

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

3. samm: 4 -bitise liitja ehitamine

4 -bitise liitja ehitamine
4 -bitise liitja ehitamine
4 -bitise liitja ehitamine
4 -bitise liitja ehitamine

Neljabitise liitja ehitamise selgitamine on väga raske, kuna see hõlmab palju juhtmeid. Nende piltide põhjal võin teile anda mõningaid nippe selle vooluringi ehitamiseks. Esiteks võib loogikakiipide paigutus olla väga oluline. Korraliku vooluringi saamiseks tellige kiibid järgmises järjekorras: XOR, AND, OR, AND, XOR. Sellise tellimuse korral pole teie ringrada mitte ainult puhas, vaid ka väga lihtne korraldada.

Teine suurepärane nipp on ehitada iga liitur ükshaaval ja paremalt küljelt vasakule. Tavaline viga, mida paljud inimesed on teinud, on teha kõik lisajad korraga. Seda tehes võite juhtmestiku segi ajada. Üks viga 4-bitises liitmikus võib põhjustada selle, et kogu asi ei tööta,

Samm: vooluahela toite ja maanduse pakkumine

Kasutage 9-voldise aku abil toite ja maandust leivalauale, mis sisaldab neljabitist liiturit. Ülejäänud 3 leivalaua jaoks andke sellele voolu ja maad Arduino UNO kaudu.

Samm: LED -ide juhtmestik

Juhtmete LED -id
Juhtmete LED -id

Selle projekti jaoks kasutatakse viit valgusdioodi sisend- ja väljundseadmena. Väljundseadmena süttib LED binaarnumbrit, sõltuvalt nelja bitise liituri sisenditest. Sisendseadmena saame olenevalt sellest, millised LED -id sisse ja välja lülitada, projitseerida teisendatud binaararvu LCD -ekraanile kümnendarvuna. LED -i juhtme ühendamiseks ühendate ühe nelja bitise liituri moodustatud summast LED -i anoodijalaga (LED -i pikk jalg), kuid nende kahe vahele asetage 330 oomi takisti. Seejärel ühendage LED -i katoodijalg (LED -i lühike jalg) maandusrööpaga. Takisti ja summatraadi vahel ühendage isane ja isane juhe Arduino UNO mis tahes digitaalse tihvtiga. Korrake seda sammu kolme ülejäänud summa ja täitmise korral. Digitaalsed tihvtid, mida kasutasin, olid 2, 3, 4, 5 ja 6.

Samm: tavalise anoodi RGB LED -i ühendamine

Juhtmete ühine anood RGB LED
Juhtmete ühine anood RGB LED

Selle projekti puhul on selle RGB LED -i eesmärk muuta värve iga kord, kui LCD -ekraanile moodustatakse uus kümnendarv. Kui vaatate esmalt tavalist anoodi RGB -d, siis märkate, et sellel on 4 jalga; punase tule jalg, toite (anood) jalg, rohelise tule jalg ja sinise tule jalg. Toite (anood) jalg ühendatakse toitekaabliga, mis võtab vastu 5 volti. Ühendage ülejäänud kolm värvilist jalga 330 oomi takistitega. Takisti teises otsas kasutage isast -mehaanilist traati, et ühendada see Arduino PWM -dgitaalse tihvtiga. PWM digitaalne tihvt on mis tahes digitaalne tihvt, mille kõrval on sirge joon. PWM -tihvtid, mida kasutasin, olid 9, 10 ja 11.

Samm: LCD -ekraani ühendamine

LCD -ekraani juhtmestik
LCD -ekraani juhtmestik

Selle projekti puhul projitseerib LCD -ekraan teisendatud kahendarvu kümnendkohaks. Kui vaatame LCD -ekraani, märkate 4 isast tihvti. Need tihvtid on VCC, GND, SDA ja SCL. VCC puhul ühendage VCC tihvt leivaplaadil oleva toiteliiniga isas -ema juhtmega. See annab VCC tihvtile 5 volti. GND tihvti jaoks ühendage see maandusrööpaga isase ja emase juhtmega. SDA- ja SCL -tihvtidega ühendage see analoogpistikuga, millel on isane -femal traat. Ühendasin SCL -tihvti analoogpistikuga A5 ja SDA -tihvti analoogpistikuga A4.

8. samm: koodi kirjutamine

Nüüd, kui olen selle projekti ehitusosa selgitanud, alustame nüüd koodiga. Esiteks peame esmalt alla laadima ja importima järgmised teegid; LiquidCrystal_I2C raamatukogu ja traaditeek.

#kaasama #kaasama

Kui olete seda teinud, peate deklareerima kõik vajalikud muutujad. Mis tahes tüüpi koodide puhul peate esmalt oma muutujad deklareerima.

const int number1 = 2;

const int number2 = 3;

const int number3 = 4;

const int number4 = 5;

const int number5 = 6;

int numbrisumma1 = 0;

int numbrisumma2 = 0;

int numbrisumma3 = 0;

int numbrisumma4 = 0;

int numbrisumma5 = 0;

char array1 = "Binaar kuni koma";

char array2 = "Teisendaja";

int tim = 500; // viivitusaja väärtus

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C LCD (0x27, 16, 2);

Void setupis () deklareerite kõigi oma muutujate pin -tüübi. Kasutate ka jadastamist, kuna kasutame analogWrite ()

tühine seadistus ()

{

Seriaalne algus (9600);

pinMode (number1, INPUT);

pinMode (number2, INPUT);

pinMode (number3, INPUT);

pinMode (number4, INPUT);

pinMode (number5, INPUT);

lcd.init ();

lcd.taustavalgus ();

pinMode (redPin, OUTPUT);

pinMode (rohelinePin, VÄLJUND);

pinMode (bluePin, OUTPUT);

Void setupis () lõin for -loopi, et luua sõnum, milles öeldakse selle projekti nimi. Põhjus, miks see pole tühjusringis (), on see, et kui see on selles tühimikus, siis sõnum kordub

lcd.setCursor (15, 0); // määrake kursor veeru 15 reale 0

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

{

lcd.scrollDisplayLeft (); // Kerib ekraani sisu üks tühik vasakule.

lcd.print (massiiv1 [positionCounter1]); // Printige teade LCD -ekraanile.

viivitus (tim); // oodake 250 mikrosekundit

}

lcd.clear (); // Puhastab LCD-ekraani ja asetab kursori vasakusse ülanurka.

lcd.setCursor (15, 1); // määrake kursor veeru 15 rea 1 juurde

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

{

lcd.scrollDisplayLeft (); // Kerib ekraani sisu üks tühik vasakule.

lcd.print (massiiv2 [positionCounter]); // Prindi teade LCD -le.

viivitus (tim); // oodake 250 mikrosekundit

}

lcd.clear (); // Puhastab LCD-ekraani ja asetab kursori vasakusse ülanurka.

}

Nüüd, kui oleme tühimike seadistamise () lõpetanud, liigume tühjusringi () juurde. Tühjusringis lõin mitu if-else lauset, et veenduda, et kui teatud tuled põlevad või kustuvad, kuvatakse ekraanil teatud kümnendarv. Lisasin dokumendi, mis näitab, mis on minu tühjusahelas ja paljudes teistes tühimikes, mille olen loonud. Dokumendi vaatamiseks klõpsake siin

Nüüd pole vaja teha muud, kui käivitada kood ja nautida oma uut binaar -kümnendmuundurit.

Soovitan: