Enkel kalkylator baserat på Arduino MEGA (2 / 4 steg)

Steg 2: Skiss



Det första steget är säkert, att ansluta knappen för att göra en knappsats. Deras anslutning är ganska lätt och du behöver bara ta en titt på Fritzing systemet bifogas.

Obs: Kom ihåg att knapparna placeras mellan de två mellersta delarna av skärbräda att undvika kortslutning. Så, vi kommer inte att kunna placera våra knappar som en riktig rektangulär keypad men som en linje-formade.

Något riktigt användbart är att skriva knappsatsen namn på ett papper.

Länka knappar till nummer och kontrollknapparna

Knappsatsen har 12 knappar: 10 behövs för att representera tal från 0 till 9 och två kontrollera drift flödet. Tack vare några #define kan vi länka varje knapp till en särskild PIN-kod.

Knappar är normalt öppna. Det betyder att deras standardtillstånd är inställd låg. Driver dem göra sitt tillstånd blir hög. Bara när deras tillstånd är inställd på hög

Handlingen att byta tillståndet för en knapp från låg till hög bestämmer införandet av en siffra (om du trycker en key-knappen nummer) eller en "händelse" (om du trycker en av knapparna två). Vi genomfört det i readKey () -funktionen.

De två ovan nämnda staterna orsakas av circuital lösningen används för detta system. Tack vare de nedrullningsbara motstånd ansluten till marken, utgångsnivån är 0 när knapparna är släppt (öppen switch) och 1 (5 volt) när du trycker på (switch stängt).

Knappsatsen är det verktyg som tillåter oss att ge kommandon till Arduino, det är därför tryckknapp stift anges som indata till ogiltiga setup () -funktionen.

Som bekant är de två grundläggande funktionerna i en Arduino skiss ogiltig loop () och void setup (). Den första funktionen körs endast en gång och i princip gör vissa kontroller eller initierar stift och komponenter. I den andra en är den kod som körs vid upprepade tillfällen. Så för att stoppa på obestämd tid kod gjorde vi funktionen wait() . När Arduino utför går denna funktion in i ett slags "vänta staten". Detta medan loop faktiskt Tom och sant tills ingen knapp trycks. Valfri knapp trycks gör Arduino gå ut från denna loop och köra nästa instruktion.

Funktionen insertNumb)

Den mest komplexa delen av koden är säkert den ingå i funktionen void insertNumb () . Utom från en massa villkorssatser, Huvudtanken bakom denna funktion är de två for -looparna. Den första öglan skannar siffror från första nummer medan andra söker siffror från sekunder.

Som sagt ovan, ser funktionen mycket komplicerat på grund av många villkorssatser. Dessa uttalanden behövs för att hantera flödet datafångst.

I grund och botten tvinga de funktionen att avbryta sig om användaren trycker på DEL eller gå på om trycker på OK.

Till exempel, om man trycker OK medan den första öglan är igång, en villkorssats ökar värdet av "i" variabel från x till 5. Så blir om uttalande som föregår följande for -loopen sant att låta datafångst vid de andra nummer siffrorna.

Läst källkoden är det möjligt att se en hel del dröjsmål uppenbarligen sprids på slumpmässigt sätt. Faktiskt de är mycket viktiga eftersom synkronisera knappsatsen operationer. Till exempel är första försening i void insertNumb () nödvändigt att undvika tolkningen av väljarknapparna som den första siffran i det första numret.

Ogiltig loop)

Koden i funktionen kunde se lite komplicerat i korthet men vad som händer är faktiskt ganska enkelt.

Den viktigaste variabeln kallas operation. Den förutsätter endast fyra värden: 0, 1, 2 och 3 motsvarar de tidigare namngivna grundläggande beräkningarna.

När valt en operation, tack vare några villkorliga satser algoritmen går till den högra delen av koden och gör beräkningen som användaren har valt. Eftersom maximalt tillåtna värdet är 99999, kontrollera dessa villkorssatser uttalanden också om detta nummer blir omkörd.

Se Steg
Relaterade Ämnen

Arduino Mega GPS med LCD och SD loggning

Använd din Audino Mega som en GPS logger med tydlig LCD display och 5 funktionsknappar. En bi-färg LED används för att ange statusinformation.SDcard kan vara kvar i och läsa med en kort läsaren skiss, med utgång till den seriella Monitor.Detta instru...

Låt oss laga: 3D skanner baserat på Arduino och bearbetning

någonsin undrar copypaste metod, användbara i verkliga livet, inte bara i virtuell verklighet? Jag också. Är det 21-talet, och de är närmare än de flesta av alla kan föreställa! Detta är möjligt tack vare 3d skanner och skrivare. Så låt oss försöka S...

Arduino Mega 8 x 8 x 8 RGB LED Cube

"Så du vill bygga en 8 x 8 x 8 RGB LED Cube"Jag har spelat runt med elektronik och Arduinos ett tag nu, inklusive bygga en hög amp switch controller för min bil och en sex körfält Pinewood Derby domare för våra scouter grupp.Jag var så fascinera...

DIY temperatur & luftfuktighet & rökdetektor Alarm System baserat på Arduino

