Comentarios en: PINGUINO Seguidor de SOL https://pinguino.walii.es/?p=161 OPEN SOURCE Tue, 04 Dec 2012 01:16:51 +0000 hourly 1 https://wordpress.org/?v=6.0.2 Por: felloz https://pinguino.walii.es/?p=161#comment-1906 Tue, 04 Dec 2012 01:16:51 +0000 http://pinguino.walii.es/archives/161#comment-1906 Hola, tengo algunas dudas, estoy tratando de programar el código que pusiste en C++ en MPLAB, pero me marca errores ya que yo programo en C18 y en este tipo de programación se utiliza la confuguracion de bits y en el programa que pusiste no lo veo, si me pudieras ayudar con la programación en C18 te lo agradecería muchisimo

]]>
Por: geragts_9 https://pinguino.walii.es/?p=161#comment-1800 Mon, 06 Jun 2011 05:40:01 +0000 http://pinguino.walii.es/archives/161#comment-1800 Ok ya entiendo pues si podría ser eso, ya estuve checando el driver de servos en otro post (burbujometro, por cierto genial) voy a hacer unas pruebas para ver si anda el servo, pero si te agradeceria que publicaras el codigo. Disculpa por darte tantas molestias. Gracias

Saludos.

]]>
Por: walterleonardo https://pinguino.walii.es/?p=161#comment-1789 Sun, 05 Jun 2011 07:46:37 +0000 http://pinguino.walii.es/archives/161#comment-1789 En respuesta a geragts_9.

Hola… no te preocupes… por lo que veo lo tienes bien armado…lo que si puede ser es que cuando he realizado este código no existía el driver controlador de servos y fue en una versión previa de IDE…. ahora me pongo a ver si lo realizo para la versión nueva. Porque ese es el único inconveniente que vi en pinguino… que las nuevas versiones pierden funciones antiguas… y puede ser el problema que vemos acá…
En cuanto lo reproduzca lo pongo en el blog.

saludos.

]]>
Por: geragts_9 https://pinguino.walii.es/?p=161#comment-1784 Sat, 04 Jun 2011 22:15:46 +0000 http://pinguino.walii.es/archives/161#comment-1784 Se me olvidaba uso el 4550.
Espero y puedas ayudarme no entiendo por que no funciona. Gracias
Saludos

]]>
Por: geragts_9 https://pinguino.walii.es/?p=161#comment-1783 Sat, 04 Jun 2011 22:13:27 +0000 http://pinguino.walii.es/archives/161#comment-1783 Hola, ya estuve checando lo de las resistencias y con el voltimetro si me da entre 2 y 5v, los pines de los ldr los tengo conectados al 2 y 3 (pines reales), el servo al pin 15 pero aun no me funciona, tambien otro detalle es que tarda como 2 minutos en encender el led indicador de conexion lo que con otros codigos que e probado no pasa (enseguida de conectarlo a la pc enciende el led y funciona perfecto).

Saludos.

El codigo que estoy usando es este:

// Serial control 2 servos seguidores
// Walii.es 2010
#define RUNLED PORTAbits.RA4
#define PIC18F4550 // control pin of servo
int counter; // counter used for interrupt
int position0; //pin0 servo vertical
int ir0;//pin 13
int ir1;//pin 14
int Pot=900; //sensibilidad de los LDRs
int i;
int key;
int pulseWidth = 20;
void setup()
{
T1CON=0x01; // configure timer 1
PIE1bits.TMR1IE=1; // set interrupt for timer 1
INTCON|=0xA0; // enable GIE and PEIE
pinMode(0,OUTPUT);
Serial.begin(9600);
}
void UserInterrupt()
{
if (PIR1bits.TMR1IF)
{
TMR1H=0xFF; // reload value timer 1
TMR1L=0x9C;
PIR1bits.TMR1IF=0; // clear interrupt flag
if (counter>position0+51) PORTBbits.RB0=0; // position
else PORTBbits.RB0=1;
if (counter==1500) counter=0; // value for ~20 mS
counter++;
}
}
void loop()
{
//En principio utilizo solo dos LDRs pero se pueden usar 4
//I use only two LDRs but you can use 4
//Puedes usar LDR o led Infrarrojos
//You can use Infrared LEDs or LDR
ir0=analogRead(13);
ir1=analogRead(14);
if (Serial.available())
{
key=Serial.read();
if (key==’1′) position0=position0+10;
if (key==’2′) position0=position0-10;
}
//control de posicion dependiendo la incidencia del sol
// Control position depending on the incidence of the sun
if ( ir0 < Pot && ir1 < Pot) position0=position0;//quieto sol incide
if ( ir0 Pot) position0=position0-10;//izquierda
if ( ir0 > Pot && ir1 Pot && ir1 > Pot) position0=position0;//sin sol
//control de exceso de posicion de servo
// Position control of servo excess
if (position0151) position0=151;
//debug via puerto serie
// Debug via serial port
Serial.print(» Posicion serv0 = «);
Serial.print(position0);
Serial.print(«\n\r»);
Serial.print(«\n\r»);
Serial.print(» ir0= «);
Serial.print(ir0);
Serial.print(» ir1= «);
Serial.print(ir1);
}

]]>