Surfin ' Bird (Arduino stijl) (2 / 4 stap)

Stap 2: De Code


/*
* //////////////////////////////////////////////////
* //making zin van de Parallax PIR sensor de uitgang
* //////////////////////////////////////////////////
*
* Switches een LED overeenkomstig de stand van de sensoren uitgang pin.
* Bepaalt het begin en einde van de ononderbroken motie sequenties.
*
* Kristian Gohlke / krigo (_) Web.de / http://filformat.net
* 3. September 2006
*
* kr1 (gespleten) 2006
* vrijgegeven onder een creative commons-licentie "Attribution-NonCommercial-ShareAlike 2.0"
* http://creativecommons.org/licenses/by-nc-sa/2.0/de/
*
*
* De Parallax PIR-Sensor is een makkelijk te gebruiken digitale infrarood beweging Sensormodule.
* (http://www.parallax.com/detail.asp?product_id=555-28027)
*
* De sensor´s uitgang pins gaat naar hoge als beweging aanwezig is.
* Zelfs als beweging aanwezig is echter te laag van tijd tot tijd,
* die misschien de indruk geven geen beweging is aanwezig.
* Dit programma behandelt deze kwestie door het negeren van LOW-fasen korter is dan een bepaalde tijd,
* uitgaande ononderbroken motie is aanwezig tijdens deze fasen.
*
*/

/////////////////////////////
VARS
#include
#include
#include "util.h"
#include "wave.h"

Kaart van de AF_Wave;
Bestand f;
WAVEFILE Golf;

int calibrationTime = 30; de tijd die we geven de sensor kalibreren zelf (10-60 sec volgens het gegevensblad)
lang unsigned int lowIn; het tijdstip wanneer de sensor een lage impuls uitgangen
lang unsigned int pauze = 5000; het aantal milliseconden die de sensor worden lage moet voordat we aannemen alle beweging dat is gestopt

Boole lockLow = waar;
Booleaanse takeLowTime;

int pirPin = 6; de digitale pin aangesloten op uitgang van de PIR-sensor
int ledPin = 13;

/////////////////////////////
SETUP
VOID Setup {}
Serial.begin(9600);
pinMode (pirPin, INPUT);
pinMode (ledPin, OUTPUT);
pinMode (2, OUTPUT);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
digitalWrite (pirPin, laag);

de sensor enige tijd te geven om te kalibreren
Serial.Print ("kalibreren sensor");
for (int i = 0; ik < calibrationTime; i ++) {}
Serial.Print(".");
delay(1000);
}
Serial.println ("done");
Serial.println ("SENSOR actief");
delay(50);
Als (! card.init_card()) {}
terugkeer;
}
Als (! card.open_partition()) {}
terugkeer;
}
Als (! card.open_filesys()) {}
terugkeer;
}
Als (! card.open_rootdir()) {}
terugkeer;
}
}

////////////////////////////
LOOP
void loop {}

if(digitalRead(pirPin) == HIGH) {}
digitalWrite (ledPin, hoge); de led visualiseert de sensoren uitvoer pin staat
if(lockLow) {}
lockLow = false; Zorg ervoor dat we wachten op een overgang naar lage voordat verdere uitvoer plaatsvindt
Serial.println("---");
Serial.Print ("bewegingsdetectie op");
Serial.Print(Millis()/1000);
Serial.println ("sec");
delay(50);
}
takeLowTime = true;
}

if(digitalRead(pirPin) == LOW) {}
digitalWrite (ledPin, laag); de led visualiseert de sensoren uitvoer pin staat

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
}

Als (! lockLow & & millis() - lowIn > onderbreken) {//if de sensor wordt laag voor meer dan de gegeven pauze, we gaan ervan uit dat geen meer beweging gaat gebeuren
lockLow = true; zorgt ervoor dat dit blok code wordt alleen opnieuw uitgevoerd nadat een nieuwe reeks van beweging is gedetecteerd
Serial.Print ("motion eindigde op"); uitgang
Serial.Print((Millis() - onderbreken) / 1000);
Serial.println ("sec");
delay(50);
}
switch(digitalRead(pirPin) == HIGH) {}

Case 1:
playcomplete("03SURF~1.wav");

}
}}

ongeldig playcomplete(char *name) {}
playfile(name);
terwijl (wave.isplaying);
Card.close_file(f);
}

ongeldig playfile(char *name) {}
elk bestand al spelen stoppen
Als (wave.isplaying) {}
Wave.stop();
Card.close_file(f);
}

f = card.open_file(name);
Als (f & & wave.create(f)) {}
Wave.Play();
}

}

Gerelateerde Artikelen

Peddel bal, Arduino stijl

Peddel bal, Arduino stijl

Ik ben niet ook gecoördineerd en peddel bal heeft nooit een grote vaardigheid voor mij. Ik dacht dat een Arduino, bijgestaan door een servomotor en sommige 3d gedrukte delen, kon uitvoeren op een lijn met mij. Ik was niet teleurgesteld.Stap 1:Begin m
Hoe maak je een obstakels vermijden Robot - Arduino stijl

Hoe maak je een obstakels vermijden Robot - Arduino stijl

je altijd al wilde maken van een van deze coole robots die in principe elk object kunnen vermijden. Maar je niet genoeg geld om te kopen een van die erg duur zijn hoefde, met reeds gesneden delen waar alle materialen waar er voor u. Als u als me bent
Minty Magic Morse - Arduino stijl

Minty Magic Morse - Arduino stijl

dit Instructable is verwijderd maar helaas het systeem zou niet verstrekken mij voor publicatie ongedaan maken.  Het merendeel van de informatie en de programmacode in dit instructable is beschikbaar in de forums op Arduino.ccRay Burne is het niet la
GOduino II = Arduino + L293D variabele snelheid Motor Controller

GOduino II = Arduino + L293D variabele snelheid Motor Controller

UPDATESGOduino II werd gekenmerkt op dangerousprototypes.com04/07/2012 heb ik een begroting dia toegevoegd voor de lezers die vroegen zich af waar ik heb mijn budget < $20 voor de GOduino II.INTRODUCTIEDe GOduino II is een self-contained programmeerb
Palm Arduino V3

Palm Arduino V3

ik ontwerp en maak deze Palm Arduino V3-prototype PCB, zoals ik moe was van het herscheppen van Arduino compatibel op première boord telkens ik prototyping een nieuw project, vooral toen ik moest besteden veel tijd traceren de bedrading om te zien da
Hoe gebruik WiFi Module in de Arduino IDE op pcDuino

Hoe gebruik WiFi Module in de Arduino IDE op pcDuino

pcDuino v2 heeft een ingebouwde WiFi-module waarmee Internet-verbinding. Gebruikers vragen het gebruik van de WiFi-module in de stijl van de Arduino IDE op pcDuino? Is het zelfde als WiFi shield voor Arduino?pcDuino v2 is een enige linux raadscompute
Arduino Touch Screen toetsenbord

Arduino Touch Screen toetsenbord

Met dit Instructable zult u in staat uw Arduino en een TFT-schild te gebruiken als een schermtoetsenbord 'piano'.Kenmerken:-responsieve en snel touchscreen-toetsenbord bevat slijpsel en flats-u kunt octaven met octave 'knoppen' - het bereik is een vo
Metaal Detector

Metaal Detector

Waarom niet ontbloten de verlorenen van schatten van vervlogen beschavingen (of misschien vergeten goederen uit een aan het strand partij) met uw zeer eigen metaaldetector? In dit Instructable, ik zal u laten zien hoe het bouwen van een metaaldetecto
Ochtend Routine Machine

Ochtend Routine Machine

Leven is versnellen naar een razend tempo, en tijd is meer waard dan ooit. Als u als me bent en zou graag te knijpen van elke extra tweede out van elke dag, waarom niet een machine, een prachtige, magische machine, voor het automatiseren van een stuk
Elegante nacht dragen ketting

Elegante nacht dragen ketting

Hier zijn enkele ideeën over het maken van een elegante hanger ketting die voorzichtig 's nachts gloeit. Het is zeer eenvoudig te maken en goedkoop kan worden gemaakt. De simpele, rechthoekige vorm past mooi aan elke look die u wilt maken.Wat is er z
Inleiding tot de stappenmotoren

Inleiding tot de stappenmotoren

Als je ooit het plezier van de ontmanteling van een oudere printer om te redden van elektronische onderdelen (I highly recommend dit weekend activiteit als u nog niet eerder!) hebt gehad kan je zijn gekomen over een hele reeks cilindrische mysterie m
De Schildwacht van de autonome torentje

De Schildwacht van de autonome torentje

Het autonome Sentry torentje is een standalone systeem geschikt voor het opsporen en neutraliseren van ongewenste indringers via een spervuur van zacht schuim darts. Gebouwd voor de kantooromgeving, is de AST een krachtige stuk van hardware die geen
Macht Stacker: Stapelbaar USB oplaadbare batterij systeem

Macht Stacker: Stapelbaar USB oplaadbare batterij systeem

Alstublieft klik hieronder om naar onze Kickstarter projectpagina voor Power Stacker, en pre-orde een productiemodel!http://www.Kickstarter.com/projects/249225636/Powe...Macht Stacker is een draagbaar, modulaire, USB oplaadbare lithium-ion batterijpa
MiniSub ROV

MiniSub ROV

De oceaan eist uw naam! Wezens, zeegezichten en schatten zowel natuurlijke als kunstmatige liggen net onder het oppervlak van de werelds wateren te wachten om te worden gevonden. U kon dragen een pak en duik in, maar waarom gaan naar al die moeite al