Orodha ya maudhui:

Kikotoo cha Kibadilari hadi Dimaliki: Hatua 8
Kikotoo cha Kibadilari hadi Dimaliki: Hatua 8

Video: Kikotoo cha Kibadilari hadi Dimaliki: Hatua 8

Video: Kikotoo cha Kibadilari hadi Dimaliki: Hatua 8
Video: Rais Magufuli ataka kikokotoo cha zamani kitumike hadi 2023 2024, Novemba
Anonim
Calculator ya Binary hadi Decimal
Calculator ya Binary hadi Decimal

Kwa uhandisi wa kompyuta wa darasa la kumi na moja, ilibidi niamua juu ya mradi wa mwisho. Mwanzoni sikujua ni nini cha kufanya kwa sababu ilibidi ijumuishe vifaa fulani vya vifaa. Baada ya siku chache, mwanafunzi mwenzangu aliniambia nifanye mradi kulingana na nyongeza nne tuliyounda miezi michache iliyopita. Baada ya siku hiyo, kwa kutumia nyongeza yangu nne, niliweza kuunda kibadilishaji kwa kibadilishaji cha desimali.

Kuunda mradi huu inahitaji utafiti mwingi, ambayo ni pamoja na kuelewa jinsi nyongeza kamili na nusu inavyofanya kazi.

Hatua ya 1: Vifaa vinahitajika

Kwa mradi huu, utahitaji vifaa vifuatavyo:

  • Arduino UNO
  • bodi nne za mkate
  • betri tisa-volt
  • milango saba ya XOR (chips 2 za XOR)
  • saba na milango (2 NA chips)
  • milango mitatu AU (1 AU chip)
  • LED tano
  • vipinga nane vya ohm 330
  • Uonyesho wa LCD
  • waya nne za kiume na za kike
  • waya nyingi za kiume na kiume
  • mkataji waya
  • anode ya kawaida RGB LED

Gharama (bila waya): $ 79.82

Gharama zote za vifaa zilipatikana kwenye vifaa vya elektroniki vya ABRA.

Hatua ya 2: Kuelewa 4 Adder

Kuelewa 4 Bit Adder
Kuelewa 4 Bit Adder

Kabla ya kuanza, lazima uelewe jinsi kiboreshaji cha nne-bit hufanya kazi. Tunapoangalia kwanza mzunguko huu, utaona kuwa kuna mzunguko wa nyongeza nusu na nyaya tatu za nyongeza. Kwa sababu nyongeza nne ni mchanganyiko wa nyongeza kamili na nusu, nimechapisha video inayoelezea jinsi aina mbili za nyongeza zinavyofanya kazi.

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

Hatua ya 3: Ujenzi wa 4 Bit Adder

Ujenzi wa 4 Bit Adder
Ujenzi wa 4 Bit Adder
Ujenzi wa 4 Bit Adder
Ujenzi wa 4 Bit Adder

Kuelezea jinsi ya kujenga nyongeza nne ni ngumu sana, kwani inajumuisha wiring nyingi. Kulingana na picha hizi, naweza kukupa ujanja ili kujenga mzunguko huu. Kwanza, njia unayopanga chipu zako za mantiki inaweza kuwa muhimu sana. Ili kuwa na mzunguko mzuri, kuagiza chips zako kwa mpangilio huu: XOR, NA, AU, NA, XOR. Kwa kuwa na agizo hili, sio tu mzunguko wako utakuwa nadhifu, lakini pia itakuwa rahisi kwako kupanga.

Ujanja mwingine mkubwa ni kujenga kila kiboreshaji moja kwa wakati na kutoka upande wa kulia kwenda upande wa kushoto. Makosa ya kawaida ambayo watu wengi wamefanya ni kufanya nyongeza zote kwa wakati mmoja. Kwa kufanya hivyo, unaweza kuchafua kwenye wiring. Kosa moja kwenye nyongeza ya 4-bit inaweza kusababisha jambo lote lisifanye kazi,

Hatua ya 4: Kutoa Nguvu na Ardhi kwa Mzunguko

Kutumia betri 9-volt, toa nguvu na ardhi kwenye ubao wa mkate ambao utakuwa na kiboreshaji cha biti nne. Kwa bodi 3 za mkate zilizobaki, toa nguvu na ardhi kupitia Arduino UNO.

Hatua ya 5: LED za wiring

LED za nyaya
LED za nyaya

Kwa mradi huu, LED tano zitatumika kama kifaa cha kuingiza na kutoa. Kama kifaa cha pato, LED itaangazia nambari ya binary, kulingana na pembejeo zilizowekwa kwenye nyongeza nne. Kama kifaa cha kuingiza, kulingana na ni LED zipi zinazowashwa na kuzimwa, tutaweza kupanga nambari iliyobadilishwa ya binary kwenye onyesho la LCD kama nambari ya decimal. Ili waya wa LED, utaunganisha moja ya hesabu zilizoundwa na kiboreshaji kidogo kwenye mguu wa anode wa LED (mguu mrefu wa LED), hata hivyo kati ya hizi mbili, weka kontena la 330 ohm. Kisha unganisha mguu wa cathode wa LED (mguu mfupi wa LED) kwenye reli ya ardhini. Katikati ya kontena na waya jumla, unganisha kiume na waya wa kiume kwa pini yoyote ya dijiti kwenye Arduino UNO. Rudia hatua hii kwa hesabu tatu zilizobaki na utekelezaji. Pini za dijiti nilizotumia zilikuwa 2, 3, 4, 5 na 6.

Hatua ya 6: Wiring kawaida Anode RGB LED

Wiring kawaida Anode RGB LED
Wiring kawaida Anode RGB LED

Kwa mradi huu, madhumuni ya RGB hii ya LED ni kubadilisha rangi wakati wowote nambari mpya ya desimali inapoundwa kwenye onyesho la LCD. Unapoangalia kwanza anode RGB iliyoongozwa, utaona kuwa ina miguu 4; mguu wa taa nyekundu, mguu wa nguvu (anode), mguu wa kijani kibichi, na mguu mwembamba wa bluu. Mguu wa nguvu (anode) utaunganishwa na reli ya umeme, ikipokea volts 5. Unganisha miguu mitatu iliyobaki ya rangi na vipinga 330 ohm. Kwenye upande mwingine wa kipingaji, tumia waya wa kiume na wa kiume kuiunganisha na pini ya dgital ya PWM kwenye Arduino. Pini ya dijiti ya PWM ni pini yoyote ya dijiti iliyo na laini ya squiggly kando yake. Pini za PWM nilizotumia zilikuwa 9, 10, na 11.

Hatua ya 7: Wiring Uonyesho wa LCD

Wiring Uonyesho wa LCD
Wiring Uonyesho wa LCD

Kwa mradi huu, onyesho la LCD litaonyesha nambari ya binary iliyobadilishwa kuwa desimali. Tunapoangalia onyesho la LCD, utaona pini 4 za kiume. Pini hizo ni VCC, GND, SDA na SCL. Kwa VCC, tumia waya wa kiume na wa kike kuunganisha pini ya VCC kwenye reli ya umeme kwenye ubao wa mkate. Hii itatoa volts 5 kwa pini ya VCC Kwa pini ya GND, iunganishe na reli ya ardhini na waya wa kiume na wa kike. Na pini za SDA na SCL, unganisha kwa pini ya analog na waya wa kiume na wa kike. Niliunganisha siri ya SCL na pini ya Analog A5 na pini ya SDA kwa pini ya Analo A4.

Hatua ya 8: Kuandika Nambari

