Arduino 2-trins programmerbart timerkredsløb

Prøv Vores Instrument Til At Fjerne Problemer





I denne artikel lærer vi, hvordan man laver et simpelt 2-trins Arduino-programmerbart timerkredsløb, som kan bruges til at tænde / slukke for en elektrisk belastning med uafhængigt justerbare ON- og OFF-timinger.

For eksempel, hvis du ønsker, at et lys skal forblive tændt i 24 timer og OFF i 2 timer, kan du blot gøre dette gennem en hurtig ændring af programkoden. På samme måde kan du tilpasse outputtimingerne til ethvert andet ønsket sæt tidsintervaller ved at ændre koden korrekt.



Det skal du bare kompilere og uploade følgende kode til dit Arduino-kort, og start timerfunktionen efter dine specifikke applikationsbehov.

Programkode

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

I ovenstående eksempel kode linjerne forsinkelse (86400000) og forsinkelse (3600000) bestem hhv. output Tids- og OFF-forsinkelsestidsintervaller i millisekunder. Her figuren 86400000 millisekunder svarer til 24 timer, mens 3.600.000 udstiller 1 times forsinkelse.



Du kan tilpasse disse to værdier efter din personlige præference for at få de krævede outputforsinkelser.

Når installationen er startet og tændt, vil Arduino fortsætte med at skifte mellem totrins ON / OFF timing-sekvensen. så længe der stadig er strøm på systemet.

Kredsløbsdiagram

Det komplette kredsløbsdiagram sammen med Arduino-forbindelserne kan ses i følgende diagram:

Arduino One-Shot Timer Circuit

Hvis du ikke ønsker, at timeren skal løbe gennem totrins-timeren, i stedet for at timeren skal være en-shot-type, der slukker permanent efter den indstillede forsinkelse, kan du anvende 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 have en diskret designet version af et identisk programmerbart timerkredsløb, kan du vælg dette kredsløb

Dele, der kræves til det Arduino programmerbare timerkredsløb

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



Forrige: Enkel digital timer-kredsløb med 2-cifret skærm Næste: Digital termometer kredsløb - bruger en solcelle til strøm