Let's Make Robots!

fritsldr with arduino

tom_jones's picture

hi guys.
ive been having some problem figuring out the code for a fritsldr in arduino.
so far i keep getting this error:

error: expected unqualified-id before numeric constant.:

 error: expected unqualified-id before numeric constant in function 'void loop()'

bad error line: -2

 

heres the code ive been using

int ledPin = 12

int ldrPin = 1

int speaker = 9

int ledon

int ledoff

int distance

 

void setup()

{

  pinMode(ledPin, OUTPUT)

  pinMode(speaker = OUTPUT)

}

 

void loop()

{

  digitalWrite(ledPin,HIGH)

  ledon = analogRead(ldrPin)

  digitalWrite(ledPin,LOW)

  ledoff = analogRead(ldrPin)

  distance =(ledon - ledoff)

  analogWrite(speaker, distance)

}

 

edit

problem solved on the code front.
just ont getting any response from anything as regards the distance.
new code

int ledPin = 12;

int ldrPin = 1;

int speaker = 9;

int ledon;

int ledoff;

int distance;

 

void setup()

{

  pinMode(ledPin, OUTPUT);

  pinMode(speaker, OUTPUT);

}

 

void loop()

{

  digitalWrite(ledPin,HIGH);

  ledon = analogRead(ldrPin);

  delay(100);

  digitalWrite(ledPin,LOW);

  ledoff = analogRead(ldrPin);

  delay(100);

  distance = (ledon - ledoff);

  analogWrite(speaker, distance);

 

any help will be greatly received and appreciated
many thanks

Tom J 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Rudolph's picture

Try it with some serial prints to see what values you're actually getting. Run this, then fire up the serial monitor to get the feedback.

int ledPin = 12;
int ldrPin = 1;
int speaker = 9;
int ledon;
int ledoff;
int distance;

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

void loop() {
digitalWrite(ledPin,HIGH);
ledon = analogRead(ldrPin);
Serial.print(ledon);
Serial.print(' ');
delay(100);

digitalWrite(ledPin,LOW);
ledoff = analogRead(ldrPin);
Serial.print(ledoff);
Serial.print(' ');
delay(100);

distance = (ledon - ledoff);
Serial.println(distance);
analogWrite(speaker, distance);
}

 

edit = oops, it didn't do linebreaks

tom_jones's picture
Thanks Del,
im just getting random numbers now. think its a hardware problem now. will check the set up and report back.
Rudolph's picture

you need semicolons after every statement.

int ledPin = 12;
int ldrPin = 1;

...

void setup()
{
  pinMode(ledPin, OUTPUT);
  pinMode(speaker = OUTPUT);

}

and so on

 

edit = Oh, and I just noticed, in setup() you've got an = instead of a , in "pinMode(speaker = OUTPUT)"