Sasa kwa kuwa nimeelezea sehemu ya ujenzi wa mradi huu, hebu sasa tuanze nambari. Kwanza, tunahitaji kwanza kupakua na kuagiza maktaba zifuatazo; Maktaba ya LiquidCrystal_I2C, na maktaba ya waya.

#jumuisha #jumuisha

Mara tu unapofanya hivi, unahitaji kutangaza vigeuzi vyote muhimu. Katika aina yoyote ya nambari, lazima utangaze vigeuzi vyako kwanza.

const int tarakimu1 = 2;

int int digit2 = 3;

const int tarakimu3 = 4;

int int digit4 = 5;

const int tarakimu5 = 6;

nambari1 = 0;

nambari mbili = 0;

nambari tatu3 = 0;

tarakimu nne4 = 0;

int tarakimuum5 = 0;

char array1 = "Binary hadi Desimali";

char array2 = "Kubadilisha";

wakati tim = 500; // thamani ya muda wa kuchelewesha

const int redPin = 9;

const int kijaniPin = 10;

const int bluePin = 11;

#fafanua KAWAIDA_ANODE

LiquidCrystal_I2C LCD (0x27, 16, 2);

Katika usanidi batili (), unatangaza aina ya pini kwa anuwai zako zote. Utatumia pia kuanza kwa serial kwa sababu tunatumia AnalogWrite ()

kuanzisha batili ()

{

Serial. Kuanza (9600);

pinMode (tarakimu1, INPUT);

pinMode (tarakimu2, INPUT);

pinMode (tarakimu3, INPUT);

pinMode (tarakimu4, INPUT);

pinMode (tarakimu5, INPUT);

lcd.init ();

lcd taa ya nyuma ();

pinMode (nyekunduPin, OUTPUT);

pinMode (kijaniPin, OUTPUT);

pinMode (bluuPini, OUTPUT);

Katika usanidi batili (), niliunda kitanzi kuunda ujumbe kusema jina la mradi huu. Sababu kwa nini haiko katika kitanzi cha utupu () ni kwamba ikiwa iko katika utupu huo, ujumbe utaendelea kurudia

lcd.setCursor (15, 0); // weka mshale kwenye safu ya 15, mstari wa 0

kwa (int positionCounter1 = 0; nafasiCounter1 <17; nafasiCounter1 ++)

{

lcd.scrollDisplayLeft (); // Vinjari yaliyomo kwenye onyesho nafasi moja kushoto.

lcd.print (safu1 [nafasiCounter1]); // Chapisha ujumbe kwa LCD.

kuchelewesha (tim); // subiri mikrofoni 250

}

lcd wazi (); // Hufuta skrini ya LCD na kuweka mshale kwenye kona ya juu kushoto.

lcd.setCursor (15, 1); // weka mshale kwenye safu ya 15, mstari wa 1

kwa (int positionCounter = 0; nafasiCounter <9; nafasiCounter ++)

{

lcd.scrollDisplayLeft (); // Vinjari yaliyomo kwenye onyesho nafasi moja kushoto.

lcd.print (safu2 [nafasiCounter]); // Chapisha ujumbe kwa LCD.

kuchelewesha (tim); // subiri mikrofoni 250

}

lcd wazi (); // Hufuta skrini ya LCD na kuweka mshale kwenye kona ya juu kushoto.

}

Sasa kwa kuwa tumemaliza usanidi batili (), wacha tuende kwenye kitanzi batili (). Katika kitanzi batili, niliunda taarifa kadhaa ikiwa -ngine ili kuhakikisha kuwa wakati taa fulani imewashwa au imezimwa, itaonyesha nambari fulani ya desimali kwenye onyesho. Nimeambatanisha hati inayoonyesha kilicho ndani ya kitanzi changu tupu na matupu mengine mengi ambayo nimeunda. Bonyeza hapa kutembelea hati

Sasa unachohitajika kufanya ni kuendesha kificho na kufurahiya binary yako mpya kwa ubadilishaji wa decimal.

Ilipendekeza: