Sisällysluettelo:

Binaarinen desimaalilaskin: 8 vaihetta
Binaarinen desimaalilaskin: 8 vaihetta

Video: Binaarinen desimaalilaskin: 8 vaihetta

Video: Binaarinen desimaalilaskin: 8 vaihetta
Video: Lesson 04: Introduction to Base number Binary, Decimal, Hexadecimal and Octal 2024, Heinäkuu
Anonim
Binaarinen desimaalilaskin
Binaarinen desimaalilaskin

Yhdentoista luokan tietotekniikan osalta minun oli päätettävä lopullisesta projektista. Aluksi en tiennyt mitä tehdä, koska sen piti sisältää tiettyjä laitteistokomponentteja. Muutaman päivän kuluttua luokkatoverini käski minun tehdä projektin, joka perustuu muutama kuukausi sitten luomaamme neljän bitin summaimeen. Tämän päivän jälkeen pystyin luomaan binaarinen desimaalimuunnin käyttämällä nelibittistä summainta.

Tämän projektin luominen vaatii paljon tutkimusta, joka käsittää lähinnä ymmärryksen siitä, kuinka täys- ja puolisäiliö toimii.

Vaihe 1: Tarvittavat materiaalit

Tätä projektia varten tarvitset seuraavat materiaalit:

  • Arduino UNO
  • neljä leipälautaa
  • yhdeksän voltin akku
  • seitsemän XOR -porttia (2 XOR -sirua)
  • seitsemän JA porttia (2 JA pelimerkkiä)
  • kolme TAI -porttia (1 TAI siru)
  • viisi LEDiä
  • kahdeksan 330 ohmin vastusta
  • LCD -näyttö
  • neljä uros-naarasjohtoa
  • paljon uros-urosjohtoja
  • langanpoistaja
  • tavallinen anodi RGB -LED

Hinta (ilman johtoja): 79,82 dollaria

Kaikki materiaalikustannukset löytyivät ABRA -elektroniikasta.

Vaihe 2: 4 -bittisen lisäyksen ymmärtäminen

4 -bittisen lisäajan ymmärtäminen
4 -bittisen lisäajan ymmärtäminen

Ennen kuin aloitamme, sinun on ymmärrettävä, miten nelibittinen summain toimii. Kun tarkastelemme ensimmäistä kertaa tätä piiriä, huomaat, että on olemassa puoli summainpiiri ja kolme täydellistä lisäpiiriä. Koska nelibittinen summain on yhdistelmä täys- ja puolisummaa, olen julkaissut videon, jossa selitetään, kuinka nämä kaksi lisäystapaa toimivat.

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

Vaihe 3: 4 -bittisen summaimen rakentaminen

4 -bittisen lisäajan rakentaminen
4 -bittisen lisäajan rakentaminen
4 -bittisen lisäajan rakentaminen
4 -bittisen lisäajan rakentaminen

Nelibittisen summaimen rakentamisen selittäminen on erittäin vaikeaa, koska siihen liittyy paljon johdotuksia. Näiden kuvien perusteella voin antaa sinulle joitain temppuja tämän piirin rakentamiseksi. Ensinnäkin tapa, jolla järjestät logiikkapiirisi, voi olla erittäin tärkeä. Saadaksesi siistin piirin, tilaa pelimerkit tässä järjestyksessä: XOR, AND, OR, AND, XOR. Tämän tilauksen avulla piirisi ei ole vain siisti, vaan se on myös erittäin helppo järjestää.

Toinen hieno temppu on rakentaa jokainen summain yksi kerrallaan ja oikealta puolelta vasemmalle. Yleinen virhe, jonka monet ihmiset ovat tehneet, on tehdä kaikki lisäykset samanaikaisesti. Näin tekemällä voit sotkea johdot. Yksi virhe 4-bittisessä lisäyksessä voi aiheuttaa sen, että kaikki ei toimi,

Vaihe 4: Virta ja maadoitus piirille

Syötä 9 voltin paristolla virta ja maadoitus leipälevylle, joka sisältää neljän bittisen lisäosan. Muille 3 leipälevylle, anna sille virta ja maadoitus Arduino UNO: n kautta.

Vaihe 5: LED -valojen kytkentä

Johdotuksen LEDit
Johdotuksen LEDit

Tässä projektissa viittä LEDiä käytetään tulo- ja lähtölaitteena. Lähtölaitteena LED -valo valaisee binääriluvun nelibittisen summaimen tuloista riippuen. Syöttölaitteena voimme heijastaa muunnetun binääriluvun nestekidenäytöllä desimaalilukuna riippuen siitä, mitkä LEDit palavat ja sammuvat. Johdottaaksesi LED -valon, kytke yksi neljästä bittisestä lisäyksestä muodostetuista summista LED -valon anodijalkaan (pitkä LED -jalka), mutta näiden kahden väliin asetetaan 330 ohmin vastus. Liitä sitten LEDin katodijalka (lyhyt LED -jalka) maadoituskiskoon. Liitä vastuksen ja summajohdon välissä uros -urosjohto mihin tahansa Arduino UNO: n digitaaliseen nastaan. Toista tämä vaihe kolmen jäljellä olevan summan ja suorituksen osalta. Käyttämäni digitaaliset nastat olivat 2, 3, 4, 5 ja 6.

Vaihe 6: Yhteisen anodin RGB -LEDin kytkentä

Johdotus Yleinen anodi RGB -LED
Johdotus Yleinen anodi RGB -LED

Tässä projektissa tämän RGB -LEDin tarkoituksena on muuttaa värejä aina, kun nestekidenäytölle muodostuu uusi desimaaliluku. Kun tarkastelet ensin tavallista anodia RGB -lediä, huomaat, että siinä on 4 jalkaa; punaisen valon jalka, teho (anodi) jalka, vihreän valon jalka ja sinisen valon jalka. Virta (anodi) -jalka kytketään virtakiskoon, ja se saa 5 volttia. Liitä loput kolme värijalkaa 330 ohmin vastuksilla. Käytä vastuksen toisessa päässä uros -urosjohtoa liittämään se PWM dgital -tappiin Arduinossa. PWM -digitaalinen tappi on mikä tahansa digitaalinen tappi, jonka vieressä on vinoviiva. Käyttämäni PWM -nastat olivat 9, 10 ja 11.

Vaihe 7: LCD -näytön kytkentä

LCD -näytön kytkentä
LCD -näytön kytkentä

Tässä projektissa LCD -näyttö projisoi muunnetun binääriluvun desimaaliksi. Kun katsomme LCD -näyttöä, huomaat 4 urospistettä. Nämä nastat ovat VCC, GND, SDA ja SCL. Käytä VCC: tä uros -naarasjohdolla kytkeäksesi VCC -nastan leipälevyn virtakiskoon. Tämä antaa 5 volttia VCC -nastaan Kytke GND -nasta maadoituskiskoon uros -naarasjohdolla. Yhdistä SDA- ja SCL -nastat analogiseen nastaan uros -naaraslangalla. Liitin SCL -nastan analogiseen nastaan A5 ja SDA -nastan analogiseen nastaan A4.

Vaihe 8: Koodin kirjoittaminen

Nyt kun olen selittänyt tämän projektin rakennusosan, aloitetaan nyt koodi. Ensinnäkin meidän on ensin ladattava ja tuotava seuraavat kirjastot; LiquidCrystal_I2C -kirjasto ja lankakirjasto.

#Sisällytä #Sisällytä

Kun olet tehnyt tämän, sinun on ilmoitettava kaikki tarvittavat muuttujat. Kaikissa koodityypeissä sinun on ensin ilmoitettava muuttujasi.

const int numero1 = 2;

const int numero2 = 3;

const int numero3 = 4;

const int numero4 = 5;

const int numero5 = 6;

int numerosumma1 = 0;

int numerosumma2 = 0;

int numerosumma3 = 0;

int numerosumma4 = 0;

int numerosumma5 = 0;

char array1 = "Binaarinen desimaaliin";

char array2 = "Muunnin";

int tim = 500; // viiveajan arvo

const int redPin = 9;

const int vihreäPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

Void setupissa () ilmoitat kaikkien muuttujiesi pin -tyypin. Käytät myös sarjakäynnistystä, koska käytämme analogWrite (): ää

mitätön asennus ()

{

Sarja.alku (9600);

pinMode (numero1, TULO);

pinMode (numero2, TULO);

pinMode (numero 3, INPUT);

pinMode (numero 4, INPUT);

pinMode (numero 5, INPUT);

lcd.init ();

lcd.taustavalo ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

Void setupissa () loin for -silmukan luomaan viestin, jossa kerrotaan tämän projektin nimi. Syy, miksi se ei ole tyhjässä silmukassa (), on se, että jos se on tuossa tyhjässä, viesti toistuu jatkuvasti

lcd.setCursor (15, 0); // aseta kohdistin sarakkeeseen 15, rivi 0

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

{

lcd.scrollDisplayLeft (); // Selaa näytön sisältöä yhden välilyönnin vasemmalle.

lcd.print (array1 [positionCounter1]); // Tulosta viesti nestekidenäyttöön.

viive (tim); // odota 250 mikrosekuntia

}

lcd.clear (); // Tyhjentää LCD-näytön ja asettaa kohdistimen vasempaan yläkulmaan.

lcd.setCursor (15, 1); // aseta kohdistin sarakkeeseen 15, rivi 1

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

{

lcd.scrollDisplayLeft (); // Selaa näytön sisältöä yhden välilyönnin vasemmalle.

lcd.print (array2 [positionCounter]); // Tulosta viesti nestekidenäyttöön.

delay (tim); // odota 250 mikrosekuntia

}

lcd.clear (); // Tyhjentää LCD-näytön ja asettaa kohdistimen vasempaan yläkulmaan.

}

Nyt kun olemme lopettaneet tyhjän asennuksen (), siirrytään tyhjäsilmukkaan (). Olen luonut tyhjiösilmukkaan useita if-else -lausekkeita varmistaakseni, että kun tietyt valot syttyvät tai sammuvat, se näyttää tietyn desimaaliluvun näytöllä. Olen liittänyt asiakirjaa, joka osoittaa mitä on minun tyhjyyssilmukassani ja monia muita luomiani tyhjiöitä. Siirry dokumenttiin napsauttamalla tätä

Nyt sinun tarvitsee vain ajaa koodi ja nauttia uudesta binäärimuunnoksesta desimaalimuuntimeen.

Suositeltava: