Go Down

Topic: what did i do wrong (Read 439 times) previous topic - next topic

pittom

ok her goes  I have a rovio robot and am trying to make it a 4x4 for out doors,i now have +5volts on input that come from rovio wheels going into arduino inputs and the out put pins going to rc 4x4. Now my problem is i have +5 to +6 volts at the pin inputs but am only getting +2.45volts out for the fwheelpin and rwheelpin put,lturn and rturn i get +5volts on all out put pins like i should and does run the wheels on rc 4x4. is there something wrong wih my program? i tried 2 different ones and same problem.
Code: [Select]
/*
                                     program 1


4 inputs with with (and &&) and 2 outputs


*/

// set pin numbers:
int redpin = A3;      // 2red come in from rovio
int bluepin = A2;    // 3blue
int blackpin = A1;     // 4black  
int greenpin = A0;   // 5green  
int fwheelpin =  2;      // out to wheels
int rwheelpin =  4;
int lturn = 7;
int rturn = 8;
// variables will change:
int redState = 0;         // variable for reading rovio status
int blueState = 0;        
int blackState = 0;          
int greenState = 0;        
void setup() {
  // initialize the pin as an output and input
 pinMode(8, OUTPUT);
 pinMode(4,OUTPUT);
 pinMode(7, OUTPUT);
 pinMode(2,OUTPUT);
 pinMode(A3, INPUT);
 pinMode(A2, INPUT);
 pinMode(A1, INPUT);
 pinMode(A0, INPUT);
   
}

void loop(){
 // read rovio input
 redState = analogRead(redpin);
 blueState = analogRead(bluepin);
  blackState = analogRead(blackpin);
  greenState = analogRead(greenpin);
 
 // forward, then it is high
 if (redState >100 && greenState >100){  
   
   // turn LED on:    
   digitalWrite(fwheelpin, HIGH);

 }
 else {
    // turn LED off:
   digitalWrite(fwheelpin, LOW);  
 }
 // revers high
 if (blueState >350 && greenState >350){
   
   //turn on
   digitalWrite(rwheelpin,HIGH);
 }

 else{
   //turn off
   digitalWrite(rwheelpin,LOW);
 }

 //turn left
 if (redState >350 && blackState >350){
   digitalWrite(rwheelpin,HIGH);
   digitalWrite(lturn,HIGH);
   
 }
 else{
    digitalWrite(rwheelpin,LOW);
     digitalWrite(lturn,LOW);
}
 //turn right
 if(blueState >200 && greenState >200){
   digitalWrite(fwheelpin,HIGH);
   digitalWrite(rturn,HIGH);
   
 }
 else{
    digitalWrite(fwheelpin,LOW);
     digitalWrite(rturn,LOW);
}
}


                   prgram2
/*


4 inputs with with (and &&) and 2 outputs


*/

// set pin numbers:
int redpin = 2;      //come in from rovio
int bluepin = 3;    
int blackpin = 4;      
int greenpin = 5;    
int fwheelpin =  8;      // out to wheels
int rwheelpin =  9;
int lturn = 10;
int rturn = 7;
// variables will change:
int redState = 0;         // variable for reading rovio status
int blueState = 0;        
int blackState = 0;          
int greenState = 0;        
void setup() {
  // initialize the pin as an output and input
 pinMode(10, OUTPUT);
 pinMode(9,OUTPUT);
 pinMode(8, OUTPUT);
 pinMode(7,OUTPUT);
 pinMode(3, INPUT);
 pinMode(4, INPUT);
 pinMode(5, INPUT);
 pinMode(2, INPUT);
   
}

void loop(){
 // read rovio input
 redState = digitalRead(redpin);
 blueState = digitalRead(bluepin);
  blackState = digitalRead(blackpin);
  greenState = digitalRead(greenpin);
 
 // if it is, then it is high
 if (redState == HIGH && greenState == HIGH){  
   
   // turn LED on:    
   digitalWrite(fwheelpin, HIGH);

 }
 else {
    // turn LED off:
   digitalWrite(fwheelpin, LOW);  
 }


 if (blueState == HIGH && greenState == HIGH) {    
   // turn LED on:      
   digitalWrite(rwheelpin,HIGH);

 }
 else {
   
   digitalWrite(rwheelpin,LOW);
 }
 //turn left
 if(redState == HIGH && blackState == HIGH){
   digitalWrite(rwheelpin,HIGH);
   digitalWrite(lturn,HIGH);
   
 }
 else{
    digitalWrite(rwheelpin,LOW);
     digitalWrite(lturn,LOW);
}
 //turn right
 if(blueState == HIGH && greenState == HIGH){
   digitalWrite(fwheelpin,HIGH);
   digitalWrite(rturn,HIGH);
   
 }
 else{
    digitalWrite(fwheelpin,LOW);
     digitalWrite(rturn,LOW);
}
}


Eliminateur

read my answers on your other thread, btw: do not put both programs under a single Code tag  :)


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy