Innehållsförteckning:

Binär till decimalräknare: 8 steg
Binär till decimalräknare: 8 steg

Video: Binär till decimalräknare: 8 steg

Video: Binär till decimalräknare: 8 steg
Video: Omvandla från decimalform till bråkform 2024, Juli
Anonim
Binär till decimalräknare
Binär till decimalräknare

För elva datorteknik fick jag bestämma mig för ett slutprojekt. Först visste jag inte vad jag skulle göra eftersom det måste innehålla vissa hårdvarukomponenter. Efter några dagar sa min klasskamrat till mig att göra ett projekt baserat på den fyra bitars adderaren vi skapade för några månader sedan. Efter den dagen, med min fyra bitars adderare, kunde jag skapa en binär till decimalomvandlare.

Att skapa detta projekt kräver mycket forskning, som främst innefattar att förstå hur en hel och en halv adder fungerar.

Steg 1: Material som behövs

För detta projekt behöver du följande material:

  • Arduino UNO
  • fyra brödbrädor
  • nio volt batteri
  • sju XOR -portar (2 XOR -chips)
  • sju OCH grindar (2 OCH marker)
  • tre ELLER grindar (1 ELLER chip)
  • fem lysdioder
  • åtta 330 ohm motstånd
  • LCD skärm
  • fyra man-hon-trådar
  • massor av man-han-trådar
  • trådavlägsnare
  • vanlig anod RGB LED

Kostnad (exklusive ledningar): $ 79,82

Alla materialkostnader hittades på ABRA elektronik.

Steg 2: Förstå 4 Bit Adder

Förstå 4 Bit Adder
Förstå 4 Bit Adder

Innan vi börjar måste du förstå hur en fyrbitars adderare fungerar. När vi först tittar på denna krets kommer du att märka att det finns en halv adderkrets och tre hela adderkretsar. Eftersom en fyrbitars adderare är en kombination av en hel och en halv adder har jag lagt upp en video som förklarar hur de två typerna av adder fungerar.

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

Steg 3: Bygg 4 -bitars adderaren

Bygga 4 -bitars Adder
Bygga 4 -bitars Adder
Bygga 4 -bitars Adder
Bygga 4 -bitars Adder

Att förklara hur man bygger en fyrbitars adderare är mycket svårt, eftersom det innebär mycket kabeldragning. Baserat på dessa bilder kan jag ge dig några knep för att bygga denna krets. För det första kan sättet att ordna dina logikchips vara mycket viktigt. För att få en snygg krets, beställ dina marker i denna ordning: XOR, AND, OR, AND, XOR. Genom att ha denna ordning blir din krets inte bara snygg, utan det kommer också att vara mycket enkelt för dig att organisera.

Ett annat bra knep är att bygga varje adderare en i taget och från höger sida till vänster. Ett vanligt misstag som många har gjort är att göra alla adders samtidigt. Genom att göra detta kan du röra i ledningarna. Ett misstag i 4-bitars adderaren kan göra att det hela inte fungerar,

Steg 4: Ge ström och jord till kretsen

Använd 9-voltsbatteriet, ge ström och jord till brödbrädan som kommer att innehålla den fyra-bitars adderaren. För de återstående 3 brödbrädorna, ge ström och jord till den via Arduino UNO.

Steg 5: Ledningsdioder

Ledningsdioder
Ledningsdioder

För detta projekt kommer de fem lysdioderna att användas som in- och utmatningsenhet. Som en utmatningsenhet kommer lysdioden att lysa upp ett binärt tal, beroende på ingångarna som läggs in i fyrbitarsadderaren. Som inmatningsenhet, beroende på vilka lysdioder som är på och av, kommer vi att kunna projicera det konverterade binära talet på LCD -skärmen som ett decimaltal. För att leda LED: n ansluter du en av de summor som bildas av fyrbitarsadderaren till LED -anodbenet (LED -ben), men placera ett motstånd på 330 ohm mellan dessa två. Anslut sedan katodbenet på lysdioden (kort ben på LED) till markskenan. Mellan motståndet och summetråden ansluter du en han till en han till en digital stift på Arduino UNO. Upprepa detta steg för de tre återstående summorna och utförandet. De digitala stiften jag använde var 2, 3, 4, 5 och 6.

Steg 6: Anslutning av vanlig anod RGB LED

Ledningsdragning vanlig anod RGB LED
Ledningsdragning vanlig anod RGB LED

För detta projekt är syftet med denna RGB -LED att ändra färger när ett nytt decimaltal bildas på LCD -skärmen. När du först tittar på den vanliga anoden RGB -led, kommer du att märka att den har 4 ben; ett rött ljusben, ett kraft (anod) ben, ett grönt ljusben och ett blått ben. Strömbenet (anod) kommer att anslutas till kraftskenan och ta emot 5 volt. Anslut de återstående tre färgbenen med 330 ohm motstånd. I andra änden av motståndet använder du en man till man -kabel för att ansluta den till en PWM dgital -stift på Arduino. Den digitala PWM -stiftet är vilken som helst digital stift med en snurrig linje bredvid. PWM -stiften som jag använde var 9, 10 och 11.

Steg 7: Anslutning av LCD -skärmen

Anslutning av LCD -skärmen
Anslutning av LCD -skärmen

För detta projekt projicerar LCD -displayen det konverterade binära talet till en decimal. När vi tittar på LCD -displayen kommer du att märka 4 stift. Dessa stift är VCC, GND, SDA och SCL. För VCC, använd en man till hon -kabel för att ansluta VCC -stiftet till kraftskenan på brödbrädet. Detta ger 5 volt till VCC -stiftet. För GND -stiftet ansluter du det till jordskenan med en han- till honkabel. Med SDA- och SCL -stiften ansluter du den till en analog stift med en manlig till femal tråd. Jag kopplade SCL -stiftet till analog stift A5 och SDA -stiftet till analog stift A4.

Steg 8: Skriva koden

Nu när jag har förklarat byggnadsdelen av detta projekt, låt oss nu börja koden. För det första måste vi först ladda ner och importera följande bibliotek; LiquidCrystal_I2C -biblioteket och trådbiblioteket.

#inkludera #inkludera

När du har gjort detta måste du deklarera alla nödvändiga variabler. I vilken typ av kod som helst måste du först deklarera dina variabler.

const int digit1 = 2;

const int digit2 = 3;

const int digit3 = 4;

const int digit4 = 5;

const int digit5 = 6;

int digitsum1 = 0;

int digitsum2 = 0;

int digitsum3 = 0;

int digitsum4 = 0;

int digitsum5 = 0;

char array1 = "Binärt till decimal";

char array2 = "Omvandlare";

int tim = 500; // värdet av fördröjningstid

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

I tomrumsinställningen () deklarerar du stifttypen för alla dina variabler. Du kommer också att använda en seriell start eftersom vi använder analogWrite ()

void setup ()

{

Serial.begin (9600);

pinMode (digit1, INPUT);

pinMode (digit2, INPUT);

pinMode (digit3, INPUT);

pinMode (digit4, INPUT);

pinMode (digit5, INPUT);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

I void setup () skapade jag en for loop för att skapa ett meddelande med namnet på detta projekt. Anledningen till att det inte finns i tomrumsslingan () är att om det är i det tomrummet fortsätter meddelandet att upprepas

lcd.setCursor (15, 0); // ställ markören till kolumn 15, rad 0

för (int positionCounter1 = 0; positionCounter1 <17; positionCounter1 ++)

{

lcd.scrollDisplayLeft (); // Bläddrar innehållet i displayen ett mellanslag till vänster.

lcd.print (array1 [positionCounter1]); // Skriv ut ett meddelande till LCD -skärmen.

fördröjning (tim); // vänta i 250 mikrosekunder

}

lcd.clear (); // Rensar LCD-skärmen och placerar markören i det övre vänstra hörnet.

lcd.setCursor (15, 1); // ställ markören till kolumn 15, rad 1

för (int positionCounter = 0; positionCounter <9; positionCounter ++)

{

lcd.scrollDisplayLeft (); // Bläddrar innehållet i displayen ett mellanslag till vänster.

lcd.print (array2 [positionCounter]); // Skriv ut ett meddelande till LCD -skärmen.

fördröjning (tim); // vänta i 250 mikrosekunder

}

lcd.clear (); // Rensar LCD-skärmen och placerar markören i det övre vänstra hörnet.

}

Nu när vi har avslutat tomrumsinställningen (), låt oss gå vidare till tomrumsslingan (). I tomrumsslingan skapade jag flera if-else-uttalanden för att se till att när vissa lampor är tända eller släckta, kommer det att visa ett visst decimaltal på displayen. Jag har bifogat ett dokument som visar vad som finns i min tomrumsslinga och de många andra tomrum jag har skapat. Klicka här för att besöka dokumentet

Allt du behöver göra är att köra koden och njuta av din nya binära till decimalomvandlare.

Rekommenderad: