GSM Proximity alarm met GPS locatie en tijd (4 / 5 stap)

Stap 4: Knipperende leds (non-blocking)


Ik wilde de LEDS flash met wisselende intervallen/snelheden om aan te geven van de dingen. Het is onpraktisch om het gebruik van de "delay()"-functie (zoals de "blink" Arduino voorbeeld), omdat de micro-controller niet kan uitvoeren iets anders terwijl het is wachten op de volgende flitser. De juiste aanpak is kennis te nemen van wanneer een LED was uitgeschakeld op /, en klik vervolgens op elke iteratie door de hoofdlus, bepalen of het is tijd om het uit/op te zetten.

Neem een kijkje op de Arduino "BlinkWithoutDelay" voorbeeld om een idee van hoe het daadwerkelijk wordt uitgevoerd. Mij zwellen lichtjes op dit concept dat twee extra functies.

  • De LED's kunnen hebben asymmetrische op/af tijden de rode LED kan een bepaald aantal keer knipperde en blijf af
  • De amber LED is niet opgenomen, omdat het is een eenvoudige aan/uit, geen knipperen.

Eerst instellen wij sommige variabelen

 //red can be blinked n times instead of continuously //this variable stores how many flashes are left int blinksRed = 0; //is the led on or off int ledStateRed = LOW; int ledStateGreen = LOW; //when was the LED state last toggled unsigned long previousMillisRed = 0; unsigned long previousMillisGreen = 0; //how long should the LED stay on long intervalOnRed = 600; long intervalOnGreen = 0; //how long should the LED stay off long intervalOffRed = 500; long intervalOffGreen = 1000; 

