fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Proyecto Pinguino ARDE

421 Respuestas
38 Usuarios
0 Reactions
602.7 K Visitas
furri
Respuestas: 2708
Topic starter
(@furri)
Ardero
Registrado: hace 20 años

Placa funcionando.....

nqGq3FV4NyI

Genial, el montaje bien salvo algunos agujeros demasiado pequeños para mi soldador, problema que con algo de pericia se soluciona... los condensadores del Xtal que los he puesto en la parte de abajo por que son dificiles de ubicar debajo del zocalo aunque es totalmente posible si en la tienda te los venden de los pequeñitos... 🙂 ... por lo demas genial, un patoso como yo en menos de una hora todo soldado correctamente.

La instalación del software pensaba que iba a ser bastante traumática y me he equivocado, evidentemente son muchas cosas y hay que dedicarle su tiempo, pero una vez hecho no es para cortarse las venas, de todos modos para vagos he dejado el proceso de instalación para windows pasito a pasito en mi web http://www.xbot.es/blog/?cat=22 " onclick="window.open(this.href);return false;

cuando tenga un rato meto un copy & paste en la wiki de ARDE.

Saludos.
furri.

Responder
420 respuestas
baronrojo
Respuestas: 19
(@baronrojo)
Active Member
Registrado: hace 14 años

ok, email enviado

Responder
oliva281
Respuestas: 105
(@oliva281)
Estimable Member
Registrado: hace 14 años

alguien mas quiere alguna? me sobran unas 25

saludos

yo esperaré a que lleguen las que pedí y después veré si se me hacen pocas y quiero mas...
que nunca están de más unas cuantas placas pinguino... 😀

Responder
guaifi
Respuestas: 3
(@guaifi)
New Member
Registrado: hace 14 años

Hola yo y un amigo compramos unas placas de estas. Yo monté de momento solo una pero tengo el siguiente problema, a ver si a alguien más le pasa.
Colgué un vídeo en youtube con el problema, vale más que mil palabras.

El código es el de ejemplo que viene en pinguino beta 9-05 llamado lcd.pde sin haber modificado nada.
/*
* LCD routines for use with pinguino board, based on LiquidCrystal lib from Arduino project.
* By Marcus Fazzi (Anunakin)
* Pins, Schematics and more info:
* http://pinguino.koocotte.org/index.php/LCD_Example
* http://anunakin.blogspot.com/2010/08/pinguino-clock.html
*/

// Comment line above if you using a pinguino with PIC18F2550.
//#define PIC18F4550

#define LED 13
#define HOUR 14
#define MIN 15

//global vars
uchar counter = 0;
uchar sec = 0;
uchar min = 0;
uchar hour = 0;

float num;

void setup(){
//8 bits mode
//lcd(8, 9, 0, 1, 2, 3, 4, 5, 6, 7); // RS, E, D0 ~ D7

//4 bits mode, dont use last four pins ...
lcd(8, 9, 0, 1, 2, 3, 0, 0, 0, 0); // RS, E, D4 ~ D8

//LCD format
lcd.begin(2, 0);

/* Debug */
pinMode(LED, OUTPUT); // LED on pin 13

//Setup buttons
pinMode(HOUR, INPUT);
pinMode(MIN, INPUT);
}

void loop()
{
// Output string
lcd.home();
lcd.print("Pinguino-LCDlib"); // Output char

if (counter>9){
counter = 0;
sec++;
}

if (sec>59){
sec = 0;
min++;
}

if (min>59){
min = 0;
hour++;
}

if (hour>23){
hour = 0;
}

lcd.setCursor(0, 1);

if (hour < 10)
lcd.print("0");
lcd.printNumber(hour, 10);

if (min < 10)
lcd.print(":0");
else
lcd.print(":");
lcd.printNumber(min, 10);

if (sec < 10)
lcd.print(":0");
else
lcd.print(":");
lcd.printNumber(sec, 10);

//set hour and min
if(digitalRead(HOUR)){
hour++;
}
if(digitalRead(MIN)){
min++;
}

counter++;

delay(51); //just a fine tune to get 100ms with this!
digitalWrite(LED, LOW);
delay(51);
digitalWrite(LED, HIGH);
}

El contador van más rápido las horas que los segundos, de hecho cambiando los delay para que valla muy lento, se puede ver como horas y minutos aumentan 1 cada loop, y segundos aumenta 1 cada 10 loop (cada counter=10).
Ni idea de que puede pasar, soy novato con pinguino y no me entero.

Por otra parte, porque ese código no trae #include?? es algo automatico o que?.

Yo si hago un código a mano me da error de user.c (archivo en la carpeta source) y si copio alguno de internet que funciona, lo mismo pero en main.c

Os copio el error:
C:pinguino_beta9-05_windowssourcemain.c:96: syntax error: token -> '_interrupt' ; column 39
C:pinguino_beta9-05_windowssourcemain.c:140: warning 197: keyword 'interrupt' is deprecated, use '__interrupt' instead

y si, es cierto que en el main.c pone la palabra interrupt, parece que reservada. No se si es como en los 8051, que después de la palabra interrupt debería aparecer el número de interrupcion.

y el vídeo para la primera pregunta:

JyGYtezoFmY

Muchísimas gracias por vuestra ayuda. Por cierto la placa está genial, de buena calidad y muy bien trabajada. Da un gusto soldar los componentes con el metalizado ese dorado de los pines.

Responder
furri
Respuestas: 2708
Topic starter
(@furri)
Ardero
Registrado: hace 20 años

El problema parece coincidir con este trozo de codigo, para comprobar si es de aqui simplemente quita esas lineas y ejecuta el programa sin ellas, si es asi para solucionar el problema revisa el circuito fisico a ver si estos pines los tienes a pull-up y llevan logica inversa.

furri.

//set hour and min
if(digitalRead(HOUR)){
hour++;
}
if(digitalRead(MIN)){
min++;
}

Responder
guaifi
Respuestas: 3
(@guaifi)
New Member
Registrado: hace 14 años

El problema parece coincidir con este trozo de codigo, para comprobar si es de aqui simplemente quita esas lineas y ejecuta el programa sin ellas, si es asi para solucionar el problema revisa el circuito fisico a ver si estos pines los tienes a pull-up y llevan logica inversa.

furri.

//set hour and min
if(digitalRead(HOUR)){
hour++;
}
if(digitalRead(MIN)){
min++;
}

Claro claro, ahora entiendo lo que pasaba. Es que esos dos botones no los tenía conectados (para probar solamente si funcionaba) y entonces el pic se debía confundir, y pensaba que estaban siempre activados.

Muchas gracias, ahora además de solucionado lo del contador ya se algo mas.
Por otra parte, lo de que la pantalla empieza a hacer cosas sigue pasando, parece que menos... pero no se. Puede ser cosa del lcd o de algún contacto o ruido en masa o vcc.
Muchas gracias por tu ÚTIL respuesta.
No se si es el lugar, pero dejo un programa que hice con un ldr para probar el lcd y el ldr (es una tontería) pero por algo se empieza:
// luxometro hecho por guaifi, libre distribución.

/*
VCC---LDR---POT 1K-----GND //pot 1k it depends on the value of ldr and adjust
|
|
PORT 13
RW---|
|
VEE--o--1K---GND //conect R/W with Vee, and both with 1k resistor to gnd.
*/

char ldr;
int valor;

void setup()
{
ldr=13;

lcd(8, 9, 0, 1, 2, 3, 0, 0, 0, 0); // RS, E, D4 ~ D8

//LCD format
lcd.begin(2, 0);
}

void loop()
{
lcd.setCursor(0,1);
lcd.print(" ");
lcd.home();
lcd.print("Sensor radiacion");

valor=analogRead(ldr);
lcd.setCursor(0,1);
lcd.printNumber(valor,10);
lcd.setCursor(5,1);
lcd.print("fotones");

delay(500); //all as you want.
}

Responder
Página 75 / 85
Compartir: