Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Volver a empezar
29-04-2013, 04:19 PM,
#1
Volver a empezar
Hola me llamo Miguel y soy muy nuevo en pinguino, he echo algunas pruebas con arduino y algunos sensores, servos, cubo de leds, etc... nada grande y siempre solo para probar que funcionan.

y quiero hacer eso mismo con pinguino. ya que es mas barato y compatible con arduino o eso tengo entendido.

Me podeis recomendar que necesito para empezar? yo cuento con 1 18f2550 y un 18f4550 y mi SO es Win XP SP3.

Lo quiero formatear porque mis ultimas pruebas con los drivers de pinguino,bootloaders y IDE me han dejado los nervios rotos.

me gustaria empezar de cero y que me recomendeis un conjunto estable.

Perdon por no haber echo esto antes.
Reply
29-04-2013, 08:28 PM,
#2
RE: Volver a empezar
Un saludo Miguel, Bienvenido a la comunidad de usuarios Pinguino.

Bueno, ya que vas a formatear, ¿no consideras instalar Linux? Smile, al margen de eso:

El instalador de Pinguino para Windows siempre ha sido un asunto de contante discusión, son varias dependencias que se necesitan instalar para tener in IDE funcionando, luego están los drivers USB y CDC que se instalan por aparte y todo eso.

Yo personalmente recomiendo la instalación manual, esto es, descargando desde subversión las fuentes, y luego descargando e instalando las dependencias como: Python, WxPython, LibUSB, y los drivers necesarios.

Hay varias ventajas con la instalación manual, la principal es que puedes estar al tanto del desarrollo del IDE, ya que puedes actualizar a la revisión mas reciente cada que quieras.

Entonces, te pregunto: cómo quieres instalar ¿con el instalador o paso a paso?

Hasta pronto.
Reply
29-04-2013, 10:13 PM,
#3
RE: Volver a empezar
Hola YeisonEng.

Pues sobre windows o linux... yo antes usaba como base opensuse y win en virtualbox para lo imprescindible.
Pero ahora tengo un ordenador mas modesto con solo 1 Gb de ram y no va muy bien con opensuse12.3 y con winXP va mejor.
He probado instalar pinguino en opensuse, pero despues de instalar dependencias que decia que no eran estables y tal, el IDE de pinguino no a arrancado.
por eso creo que mejor para mi y mi ordenador es winXP.

Sobre sobre instalador o manual me es igual, solo me gustaria poder usar mis pics 2550 y 4550 para hacer pruebas con sensores y algun dia hacer una estacion metereologica o un control para la caldera o una alarma para casa o todo en uno :-)
me gustaria que fuera lo mas compatible con las librerias que hay para arduino. y si puede ser con correccion de errors en el codigo que escribo.

me gustaria poder usar el cdc.
a no ser que me digas lo contrario yo descartaria el IDE X4.

voy a formatear esta noche. para seguir tus paso cuando te venga bien

Gracias
Reply
30-04-2013, 07:37 AM,
#4
RE: Volver a empezar
Hola

He actualizado la guía de instalación (no oficial) para Windows, he usado un Windows 8 pero igual funciona sobre cualquier versión.

http://yeisoneng.appspot.com/post/pinguino_svn_windows/

inténtalo y me cuentas que puedo mejorar en la guía.

hasta pronto.
Reply
30-04-2013, 07:06 PM, (This post was last modified: 30-04-2013, 10:37 PM by mirasu.)
#5
RE: Volver a empezar
Hola YeisonEng

Bueno ya he instalado como decias en el blog.
el manual esta muy bien documentado y con las fotos y todo. Aunque me gustaria decirte un par de puntos donde he tenido problemas

1 cuando e ejecutado el pinguino_start.bat, le a dicho que no encontraba el python, pero lo he añadido al path y ya esta.

2 cuendo he tenido el error que comentabas del mensaje STDOUT. Me he dado cuenta que las barras de la ruta estan al reves /win32/p8/bin. como a mi me gusta mucho pegar y copiar ... :-P

Bueno mi primera experiencia con X4 no es muy buena.

cuando hay un error en el codigo o da error sin decir donde esta o de que tipo o se queda compilando.... y no da ni error.
cuando termina de compilar y lo grabo sin error me deja a windows conectando el pinguino y desconectandolo. con el tipico pitido.
esto no pasa con el antiguo x4.

en el nuevo x4 no sale o no veo lo de depurar para usar el cdc, y en la version anterior no me funcionaba

que bootloader me recomiendas para el 18f2550?
y el driver CDC?

por favor si eres tan amable de confirmarme si tu tambien tienes esos problemas con el x4 y los van a solucionar o son solo mios.

Gracias!

Edito: Ya he instalado el driver CDC que venia con directorio svn y con el hyperterminal va muy bien.
Y uso el bootloader 4.8 a no ser que me digas otra cosa.
Reply
30-04-2013, 11:49 PM,
#6
RE: Volver a empezar
Hola

Que bueno que te sirviera, sobre:

Quote:1 cuando e ejecutado el pinguino_start.bat, le a dicho que no encontraba el python, pero lo he añadido al path y ya esta.
nunca pude ejecutarlo, ahora sé cual era mi problema, siempre ejecutaba directamente pinguino.py

Quote:2 cuendo he tenido el error que comentabas del mensaje STDOUT. Me he dado cuenta que las barras de la ruta estan al reves /win32/p8/bin. como a mi me gusta mucho pegar y copiar ... :-P
Jeje, ya lo corregí.

Quote:cuando hay un error en el codigo o da error sin decir donde esta o de que tipo o se queda compilando.... y no da ni error.
El resaltado de la línea de error es una corrección que no he actualizado aún en los repositorios (en unos instantes lo hago), quisiera saber si ésto pasa siempre con el mismo código o es eventual, si es con el mismo código me gustaría que lo publicaras así sería un poco mas fácil hayar el problema

Quote:cuando termina de compilar y lo grabo sin error me deja a windows conectando el pinguino y desconectandolo. con el tipico pitido.
esto no pasa con el antiguo x4.
Y no debería pasar, a menos de que se esté reiniciando explícitamente la conexión desde Pinguino, haré algunas pruebas intentando replicar el problema, de nuevo, ¿pasa siempre?.

Quote:en el nuevo x4 no sale o no veo lo de depurar para usar el cdc, y en la version anterior no me funcionaba

Bueno, es que ya no existe, se ha eliminado desde hace algunas revisiones.

Quote:por favor si eres tan amable de confirmarme si tu tambien tienes esos problemas con el x4 y los van a solucionar o son solo mios.
Pocas veces me doy cuenta de los errores sobre un OS diferente a Linux, es por eso que se aprecian mucho todos éstos reportes, si te están sucediendo debe ser por algo y deberían ser corregibles.

Hasta pronto.
Reply
01-05-2013, 09:43 PM,
#7
RE: Volver a empezar
Hola YeisonEng

Ya he visto que la ultima version ya salen las lineas resaltadas.

Pero con la ultima version aun me pasa que no puedo subir nada al pinguino. el X4 dice que a subido bien y que se iniciara la aplicacion, pero no funciona y windows encuenta y pierde el pinguino cada poco tiempo.
ademas el X4 siempre puede subir otro codigo al pinguino porque este siempre esta listo. A y en X4 ver685 no me pasa esto.
Un codigo por ejemplo.
Code:
/*
    Blink a LED
*/
int led = 0;
//int led = 0;
void setup()
{                
    // initialize the digital pin USERLED as an output.
    pinMode(led,OUTPUT);    
}

void loop()
{

    toggle(led)    ;    // alternate ON and OFF
    delay(50);                // wait for 50ms

/*    Or ...
    digitalWrite(USERLED, HIGH);
    delay(50);             // wait for 50ms
    digitalWrite(USERLED, LOW);
    delay(50);             // wait for 50ms
*/
}

y el programa se me queda compilando eternamente o por lo menos mas de 5 min en mi ordenador viejo,con este codigo
parece que el error en la linea 13 (define DHTPIN 0 ) sin # tiene parte de culpa porque si la arreglo ya no pasa.
Code:
/*-----------------------------------------------------
Author:  --<>
Date: Wed May 01 13:27:54 2013
Description:

-----------------------------------------------------*/
//    Input/Output on GNU/Linux:    sudo minicom -o -D /dev/ttyACM0
//Programa test para sensor DHT11 de humedad y temperatura
//cleaned by sucotronic
//Modificado por Regata para tallerarduino.wordpress.com
 
 
define DHTPIN 0  // Indicamos el pin del arduino donde conectamos el sensor
 
byte bGlobalErr;  //para pasar el codigo de error de vuelta de las funciones
byte DHTDAT[5];  //Array para almacenar los bytes enviados por el sensor
int maxh=0,minh=100,maxt=0,mint=100,t,h; //variables para ir guardando las maximas de
// humedad y temperatura y las minimas de humedad y temperatura
 
void setup()
{
  InitDHT();  // Inicializamos el pin empleado para leer el sensor
serial.begin(9600);  //Iniciamos comunicacion serie con el pc para ver los datos leidos
  CDC.println("Test sensor DHT11:");
  delay(1000);  //Este delay es para esperar el tiempo recomendado para acceder al sensor (1 segundo)
}
 
void loop()
{
  ReadDHT(); // Leemos el sensor y almacenamos el resultados en variables globales
  switch (bGlobalErr)
  {
     case 0:
        //Como en este sensor la humedad y la temperatura no nos sale con decimales,
        //podemos desechar los bytes 1 y 3 de la lectura del sensor
        h=DHTDAT[0];
        t=DHTDAT[2];
    CDC.print("Humedad relativa: ");
    CDC.print(h);
    CDC.print(" %\t");
    CDC.print("Temperatura: ");
    CDC.print(t);
    CDC.println("*C");
        //Comprobacion de maximos y minimos de humedad y temperatura
        if (maxh<h)
          maxh=h;
        if (h<minh)
          minh=h;
        if (maxt<t)
          maxt=t;
        if (t<mint)
          mint=t;
        CDC.print("Max: ");
        CDC.print(maxh);
        CDC.print(" % ");
        CDC.print("Min: ");
        CDC.print(minh);
        CDC.print(" %\t");
        CDC.print("Max: ");
        CDC.print(maxt);
        CDC.print(" *C ");
        CDC.print("Min: ");
        CDC.print(mint);
        CDC.println(" *C\n");
        break;
     case 1:
        CDC.println("Error 1: Condicion de start 1 no conocida.");
        break;
     case 2:
        CDC.println("Error 2: Condicion de start 2 no conocida.");
        break;
     case 3:
        CDC.println("Error 3: DHT checksum error.");
        break;
     default:
        CDC.println("Error: Encontrado codigo irreconocible.");
        break;
  }
  delay(1000);// Esperamos 1 segundo para la siguiente lectura
}
 
 
// Initilize pin for reading
void InitDHT(){
        pinMode(DHTPIN,OUTPUT);
        digitalWrite(DHTPIN,HIGH);
}
 
void ReadDHT(){
  bGlobalErr=0;
  byte dht_in;
  byte i;
  // Enviamos el comando "start read and report" al sensor
  // Primero: ponemos a "0" el pin durante 18ms
  digitalWrite(DHTPIN,LOW);
  delay(18);
  delay(5);//TKB, frm Quine at Arduino forum
  //Segundo: ponemos a "1" el pin durante 40us,enviamos el comando de "start read" al sensor
  digitalWrite(DHTPIN,HIGH);
  delayMicroseconds(40);
  //Tercero: Cambiamos el pin de Arduino a entrada de datos
  pinMode(DHTPIN,INPUT);
  delayMicroseconds(40); //Esperamos 40 us
  dht_in=digitalRead(DHTPIN);
  //si hay un 1 en la lectura del pin, indicamos que hay error de tipo 1
  if(dht_in)
  {
    bGlobalErr=1;
    return;
  }
  delayMicroseconds(80); //Esperamos 80us
  dht_in=digitalRead(DHTPIN);
  //si hay un 1 en la lectura del pin, indicamos que hay error de tipo 2
  if(!dht_in){
    bGlobalErr=2;
    return;
  }
  /*Despues de 80us a nivel bajo, el pin deberia de estar durante 80us a nivel alto.
  Despus de esto comienza el envio del primer bit hasta alcanzar los 40 bits enviados.
  The routine "read_dht_dat()" expects to be called with the system already into this low.*/
  delayMicroseconds(80); //Esperamos 80us
  //Ahora comienza la recepcion de datos, son 5 bytes de datos, es decir 40 bits, almacenamos en un array de 5 bytes
  for (i=0; i<5; i++)
    DHTDAT[i] = read_dht_dat();
  //Cuarto: Volvemos a configurar el pin del arduino como salida
  pinMode(DHTPIN,OUTPUT);
  //Quinto:Ponemos a "1" el pin de salida
  digitalWrite(DHTPIN,HIGH);
  //Comprobamos si los datos recibidos coinciden con el checksum recibido
  byte DHTCHECKSUM = DHTDAT[0]+DHTDAT[1]+DHTDAT[2]+DHTDAT[3];
  //Si no coincide el byte recibido de checksum con la suma de los 4 primeros bytes enviamos error tipo 3
  if(DHTDAT[4]!= DHTCHECKSUM)
    bGlobalErr=3;
  };
 
byte read_dht_dat()
{
  //Cogemos 8 de los bits recibidos y los devolvemos como un byte.
  //Si por ejemplo recibimos 00000100 , devolvemos en decimal 4
  byte i = 0;
  byte result=0;
  for(i=0; i< 8; i++)
  {
    //Entramos mientras dura el primer bit de start (a nivel bajo durante 50us) del byte
    //Esperamos hasta que el pin se pone a nivel alto señalizando fin del la transmision del bit de start
    while(digitalRead(DHTPIN)==LOW);
    //La linea de datos debera estar ahora a nivel alto durante 27 o 70us,
    //dependiendo si un "0" o un "1" esta siendo enviado respectivamente
    delayMicroseconds(30);  //Esperamos 30 us
    if (digitalRead(DHTPIN)==HIGH)
      result |=(1<<(7-i));  //Si despues de los 30us el pin permanece a "1" añadimos un 1 al byte, sino queda un "0"
    //Esperamos hasta que el pin se vuelve a poner a nivel bajo,
    // el cual indica la señal de start del siguiente bit de la transmision
    while (digitalRead(DHTPIN)==HIGH);
  }
  return result; //devolvemos el resultado
}

Mi bootloader es 4.8 y el chip 2550.
Gracias!!!
Reply
03-05-2013, 02:28 PM,
#8
RE: Volver a empezar
Hola

Bueno e instalado ubuntu en una particion donde tenia opensuse. La verdad es que a mejorado mucho gnome.

He instalado el X4 con el script que hiciste en tu web, solo no me instalo wxPython, me imagino que porque no salia en los repositorios, he instale un programa que lo tenia como dependencia y asi se instalo.

Pero haciendo pruebas con distintas versiones no consigo subir el codigo al pinguino. ni con la 685 que en windows si sube.

El drive creo que esta bien, porque sino pulso el reset no sube el programa. y dice que el pinguino no esta listo.

si quieres que te mande un log o haga una prueba solo tienes que decirlo.

Gracias
Reply
10-05-2013, 06:38 AM,
#9
RE: Volver a empezar
Lo siento, he estado muy ocupado últimamente y no he podido revisar Pinguino IDE.
en cuanto pueda reviso lo que está pasando (si es que aún hay problemas)
hasta pronto.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)