Arduino 2-trinns programmerbar tidtakerkrets

Prøv Instrumentet Vårt For Å Eliminere Problemer





I denne artikkelen lærer vi hvordan vi lager en enkel 2-trinns Arduino programmerbar tidtakerkrets, som kan brukes til å slå en elektrisk belastning PÅ / AV med uavhengig justerbar PÅ og AV-timing.

For eksempel hvis du vil at et lys skal forbli PÅ i 24 timer og AV i 2 timer, kan du ganske enkelt gjøre dette gjennom en rask modifisering av programkoden. På samme måte kan du tilpasse utgangstimingene til et annet ønsket sett med tidsintervaller ved å endre koden riktig.



Du må bare kompilere og laste opp følgende kode til Arduino-kortet ditt og start tidtakerfunksjonen i henhold til dine spesifikke applikasjonsbehov.

Programkode

void setup(){ pinMode(13, OUTPUT) } void loop(){ digitalWrite(13, HIGH) delay(86400000) digitalWrite(13, LOW) delay(3600000) }

I eksemplet ovenfor koder linjene forsinkelse (86400000) og forsinkelse (3600000) bestem utgangsintervallene for henholdsvis utgang PÅ og AV, i millisekunder. Her figuren 86400000 millisekunder tilsvarer 24 timer, mens 3.600.000 utstillinger 1 times forsinkelse.



Du kan tilpasse disse to verdiene i henhold til dine personlige preferanser for å få de nødvendige forsinkelsene.

Når oppsettet er slått på, vil Arduino fortsette å bytte mellom totrinns PÅ / AV-tidsforløp. så lenge det fortsatt er strøm på systemet.

Kretsdiagram

Hele kretsskjemaet sammen med Arduino-tilkoblingene kan sees i følgende diagram:

Arduino One-Shot Timer Circuit

Hvis du ikke vil at timeren skal gå gjennom totrinns-timeren, i stedet for at timeren skal være en-shot-type, som vil slå seg AV permanent etter den angitte forsinkelsen, kan du bruke følgende kode:

int led = 13 // Pin 13 has an LED connected on most Arduino boards. unsigned long DELAY_TIME = 10000 // 10 sec unsigned long delayStart = 0 // the time the delay started bool delayRunning = false // true if still waiting for delay to finish void setup() { pinMode(led, OUTPUT) // initialize the digital pin as an output. digitalWrite(led, HIGH) // turn led on // start delay delayStart = millis() delayRunning = true } void loop() { // check if delay has timed out if (delayRunning && ((millis() - delayStart) >= DELAY_TIME)) { delayRunning = false // finished delay -- single shot, once only digitalWrite(led, LOW) // turn led off } }

Hvis du vil ha en diskret designet versjon av en identisk programmerbar tidtakerkrets, kan du velg denne kretsen

Deler som kreves for den Arduino programmerbare timerkretsen

  • Arduino UNO Board = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 Diode = 1
  • 10k 1/4 w motstand = 1
  • Relé 12V / 400 ohm / SPDT / 5 amp = 1
  • 12V AC til DC-adapter = 1



Forrige: Enkel digital tidtakerkrets med 2-sifret skjerm Neste: Digital termometerkrets - bruker en solcelle for kraft