Arduino 2-stegs programmerbar timerkrets

Prova Vårt Instrument För Att Eliminera Problem





I den här artikeln lär vi oss hur man skapar en enkel 2-stegs Arduino programmerbar timerkrets, som kan användas för att koppla en elektrisk belastning PÅ / AV med oberoende justerbar PÅ och AV-tid.

Om du till exempel vill att ett ljus ska vara PÅ i 24 timmar och AV i 2 timmar, kan du helt enkelt göra detta genom en snabb modifiering av programkoden. På samma sätt kan du anpassa utmatningstiderna till valfri annan önskad uppsättning tidsintervall genom att ändra koden på rätt sätt.



Du måste bara sammanställa och ladda upp följande kod till ditt Arduino-kort och starta timerfunktionen enligt dina specifika applikationsbehov.

Programkod

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

I ovanstående exempel kodar raderna fördröjning (86400000) och fördröjning (3600000) bestämma fördröjningsintervallen för utgång PÅ respektive AV i millisekunder. Här, figuren 86400000 millisekunder motsvarar 24 timmar, medan 3.600.000 uppvisar en timmes fördröjning.



Du kan anpassa dessa två värden enligt dina personliga preferenser för att få önskade utmatningsfördröjningar.

När installationen är aktiverad fortsätter Arduino att växla mellan tvåstegs PÅ / AV-tidssekvensen. så länge ström förblir på systemet.

Kretsschema

Hela kretsschemat tillsammans med Arduino-anslutningarna kan ses i följande diagram:

Arduino One-Shot Timer Circuit

Om du inte vill att timern ska gå igenom tvåstegstimern, istället för att timern ska vara av en typ, som stängs av permanent efter den inställda fördröjningen, kan du använda följande kod:

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 } }

Om du vill ha en diskret utformad version av en identisk programmerbar timerkrets kan du välj den här kretsen

Delar som krävs för Arduino Programmerbar Timer Circuit

  • Arduino UNO styrelse = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 Diod = 1
  • 10k 1/4 w motstånd = 1
  • Relä 12V / 400 ohm / SPDT / 5 amp = 1
  • 12V AC till DC-adapter = 1



Tidigare: Enkel digital timerkrets med tvåsiffrig display Nästa: Digital termometerkrets - använder en solcell för kraft