Motion geactiveerd Servo (3 / 4 stap)

Stap 3: Code


Deze code moet worden geüpload naar de Arduino. Indien u wenst, kunt u de seriële Moniter in de Arduino IDE openen om te bekijken wat de Arduino doet.

Dit om code te schrijven, ik in principe gecombineerd code ik vond voor een PIR sensor (http://playground.arduino.cc/Code/PIRsense) en de code voor een servo (http://arduino.cc/en/Tutorial/Sweep), en vervolgens wijzigingen aangebracht waar ik dacht dat het zou de verbetering van de code.

Code:

/ * Deze code veegt een servo van 0 graden tot 180 wanneer de PIR sensor detecteert de beweging.
Speciale dank gaat uit naar de auteur van de PIR sensor code, wiens code enorm geholpen
bij het maken van deze code en de Instructable.
Auteur van PIR sensor code: Kristian Gohlke / krigoo (_) gmail (_) com / http://krx.at
**/

#include < Servo.h >

Servo myservo;  maakt een servo-object
maximaal acht servo-objecten kan worden gemaakt

int pos = 0;        variabele servo positie opslaan

bedrag van tijd geven we de sensor kalibreren (10-60 sec volgens het gegevensblad)

int calibrationTime = 30;

het tijdstip wanneer de sensor een lage impuls uitgangen
lang unsigned int lowIn;

het aantal milliseconden de sensor is laag
voordat we aannemen dat alle beweging is gestopt
lang unsigned int pauze = 5000;

Boole lockLow = waar;
Booleaanse takeLowTime;

int pirPin = 12;            digitale pin aangesloten op de PIR van uitgang
int pirPos = 13;           wordt aangesloten op de PIR van 5V pin

VOID Setup {}
myservo.attach(4);    servo hecht aan pin 4
Serial.begin(9600);    seriële communicatie begint
pinMode (pirPin, INPUT);
pinMode (pirPos, OUTPUT);
digitalWrite (pirPos, hoge);

de tijd van de sensor om te kalibreren
Serial.println ("kalibreren sensor");
for (int i = 0; ik < calibrationTime; i ++) {}
Serial.Print(calibrationTime-i);
Serial.Print("-");
delay(1000);
}
Serial.println();
Serial.println("Done");

terwijl het maken van dit Instructable, had ik wat problemen met de PIR van output
gaan HIGH onmiddellijk na het kalibreren
Dit wacht totdat de PIR van uitvoer laag is voordat setup eindigend
terwijl (digitalRead(pirPin) == HIGH) {}
delay(500);
Serial.Print(".");
}
Serial.Print ("SENSOR actief");
}

void loop {}

if(digitalRead(pirPin) == HIGH) {//if de PIR uitgang is hoog, beurt servo

/ * servo van 0 tot 180 graden en terug draait
het doet dit door het verhogen van de variabele 'pos' door 1 elke 5 milliseconden totdat het hits 180
en het instellen van de servo's positie in graden naar "pos" elke 5 milliseconden
het doet het dan in omgekeerde richting te laten terugkeren
voor meer informatie over dit, google "for-lussen"
Als de hoeveelheid graden wilt wijzigen de servo bochten, het aantal wijzigen 180 aan het aantal graden die u wilt om te schakelen
**/
voor (pos = 0; pos < 180; pos += 1) //goes van 0 tot 180 graden
{//in stappen van één graad
myservo.write(POS);                   servo naar positie in de variabele 'pos' vertelt
delay(5);                                   wacht tot de servo te bereiken de positie
}
voor (pos = 180; pos > = 1; pos-= 1) //goes van 180 tot 0 graden
{
myservo.write(POS);                  om de servo sneller gaan, het verminderen van de tijd in vertragingen voor
delay(5);                                  om het langzamer gaan, door het getal te verhogen.
}

if(lockLow) {}
zorgt ervoor dat we wachten op een overgang naar lage voordat verdere uitvoer plaatsvindt
lockLow = false;
Serial.println("---");
Serial.Print ("bewegingsdetectie op");
Serial.Print(Millis()/1000);
Serial.println ("sec");
delay(50);
}
takeLowTime = true;
}

if(digitalRead(pirPin) == LOW) {}

if(takeLowTime) {}
lowIn = millis();             opslaan van het tijdstip van de overgang van hoog naar laag
takeLowTime = false;    Zorg ervoor dat dit gebeurt alleen bij het begin van een lage fase
}

de sensor wordt laag voor meer dan het bepaalde pauze,
We kunnen aannemen dat de motie is gestopt
Als (! lockLow & & millis() - lowIn > onderbreken) {}
maakt zeker dit blok code wordt alleen uitgevoerd na opnieuw
een nieuwe reeks van beweging is gedetecteerd
lockLow = true;
Serial.Print ("motion eindigde op"); uitgang
Serial.Print((Millis() - onderbreken) / 1000);
Serial.println ("sec");
delay(50);
}
}
}

Gerelateerde Artikelen

Motion geactiveerd DSLR extern systeem

Motion geactiveerd DSLR extern systeem

Zie, een lange afstands-motie geactiveerd DSLR extern systeem! Het bouwen van een apparaat dat automatisch foto's van bewegende objecten neemt wanneer u niet rond bent. Het is de perfecte standalone wildlife fotografie setup.Hate lezing? Hier is een
Motion geactiveerd camera

