Eenvoudige rekenmachine op basis van Arduino MEGA (2 / 4 stap)

Stap 2: De schets


Zeker, de eerste stap is het aansluiten van de drukknoppen zodat een toetsenbord. Hun verbinding is vrij gemakkelijk en alleen moet u eens een kijkje op de regeling van de Fritzing gekoppeld.

Opmerking: Vergeet niet dat de drukknoppen worden geplaatst tussen de twee middelste secties van het breadboard te voorkomen van kortsluitingen. Dus, we niet kunnen plaatsen van onze drukknoppen als een echte rechthoekig-vormige toetsenbord maar als een lijn-vormige.

Iets echt nuttig is toetsenblok om namen te schrijven op een stuk papier.

Drukknoppen koppelen aan cijfers en/of CTRL-toetsen

Het toetsenbord heeft 12 knoppen: 10 zijn nodig om het weergeven van getallen van 0 tot en met 9 en twee de transportbesturing operatie. Dankzij enkele #define zijn wij kundig voor elke knop koppelen aan een specifieke PIN.

Drukknoppen zijn normaal open. Dat betekent dat hun standaardstatus is ingesteld op lage. Het duwen van hen maken hun staat hooggeworden. Net als hun staat op hoog is ingesteld

De handeling van het schakelen van de status van een knop van laag naar hoog bepaalt de invoeging van een cijfer (indien u enkele sleutel-knop drukken zijn) of een "gebeurtenis" (als u een van de twee knoppen te drukken bent). Wij het in de readKey () functie.

De twee boven-genoemde staten worden veroorzaakt door de ampère oplossing gebruikt voor deze regeling. Dankzij de pull-down weerstanden aangesloten op de grond, het uitvoerniveau is 0 wanneer knoppen zijn vrijgegeven (open schakelaar) en 1 (5 volt) wanneer gedrukt (schakelaar gesloten).

Het toetsenbord is het instrument dat ons toelaat om het geven van opdrachten aan Arduino, thats waarom drukknop pinnen zijn ingesteld als INPUT in de void setup () functie.

Zoals bekend zijn de twee essentiële functies van een Arduino schets nietig lus () en void setup (). De eerste functie slechts één keer wordt uitgevoerd en in principe doet sommige besturingselementen en/of initialiseert PINs en onderdelen. In de tweede is er de code die wordt telkens opnieuw uitgevoerd. Dus om te stoppen voor onbepaalde tijd de codeuitvoering maakte we de functie wait() . Wanneer de Arduino voert gaat deze functie in een soort "status wait"; inderdaad, dit terwijl lus is leeg en waar totdat geen knop wordt ingedrukt. Een willekeurige toets ingedrukt maakt Arduino uit te gaan van deze lus en de volgende instructie uit te voeren.

De insertNumb () functie

Het meest complexe deel van de code is zeker degene die zijn opgenomen in de void insertNumb () functie. Behalve uit een heleboel voorwaardelijke instructies, het belangrijkste idee achter deze functie zijn de twee for -lussen. De eerste lus scant cijfers uit de eerste cijfers, terwijl de tweede één cijfers van seconden scant.

Zoals gezegd, de functie ziet er zeer complex vanwege vele voorwaardelijke verklaringen. Deze verklaringen zijn nodig voor het beheer van het opnemen van de stroom van gegevens.

Kortom, zij dwingen de functie te onderbreken zelf als de gebruiker op DEL drukt of ga op als op OKdrukt.

Bijvoorbeeld, als een op OK drukt terwijl de eerste lus wordt uitgevoerd, een voorwaardelijke instructie verhoogt de waarde van "i" variabele van x tot en met 5. Dus, is de if -instructie die voorafgaat aan de volgende for -lus wordt waar waardoor het opnemen van de gegevens van het tweede nummer cijfers.

Lezen van de broncode is het mogelijk om te zien een heleboel vertraging, dat blijkbaar verspreid op willekeurige wijze. Eigenlijk zijn ze erg belangrijk omdat synchroniseren toetsenblok operaties. Bijvoorbeeld, is de eerste vertraging in de void insertNumb () noodzakelijk om te voorkomen dat de interpretatie van selectietoetsen als het eerste cijfer van het eerste getal.

void loop)

De code in deze functie kon kijken een beetje complex in een oogopslag maar wat er gebeurt is eigenlijk vrij eenvoudig.

De belangrijkste variabele heet operatie. Het neemt slechts vier waarden: 0, 1, 2 en 3 overeenkomt met de eerder benoemde basisberekeningen.

Eenmaal gekozen voor een bewerking, dankzij enkele voorwaardelijke instructies het algoritme gaat naar het rechter gedeelte van de code en de berekening door de gebruiker gekozen heeft. Aangezien de maximaal toegestane waarde is 99999, controleren deze voorwaardelijke verklaringen ook als dit aantal wordt ingehaald.

Gerelateerde Artikelen

WIFI plant controlesysteem op basis van Arduino MEGA en ESP8266

WIFI plant controlesysteem op basis van Arduino MEGA en ESP8266

Vandaag gaan we om u te tonen onze eerste experiment op het Internet van dingen. Voor dit doel besloten we om het gebruik van een Arduino MEGA in plaats van een Arduino UNO. Dat komt omdat Arduino MEGA heeft meer dan één seriële poort en dit feit laa
DIY temperatuur & vochtigheid & rookmelder Alarm systeem op basis van Arduino

DIY temperatuur & vochtigheid & rookmelder Alarm systeem op basis van Arduino

ICStation team u introduceren hoe DIY deze temperatuur & luchtvochtigheid & rook alarmsysteem op basis van ICStation Mega 2560 compatibel met Arduino.The werkende spanning van dit systeem DC5V is. Het kan meten de huidige temperatuur, vochtigheid
Soldeer station gemaakt door mijzelf op basis van Arduino

Soldeer station gemaakt door mijzelf op basis van Arduino

Hallo! Zodra ik sprak over het soldeer station op de Arduino en onmiddellijk overdonderd me vragen (hoe? / waar? / wanneer?). Gezien de massa van aanvragen, besloten heb ik om schrijf een recensie van eenvoudige soldeer station (alleen soldeerbout) o
3 fase sinusgolf generator op basis van Arduino Due

3 fase sinusgolf generator op basis van Arduino Due

het doel van dit aandeel is om iemand die probeert te gebruiken de inachtneming te helpen meer performance + gebrek aan referentie + niet-nuttige gegevensblad.Dit project is het kundig voor het genereren van maximaal 3 fase sinusgolf @ 256 monsters /
NRF24L01 draadloos toetsenbord gegevens overdracht systeem op basis van Arduino

NRF24L01 draadloos toetsenbord gegevens overdracht systeem op basis van Arduino

ICStation Team u dit draadloze transmissie-systeem op basis van ICStation Mega 2560 en compatibel met Arduino UNO R3 introduceren. Het maakt gebruik van DC5V werkende spanning. Als er iemand op de toetsen te drukken, worden de waarde van de sleutels
Biofeedback apparaat op basis van Arduino

Biofeedback apparaat op basis van Arduino

Hier presenteer ik een Open bron Biofeedback apparaat die ik bouwen op basis van Arduino. Je lichaamstemperatuur kan meten met een IR-sensor, GSR en u kunt andere apparaten aansluiten met wisselende sinus Toon uitgang, bijvoorbeeld de Thoughtstream U
Automatische ijsemmer leverancier op basis van Arduino

Automatische ijsemmer leverancier op basis van Arduino

Afgelopen vrijdag enkele ingenieurs uit DFRobot nam hun de Ice Bucket Challenge om het bewustzijn voor ALS. We besloten om het te doen in een maker manier met een leverancier van automatische ijsemmer op basis van Arduino.And zijn we alle makers over
Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

De oplossing hier gebruikt om op afstand controle Arduino door middel van ofwel smartphoneof tablet in plaats van drukknoppen, displays, etc. geldt voor vele projecten waarin de microcontroller worden gecontroleerd op afstand, moet dus de toepassing
Hoe maken PS2 toetsenbord lezen weergeven systeem op basis van Arduino

Hoe maken PS2 toetsenbord lezen weergeven systeem op basis van Arduino

ICStation Team u kennismaken met deze PS2 toetsenbord Lees weergavesysteem in details. De bedrijfsspanning van PS2 toetsenbord lezen weergavesysteem is DC 5V. Wanneer u de toetsen letters of cijfers, wordt de LCD1602 dienovereenkomstig wordt weergege
Timing van de lichtgevoelige infrarood LED controlesysteem op basis van Arduino

Timing van de lichtgevoelige infrarood LED controlesysteem op basis van Arduino

ICStation Team kennismaken u met deze Photosensitive timing infrarood LED controlesysteem. Dit systeem gebruikt DC5V spanning om te werken. Wanneer de intensiteit van het licht zwak is en iemand in het infrarood gebied verschijnt, zullen de LED op. T
Glas van computers op basis van Arduino Uno

Glas van computers op basis van Arduino Uno

Aan mijn meesters graduate project ("Gowing Computers, aansluiten van organen, knippen het snoer") van Konstfack College van kunstnijverheid en Design (keramiek en glas/CRAFT) heb ik gemaakt 3 glazen computers op basis van de specificaties van d
Pixel verzonden teller op basis van Arduino

Pixel verzonden teller op basis van Arduino

Vele malen, gebruik we vaak van LCD zoals weergaveapparatuur, van kleine temperatuur monitoren tot grote industriële apparatuur.Het grappige ding in dit project is dat het combineert twee rode LED Matrices als vertoning. U hoeft geen andere apparaten
28BYJ-48 Stepper Motor controlesysteem op basis van Arduino met ULN2003 Chip

28BYJ-48 Stepper Motor controlesysteem op basis van Arduino met ULN2003 Chip

ICStation Team u kennismaken met deze stappenmotor -controlesysteem op basis van ICStation UNO compatibel met Arduino. Het gebruikt ULN2003-chip om te rijden. De spanning van de werken is DC5V. Het wordt op grote schaal gebruikt op de ATM-machine, in
Hoe mBlock om software te gebruiken voor het programmeren van het intelligente Corridor licht circuit op basis van Arduino

Hoe mBlock om software te gebruiken voor het programmeren van het intelligente Corridor licht circuit op basis van Arduino

mBlock is een grafische programmering omgeving die speciaal is ontworpen voor beginners om gemakkelijk naar programma Arduino projecten en het maken van interactieve toepassingen. mBlock ondersteunt overvloedige hardware:Arduino UNOArduino Leonardo p