not executing entire sketch


hello,

i new programming , adapting else's code. trouble having not parts of sketch executed. here code using (it's not complete yet):
code: [select]
/*
*autonomous robot
*/

#include <servo.h>

//wheel servo
#define rstop 90
#define lstop 90
#define rforward 0
#define rreverse 180
#define lforward 180
#define lreverse 0

//head servo
#define center 90
#define right 0
#define left 180
#define rcenter 45
#define lcenter 125

//convinience
#define err 50
#define leftturn 0
#define debug 0

servo leftwheel;
servo rightwheel;
servo head;

int leftspeeed = lforward;
int rightspeed = rforward;
int headposition = center;

int leftdist = 0;
int rightdist = 0;
int frontdist = 0;
int eyes = 5;

int curdist = 0;
int objdist = 0;
int objdir = 0;


boolean lookingright = true;
boolean turnnow = false;


void setup(){
 leftwheel.attach (9);
 rightwheel.attach(10);
 head.attach(11);

 rightwheel.write(rstop);
 leftwheel.write(lstop);
 head.write(headposition);


 serial.begin(9600);
}

/* go - full speed ahead
* stop - dead stop
* turn - turn in place duration miliseconds
*/

void go(){
 rightwheel.write(rforward);
 leftwheel.write(lforward);
}

void stop(){
 rightwheel.write(rstop);
 leftwheel.write(lstop);
}

void turn(int dir){
 // store current speeds
 rightspeed = rightwheel.read();
 leftspeed = leftwheel.read();

 if(dir == leftturn){
   rightwheel.write(rreverse);
   leftwheel.write(lforward);
 }
 else {
   rightwheel.write(rforward);
   leftwheel.write(lreverse);
 }
 delay(800);

 //restore original speeds
 rightwheel.write(rightspeed);
 leftwheel.write(leftspeed);
}

/* scan - turns head 1o , records distance , heading.
* saves closest object info.
* objdist , objdir hold closest object data
*/

void scan(){

 int n = head.read();

 if(lookingright = true){
   head.write(n - 1);
 }
 if(n == 0) {
   lookingright = false;
   frontdist = 0;
   objdist = 0;
   turnnow = true;
 }

 if(lookingright = false){
   head.write(n + 1);
 }
 if(n == 180){
   lookingright = true;
   frontdist = 0;
   objdist = 0;
   turnnow = true;
 }

 serial.println(n);

 curdist = analogread(eyes);
 if(curdist > objdist){
   objdist = curdist;
   objdir = head.read();
   if(debug){
     serial.print("new close object @ distane: ");
     serial.print(objdist);
     serial.print(" heading: ");
     serial.println(objdir);
   }
 }
 delay(10);
}

void loop(){
 scan();

}




the problem lies lookingright = true. way understand have written when lookingright true, n reading of current servo position decrease 1. value written servo until n reaches 0 lookingright set false. problem when n reaches 0 nothing happens, stays @ 0. also, scan part of sketch not executed past serial.println(n) line.

any appreciated.

code: [select]
if(lookingright = true){
   head.write(n - 1);
 }


use == instead of = here comparison, or you'll set lookingright true every time.  (same when comparing false)


Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > not executing entire sketch


arduino

Comments

Popular posts from this blog

CAN'T INSTALL MAMBELFISH 1.5 FROM DIRECTORY - Joomla! Forum - community, help and support

error: expected initializer before 'void'

CPU load monitoring using GPIO and leds - Raspberry Pi Forums