Problem with error message

Me and my friend don't know how to fix this error, or why it's accouring.
Our code looks like this:

const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;
void setup() {
pinMode(hl, OUTPUT);

pinMode(buttonPin, INPUT);
}
void loop(){

buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(hl, LOW);
}
else {
// turn LED off:
digitalWrite(hl, HIGH);
}
}
{
digitalWrite(hl, HIGH)
delay(1000);
digitalWrite(hl, low)
delay(1000)
}

When we try to verify it, we get the error:
Button:57: error: expected unqualified-id before '{' token

Please tell us how to fix the problem!!

Hello and welcome :slight_smile:

You have few problems on the last lines:

  • First you forgot some ';'

  • Then if you check the count of '{' and '}' (and if you indented your code correctly) then you will see the last lines are outside of void loop().

Here is your code, exactly the same but correctly indented:

const int buttonPin = 2; 
const int hl = 3;
int buttonState = 0;

void setup()
{
  pinMode(hl, OUTPUT); 
  pinMode(buttonPin, INPUT); 
}

void loop()
{
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH)
  { 
    // turn LED on: 
    digitalWrite(hl, LOW); 
  } 
  else
  {
    // turn LED off:
    digitalWrite(hl, HIGH); 
  }
}

{
  digitalWrite(hl, HIGH)
  delay(1000);
  digitalWrite(hl, low)
  delay(1000)
}

See the problem(s) ??

guix:
Hi, thanks for the help, we tried to look at it again, but the error is still not fixed, maybe I don't really get what the error is. It comes with the same error when we try to put the '{' other places.

Please help.

Me and my friend don't know how to fix this error, or why it's accouring (we have very little experience with programming).
Our code looks like this:

const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;
void setup() {
pinMode(hl, OUTPUT);

pinMode(buttonPin, INPUT);
}
void loop(){

buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(hl, LOW);
}
else {
// turn LED off:
digitalWrite(hl, HIGH);
}
}
{
digitalWrite(hl, HIGH);
delay(1000);
digitalWrite(hl, LOW);
delay(1000);
}

When we try to verify it, we get the error:
Button:57: error: expected unqualified-id before '{' token

Please tell us how to fix the problem!!

You must have an equal number of braces both { and }.

The braces must enclose blocks of code.
The braces in that code are all over the place.

I imagine that this is what you want, but I am not sure.

const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;
void setup() {
pinMode(hl, OUTPUT);

pinMode(buttonPin, INPUT);
}
void loop(){

buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(hl, LOW);
}
else {
// turn LED off:
digitalWrite(hl, HIGH);
}

digitalWrite(hl, HIGH);
delay(1000);
digitalWrite(hl, LOW);
delay(1000);
}

First, if you post please use the # button to tag code correctly

Give this a try, I removed a { and added an extra delay(200) , .. (code not tested)

const int buttonPin = 2; 
const int hl = 3;
int buttonState = 0;

void setup()
{
  pinMode(hl, OUTPUT); 
  pinMode(buttonPin, INPUT); 
}

void loop()
{
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH)
  { 
    digitalWrite(hl, LOW);
  } 
  else 
  {
    digitalWrite(hl, HIGH); 
  }
  delay(200);  // extra

  digitalWrite(hl, HIGH);
  delay(1000);

  digitalWrite(hl, LOW);
  delay(1000);
}

Problem 1 - all the statements should end with a semi-colon like this

    digitalWrite(hl, HIGH);

Are there any lines in your sketch that don't ?

Problem 2 - when, if ever, is this code going to be executed ?

{
  digitalWrite(hl, HIGH)
  delay(1000);
  digitalWrite(hl, low)
  delay(1000)
}

robtillaart:
First, if you post please use the # button to tag code correctly

Give this a try, I removed a { and added an extra delay(200) , .. (code not tested)

const int buttonPin = 2; 

const int hl = 3;
int buttonState = 0;

void setup()
{
 pinMode(hl, OUTPUT);
 pinMode(buttonPin, INPUT);
}

void loop()
{
 buttonState = digitalRead(buttonPin);
 if (buttonState == HIGH)
 {
   digitalWrite(hl, LOW);
 }
 else
 {
   digitalWrite(hl, HIGH);
 }
 delay(200);  // extra

digitalWrite(hl, HIGH);
 delay(1000);

digitalWrite(hl, LOW);
 delay(1000);
}

Hi, it worked, thanks, but why did you make an extra delay, and why did it work???

Please don't cross post. Threads merged.

Hi, it worked, thanks, but why did you make an extra delay, and why did it work???

That is your homework:)
Follow the code by hand, read it carefully line by line.
Be the Arduino !
and do what the code says and you will understand.

robtillaart:

Follow the code by hand, read it carefully line by line.
Be the Arduino !
and do what the code says and you will understand.

Well, ok, thank you! :slight_smile: