Help progamma werkt niet meer

Arduino specifieke Software
Berichten: 30
Geregistreerd: 02 Sep 2013, 14:44

Help progamma werkt niet meer

Berichtdoor ArduinoFreak » 07 Sep 2013, 20:34

Hallo ik heb een progamma gedownload op internet voor arduino je zult het zien hier onder maar bij mijn geeft hij aan dat er iets mis is kan je me helpen copy de progamma en fix het en stuur het terug vie dit forum of via me mail: ralphstoop@hotmail.com
Hier is de progamma: srry dat de spaties weg zijn ik snap het niet de spaties gaan weg als ik dit beright online zet maar daar ligt het niet aan

#include <Servo.h>
Servo R_servo;
Servo L_servo;
int echoPin = 13;
int trigPin = 12;


const int numOfReadings = 10;
int readings[numOfReadings];
int arrayIndex = 0;
int total = 0;
int averangeDistance = 0;

unsigned long pulseTime = 0;
unsigned long distance = 0;


void MoveForward()
{
R_servo.writeMicroseconds(700);
L_servo.writeMicroseconds(2300);
//delay(2000);
}
void MoveBackward()
{
R_servo.writeMicroseconds(2300);
L_servo.writeMicroseconds(700);
//delay(2000);
}
void Stop()
{
R_servo.writeMicroseconds(1500);
L_servo.writeMicroseconds(1497);
//delay(2000);
}
void TurnRight()
{
R_servo.writeMicroseconds(2300);
L_servo.writeMicroseconds(2300);
//delay(2000);
}

void TurnLeft()
{
R_servo.writeMicroseconds(700);
L_servo.writeMicroseconds(700);
//delay(2000);
}


void setup()
{
Serial.begin (9600);

R_servo.attach(5);
L_servo.attach(6);


//set enablePins high so that momor can turn on;
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);


//create array loop to iterate over every iter in the array
for (int thisReading = 0; thisReading < numOfReadings thisReading-+; ( //hier is iets fout
readings [thisReading] = 0;
]
)


void loop()
{

pinMode(tigPin, OUTPUT);
digitalWrite(trigPin. HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);

pulseTime = pulseIn(echoPin, HIGH);
distance = pulseTime/58;
total = total - readings[arrayIndex];
readings[arrayIndex] = distance;
total = total + readings[arrayIndex];
arrayIndex = arrayIndex - 1;

// At the end of the array (10 items) then start again
if (arrayIndex >- numOfReadings) (
arrayIndex = 0;
]

averageDistance = total / numOfReadings;
Serial.print(averageDistance);
Serial.println("cm")

delay(10);

// check the average Distance and move accordigly

if (averageDistance <= 10)(

// go backwards

MoveBackward();
delay(1000);
]

else if (averageDistance <= 25 && averageDistance > 10; {

//turn left

TurnLeft()
delay(1000);
]

else if (averageDistance > 25) {

// go forward

MoveForward();

)

)

Advertisement

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: Help progamma werkt niet meer

Berichtdoor pjh » 07 Sep 2013, 21:53

Wanneer je een nieuw bericht plaatst, krijg je bovenaan een regel met opties ( [B], [i], [u], [quote], [ code] enzovoort).
Klick op Code en paste je code tussen de "blokjes".

Wanneer je reageert op een bericht, kun je kiezen voor, [plaats een reactie] en [snelle reactie]. Kies voor de eerste wanneer je dit soort codes wil invoegen.
Wanneer je toch op [snelle reactie] hebt geklick, krijg je alsnog de optie [volledige reactiepagina] onderaan je typveld om bovenstaande opties te krijgen.

Nu we het er toch over hebben: in de Arduino-IDE heb je onder het tabblad [Extra] [Automatische opmaak]. Gebruik deze, want je krijgt feedback op syntax-fouten in je programma en het wordt leesbaarder voor anderen.

Verder prima dat je je bericht hier neer zet. Chapeau. ;)

En dan nu waar het om gaat: je programma.
Ik weet niet hoe je het voor elkaar hebt gekregen, maar het lijkt wel alsof je het slordig hebt overgetypt.
Alle fouten in het programma betreffen haakjes.
waar je deze hebt: '{' volgt er altijd zo eentje: '}'
Deze zijn anders dan '(' en ')' of '[' en ']'.

Het probleem zit hem dus vooral in de syntaxis: en dat is blijkbaar een beetje je zwakke punt.
Goede reden om hier goed op te letten: kloppen alle haakjes.

Vergelijk dit met jouw programma:

Code: Alles selecteren
#include <Servo.h>
Servo R_servo;
Servo L_servo;
int echoPin = 13;
int trigPin = 12;

const int numOfReadings = 10;
int readings[numOfReadings];
int arrayIndex = 0;
int total = 0;
int averageDistance = 0;

unsigned long pulseTime = 0;
unsigned long distance = 0;


void MoveForward()
{
  R_servo.writeMicroseconds(700);
  L_servo.writeMicroseconds(2300);
  //delay(2000);
}
void MoveBackward()
{
  R_servo.writeMicroseconds(2300);
  L_servo.writeMicroseconds(700);
  //delay(2000);
}
void Stop()
{
  R_servo.writeMicroseconds(1500);
  L_servo.writeMicroseconds(1497);
  //delay(2000);
}
void TurnRight()
{
  R_servo.writeMicroseconds(2300);
  L_servo.writeMicroseconds(2300);
  //delay(2000);
}

void TurnLeft()
{
  R_servo.writeMicroseconds(700);
  L_servo.writeMicroseconds(700);
  //delay(2000);
}

