Arduino beginner: LED met LDR

Hallo,

Ik ben nieuw met arduino en met een van mijn eerste projectjes bezig.

Met een LDR probeer ik een LED lichtje aan te sturen. Dat lukt me al redelijk. Op het moment dat ik met mijn hand in de buurt van de LDR kom dan gaat deze aan. Na een X aantal seconden gaat het weer uit.

Wat ik nog wil toevoegen is dat het LED lichtje na een X aantal seconden begint te knipperen om vervolgens uit te gaan. De code die ik tot nu toe heb is als volgt:

int LDR = 0;
int LDRValue = 0;
int Light_sensitivity = 400;

void setup(){
Serial.begin(9600);
pinMode(13, OUTPUT);
}

void loop()
{
LDRValue = analogRead(LDR);
Serial.println(LDRValue);
delay(50);

if(LDRValue < Light_sensitivity)
{digitalWrite(13, HIGH);
delay(5000);
} else {
digitalWrite(13, LOW);
delay(0);
}
}

Kan iemand me uitleggen hoe ik het knipperen van het LED lampje hier het beste aan toe kan voegen?

Alvast bedankt,
Luc

Wil je dat hij gaat knipperen als uh aanstaat en ongeacht of er nog een hand voor is? of als de hand weg is, dan x seconden wachten dan knipperen en dan uit?

Het is de bedoeling dat het LED aan gaat zodra de hand boven de LDR sensor komt. Na een x aantal seconden, dus nog steeds met de hand boven de sensor, moet het LED lampje gaan knipperen.

Als de hand van de sensor weg gaat, dan moet alles na een kleine vertraging weer uitgeschakeld worden.

Kijk eens naar deze 2 sketches:

http://arduino.cc/en/Tutorial/Blink of liever nog http://arduino.cc/en/Tutorial/BlinkWithoutDelay
2 dezelfde sketches alleen de een heeft een betere manier om het voor elkaar te krijgen wat ook ten goede komt voor je huidige code.

Die sketches zijn erg handig.
Het is me een heel eind gelukt. Dank je :slight_smile:

int LDR = 0;  // hier zit je analog LDR op ?
int LDRValue = 0; // de buffer voor je LDR input
int Light_sensitivity = 400; // je sensor trigger nummmer !
# define led 13   // zo kan het ook !
void setup(){
  Serial.begin(9600);
  pinMode(led, OUTPUT); // je ledje ! 
  delay (100);
  Serial.println (" START BALZAK CHECKER V2 "); 
}

void loop()
{
 LDRValue = analogRead(LDR);  // hier leest die je analoge pin LDR 
 Serial.println(LDRValue);  // hier print die dat 
 delay(200);  // mini delay !!
  if (LDRValue < Light_sensitivity) { // als de sensonr minder of meer is dan je waarde 400 //
   digitalWrite(13, HIGH);
   delay(500);
  digitalWrite(13, LOW);
   delay(50);
    digitalWrite(13, HIGH);
   delay(50);
  digitalWrite(13, LOW);
   delay(50);
  digitalWrite(13, HIGH);
  delay (100);
  Serial.println("ACTIVE"); 
  delay (300);
 }
 if (LDRValue > Light_sensitivity) { // als de sensonr minder of meer is dan je waarde 400 //
   Serial.println("SEARCHING"); 
   delay (100);
   digitalWrite(13, HIGH);
   delay(10);
  digitalWrite(13, LOW);
   delay(10);
    digitalWrite(13, HIGH);
   delay(10);
  digitalWrite(13, LOW);
   delay(10);
  digitalWrite(13, HIGH);
  delay (10);
 }
 }

:astonished:
kan hem ook auto calibrerent maken ! :%