Go Down

### Topic: 1 photoresistor 2 leds (sorry for my english) (Read 2303 times)previous topic - next topic

#### kevindorner

##### Mar 05, 2011, 12:34 pmLast Edit: Mar 05, 2011, 05:11 pm by kevindorner Reason: 1
Hi,
I am making a school project until the 14th, but i am new with programming.
A photoresistor controlls the leds. If i place my hand over the photoresistor, led2 goes on.
If I cover it, but then remove my hand, led1 goes on.

2.wait 0,5 seconds

a)if the light that reaches the photoresistor is interrupted for a short time, set led1 high
b)if the light that reaches the photoresistor is interrupted for a long time, set led2 high

=>that means: a)if i move my hand once over it, set led 1 high
b)if i cover it, set led 2 high

I need a programm that looks like this:

Quote

int photoIn = 1;
int led1 = 11;
int led2 = 12;
int setPoint = 350;

void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {

if (Value < setPoint;
delay(500);
Value > setPoint;)
{
digitalWrite(led1, HIGH);
delay(1000)
digitalWrite(led1, LOW);
}

if (Value < setPoint;
delay(500);
Value < setPoint;)
{
digitalWrite(led2, HIGH);
delay(1000)
digitalWrite(led2, LOW);
}

#1
##### Mar 06, 2011, 07:42 am
Two things...

2. Do you have a question about robotics?

#### lemio

#2
##### Mar 08, 2011, 11:25 pm
Nice to see that they are doing Arduino projects on your school
The code would be something like this:
Quote

int photoIn = 1;
int led1 = 11;
int led2 = 12;
int value = 0;
byte last_value = false;
/*
Change this value to the point where it works,
it depends on how light the area is.
*/
int setPoint = 350;

void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {

if (value < setPoint){
if (last_value==true){
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
}
last_value = false;
}
else{
if (last_value==true){
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
}
last_value = true;
}
delay(500);
}

But if you hold your hand for 0.1 seconds this script won't work. This only works if you hold your hand for 0.5 seconds. Success with your project.

#### kevindorner

#3
##### Mar 09, 2011, 02:08 pm
I need somethig like this:

Code: [Select]
`int photoIn = 1;int led1 = 11;int led2 = 12;int value = 0;int setPoint = 350;void setup(){  pinMode(led1, OUTPUT);  pinMode(led2, OUTPUT);}void loop() {  value = analogRead(photoIn);  if (value < setPoint){    delay(500);    if (value < setPoint){      digitalWrite(led1,HIGH);      digitalWrite(led2,LOW);      delay(1000);      digitalWrite(led1,LOW);}          else{digitalWrite(led2,HIGH);      digitalWrite(led1,LOW);      delay(1000);      digitalWrite(led2,LOW);}       }else{      digitalWrite(led1,LOW);      digitalWrite(led2,LOW);       }     }`

Go Up

Please enter a valid email to subscribe