Inhoudsopgave:

LCD-rekenmachine door Jai Mishra - Ajarnpa
LCD-rekenmachine door Jai Mishra - Ajarnpa

Video: LCD-rekenmachine door Jai Mishra - Ajarnpa

Video: LCD-rekenmachine door Jai Mishra - Ajarnpa
Video: DSC changing the installer code(*8 code 006 new code) 2024, November
Anonim
LCD-rekenmachine door Jai Mishra
LCD-rekenmachine door Jai Mishra

Tinkercad-projecten »

Dit is een zeer nuttig project dat u leert hoe u uw eigen rekenmachine kunt maken. Je kunt deze rekenmachine online of in het echt maken met behulp van extra benodigdheden, maar voor nu gaan we ons alleen concentreren op het maken van een online rekenmachine.

Benodigdheden

  • Arduino Uno R3
  • 220 Ohm weerstand
  • 4*4 toetsenbord
  • 16*2 LCD
  • Stelletje draden om het circuit aan te sluiten

Stap 1: Verzamel uw benodigdheden op TinkerCad

Verzamel uw benodigdheden op TinkerCad
Verzamel uw benodigdheden op TinkerCad

Zorg ervoor dat al uw benodigdheden beschikbaar zijn voordat we beginnen met stap 2 om stress en fouten te verminderen. Zorg ervoor dat u ook de juiste benodigdheden gebruikt, sommige componenten op deze afbeelding hierboven zijn vergelijkbaar met andere componenten, dus meng u er niet tussen. Gebruik de afbeelding hierboven als leidraad.

Stap 2: Regel uw benodigdheden

Regel uw benodigdheden
Regel uw benodigdheden

Het regelen van uw benodigdheden is de beste manier om een voorbeeld te zien van hoe uw rekenmachine eruit zou kunnen zien. U kunt elk type rekenmachineontwerp maken dat u maar wilt, maar zorg ervoor dat de rekenmachine er natuurlijk uitziet en dat gebruikers het ontwerp kunnen begrijpen en niet in de war raken. Ik gebruikte een typisch stijlvol rekenmachineontwerp dat voor iedereen effectief en begrijpelijk is. Je kunt mijn ontwerp kiezen of je eigen ontwerp maken, maar wat het ook is, wees creatief en veel succes!

Stap 3: De draden aansluiten

De draden aansluiten
De draden aansluiten

Het aansluiten van de draden is een lastige klus als je de betekenis erachter niet begrijpt. In deze bedrading proberen we alle vier de componenten met elkaar te verbinden, zodat ze als een groep kunnen werken wanneer het tijd is om de code te schrijven. Als er geen draden zijn, gaat er geen stroom vloeien, wat leidt tot een mislukt project. Zorg ervoor dat uw draden goed zijn aangesloten zonder misverstanden.

Nadat u klaar bent met het aansluiten van de draden, moet u ervoor zorgen dat uw draden netjes en georganiseerd zijn, zodat het voor u en anderen gemakkelijker is om te begrijpen wat er precies aan de hand is in de hardware van deze rekenmachine. Zoals ik al eerder zei, je kunt mijn techniek gebruiken om je draden te ordenen of je kunt er zelf een maken, maar wat je ook besluit te doen, zorg ervoor dat ze met wat ruimte worden gemonteerd.

Stap 4: De code schrijven

De code schrijven
De code schrijven
De code schrijven
De code schrijven
De code schrijven
De code schrijven

#erbij betrekken

#include #include

LiquidCrystal-lcd (13, 12, 11, 10, 9, 8);

lange eerste = 0; lange seconde = 0; dubbel totaal = 0;

teken customKey; const byte RIJEN = 4; constbyte COLS = 4;

char keys [ROWS][COLS] = { {'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'} }; byte rowPins [ROWS] = {7, 6, 5, 4}; // maak verbinding met de rij-pinouts van de toetsenbordbyte colPins [COLS] = {3, 2, 1, 0}; // verbind met de kolom pinouts van het toetsenbord

// initialiseer een instantie van klasse NewKeypad Keypad customKeypad = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS);

void setup() { lcd.begin (16, 2); // start lcd voor (int i=0;i<=3;i++); lcd.setCursor(0, 0); lcd.print("Rekenmachine"); lcd.setCursor(0, 1); lcd.print("Door Jai Mishra"); vertraging (4000); lcd.wissen(); lcd.print("Eindproject"); vertraging (2500); lcd.wissen(); lcd.setCursor(0, 0); }

lege lus() {

customKey = customKeypad.getKey(); switch(customKey) { case '0' … '9': // Dit blijft de eerste waarde verzamelen totdat een operator wordt ingedrukt "+-*/" lcd.setCursor (0, 0); eerste = eerste * 10 + (customKey - '0'); lcd.print(eerste); pauze;

geval '+': eerste = (totaal != 0 ? totaal: eerst); lcd.setCursor(0, 1); lcd.print("+"); tweede = SecondNumber(); // haal het verzamelde tweede nummer totaal = eerste + tweede; lcd.setCursor(0, 3); lcd.print (totaal); eerste = 0, tweede = 0; // reset waarden terug naar nul voor de volgende gebruikspauze;

geval '-': eerste = (totaal != 0 ? totaal: eerst); lcd.setCursor(0, 1); lcd.print("-"); tweede = SecondNumber(); totaal = eerste - tweede; lcd.setCursor(0, 3); lcd.print (totaal); eerste = 0, tweede = 0; pauze;

case '*': eerste = (totaal != 0 ? totaal: eerst); lcd.setCursor(0, 1); lcd.print("*"); tweede = SecondNumber(); totaal = eerste * tweede; lcd.setCursor(0, 3); lcd.print (totaal); eerste = 0, tweede = 0; pauze;

case '/': eerste = (totaal != 0 ? totaal: eerst); lcd.setCursor(0, 1); lcd.print("/"); tweede = SecondNumber(); lcd.setCursor(0, 3);

seconde == 0 ? lcd.print("Ongeldig"): totaal = (float)first / (float)second;

lcd.print (totaal); eerste = 0, tweede = 0; pauze;

geval 'C': totaal = 0; lcd.wissen(); pauze; } }

lang SecondNumber() { while(1) { customKey = customKeypad.getKey(); if (customKey >= '0' && customKey <= '9') { second = second * 10 + (customKey - '0'); lcd.setCursor(0, 2); lcd.print (tweede); }

if(customKey == '=') breken; // keer terug; } keer terug als tweede; }

Stap 5: De code doorbreken

De code doorbreken
De code doorbreken

We hebben de waarden voor de computer geïnitialiseerd om te begrijpen

#erbij betrekken

#include #include

LiquidCrystal-lcd (13, 12, 11, 10, 9, 8);

lange eerste = 0; lange seconde = 0; dubbel totaal = 0;

teken customKey; const byte RIJEN = 4; constbyte COLS = 4;

We vertelden de computer met welke cijfers en tekens het toetsenbord zou moeten werken

char-toetsen [ROWS][COLS] = { {'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'} };

We hebben de rijen en kolommen van het toetsenbord gefinaliseerd en welk nummer in welke kolom komt, enz

byte rowPins [ROWS] = {7, 6, 5, 4}; byte colPins [COLS] = {3, 2, 1, 0};

We hebben de intro gemaakt, of het aan/uit-scherm voor de computer (je kunt er je eigen naam op schrijven)

void setup(){ lcd.begin (16, 2); for(int i=0;i<=3;i++); lcd.setCursor(0, 0); lcd.print("Rekenmachine"); lcd.setCursor(0, 1); lcd.print("Door Jai Mishra"); vertraging (4000); lcd.wissen(); lcd.print("Eindproject"); vertraging (2500); lcd.wissen(); lcd.setCursor(0, 0); }

We creëren de betekenis en de formule voor elke bewerking in de rekenmachine, zodat de computer begrijpt welke formule moet worden gebruikt wanneer de gebruiker op "+" op de rekenmachine drukt, enz

{ case '0' … '9': lcd.setCursor(0, 0); eerste = eerste * 10 + (customKey - '0'); lcd.print(eerste); pauze;

case '/': eerste = (totaal != 0 ? totaal: eerst); lcd.setCursor(0, 1); lcd.print("/"); tweede = SecondNumber(); lcd.setCursor(0, 3);

seconde == 0 ? lcd.print("Ongeldig"): totaal = (float)first / (float)second;

lcd.print (totaal); eerste = 0, tweede = 0; pauze; geval '+': eerste = (totaal != 0 ? totaal: eerst); lcd.setCursor(0, 1); lcd.print("+"); tweede = SecondNumber(); lcd.setCursor(0, 3); lcd.print (totaal); eerste = 0, tweede = 0; pauze;

geval '-': eerste = (totaal != 0 ? totaal: eerst); lcd.setCursor(0, 1); lcd.print("-"); tweede = SecondNumber(); totaal = eerste - tweede; lcd.setCursor(0, 3); lcd.print (totaal); eerste = 0, tweede = 0; pauze;

case '*': eerste = (totaal != 0 ? totaal: eerst); lcd.setCursor(0, 1); lcd.print("*"); tweede = SecondNumber(); totaal = eerste * tweede; lcd.setCursor(0, 3); lcd.print (totaal); eerste = 0, tweede = 0; pauze;

geval 'C': totaal = 0; lcd.wissen(); pauze; } }

De code is heel eenvoudig, je hoeft hem alleen maar te proberen te begrijpen en dan kan alles eenvoudig worden gedaan. Als er problemen zijn met de code, stuur me dan een e-mail

Stap 6: Hoe werkt de hardware van deze rekenmachine?

Hoe werkt de hardware van deze rekenmachine?
Hoe werkt de hardware van deze rekenmachine?

Deze rekenmachine maakt gebruik van een LCD, een toetsenbord, een Arduino-bord en een weerstand van 220 ohm. Al deze componenten zijn afzonderlijk, maar zijn verbonden met de draden van de Arduino naar het toetsenbord en het LCD-scherm. Verschillende delen van het LCD-scherm zijn verbonden met het Arduino-bord dat ze uiteindelijk beide verbindt met het toetsenbord. Na de verbinding doet de codering al het werk en geeft elke bediening en knop op het toetsenbord een taak om te volgen.

Stap 7: Volledig voorbeeld van de rekenmachine

Zo ziet ons eindproject eruit! Als je code niet werkt, of er zijn technische problemen, stuur me dan een e-mail en ik zal mijn best doen om je te helpen de beste rekenmachine te maken!

Stap 8: Mijn inspiratie voor deze code

Ik werd geïnspireerd door de video hierboven over het maken van een rekenmachine op tinkercad! Ik heb niets gekopieerd en geplakt, maar ik heb zijn idee van de rekenmachine en het begrip van de code gebruikt.

Aanbevolen: