Hoe te Voeg een Switch en Input Knoppen om uw Arduino Klok Project

Voor uw Arduino Klok Project, je eerst toevoegen een van de drukknoppen en een van de weerstanden, die u als input gebruiken om het alarm uren te verhogen. De drukknop werkt doordat + 5V worden op pen 7 wanneer het wordt ingedrukt.

Wanneer stroom door de schakelaar, die zij tegenkomt de weerstand, en in plaats daarvan neemt het gemakkelijker pad aan de grond door middel van Pin 7 (er zijn verbindingen naar intern de grond, binnen de ATmega328 microcontroller IC). Lezen Pin 7 met de digitalRead () functie geeft een waarde van HIGH (+ 5V).

Hoe te Voeg een Switch en Input Knoppen om uw Arduino Klok Project

Wanneer het niet wordt ingedrukt, wordt PIN 7 verbonden door de weerstand naar GND, via de grond rail. Het lezen van PIN 7 met de digitalRead () functie geeft een waarde van LOW (0V).

Voeg nu de tweede drukknop schakelaar en weerstand, die de notulen verhoogt. Het moet worden aangesloten op digitale Pen 8.

Voeg ten slotte de schuifschakelaar, die drie posities, en twee weerstanden heeft. Je kunt zien dat de elektrische aansluitingen voor de schuifschakelaar zijn zeer vergelijkbaar met de twee drukknoppen. Maar omdat het een slider, het blijft in de positie dat je hem in.

In de linker positie, het houdt + 5V op digitale Pin 10. In de juiste positie, het houdt + 5V op digitale Pin 10. In het centrum, het maakt geen verbinding, en zowel van de digitale pennen zijn alleen verbonden met de grond rail .

Het lezen van deze pinnen, kunt u bepalen of de klok is Alarm Set Mode (Pin 6 is HOOG), Alarm Gewapende Mode (Pin 10 is HOOG), of gewoon in de Display Time-modus (geen aansluiting; Pin 6 en pin 10 zijn LOW).

Hoe te Voeg een Switch en Input Knoppen om uw Arduino Klok Project

Voeg nu de code nodige te lezen en te reageren op de hardware. Je hebt een paar variabelen om de systeemstatus te slaan en bij te houden wanneer het alarm te activeren. In de sectie variabele declaratie, voeg de volgende code:

...
DateTime nu;
boolean displayAlarmSet = false; // Of we nu in de show time mode of geeft alarm set modus
boolean alarm = false; // Of het alarm momenteel gebeurt
boolean gewapende = false; // Of het alarm is ingeschakeld of niet
int alarmHrs = 12; // U kunt het alarm tijd hier in de code,
int alarmMins = 00;

De variabele displayAlarmSet kunt u schakelen tussen het weergeven van de klok of het tonen van de wektijd, dat je een beetje later te gebruiken in de updateDisplay () functie. U kunt de schuifschakelaar om de waarde van de variabelen te veranderen.

De "alarm" variabele houdt bij het al dan niet het alarm op dit moment gebeurt, zodat u de piëzo-elektrische sirene kan klinken, indien nodig.

Je moet ook om bij te houden wanneer het alarm te houden. Dit wordt gedaan met twee getallen, alarmHrs en alarmMins. Als u wilt dat het alarm in te stellen vanuit de software en niet van de knoppen, kunt u instellen dat door het veranderen van de startwaarde van deze variabelen.

Het tellen van de twee drukknoppen, en de twee staten die door de schuifschakelaar kan worden ingesteld, heb je vier ingangen. Dus, moet u vier digitale pennen om ze te lezen. Je gebruikt ze voor de ingang, dus moeten ze worden ingeschakeld in de setup () deel van je code. U vindt hier ook gebruik maken van de piëzo sirene uitgang, later, maar het kan nu worden toegevoegd, dus voeg de volgende code:

// Gebruiker ingang om het alarm in te stellen
const int alarmSetPin = 6; // Gebruikt om te veranderen om het alarm modus
const int incrementAlarmHrsPin = 7; // Gebruikt om het alarm uur in alarmregelstand verhogen
const int incrementAlarmMinsPin = 8; // Gebruikt om het alarm minuten in alarmregelstand verhogen
const int piezoPin = 9; // Gebruikt voor de piëzo-elektrische sirene
const int alarmArmedPin = 10; // Gebruik om het alarm in te schakelen om af te gaan
...
setup () {
...
lcd.clear ();
// Aantal pennen voor invoer en uitvoer Set
pinMode (alarmSetPin, INPUT);
pinMode (incrementAlarmHrsPin, INPUT);
pinMode (incrementAlarmMinsPin, INPUT);
pinMode (alarmArmedPin, INPUT);
pinMode (piezoPin, OUTPUT);

Let op, de ellipsen (...) geven de code in die u eerder toegevoegd - niet nodig om te herhalen dat hier. Er zijn vijf nieuwe gehele getallen, die de input pinnen behandelen. Deze veranderen niet gedurende het programma, zodat ze zijn integer constanten.

Je verbonden de schuifschakelaar om Pin 6 en pin 10 te hanteren ofwel het instellen van het alarm of het bewapenen van het af te gaan. U bent aangesloten op de drukknop schakelt over naar pin 7 en pin 8. Elk afzonderlijk bestuurt het verhogen van de uren en minuten.

U kunt alleen naar boven te verhogen. Anders, je ofwel extra knoppen nodig om uren en minuten of een manier te verlagen om te schakelen tussen het verhogen degressie, die onnodig ingewikkeld zou zijn. Tenslotte worden deze pennen allemaal gebruikt voor input, zodat zij moeten expliciet worden ingesteld om te worden gebruikt voor invoer met de pinMode () functie.


© 2020 Quilcedacarvers.com | Contact us: webmaster# quilcedacarvers.com