Show Posts
Pages: [1]
1  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 (Solucionado) on: May 27, 2013, 03:08:34 pm
Pues no me queda a mi nada que emprender de esto.  smiley-confuse
2  International / Español / Re: Aquí teneis todo un "Libro de C" on: April 28, 2013, 04:46:52 am
Pues muchas gracias por compartirlo.
3  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 28, 2013, 04:19:28 am
Muchísimas gracias por todo, que soy un mal educado.  smiley-roll


Ahora a empollarme todo bien, a ver que soy capaz de exprimir de todo esto.

Lo mismo hasta soy capaz de sacar pececitos por la pantalla  smiley-yell

Un abrazo.
4  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 27, 2013, 08:58:21 am
Me cago en la leche. Ahora si que funciona, por lo menos el "Hello Word fm I2C"

 smiley-mr-green


Ahora a ver si soy capaz de implementarlo en mi código.
5  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 27, 2013, 08:39:10 am
Ok...ya entiendo, pensaba que al ser en serie ya no hacía falta definir los pines. Ahora mismo con la otra librería no me hace falta.
Voy a probar otra vez.
6  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 27, 2013, 07:15:10 am
No tienes bien configurados los pines a la hora de inicializar el LCD.

Pero es una pantalla serie, solo son dos hilos......hasta ahí llego  smiley-cry
7  International / Hardware / Teclados con pulsadores. on: April 27, 2013, 06:37:54 am
Buenos días.

Llevo unos días trabajando con un proyecto que podéis ver aquí: http://arduino.cc/forum/index.php/topic,162765.0.html

Pero ahora me pregunto. ¿Si quisiera poder cambiar la configuración de lo que tengo "programado", sería posible hacerlo mediante unos pulsadores?
Por ejemplo dos que se muevan por la pantalla, y otros dos para subir +1 o bajar -1 cada dígito. Lo que he encontrado es como conectar pulsadores, por ejemplo, pero no se hasta que punto será complicado programar todo ello, porque ejemplos que he visto no termino de entenderlos. (os cuento que es mi primera vez con Arduino  smiley-sweat y ando algo perdido)

Muchas gracias de antemano.

8  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 27, 2013, 06:30:52 am
Para instalar mi librería lo que tienes que hacer es borrar la librería que viene con Arduino. Es una librería pensada para reemplazar a la original (como dice en las instrucciones de la wiki). Por otro lado, si ya tienes instalada la librería LiquidCrystal_I2C (la que has usado), también deberías desinstalarla. Es una de las más populares de internet con casi 10000 descargas y usos.

Digamos que la que escribí hace lo mismo que la original, que la LiquidCrystal_I2C y lo mejor de todo, lo hace más rápido, con lo que podrás hacer animaciones incluso con una interfaz I2C. Comparando peras con peras es 4 veces más rápida que la original (incluso en algunas configuraciones con dos hilos).

Con la versión de Arduino 1.5 debería borrar el directorio donde viene la documentación.


Hola fm.

He vuelto a borrar las librerías que no interesan y conectando solo la pantalla al meter tus ejemplos la pantalla se apaga y empieza a parpadear.
La verdad, no se que es lo que hago mal.  smiley-cry
9  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 26, 2013, 10:32:01 am
Usa int para los digitalRead, no floats.

Genial, muchas gracias. Ahora se ve algo más claro.

Muchas gracias.
10  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 26, 2013, 07:28:34 am
Por cierto, como os dije ayer os pongo el codigo.
No seáis muy malos conmigo, que es la primera vez que me veo en una de estas.


Quote


#include <RelojDS1307.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>


/*Definimos los PINS*/
#define LUZ1            8
#define LUZ2            9
#define LUZ3            10
#define LUZLUNA         4
#define CALENTADOR      5
#define TEMP            3

const int Puls1 = 2;
int estadoPuls1 =0;

RelojDS1307Class Reloj;
OneWire oneWire( TEMP );
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x27,20,4);

DeviceAddress ACUARIO;