De volgende functie werkt de LEDS, zodat het kan worden geroepen op elke iteratie van de lus main(). Lees de inline-opmerkingen voor meer informatie.

 void updateLeds() { unsigned long currentMillis = millis(); //get the current time if ((ledStateRed == HIGH) && (currentMillis - previousMillisRed >= intervalOnRed)) { //if the red led is on and ontime has expired, turn it off blinksRed = max(0,blinksRed - 1); previousMillisRed = currentMillis; ledStateRed = LOW; } else if ((blinksRed > 0) && (ledStateRed == LOW) && (currentMillis - previousMillisRed >= intervalOffRed)) { //if the red led is off and offtime has expired and there are more blinks left, turn it on previousMillisRed = currentMillis; ledStateRed = HIGH ; } //green is exactly the same, but without a number of blinks limitation if ((ledStateGreen == HIGH) && (currentMillis - previousMillisGreen >= intervalOnGreen)) { previousMillisGreen = currentMillis; ledStateGreen = LOW; } else if ((ledStateGreen == LOW) && (currentMillis - previousMillisGreen >= intervalOffGreen)) { previousMillisGreen = currentMillis; ledStateGreen = HIGH ; } digitalWrite(pinRed,ledStateRed); digitalWrite(pinGreen,ledStateGreen); } 

Gerelateerde Artikelen

Een GPS LinKit (het verzenden van SMS van GPS locatie naar mobiele)

Een GPS LinKit (het verzenden van SMS van GPS locatie naar mobiele)

dit instructable lost het probleem van de GPS-locatie op seriële monitor afdrukken.Sturen we die locatie in de vorm van SMS naar onze mobiele dan zullen we de belangrijke rol en dan plakken het op Google maps.Stap 1: onderdelen Parts:• Linkit One• Li
Hoe werkt Mulch effect wiet plant dichtheid in vergelijking met een locatie met geen mulch?

Hoe werkt Mulch effect wiet plant dichtheid in vergelijking met een locatie met geen mulch?

Op enig moment in het jaar, iedereen op een gegeven moment ruikt mulch die op een gegeven moment had vastgesteld dat overdag, maar doet men denken waarom mensen vast mulch anyway. Is het voor de kleur, textuur, toevoegen of gewoon omdat het ziet er g
ESP8266 12e met GPS & OLED display

ESP8266 12e met GPS & OLED display

In dit Instructable zal ik beschrijven hoe aansluiting een Ublox 6m GPS module en een OLED weergave van naar de NodeMCU of ESP8266-12e wifi module om uw huidige locatie GPS en andere info te geven.Check mijn Youtube Video beschrijven dit. Youtube Vid
Sunshine Alarm met behulp van LM555 en LM358

Sunshine Alarm met behulp van LM555 en LM358

Hallo vrienden,Dit is een eenvoudig ontwerp alarm voor uw winter breekt. Met dit alarm die u niet te tijd stellen hoeft, het detecteert het daglicht in de ochtend en piepergeluid genereert voor ca. 1 minuut. U moet niet tijd voor uw winters, stel de
LinKit één aan de slag met GPS

LinKit één aan de slag met GPS

In dit instructable ik ga u laten zien hoe aan de slag met de Linkit een GPS, dit zal communiceren met GPS-satellieten te geven u de locatie in Latitude en longitude.Stap 1: Lijst van onderdelenLinKit OneGPS-antenneMicro USB-kabelStap 2: Aansluiten v
GPS datum en tijd voor uw tijdzone aanpassen

GPS datum en tijd voor uw tijdzone aanpassen

Ik kan me vergissen volledig door het ophangen van deze Instructables, maar ik heb moeite te vinden een eenvoudige manier om GPS datum en tijd gegevens naar mijn tijdzone hier in Australië te corrigeren. Ik heb een paar Arduino projecten die een GPS-
Partij Start Alarm met instellingen voor BT

Partij Start Alarm met instellingen voor BT

Veel van de partij op de weg. In elke partij starten we op een moment. De meeste tijd kan tellen. Nu een verrassende partij starter waar eenieder weet niet. Haar een alarm met muziek en licht. Ik gebruik Blue tooth auto app om het wijzigen van de set
Buglar Alarm met PIR bewegingsmelder

Buglar Alarm met PIR bewegingsmelder

In dit INSTRUCTABLE,We zijn gaan maken van een eenvoudige BUGLAR ALARM met PIR bewegingsmelder & ARDUINODont vergeet te stemmen dit voor de Sensor-wedstrijd! : D(Je ziet een knop van de stemming in de buurt van de medaille IN the TOP)Voor meer Intres
Hoe maak je eenvoudig deur Alarm met behulp van Clothes-Peg (DIY)

Hoe maak je eenvoudig deur Alarm met behulp van Clothes-Peg (DIY)

Gemakkelijkste en Simples manier om deur Alarm met huishoudelijke artikelen met inbegrip van Clothes-Peg (wasknijper) en als altijd zijn goedkoop, eenvoudig en leuk om te maken. Hoewel zijn te simpel maar zijn zeer efficiënt en werkt perfect, kunt u
Een voertuig Backing Alarm met een Self-Reseting knop uitschakelen

Een voertuig Backing Alarm met een Self-Reseting knop uitschakelen

Op een gegeven moment was ik verantwoordelijk voor handhaving van de veiligheid van een vloot van grote, logge voertuigen. Ik dacht dat steun alarms zetten de vrachtwagens ieders veiligheid tijdens het manoeuvreren op de parkeerplaats zou verhogen, m
AARDBEVING-ALARM met behulp van de KY-002

AARDBEVING-ALARM met behulp van de KY-002

Hallo volkeren! Hier ben ik weer.Dit keer maakte ik een Basic aardbeving-alarm met de KY-002 Shock sensor.Haar kan worden gebruikt voor meerdere doeleinden, zoals de meeste sensoren. In dit geval gebruiken we het als een aardbeving-sensor.Controleer
Arduino - FLOOD ALARM - met behulp van een eenvoudige waterniveau Sensor

Arduino - FLOOD ALARM - met behulp van een eenvoudige waterniveau Sensor

Hallo mensen! Vandaag maakte ik een eenvoudige overstroming alarm met een waterniveau sensor. Ik verkoop niet deze sensoren op mijn website omdat ze niet duren erg lang wanneer meten van water zal ik bestellen goud bekleed degenen en test hen voor ee
ARDUINO Inbraak Alarm met behulp van infrarood zender-Detector paar

ARDUINO Inbraak Alarm met behulp van infrarood zender-Detector paar

In deze tutorial zal ik laten zien u, hoe maak je een eenvoudige goedkope Intrusion Detection(Burglar alarm) met behulp van een Arduino Uno-board. Dit project maakt gebruik van de infrarood zender-Detector paar om op te sporen van inbraak en een alar
Pak Alarm met behulp van arduino LDR + piëzo zoemer

Pak Alarm met behulp van arduino LDR + piëzo zoemer

Dit kleine project leert u, hoe maak je een eenvoudige Grab alarm met behulp van een LDR (light afhankelijke resistor). Wanneer u probeert te verplaatsen van je hand over de LDR, is er een luid alarm dat gaat op en het alarm wordt uitgeschakeld zodra