ICStation team presentera hur DIY denna temperatur & luftfuktighet & rök larmsystem baserat på ICStation Mega 2560 kompatibel med spänning Arduino.The arbetar med detta system är DC5V. Det kan mäta den nuvarande temperatur, luftfuktighet och rök....

RS485 Seriell kommunikation mellan Arduino Mega och Arduino Nano med Visuino

Ibland måste vi ansluta Arduino styrelser ligger långt bort från varandra. RS485 är ett mycket bekvämt sätt att ansluta styrelser med bara 2 kablar, och kan arbeta för ett avstånd på 1200 m (4000 ft). Det gör också flera styrelser kan enkelt anslutas...

Dagu rover 5 - arduino mega 2560 - Xbee

Hej. Detta är min 1: a robot plattform och 1st Instructable post. Jag är stor anhängare av utbyte av kunskap och har lärt en lott för internet, så här är mig lägga till den kollektiva kunskapen. Ledsen för bristen på tidiga bilderSaker som behövs för...

Arduino (Mega) ljudinspelning

Spela in ljud till ditt Audino Mega SD kort.Ljudfilen kan spelas upp på en vanlig audio ansökan eller analyseras byte för byte.Detta Instructable visar du hur ljudingång kan vara upprepade gånger lagt till 512 byte buffert och sedan överförs till ett...

Göra en Arduino Mega sköld

Arduino plattformen erbjuder en kraftfull uppsättning verktyg för att göra interaktiva elektroniska apparater. För många projekt är ledningar upp ett bakbord allt som behövs. Men om du har mer ambitiösa planer för att utveckla din enhet kan du behöva...

Stöldskydd ingången Guard larmsystem baserat på Arduino

ICStation team presentera detta stöldskydd ingången Guard Alarm System baserat på ICStation MEGA. Detta system fungerar under 5V DC strömförsörjning, kan förverkliga IR ingången guard övervakning och använder active Summer till slut larm. Detta syste...

Arduino Mega Hexapod

Andra Video (ungefär samma sak, utom snabbare handrörelser):https://www.youtube.com/watch?v=zepHB4h5JS4&featu...Detta är min Hexapod, är uppbyggd kring Lynxmotion's Phoenix hexapod och kör en modifierad version av Kurte's phoenix kodbas.Generiska Phe...

Helgen projektet klocka datum termometer och luftfuktighet med Arduino mega

killar, jag vill dela min helg projekt på att skapa en klocka med fukt och temperaturgivare,Det är med DHT11 sensor, RTC DS1307, LCD 16 x 2 och Arduino Mega 2560,Hålla läsning och lycka tillSteg 1: Förbered alla delar behövs... i detta experiment beh...

Hur man gör en enkel kalkylator i html

att skapa en enkel web räknare på egen hand är en ganska grundläggande sak. Du kan lära dig detta på egen hand. Det finns många andra tutorials på internet men det beror på vad du väljer, du som passar dig. Jag kommer inte att förklara saker i djup s...

Arduino Mega 2560 baserade LDR ljus intensitet kontroll

De flesta av er vet redan om Arduino och programmering, men de av er som inte vet om dess grunderna bör läsa detta instructable först.Det har allt du behöver veta om Arduino. Jag har använt Mega 2560 i detta instructable eftersom det är ungefär som d...

Arduino Mega Intro

Hej allaArduino Mega är en fantastisk mikrokontroller för projekt som behöver en stor mängd io eller bearbetning makt och är väldigt roligt att använda. I detta instructable vi ser på den:Arduino Megas specifikationerprojekt som bäst förordningen på...

DIY Webserver med Arduino Mega 2560

i detta DIY projekt, vi gör oss själva en liten webbserver med W5100 sköld och arduino mega 2560,Låt oss få oss själva började,Förbereda alla delar...Steg 1: De delar som behövs för detta DIY 1. Arduino Mega 25602. W5100 Ethernet shield3. Lan-kabel4....

En nybörjare guide till setup ESP8266 med Arduino Mega 2560 eller Uno

För produkter med öppen källkod för att lyckas eller anta en masse "skaparna" / "DIY-na" / "dev" / "etc"; en aktuell och korrekt dokumentation eller snabbstart-guide som skall krävas. Användarens inlägg i diskussion...

Hur ladda upp koden till Arduino Mega från Android-enhet

Idag, ska jag visa dig hur du använder Samsung Galaxy Anmärkning 5 mobiltelefon kör Android v6.0 och stöder OTG - på det gå möjlighet att ladda upp några Arduino koder till Arduino styrelser som Arduino Mega, Arduino Uno och de andra. Förresten, har...

Driver den Arduino Mega med litiumbatteri

detta är en liten och kort handledning som förklarar steg för steg hur du ansluter Mega litium ryggsäck öppen källkod hårdvara skölden till Arduino Mega, ge den batteritid, och tillåta Mega vara untethered från datorn.Delarna var alla tagna från liqu...

Personliga Black Box - Arduino Mega + ultimata GPS Shield + LSM303

personliga svart låda med:-Arduino Mega 2560- Ultimate GPS datalogger sköld- Triple-axlig Accelerometer + Magnetometer (LSM303)Efter att ha upplevt många svårigheter med gps skölden med en Arduino Uno, lärde jag mig snart jag maxing ut funktionerna i...