INHOUDSOPGAWE:
- Voorrade
- Stap 1: Versamel u voorraad op TinkerCad
- Stap 2: Rangskik u voorraad
- Stap 3: Verbind die drade
- Stap 4: Skryf die kode
- Stap 5: Die kode afbreek
- Stap 6: Hoe werk die hardeware van hierdie sakrekenaar?
- Stap 7: Volledige voorskou van die sakrekenaar
- Stap 8: My inspirasie vir hierdie kode
Video: LCD Sakrekenaar deur Jai Mishra: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Tinkercad -projekte »
Dit is 'n baie nuttige projek wat u leer hoe om u eie sakrekenaar te maak. U kan hierdie sakrekenaar aanlyn of in die werklike lewe met behulp van ekstra voorrade skep, maar vir eers gaan ons slegs fokus op die skep van 'n aanlyn sakrekenaar.
Voorrade
- Arduino Uno R3
- 220 Ohm weerstand
- 4*4 Toetsenbord
- 16*2 LCD
- 'N Klomp drade om die stroombaan aan te sluit
Stap 1: Versamel u voorraad op TinkerCad
Maak seker dat al u voorraad beskikbaar is voordat ons met stap 2 begin om spanning en foute te verminder. Maak seker dat u ook die regte toebehore gebruik; sommige van die komponente op hierdie prent hierbo is soortgelyk aan ander komponente, dus moenie daardeur gemeng word nie. Gebruik die prent hierbo as leidraad.
Stap 2: Rangskik u voorraad
Deur u voorraad te rangskik, is die beste manier om 'n voorsmakie te sien van hoe u sakrekenaar kan lyk. U kan enige tipe sakrekenaarontwerp skep, maar sorg dat die sakrekenaar natuurlik lyk en dat gebruikers die ontwerp kan verstaan en nie deurmekaar raak nie. Ek het 'n tipiese, elegante sakrekenaarontwerp gebruik wat deur almal effektief en verstaanbaar is. U kan my ontwerp kies of u eie ontwerp, maar wees kreatief en sterkte!
Stap 3: Verbind die drade
Dit is moeilik om die drade aan te sluit as u nie die betekenis daarvan verstaan nie. In hierdie bedrading probeer ons om al vier komponente aan mekaar te koppel, sodat hulle as 'n groep kan werk as dit tyd is om die kode te skryf. As daar geen drade is nie, sal geen stroom vloei nie, wat lei tot 'n mislukte projek. Maak seker dat u drade behoorlik verbind is sonder enige misverstand.
Nadat u die drade verbind het, moet u seker maak dat u drade netjies en georganiseerd is, sodat dit makliker is vir u en ander om te verstaan wat presies in die hardeware van hierdie sakrekenaar aangaan. Soos ek al voorheen gesê het, kan u my tegniek gebruik om u drade te organiseer, of u kan u eie maak, maar wat u ook al besluit om te doen, maak seker dat hulle genoeg ruimte het.
Stap 4: Skryf die kode
#insluit
#include #include
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
lank eerste = 0; lang sekonde = 0; dubbele totaal = 0;
char customKey; const byte RYDE = 4; const byte COLS = 4;
char sleutels [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; byte rowPins [ROWS] = {7, 6, 5, 4}; // maak verbinding met die ry -uitknoppies van die sleutelbord -byte colPins [COLS] = {3, 2, 1, 0}; // maak verbinding met die kolomknoppies van die bedieningspaneel
// initialiseer 'n instansie van die klas NewKeypad Keypad customKeypad = Keypad (makeKeymap (sleutels), rowPins, colPins, ROWS, COLS);
ongeldige opstelling () {lcd.begin (16, 2); // begin lcd vir (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Sakrekenaar"); lcd.setCursor (0, 1); lcd.print ("Deur Jai Mishra"); vertraging (4000); lcd.clear (); lcd.print ("Finale projek"); vertraging (2500); lcd.clear (); lcd.setCursor (0, 0); }
leemte -lus () {
customKey = customKeypad.getKey (); switch (customKey) {case '0' … '9': // Dit versamel steeds die eerste waarde totdat 'n operator "+-*/" lcd.setCursor (0, 0) ingedruk word; eerste = eerste * 10 + (customKey - '0'); lcd.print (eerste); breek;
geval '+': eerste = (totaal! = 0? totaal: eerste); lcd.setCursor (0, 1); lcd.print ("+"); tweede = TweedeNommer (); // kry die ingesamel die tweede getal totaal = eerste + tweede; lcd.setCursor (0, 3); lcd.print (totaal); eerste = 0, tweede = 0; // stel waardes terug op nul vir die volgende gebruiksbreek;
geval '-': eerste = (totaal! = 0? totaal: eerste); lcd.setCursor (0, 1); lcd.print ("-"); tweede = TweedeNommer (); totaal = eerste - tweede; lcd.setCursor (0, 3); lcd.print (totaal); eerste = 0, tweede = 0; breek;
geval '*': eerste = (totaal! = 0? totaal: eerste); lcd.setCursor (0, 1); lcd.print ("*"); tweede = TweedeNommer (); totaal = eerste * tweede; lcd.setCursor (0, 3); lcd.print (totaal); eerste = 0, tweede = 0; breek;
geval '/': eerste = (totaal! = 0? totaal: eerste); lcd.setCursor (0, 1); lcd.print ("/"); tweede = TweedeNommer (); lcd.setCursor (0, 3);
tweede == 0? lcd.print ("Ongeldig"): totaal = (float) eerste / (float) tweede;
lcd.print (totaal); eerste = 0, tweede = 0; breek;
geval 'C': totaal = 0; lcd.clear (); breek; }}
lang SecondNumber () {terwyl (1) {customKey = customKeypad.getKey (); if (customKey> = '0' && customKey <= '9') {tweede = tweede * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (tweede); }
as (customKey == '=') breek; // tweede terugkeer; } tweede terugkeer; }
Stap 5: Die kode afbreek
Ons het die waardes geïnisialiseer wat die rekenaar moet verstaan
#insluit
#include #include
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
lank eerste = 0; lang sekonde = 0; dubbele totaal = 0;
char customKey; const byte RYDE = 4; const byte COLS = 4;
Ons het die nommers en tekens van die bediener aan die rekenaar vertel
char sleutels [ROWS] [COLS] = {{'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};
Ons het die rye en kolomme van die sleutelbord gefinaliseer en watter nommer kom in watter kolom, ens
byte rowPins [ROWS] = {7, 6, 5, 4}; byte colPins [COLS] = {3, 2, 1, 0};
Ons het die intro, of die skerm op die rekenaar, gemaak (u kan u eie naam daarop skryf)
ongeldige opstelling () {lcd.begin (16, 2); vir (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Sakrekenaar"); lcd.setCursor (0, 1); lcd.print ("Deur Jai Mishra"); vertraging (4000); lcd.clear (); lcd.print ("Finale projek"); vertraging (2500); lcd.clear (); lcd.setCursor (0, 0); }
Ons skep die betekenis en die formule vir elke bewerking in die sakrekenaar, sodat die rekenaar kan verstaan watter formule hy moet gebruik as die gebruiker op die "+" op die sakrekenaar druk, ens
{geval '0' … '9': lcd.setCursor (0, 0); eerste = eerste * 10 + (customKey - '0'); lcd.print (eerste); breek;
geval '/': eerste = (totaal! = 0? totaal: eerste); lcd.setCursor (0, 1); lcd.print ("/"); tweede = TweedeNommer (); lcd.setCursor (0, 3);
tweede == 0? lcd.print ("Ongeldig"): totaal = (float) eerste / (float) tweede;
lcd.print (totaal); eerste = 0, tweede = 0; breek; geval '+': eerste = (totaal! = 0? totaal: eerste); lcd.setCursor (0, 1); lcd.print ("+"); tweede = TweedeNommer (); lcd.setCursor (0, 3); lcd.print (totaal); eerste = 0, tweede = 0; breek;
geval '-': eerste = (totaal! = 0? totaal: eerste); lcd.setCursor (0, 1); lcd.print ("-"); tweede = TweedeNommer (); totaal = eerste - tweede; lcd.setCursor (0, 3); lcd.print (totaal); eerste = 0, tweede = 0; breek;
geval '*': eerste = (totaal! = 0? totaal: eerste); lcd.setCursor (0, 1); lcd.print ("*"); tweede = TweedeNommer (); totaal = eerste * tweede; lcd.setCursor (0, 3); lcd.print (totaal); eerste = 0, tweede = 0; breek;
geval 'C': totaal = 0; lcd.clear (); breek; }}
Die kode is baie maklik; al wat u hoef te doen is om dit te probeer verstaan en dan kan alles maklik gedoen word. E -pos my as u probleme met die kode het
Stap 6: Hoe werk die hardeware van hierdie sakrekenaar?
Hierdie sakrekenaar gebruik 'n LCD, 'n klavier, 'n Arduino -bord en 'n weerstand van 220 ohm. Al hierdie komponente is apart, maar is verbind met die drade van die Arduino na die klavier en die LCD. Verskillende dele van die LCD is verbind met die Arduino -bord, wat hulle uiteindelik met die toetsbord verbind. Na die verbinding doen die kodering al die werk en gee elke operasie en knoppie op die bedieningspaneel 'n taak om te volg.
Stap 7: Volledige voorskou van die sakrekenaar
So lyk ons finale projek! As u kode nie werk nie, of as u tegniese probleme ondervind, stuur 'n e -pos aan my, en ek sal my bes doen om die beste sakrekenaar te skep!
Stap 8: My inspirasie vir hierdie kode
Ek is geïnspireer uit die video hierbo oor hoe om 'n sakrekenaar op tinkercad te maak! Ek het niks gekopieer en geplak nie, maar ek het sy idee van die sakrekenaar en die begrip van die kode gebruik.
Aanbeveel:
Sakrekenaar vir bankrekeninge: 18 stappe
Bankrekening Spaarrekenaar: Dankie dat u my spaarrekenaar gekies het. Vandag leer ons hoe u 'n BankAccount -klas kan programmeer om u persoonlike uitgawes en besparings by te hou. Om 'n bankrekening te maak om u uitgawes na te gaan, benodig u eers 'n basiese
Mens-rekenaar-koppelvlak: funksioneer as 'n gripper (gemaak deur Kirigami) deur polsbeweging met behulp van EMG: 7 stappe
Mens-rekenaar-koppelvlak: Function a Gripper (gemaak deur Kirigami) deur polsbeweging met behulp van EMG: Dit was dus my eerste poging met 'n mens-rekenaar-koppelvlak. Ek het die spieraktiveringsseine van my polsbeweging vasgelê met 'n EMG-sensor, dit verwerk deur luislang en arduino en het 'n origami -gebaseerde grijper aangestuur
Arduino DIY -sakrekenaar met 1602 LCD- en 4x4 -klavier: 4 stappe
Arduino DIY Sakrekenaar Met 1602 LCD- en 4x4 -klavier: Hallo ouens in hierdie instruksies, ons maak 'n sakrekenaar met Arduino wat basiese berekeninge kan doen. So basies neem ons die invoer van die 4x4 -klavier en druk die data op 'n 16x2 lcd -skerm, en arduino sal die berekeninge doen
Hoe om die toetsbord en LCD met Arduino te gebruik om 'n Arduino -sakrekenaar te maak: 5 stappe
Hoe om die toetsbord en die LCD met Arduino te gebruik om 'n Arduino -sakrekenaar te maak: In hierdie handleiding sal ek deel hoe u 'n 4x4 matriks -toetsbord en 16x2 LCD met Arduino kan gebruik en dit kan gebruik om 'n eenvoudige Arduino -sakrekenaar te maak. Laat ons dus begin
ROOMBA Aangedryf deur ARDUINO YUN Via Wifi App deur STEFANO DALL'OLIO: 4 stappe (met foto's)
ROOMBA Aangedryf deur ARDUINO YUN Via Wifi App deur STEFANO DALL'OLIO: Met hierdie gids deel ek die kode om ARDUINO YUN aan Roomba te koppel om Roomba via Wifi te bestuur. Die kode en die app is volledig deur myself gemaak en ontwikkel Stefano Dall ' Olio.My Roomba is Roomba 620, maar jy kan dieselfde kode vir ander Roomb gebruik