Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Loop weg van vertraging

Componenten en benodigdheden

Arduino UNO
× 1
5 mm LED:rood
× 2

Over dit project

Deze video is geïnspireerd op vragen die ik online zaai. over hoe u 2 LED's in verschillende snelheden kunt laten knipperen.

Als we elke 1000 millis een led wilden laten knipperen en de tweede elke 500 millis, zouden we nog steeds vertraging kunnen gebruiken, zoals deze, zoals je kunt zien, heb ik de 1000 millis-vertraging van de eerste LED gesplitst in 500 millis-knippering van de tweede deal.

byte LED2 =12; void setup () { pinMode (LED_BUILTIN, OUTPUT); pinMode(LED2, OUTPUT);}void loop() {digitalWrite(LED_BUILTIN, HIGH); digitalWrite (LED2, HOOG); vertraging (500); digitalWrite (LED2, LAAG); vertraging (500); digitalWrite (LED_BUILTIN, LAAG); digitalWrite (LED2, HOOG); vertraging (500); digitalWrite (LED2, LAAG); vertraging (500); } 

Maar wat gebeurt er als we de snellere willen knipperen in 300 millis in plaats van de 500 millis? Hier is waar het gebruik van vertraging het erg ingewikkeld maakt om niet mogelijk te zijn.

Dus wat te doen? Stop met het gebruik van vertraging!

We hebben er zelfs een voorbeeld van in de Arduino IDE en het heet blinkwithoutdelay.

Ik dupliceer de logica van de eerste LED naar een tweede en stel de gewenste vertraging in.

Dus probeer het ook, en loop weg van vertraging. Ik zal een laatste ding zeggen, de code die ik heb gedeeld is verre van perfect, en ik dacht erover om het te veranderen, maar aangezien deze video gericht is op mensen die nieuw zijn bij Arduino, Ik heb tegen gestemd.

Code

  • Voorbeeldcode
Voorbeeldcode Arduino
const int ledPin =LED_BUILTIN;int ledState =LAAG; unsigned lange vorigeMillis =0; const lang interval =1000; const int ledPin2 =12;int ledState2 =LAAG; unsigned lange vorigeMillis2 =0; const lang interval2 =300; void setup () { pinMode (ledPin, OUTPUT); pinMode(ledPin2, OUTPUT);}void loop() { unsigned long currentMillis =millis(); if (currentMillis - previousMillis>=interval) { previousMillis =currentMillis; if (ledState ==LAAG) { ledState =HOOG; } else { ledState =LAAG; } digitalWrite(ledPin, ledState); } // end if if (currentMillis - previousMillis2>=interval2) { previousMillis2 =huidigeMillis; if (ledState2 ==LAAG) { ledState2 =HOOG; } else { ledState2 =LAAG; } digitalWrite(ledPin2, ledState2); } //eindig als }

Schema's


Productieproces

  1. Hoe aluminium te beschermen tegen corrosie?
  2. Leer cloudcomputing vanaf nul
  3. 3 redenen om over te stappen van C naar C++
  4. Vochtigheid/temperatuur van internet halen
  5. IoT 101-project:stream de temperatuur van je Raspberry Pi
  6. Sensorgegevens streamen van een ppDAQC Pi-plaat met InitialState
  7. RASPBERRY PI WIFI ROBOT GECONTROLEERD VANAF ANDROID SMART PHONE
  8. Verilog-vertragingsregeling
  9. Waar komt het zaagconcept vandaan?
  10. Wat te verwachten van The Grey Cast?
  11. Wat te verwachten van een frisdrankautomaat?