Go Down

Topic: Servos y VirtualWire, el por que de unos SI y otros NO ? (Read 302 times) previous topic - next topic

anonimator

 :o

Hola Compañeros.

Adjunto muestro una foto de dos servos, pues bien a través de VirtualWire y de manera inalámbrica  con el código de abajo gobierno perfectamente el servo pequeño, pero cuando pongo el grande no funciona y me estoy volviendo loco, no tengo ni idea del porque, evidentemente ya he comprobado que el servo negro funcione bien, es mas lo coloco en un arduino y con un simple código de manejar servo y un potenciometro funciona pero con virtualWire, no.

Sabeis que puede estar pasando ?

Gracias.




Code: [Select]


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////SISTEMA FRENADO/////////////////////////////////////////////
Data1 = Data1;                                                                                           
if ( 0 < Data1 && Data1 < limite && Data2 < 30) { //añado la condicion Data4 para evitar que al mismo tiempo pueda acelerar
pos = map(Data1, 0, limite, 0, 600);  // Mapeo de inicio de servo, zona de inicio hasta tocar zapara               
myservo.write(pos);                                                                                                 
myservo1.write(pos); }                                                                                       
else { pos = 0; }                                                                                                   
                                                                                                                   
if ( limite < Data1 && Data1 < 1023 && Data2 < 30) {                                                             
pos = map(Data1, limite, 900, 600, 2060);      // Mapeo de frenado, desde que tocamos zapata a presion de frenado   
int valCal = 0;                                                                                                       
int valCal1 = 0;                                                                                                     
valCal = (pos + CalibracionServo);                                                                                     
valCal1 = (pos + CalibracionServo1);                                                                       
myservo.write(valCal );                                                                                             
myservo1.write(valCal1 );                                                                                       
}                                                                                                                   
else {  myservo.write(0);                                                                                           
        myservo1.write(0);  }                                                                                     
                                                                                                                   
Code: [Select]

surbyte

Quote
Adjunto muestro una foto de dos servos
No veo las fotos.
Diras que la adjuntaste y yo te responderé que debes hacerlo como dicen las normas del foro, o sea usando el tag para imágenes. Lee las normas y edita tu post.

El código que posteaste luce como entre tag de código pero parece una cita. Muy raro. No se entiende bien y falta el setup y parte del loop.

Hasta no ver bien el código no responderé (al menos yo) si esta bien o no tu código. Solo diré que verifiques que la alimentación del segundo servo sea la suficiente. 
No intentes usar Arduino para alimentar los servos. Usa fuente externa.

anonimator



Hola surbyte.

La foto esta en el Post de arriba, al menos yo puedo ver el link donde se me abre.

Por otro lado tan solo he puesto la parte del código que interesa ya que el resto del setup y loop donde declaramos variables y demás no tiene interés, pero cuando llegue a casa la colgaré.

En cuanto a la parte donde tu comentas que tengo que alimentar los servos independientemente ya lo había probado así, ya que si no sobrecargariamos arduino.

En resumen, cuando esos dos servos los pruebo con un code simple de servos, para manejarlos con un potenciometro, funcionan correctamente, pero cuando los pongo a funcionar a través de VirtualWire de manera inalámbria en el receptor, solo me funciona el servo pequeño.

?


Saludos.

Go Up