void setup()
{
  /*Iniciamos los sistemas*/
  Serial.begin(9600);
  Wire.begin();
  lcd.begin(20, 4); 
  sensors.begin();
  
  /*Definimos las entradas y salidas*/
  pinMode (LUZ1, OUTPUT);
  pinMode (LUZ2, OUTPUT);
  pinMode (LUZ3, OUTPUT);
  pinMode (LUZLUNA, OUTPUT);
  pinMode (Puls1, INPUT);
  pinMode (TEMP, INPUT);
  pinMode (CALENTADOR, OUTPUT);
  
 }
 
 /* Iniciamos las impresiones en Pantalla*/
 
 void printTemperature(DeviceAddress deviceAddress)
{
  float AGUA1 = sensors.getTempC(ACUARIO);
  float L1 = digitalRead(LUZ1);
  float L2 = digitalRead(LUZ2);
  float L3 = digitalRead(LUZ3);
  float LL = digitalRead(LUZLUNA);
  float CL = digitalRead(CALENTADOR);
  
  lcd.setCursor(0,0);
  lcd.print(Reloj.Time());
  lcd.setCursor(0,1);
  lcd.print("ACUARIO: ");
  lcd.print(AGUA1);
  lcd.print(CL);
  lcd.setCursor (0,2);
  lcd.print ("Luces: ");
  lcd.print ( L1 );
  lcd.print ( L2 );
  lcd.print ( L3 );
  lcd.setCursor (0,3);
  lcd.print ("Luz Luna: ");
  lcd.print (LL);
  
  
}

void printData(DeviceAddress deviceAddress)
{
  printTemperature(deviceAddress);
  Serial.println();
}

void loop(void) {
  
 /*Iniciamos el programa para el calentador*/

  printData(ACUARIO);
  
  float AGUA1 = sensors.getTempC(ACUARIO);
  if(AGUA1 < 25)
  {
    digitalWrite (CALENTADOR, HIGH);
  }
  
  if(AGUA1 > 25)
  {
    digitalWrite (CALENTADOR, LOW);
  }
  
  
/*Configuración de encendido y apagado de las luces*/
  estadoPuls1 = digitalRead(Puls1);
  if (estadoPuls1 == HIGH ) {
     digitalWrite (LUZ1, HIGH);
   }
   
   else
  {
    digitalWrite(LUZ1, LOW);
  }
  
    
  if(Reloj.IsLater(10, 00) && Reloj.IsPrevious(22, 00))
  {
    digitalWrite(LUZ1, HIGH);
    digitalWrite(LUZLUNA, LOW);
    lcd.setBacklight(HIGH);
  }
   
  else
  {
    digitalWrite(LUZ1, LOW);
    digitalWrite(LUZLUNA, HIGH);
    lcd.setBacklight(LOW);
  }
  if (Reloj.IsLater(10, 30) && Reloj.IsPrevious(22, 30))
  {
    digitalWrite(LUZ2, HIGH);
  }
  else
  {
    digitalWrite(LUZ2, LOW);
  }
  if (Reloj.IsLater(11, 00) && Reloj.IsPrevious(23, 00))
  {
    digitalWrite(LUZ3, HIGH);
  }
  else
  {
    digitalWrite(LUZ3, LOW);
  }
  
}



Supongo que se podrá mejorar, no tengo dudas, y toda ayuda será bien recibida.
Por ejemplo, cuando quiero escribir el estado de las luces ahora mismo me sale:

Luces: 1.001.00.100
Luz Luna: 0.00

Y me gustaría que simplemente saliera un uno o un cero sin decimales. Pero aún ni he buscado ni se porque salen con decimales, o como separar la información. Os pongo el código de esa parte en concreto:

Quote
 /* Iniciamos las impresiones en Pantalla*/
 
 void printTemperature(DeviceAddress deviceAddress)
{
  float AGUA1 = sensors.getTempC(ACUARIO);
  float L1 = digitalRead(LUZ1);
  float L2 = digitalRead(LUZ2);
  float L3 = digitalRead(LUZ3);
  float LL = digitalRead(LUZLUNA);
  float CL = digitalRead(CALENTADOR);
  
  lcd.setCursor(0,0);
  lcd.print(Reloj.Time());
  lcd.setCursor(0,1);
  lcd.print("ACUARIO: ");
  lcd.print(AGUA1);
  lcd.print(CL);
  lcd.setCursor (0,2);
  lcd.print ("Luces: ");
  lcd.print ( L1 );
  lcd.print ( L2 );
  lcd.print ( L3 );
  lcd.setCursor (0,3);
  lcd.print ("Luz Luna: ");
  lcd.print (LL);
  



Pero bueno, con tiempo, paciencia, y algo de ayuda seguro que lo consigo.  smiley-mr-green
11  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 26, 2013, 07:14:27 am
Si, borre todas librerías de pantallas al poner al tuya, y nada no había manera. Hice lo mismo con la que tengo y funcionó  smiley-eek-blue

De todas menras como sigo trasteando probaré de nuevo a ver, porque quisiera poder hacer algo más, y un par de cosas que no se como escribirlas....


Muchas gracias de nuevo.
12  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 25, 2013, 04:02:02 pm
Si has descargado mi librería cuando llames a la rutina de inicialización (begin - nombre por compatibilidad) llámala así: begin (20,4);
Indica que tiene un LCD con 20 columnas y 4 líneas.

Si se ven caracteres en sólo 2 líneas y es de 4 entonces el LCD ese está en entredicho.

Me descargué tu librería, pero me daba error al compilar. Lo mismo con begin (20,4) que con otras maneras.

Pero ahora con esto ya funciona:

Quote
//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
   lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
   lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");
}


void loop()
{
}


Y ya he podido empezar a programarla. Ahora solo me falta ir puliendo cosas. A ver si mañana con más tiempo cuelgo el Sketch que estoy haciendo para el control.


Muchas gracias a todos.
13  International / Hardware / Re: Avería en Arduino Serial IIC/I2C/TWI 2004 on: April 25, 2013, 11:19:16 am
A mos que  smiley-cry más torpe no puedo ser.
Como a cabezón no me gana nadie he seguido buscando información y he dado con la clave. El puto Chino de ebay me daba una libreria para descargar que es la que me ha liado.
He buscado según el chip de I2C y solucionado.

Con esta libreria "LiquidCrystal_I2C2004V1" he podido hacer rular la pantalla.

Gracias de todas maneras, me tendréis por aquí buscando información.
14  International / Hardware / Avería en Arduino Serial IIC/I2C/TWI 2004 (Solucionado) on: April 25, 2013, 10:51:42 am
Hola buenas a tardes.

Aprovecho este post para presentarme y solicitar ayuda.
Soy Eduardo García, de Getafe en Madrid. Antiguo estudiante de electrónica que ha vuelto a este mundo después de unos años y que anda más perdido un pulpo en un garaje. Llevo tiempo leyendo el foro para ir buscando información, pero ahora necesito ayuda.

Al lío.

Estoy montando, o intentando mejor dicho, un controlador de acuario (si, otro más) Por ahora he ido consiguiendo las piezas y haciendo pruebas. El reloj y las sondas lo tengoprobado y funcionando, y un pequeño Sketch para el encendido y apagado de las luces.
Pero la pantalla......He comprado esta: http://www.ebay.es/itm/200764158676?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649#ht_4387wt_952 pero la verdad no si se soy inútil o es que está averiada.
He localizado las librerías que parece ser que funcionan, y este post http://arduino.cc/forum/index.php/topic,134874.0.html me ha servido para conocer un poco esta pantalla.

Pero no soy capaz de sacar nada. La pantalla se enciende, pero solo salen dos líneas, aunque en teoría debe ser de cuatro, es lo que me mosquea no sea que esté averiada.
Lo que ya termina de mosquearme, es que al conectar los pines al Arduino, SDA al pin A4 y el SCL al pin A5 y cargar el programa al Arduino, la pantalla se apaga y se pone intermitente pero de manera muy tenue. ¿Estará chafada?

Uso un Arduino Uno, con el IDE 1.0.4
Pages: [1]