Inhoudsopgave:
- Stap 1: Benodigde materialen
- Stap 2: 4 Bit Adder begrijpen
- Stap 3: De 4-bits opteller bouwen
- Stap 4: Stroom en aarde leveren aan het circuit
- Stap 5: Bedrading LED's
- Stap 6: Bedrading Common Anode RGB LED
- Stap 7: Bedrading van het LCD-scherm
- Stap 8: De code schrijven
Video: Binair naar decimale rekenmachine - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Voor klas elf computertechniek moest ik beslissen over een afstudeerproject. In het begin wist ik niet wat ik moest maken omdat er bepaalde hardwarecomponenten in moesten. Na een paar dagen zei mijn klasgenoot dat ik een project moest doen op basis van de vier-bits opteller die we een paar maanden geleden hadden gemaakt. Na die dag kon ik met mijn vier-bits opteller een binair naar decimaal converter maken.
Het maken van dit project vereist veel onderzoek, waarbij vooral wordt begrepen hoe een volledige en halve opteller werkt.
Stap 1: Benodigde materialen
Voor dit project heb je de volgende materialen nodig:
- Arduino UNO
- vier breadboards
- negen volt batterij
- zeven XOR-poorten (2 XOR-chips)
- zeven AND-poorten (2 AND-chips)
- drie OF-poorten (1 OF-chip)
- vijf LED's
- acht weerstanden van 330 ohm
- LCD scherm
- vier mannelijke-vrouwelijke draden
- veel mannelijke-mannelijke draden
- draad stripper
- gemeenschappelijke anode RGB LED
Kosten (exclusief draden): $ 79,82
Alle materiaalkosten werden gevonden op ABRA-elektronica.
Stap 2: 4 Bit Adder begrijpen
Voordat we beginnen, moet u begrijpen hoe een vier-bits opteller werkt. Wanneer we voor het eerst naar deze schakeling kijken, zult u merken dat er een halve optellerschakeling en drie volledige optellerschakelingen zijn. Omdat een vier-bits opteller een combinatie is van een volledige en een halve opteller, heb ik een video geplaatst waarin wordt uitgelegd hoe de twee soorten optellers werken.
www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s
Stap 3: De 4-bits opteller bouwen
Uitleggen hoe je een vier-bits opteller moet bouwen is erg moeilijk, omdat er veel bedrading bij komt kijken. Op basis van deze foto's kan ik je wat trucjes geven om dit circuit te bouwen. Ten eerste kan de manier waarop u uw logica-chips rangschikt erg belangrijk zijn. Om een nette schakeling te hebben, bestelt u uw chips in deze volgorde: XOR, AND, OR, AND, XOR. Door deze volgorde te hebben, wordt uw circuit niet alleen netjes, maar kunt u het ook heel gemakkelijk organiseren.
Een andere geweldige truc is om elke opteller één voor één en van de rechterkant naar de linkerkant te bouwen. Een veelgemaakte fout die veel mensen hebben gemaakt, is dat ze alle adders tegelijkertijd doen. Door dit te doen, zou je de bedrading kunnen verknoeien. Een fout in de 4-bits opteller kan ervoor zorgen dat het hele ding niet werkt,
Stap 4: Stroom en aarde leveren aan het circuit
Gebruik de 9-volt batterij om stroom en aarde te leveren aan het breadboard dat de vierbits-opteller gaat bevatten. Voor de resterende 3 breadboards, zorg voor stroom en aarde via de Arduino UNO.
Stap 5: Bedrading LED's
Voor dit project zullen de vijf LED's worden gebruikt als invoer- en uitvoerapparaat. Als uitvoerapparaat zal de LED een binair getal oplichten, afhankelijk van de invoer die in de vierbits-opteller is geplaatst. Als invoerapparaat kunnen we, afhankelijk van welke LED's aan en uit zijn, het geconverteerde binaire getal als een decimaal getal op het LCD-scherm projecteren. Om de LED te bedraden, sluit je een van de sommen gevormd door de vier bits opteller aan op de anodepoot van de LED (lange LED-poot), maar plaats tussen deze twee een weerstand van 330 ohm. Verbind vervolgens de kathodepoot van de LED (korte ledpoot) met de grondrail. Sluit tussen de weerstand en de somdraad een mannelijke naar mannelijke draad aan op een digitale pin op de Arduino UNO. Herhaal deze stap voor de drie resterende bedragen en de carry-out. De digitale pinnen die ik gebruikte waren 2, 3, 4, 5 en 6.
Stap 6: Bedrading Common Anode RGB LED
Voor dit project is het doel van deze RGB-LED om van kleur te veranderen wanneer een nieuw decimaal getal op het LCD-scherm wordt gevormd. Als je voor het eerst naar de gemeenschappelijke anode RGB-led kijkt, zul je merken dat deze 4 pootjes heeft; een roodlichtbeen, een kracht(anode)been, een groenlichtbeen en een blauwlichtbeen. De voedingspoot (anode) wordt verbonden met de voedingsrail en ontvangt 5 volt. Verbind de overige drie gekleurde poten met weerstanden van 330 ohm. Gebruik aan het andere uiteinde van de weerstand een mannelijke naar mannelijke draad om deze aan te sluiten op een PWM-digitale pin op de Arduino. De digitale PWM-pin is elke digitale pin met een kronkelende lijn ernaast. De PWM-pinnen die ik gebruikte waren 9, 10 en 11.
Stap 7: Bedrading van het LCD-scherm
Voor dit project projecteert het LCD-scherm het geconverteerde binaire getal in een decimaal. Als we naar het LCD-scherm kijken, ziet u 4 mannelijke pinnen. Die pinnen zijn VCC, GND, SDA en SCL. Gebruik voor de VCC een mannelijke naar vrouwelijke draad om de VCC-pin aan te sluiten op de voedingsrail op het breadboard. Dit levert 5 volt aan de VCC-pin. Sluit de GND-pin aan op de grondrail met een mannelijke naar vrouwelijke draad. Verbind de SDA- en SCL-pinnen met een analoge pin met een mannelijke naar vrouwelijke draad. Ik heb de SCL-pin aangesloten op analoge pin A5 en de SDA-pin op analoge pin A4.
Stap 8: De code schrijven
Nu ik het bouwgedeelte van dit project heb uitgelegd, laten we nu beginnen met coderen. Ten eerste moeten we eerst de volgende bibliotheken downloaden en importeren; LiquidCrystal_I2C-bibliotheek en de draadbibliotheek.
#include #include
Zodra u dit hebt gedaan, moet u alle benodigde variabelen declareren. In elk type code moet u eerst uw variabelen declareren.
const int cijfer1 = 2;
const int cijfer2 = 3;
const int cijfer3 = 4;
const int cijfer4 = 5;
const int cijfer5 = 6;
int cijfersom1 = 0;
int cijfersom2 = 0;
int cijfersom3 = 0;
int cijfersom4 = 0;
int cijfersom5 = 0;
char array1="Binair naar Decimaal";
char array2="Converter";
int-tim = 500; //de waarde van de vertragingstijd
const int redPin = 9;
const int greenPin = 10;
const int bluePin = 11;
#define COMMON_ANODE
LiquidCrystal_I2C lcd (0x27, 16, 2);
In de void setup() declareer je het pintype voor al je variabelen. Je zult ook een serieel begin gebruiken omdat we analogWrite() gebruiken
ongeldige setup()
{
Serieel.begin(9600);
pinMode(cijfer1, INPUT);
pinMode(cijfer2, INPUT);
pinMode(cijfer3, INPUT);
pinMode(cijfer4, INPUT);
pinMode(cijfer5, INPUT);
lcd.init();
lcd.achtergrondverlichting();
pinMode (redPin, UITGANG);
pinMode(greenPin, OUTPUT);
pinMode (bluePin, UITGANG);
In de void setup() heb ik een for-lus gemaakt om een bericht te maken met de naam van dit project. De reden waarom het niet in de lege lus() is, is dat als het zich in die lege ruimte bevindt, het bericht zich blijft herhalen
lcd.setCursor(15, 0); // zet de cursor op kolom 15, regel 0
for (int positionCounter1 = 0; positionCounter1 < 17; positionCounter1++)
{
lcd.scrollDisplayLeft(); // Schuift de inhoud van het scherm één spatie naar links.
lcd.print(array1[positionCounter1]); // Druk een bericht af op het LCD-scherm.
vertraging (tijd); // wacht 250 microseconden
}
lcd.wissen(); // Wist het LCD-scherm en plaatst de cursor in de linkerbovenhoek.
lcd.setCursor (15, 1); // zet de cursor op kolom 15, regel 1
for (int positionCounter = 0; positionCounter < 9; positionCounter++)
{
lcd.scrollDisplayLeft(); // Schuift de inhoud van het scherm één spatie naar links.
lcd.print(array2[positionCounter]);// Druk een bericht af op het LCD-scherm.
vertraging (tim);//wacht 250 microseconden
}
lcd.wissen(); // Wist het LCD-scherm en plaatst de cursor in de linkerbovenhoek.
}
Nu we klaar zijn met de void setup(), gaan we verder met de void loop(). In de void-lus heb ik verschillende if-else-instructies gemaakt om ervoor te zorgen dat wanneer bepaalde lampjes aan of uit zijn, een bepaald decimaal getal op het display wordt weergegeven. Ik heb een document bijgevoegd dat laat zien wat er in mijn void-lus zit en de vele andere voids die ik heb gemaakt. Klik hier om naar het document te gaan
Nu hoef je alleen nog maar de code uit te voeren en te genieten van je nieuwe binaire naar decimale converter.
Aanbevolen:
Games uploaden naar Arduboy en 500 games naar Flash-cart: 8 stappen
Spellen uploaden naar Arduboy en 500 spellen naar Flash-cart: Ik heb een zelfgemaakte Arduboy gemaakt met serieel Flash-geheugen dat maximaal 500 spellen kan opslaan om onderweg te spelen. Ik hoop te delen hoe je games kunt laden, inclusief hoe je games opslaat in het seriële flash-geheugen en je eigen geconsolideerde gamepakket kunt maken
Flash AT Command Firmware naar ESP01-module (vereist een USB-naar-TTL-adapter): 5 stappen
Flash AT Command Firmware naar ESP01-module (vereist een USB-naar-TTL-adapter): door Jay Amiel AjocGensan PHfacebook.com/geeamealyoutube.com/jayamielajoc
Binair spel: 9 stappen (met afbeeldingen)
Binair spel: dit is een spel dat ik op Tinkercad Circuits heb gemaakt om binaire getallen te leren. https://www.tinkercad.com/things/erDquXcpyW8Als je deze handleiding wilt volgen en je eigen wilt bouwen, zijn de bestanden en code te vinden op mijn github op https://github.com/kee
Binair tellen en gelijkstellen: 6 stappen
Tellen en gelijkstellen in binair: Geef een algemene beschrijving van de Instructablethis is mijn tweede binaire instructable. Dit gaat in binaire wiskundige vergelijkingen. sectie 1 laat zien hoe je binair kunt tellen met je handen, terwijl sectie 2 je in geschreven vorm laat zien. Even een kanttekening, w
12v naar USB-adapter 12v naar 5v transformator (ideaal voor auto's): 6 stappen
12v naar USB-adapter 12v naar 5v-transformator (ideaal voor auto's): hier wordt uitgelegd hoe u een 12v-naar-USB (5v)-adapter maakt. Het meest voor de hand liggende gebruik hiervan is voor 12v-autoadapters, maar overal waar je 12v hebt, kun je het gebruiken! Als je 5v nodig hebt voor iets anders dan USB, sla dan gewoon de stappen over het toevoegen van de USB-poorten over