Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola, estoy probando un programa sencillo para familiarizarme con pingüino, pero no consigo que vaya bien, seguro es alguna tontería que por lo oxidado que estoy no me doy cuenta.
En el programa solo quiero mostrar las veces que le doy al pulsador, pero solo veo caracteres raros con este programa.
#define LCD_RS 8
#define LCD_E 9
#define led 14
#define entrada 13
void lcdPulseEnable() {
digitalWrite(LCD_E, HIGH);
delayMicroseconds(1);
digitalWrite(LCD_E, LOW);
delayMicroseconds(1);
}
void lcdWriteNibble(uchar c){
int i;
for(i=0; i<4; i++){
digitalWrite(4+i, (c >> i) & 0x01);
}
lcdPulseEnable();
}
void lcdWriteByte(uchar c, int mode) {
digitalWrite(LCD_RS, mode);
lcdWriteNibble(c >> 4);
lcdWriteNibble(c);
}
void lcdSendControl(uchar c) {
lcdWriteByte(c, LOW);
}
void lcdSendData(uchar c) {
lcdWriteByte(c, HIGH);
}
void lcdSetAddress(uchar line, uchar column) {
lcdSendControl( 0x80 + 0x40 * (line - 1) + (column - 1));
}
void lcdPrint(char *string) {
int i;
for( i=0; string; i++) {
lcdSendData(string);
}
}
void lcdInit() {
int i;
pinMode(LCD_E, OUTPUT);
digitalWrite(LCD_E, LOW);
pinMode(LCD_RS, OUTPUT);
digitalWrite(LCD_RS, LOW);
for(i = 4; i < 8; i++) {
pinMode(i, OUTPUT);
}
delay(20);
lcdWriteNibble(0x03);
delayMicroseconds(1);
lcdWriteNibble(0x03);
delayMicroseconds(1);
lcdWriteNibble(0x02);
delayMicroseconds(200);
lcdSendControl(0x28); // 4 Bit, 2 Lines
delayMicroseconds(1);
lcdSendControl(0x0C); // Display On
delayMicroseconds(1);
lcdSendControl(0x01); // Clear display
delay(2);
lcdSendControl(0x02); // Cursor home
delay(2);
}
void setup() {
lcdInit();
pinMode(13,INPUT);
pinMode(14,OUTPUT);
}
void loop() {
int j=0;
int dato=0;
lcdSetAddress(1, 1);
lcdPrint("GMZ010");
lcdSetAddress(2, 1);
lcdPrint(dato);
if (digitalRead(entrada)){
digitalWrite(led,HIGH);
}
else
digitalWrite(led,LOW);{
j++;
dato=j;
}
}
Espero vuestra ayuda.Gracias.
Para hacer una variable con solo los valores 0 y 1, ¿como es? he probado con bit, bool, boolean y nada, siempre me da error.
¿Hay algún sitio donde pueda mirar todas estas cosillas para no tener que estar molestando?
Gracias.
Hola de nuevo,
El sitio oficial de pinguino es este : http://www.pinguino.cc " onclick="window.open(this.href);return false;
Para las funciones, tipos de datos, etc... ves a la wiki: wiki.pinguino.cc
En concreto lo que buscas es esto: http://wiki.pinguino.cc/index.php/Data_types " onclick="window.open(this.href);return false;
Pero aunque ahí está listado el tipo bool, creo que no está implementado o había alguna razón por lo que no funcionaba aún.
Te aconsejo que uses el tipo char.
saludos,
Sphinx,
Gracias Sphinx por los enlaces, ya les había echado un vistazo, pero por eso pregunte, ya que en ningún sitio de esos encontré la respuesta.
creo que no está implementado o había alguna razón por lo que no funcionaba aún.
Pues tiene que ser eso entonces, usare el char como dices.
Un saludo.