void setup(){
  Serial.begin (9600);

  R_servo.attach(5);
  L_servo.attach(6);
  //set enablePins high so that momor can turn on;
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  //create array loop to iterate over every iter in the array
  for (int thisReading = 0; thisReading < numOfReadings; thisReading++){
    readings[thisReading] = 0;
  }
}



void loop()
{
  pinMode(trigPin, OUTPUT);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  pinMode(echoPin, INPUT);

  pulseTime = pulseIn(echoPin, HIGH);
  distance = pulseTime/58;
  total = total - readings[arrayIndex];
  readings[arrayIndex] = distance;
  total = total + readings[arrayIndex];
  arrayIndex = arrayIndex - 1;

  // At the end of the array (10 items) then start again
  if (arrayIndex >= numOfReadings) {
    arrayIndex = 0;
  }

  averageDistance = total / numOfReadings;
  Serial.print(averageDistance);
  Serial.println("cm");

  delay(10);

  // check the average Distance and move accordigly
  if (averageDistance <= 10){
    // go backwards
    MoveBackward();
    delay(1000);
  }

  else if (averageDistance <= 25 && averageDistance > 10){
    //turn left
    TurnLeft();
    delay(1000);
  }

  else if (averageDistance > 25) {
    // go forward
    MoveForward();
  }
}


Niet getest, wel haakjes goedgezet. :P

Berichten: 30
Geregistreerd: 02 Sep 2013, 14:44

Re: Help progamma werkt niet meer

Berichtdoor ArduinoFreak » 08 Sep 2013, 14:27

pjh schreef:Wanneer je een nieuw bericht plaatst, krijg je bovenaan een regel met opties ( [B], [i], [u],
, [ code] enzovoort).
Klick op Code en paste je code tussen de "blokjes".

Wanneer je reageert op een bericht, kun je kiezen voor, [plaats een reactie] en [snelle reactie]. Kies voor de eerste wanneer je dit soort codes wil invoegen.
Wanneer je toch op [snelle reactie] hebt geklick, krijg je alsnog de optie [volledige reactiepagina] onderaan je typveld om bovenstaande opties te krijgen.

Nu we het er toch over hebben: in de Arduino-IDE heb je onder het tabblad [Extra] [Automatische opmaak]. Gebruik deze, want je krijgt feedback op syntax-fouten in je programma en het wordt leesbaarder voor anderen.

Verder prima dat je je bericht hier neer zet. Chapeau. ;)

En dan nu waar het om gaat: je programma.
Ik weet niet hoe je het voor elkaar hebt gekregen, maar het lijkt wel alsof je het slordig hebt overgetypt.
Alle fouten in het programma betreffen haakjes.
waar je deze hebt: '{' volgt er altijd zo eentje: '}'
Deze zijn anders dan '(' en ')' of '[' en ']'.

Het probleem zit hem dus vooral in de syntaxis: en dat is blijkbaar een beetje je zwakke punt.
Goede reden om hier goed op te letten: kloppen alle haakjes.

Vergelijk dit met jouw programma:

Code: Alles selecteren
#include <Servo.h>
Servo R_servo;
Servo L_servo;
int echoPin = 13;
int trigPin = 12;

const int numOfReadings = 10;
int readings[numOfReadings];
int arrayIndex = 0;
int total = 0;
int averageDistance = 0;

unsigned long pulseTime = 0;
unsigned long distance = 0;


void MoveForward()
{
  R_servo.writeMicroseconds(700);
  L_servo.writeMicroseconds(2300);
  //delay(2000);
}
void MoveBackward()
{
  R_servo.writeMicroseconds(2300);
  L_servo.writeMicroseconds(700);
  //delay(2000);
}
void Stop()
{
  R_servo.writeMicroseconds(1500);
  L_servo.writeMicroseconds(1497);
  //delay(2000);
}
void TurnRight()
{
  R_servo.writeMicroseconds(2300);
  L_servo.writeMicroseconds(2300);
  //delay(2000);
}

void TurnLeft()
{
  R_servo.writeMicroseconds(700);
  L_servo.writeMicroseconds(700);
  //delay(2000);
}

void setup(){
  Serial.begin (9600);

  R_servo.attach(5);
  L_servo.attach(6);
  //set enablePins high so that momor can turn on;
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  //create array loop to iterate over every iter in the array
  for (int thisReading = 0; thisReading < numOfReadings; thisReading++){
    readings[thisReading] = 0;
  }
}



void loop()
{
  pinMode(trigPin, OUTPUT);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  pinMode(echoPin, INPUT);

  pulseTime = pulseIn(echoPin, HIGH);
  distance = pulseTime/58;
  total = total - readings[arrayIndex];
  readings[arrayIndex] = distance;
  total = total + readings[arrayIndex];
  arrayIndex = arrayIndex - 1;

  // At the end of the array (10 items) then start again
  if (arrayIndex >= numOfReadings) {
    arrayIndex = 0;
  }

  averageDistance = total / numOfReadings;
  Serial.print(averageDistance);
  Serial.println("cm");

  delay(10);

  // check the average Distance and move accordigly
  if (averageDistance <= 10){
    // go backwards
    MoveBackward();
    delay(1000);
  }

  else if (averageDistance <= 25 && averageDistance > 10){
    //turn left
    TurnLeft();
    delay(1000);
  }

  else if (averageDistance > 25) {
    // go forward
    MoveForward();
  }
}


Niet getest, wel haakjes goedgezet. :P

Wow evht geniaal het werkt omg THNX MAN!!!!!!!!!!!!!!!!!!!! :D :D :D :D :D :D :D

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 52 gasten