Hvordan legge til en bryter og Input Knapper til din Arduino Clock Prosjekt
November 13 by Eliza
For din Arduino Clock Project, må du først legge til ett av de trykknappbrytere og en av motstander, som du bruker som et innspill for å øke alarm timer. Dermed kan taste fungerer ved at + 5V å bli brukt til Pin 7 når den er trykket på.
Når strømmen flyter gjennom bryteren, oppstår det en motstand, og i stedet tar den lettere bane til jord gjennom Pin 7 (det finnes forbindelser til jord internt i mikrokontrolleren ATmega328 IC). Lesing Pin 7 med digitalRead () -funksjonen returnerer en verdi av HIGH (+ 5 V).
Når det ikke er trykket, er PIN 7 koblet gjennom motstanden til GND, via bakken rail. Leser PIN 7 med digitalRead () -funksjonen returnerer en verdi av LOW (0 V).
Nå legger de andre trykkbryter og motstand, som inkrementerer minutter. Det bør være koblet til digital Pin 8.
Til slutt legger skyvebryter, som har tre posisjoner, og to motstander. Du kan se at de elektriske tilkoblinger for skyvebryteren er svært lik de to trykknappbrytere. Men fordi det er en skyveknapp, forblir den i den posisjonen at du setter den i.
I venstre posisjon, det holder + 5V på digital Pin 10. I riktig posisjon, det holder + 5V på digital Pin 10. I sentrum, det gjør ingen sammenheng, og begge de digitale pinnene er koblet bare til bakken rail .
Leser disse pinnene, kan du avgjøre om klokken er Alarm Mode (Pin 6 er HØY), Alarm Armed Mode (Pin 10 er HØY), eller rett og slett i Display Time-modus (ingen tilkobling, Pin 6 og Pin 10 er LAV).
Nå kan du legge inn koden nødvendig å lese og svare på maskinvaren. Du trenger noen variabler til å lagre systemtilstanden og holde styr på når man skal utløse alarmen. I den variable erklæring delen, legge til følgende kode:
...
Datetime nå;
boolean displayAlarmSet = false; // Enten vi er i showet tidsmodus eller vise alarm set-modus
boolsk alarm = false; // Om alarmen er for tiden skjer
boolean væpnet = false; // Om alarmen er aktivert eller ikke
int alarmHrs = 12; // Du kan stille inn alarmtiden i kode, her
int alarmMins = 00;
Variabelen displayAlarmSet lar deg bytte mellom å vise klokketiden eller viser alarmtiden, som du bruker i updateDisplay () -funksjonen, litt senere. Du kan bruke glidebryteren for å endre verdien av denne variabelen.
Den "alarm" variabel holder styr på hvorvidt alarmen er i ferd med å skje, slik at du kan høres den piezoelektriske ekkolodd, hvis det er nødvendig.
Du må også holde styr på når man skal utløse alarmen. Dette gjøres med to heltall, alarmHrs og alarmMins. Hvis du ønsker å stille inn alarmtiden fra programvaren og ikke fra knappene, kan du angi at ved å endre startverdien av disse variablene.
Telle de to trykknapper, og de to statene som kan settes av skyvebryter, har du fire innganger. Så, trenger du fire digitale pinner for å lese dem. Du bruker dem for innspill, så de må være aktivert i setup () del av koden din. Du vil også bruke piezo sirene for utgang, senere, men det kan legges nå, så legger du til følgende kode:
// Bruker innspill for å sette alarmen tid
const int alarmSetPin = 6; // Brukes til å endre til alarminnstillingsmodus
const int incrementAlarmHrsPin = 7; // Brukes for å øke alarm timer i alarminnstillingsmodus
const int incrementAlarmMinsPin = 8; // Brukes for å øke alarm minutter i alarminnstillingsmodus
const int piezoPin = 9; // Brukes for den piezoelektriske ekkolodd
const int alarmArmedPin = 10; // Bruk for å aktivere alarmen til å gå av
...
setup () {
...
lcd.clear ();
// Sett flere nålene for input og output
pinMode (alarmSetPin, INPUT);
pinMode (incrementAlarmHrsPin, INPUT);
pinMode (incrementAlarmMinsPin, INPUT);
pinMode (alarmArmedPin, INPUT);
pinMode (piezoPin, UTGANG);
Legg merke til, de ellipse (...) indikerer koden du har lagt tidligere - ingen grunn til å gjenta det her. Det er fem nye heltall, som håndterer inngangsnålene. Disse trenger ikke endre hele programmet slik de er heltall konstanter.
Du koblet skyvebryteren til Pin 6 og Pin 10 å håndtere enten sette alarmen eller bevæpne det til å gå av. Du koblet trykknappbrytere til Pin 7 og Pin 8. Hver og en separat styrer økes timer og minutter.
Du kan bare øke oppover. Ellers du enten trenger flere knapper for å minske timer og minutter eller en måte å bytte mellom øking og minking, som ville bli unødvendig komplisert. Endelig er disse pinnene alle brukt for innspill, så de må være eksplisitt settet som skal brukes for INPUT med pinMode () -funksjonen.
- • Hvordan legge til en alarm til din Arduino Clock Prosjekt
- • Hvordan Viser Time for din Arduino Clock Prosjekt
- • Hvordan Monter RTC modul for din Arduino Clock Prosjekt
- • Hvordan legge til din e-postkonto til din iPad
- • Hvordan legge til og teste LCD-skjermen for din Arduino Clock Prosjekt
- • Hvordan legge til en ekstra skjerm for DLSR Filmmaking
- • Hvordan legge til elementer i Web Page med iWeb
- • Hvordan legge til beregnede felt til data i R
- • Hvordan legge til farge og en nøkkel til Gitter Charts i R