Motion geactiveerd camera

dit is de tweede uit automatische camera trigger met arduino. In dit instructable ga ik om u te tonen hoe maak je een motion geactiveerd camera. Dit project voor de camera beweging detecteert en triggers de servo Klik op een foto in de camera.Net als
Motion-geactiveerd muziekspeler

Motion-geactiveerd muziekspeler

Zet muziek, zodra u in een kamer loopt! Deze handleiding heeft betrekking op een minimalistische ingang sensor waarmee muziek van uw keuze wordt geactiveerd. Het ontwerp kan gemakkelijk aangepast worden aan een verscheidenheid van behoeften (bijvoorb
Motion geactiveerd Camera maken van oude Webcam

Motion geactiveerd Camera maken van oude Webcam

Hoi. Heb je ooit afgevraagd hoe te maken van Motion geactiveerd Camera zonder bewegingssensor, elektronica kopen of urenlang solderen, Nou dit is je kans.De gemakkelijkste manier om het te maken...Stap 1: WebcamWaarschijnlijk hebben de meesten van on
Quick Tip #3 - snelle en eenvoudige Motion geactiveerd fiets koplamp

Quick Tip #3 - snelle en eenvoudige Motion geactiveerd fiets koplamp

Mijn elektrische fiets led koplamp niet had gewerkt sinds ik het kreeg. Dus... wat te doen wat u moet doen...?Ik besloot in plaats van afval van de koplamp, omdat het ziet er goed uit op de fiets, totdat ik de manier waarop ik wil, ik moest mijn hoof
Motion geactiveerd Halloween spin

Motion geactiveerd Halloween spin

We een speciale reeks van aangepaste Instructables voor Ace Hardware, een adverteerder op Instructables uitvoert. Dit is de eerste van drie geweldige projecten wij in-house hebt gemaakt met behulp van onderdelen van onze lokale Ace -winkel.Mij wilden
Houd ongewenste bezoekers weg met een Motion geactiveerd Sprinkler

Houd ongewenste bezoekers weg met een Motion geactiveerd Sprinkler

De lokale dieren denkt dat uw gazon hun persoonlijke toilet? Ninja moordenaars en probeer te sluipen in uw huis? Houd deze ongewenste bezoekers weg met een motie geactiveerde sprinkler systeem. Zodra ze stap in uw gazon, een passieve infrarood bewegi
Motion geactiveerd Spy Cam

Motion geactiveerd Spy Cam

nu kan je geheime surveillance met deze "gevangen-in-motion" spy video cam die geheime video en audio registreert.Zie het in actie en de testresultaten!Stap 1: Wat je nodig hebt... 1. motion Sensing Door Chime. Radio Shack deel #49-4262. mini Sp
IoT Motion gecontroleerd servo's

IoT Motion gecontroleerd servo's

Veilige en betrouwbare real-time gegevens streaming is essentieel voor IoT. Ik heb gezien tal van demonstraties waarbij toepassingen of "drukknop hier, bracht op daar" type hardware, maar een vriend en ik wilde iets dat meer interactief was... e
Motion geactiveerd buitenverlichting

Motion geactiveerd buitenverlichting

verlichting is een van de belangrijkste aspecten van uw huis of bedrijf. Maar draaien de lichten aan en uit de allertijden is een gedoe, niet te vergeten de energie verspild wanneer u onvermijdelijk, vergeet ze uitschakelen voor de nacht. Dat is waar
Valentines Day Motion geactiveerd LED hart

Valentines Day Motion geactiveerd LED hart

dit hart zal licht omhoog wanneer het zintuigen beweging door de passieve infrarood (PIR) sensor. We zullen de PIR-sensor gebruiken als een input en de LEDs als uitgang.Stap 1: materialen•PIR motion sensor (1) •Arduino (1) micro •Red LEDs (16) •Coat
Flora Rainbow LED Shirt dat is Motion geactiveerd

Flora Rainbow LED Shirt dat is Motion geactiveerd

Schitteren als een galaxy met dit flonkerende LED-shirt dat oplicht wanneer u beweegt! Dit shirt zet de duisternis ablaze met 19 LED's en 8 verschillende LED kleuren!InspiratieVoor dit project werd ik geïnspireerd door een ander instructable - de Fib
Herinnering-Box - Motion geactiveerd opgenomen bericht speler

Herinnering-Box - Motion geactiveerd opgenomen bericht speler

ik wilde een apparaat dat ik gebruiken kon om me onthouden van spullen of dwingen me naar de praktijk herinneren dingen te helpen. Dus ik deze herinnering-vak dat is gewoon een stemopname module aangesloten op een PIR (passieve infrarood sensor bouwd
Motion geactiveerd Security Camera met behulp van Intel Edison

Motion geactiveerd Security Camera met behulp van Intel Edison

Het doel van dit project is dat een veiligheidscamera die is ingeschakeld door een motion-sensor. Een passieve Infra-Red (PIR) bewegingsmelder bewaakt continu voor elke beweging in zijn gezichtsveld. Wanneer een beweging wordt gedetecteerd hierdoor e