Problem controlling servo with remote


hey. im trying run code.
whenever start program, reason servo automatically starts moving.
whenever press forward or back, starts moving faster in same direction. , cant make go other direction. help??

code: [select]

#include <irremote.h>
#include <servo.h>

const int recv_pin = 11;

irrecv irrecv(recv_pin);

decode_results results;
servo myservo;
int pos = 0;

void setup()
{
  serial.begin(9600);
  irrecv.enableirin(); // start receiver
  irrecv.blink13(true);
  myservo.attach(9);
}

void loop() {
  if (irrecv.decode(&results)) {
    if (results.decode_type == nec) {
      serial.print("nec: ");
    } else if (results.decode_type == sony) {
      serial.print("sony: ");
    } else if (results.decode_type == rc5) {
      serial.print("rc5: ");
    } else if (results.decode_type == rc6) {
      serial.print("rc6: ");
    } else if (results.decode_type == unknown) {
      serial.print("unknown: ");
    }
    serial.println(results.value, hex);
   
    switch (results.value)
    {
      case 0xc1aa0df2:
        serial.println("forward");
        pos++;
        myservo.write(pos);
        delay(15);
      break;
     
      case 0xc1aa4db2:
        serial.println("back");
        pos--;
        myservo.write(pos);
        delay(15);
       break;
     
      default:
        serial.println("unknown");
    }
   
    irrecv.resume(); // receive next value
  }
}

hi,
get serial print print value of pos.
see if have control of it.
you didn't monitor displayed when misbehaving?
start pos off value of 90, not 0.
do in setup, servo,write(pos) before attach. 
90 should 0 movement of servo. (i assume 360 continuos servos.)
what type/model servo.
you cannot power servo off 5v of arduino, terminal cannot supply enough current , cause arduino malfunction, possibly damage regulator.
what arduino using, uno, due, mega, nano?


tom.... :)


Arduino Forum > Topics > Robotics (Moderator: fabioc84) > Problem controlling servo with remote


arduino

Comments