Show Posts
Pages: [1] 2
1  International / Software / Re: problema con conexion lcd i2c y arduino mega on: March 26, 2013, 04:47:00 pm
Hola tienes que controlar bien el modelo que tienes de LCD i de donde descargaste las librerias. Tube bastantes problemas con las librerias y tambien el descargarlas desde mi pc de forma correcta si estas seguro de que son correcta prueba que alguien te las descarge te las envie por mail, no se ni porque pero algunas librerias al descargarse en mi pc desde internet no me funcionaban y por increible que parezca al descargarmelas un compañero desde el mismo lugar y recibidas por mail me funcionaba.
Seguro que tienes el problema libreria incorrecta o  se te descargan mal como a mi. Por cierto aun que tengas el mismo modelo comprueva la version. compre 2 Tft el mismo modelo y funcionan con librerias distintas.

Suerte
2  International / Software / Re: problema con reloj i2c on: March 26, 2013, 04:38:44 pm
Hola Lo pudiste solucionar ? Yo tenia el reloj modulo conectar y listo y me estaba funcionando sin problemas un dia de golpe ya no pude canviar la hora programada en el reloj y me mostraba simpre los mismos numeros. Comprueva si tienes el puerto serie en el mismo valor, pero a mi me parecio k al conectar y desconectar como lo ice con cables canvis sda por scl y creo k se estropeo pero no estoy seguro. Compre uno nuevo y me volvio a funcionar.

Suerte
3  International / Software / Re: peoblema con libreria SD on: March 26, 2013, 04:33:23 pm
Mira antes de usar la targeta de la forma como la formateas puede ser que el problema te venga de ahi.
4  International / Software / Problemas al leer SD Initializing SD card...initialization failed! on: January 31, 2013, 03:05:52 pm
Hola, Gracias por adelantado.
Tengo una target SD 128M  pruebo el ejemplo read/write  i me funciono una sola vez, i ahora me aparece el siguiente error:

Initializing SD card...initialization failed!

 ayer con otro ejemplo de la Sd me funcione pero no consigo k me vuelva a funcionar. La SD va isertada dentro de una Tft 2,8" Toush shield V2 col.locada directamente encima del arduino i los pins son los siguientes:
D4 :TF_CS, SD card select input pin
D5 :TF_CS,TFT Chip select input pin
D6:TF_D/C, TFT Data/Command control pin
D7: BACKLIGHT,TFTbacklight control pin

Pins used for SPI INTERFACE

D10: SPI Chip Select
D11: SPI Data pin
D12: SPI serial clok pin
A0,A1,A2,A3 Touch Screen ...

El  programa es el de la libreria i es el siguiente:



/*
  SD card read/write
 
 This example shows how to read and write data to and from an SD card file    
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 
 created   Nov 2010
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 
 This example code is in the public domain.
    
 */
 
#include <SD.h>

File myFile;

void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output
  // or the SD library functions will not work.
   pinMode(10, OUTPUT);
   
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
 
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile = SD.open("test.txt", FILE_WRITE);
 
  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
   // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
 
  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");
   
    // read from the file until there's nothing else in it:
    while (myFile.available()) {
       Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
     // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
   // nothing happens after setup
}
5  International / Software / Re: Poner la hora por programa no a traves del puerto usb on: November 09, 2012, 08:37:20 am
Si se que se reiniciara cada vez a la hora pero mi intencion es ponerla a traves de una tft 2,8"Touch, si se ajustar la hora por programa sabre hacerlo a traves de la tft que es mi intencion. Prove el enlace pero me sale que esta roto.
Gracias por adelantado.
6  International / Software / Poner la hora por programa no a traves del puerto usb on: November 08, 2012, 11:50:02 am
Hola el siguiente  programa del reloj, es el de la web cel producto grove.. Mi intencion es configurar la hora del reloj por el programa no atraves del puerto serie escriviendo T000.... i la hora dia mes i año que es como se hace en el programa de la web, pero no veo la forma de programar a traves del lenguage de programacion la hora dia... del reloj. Si escribo hour=17 scond=00; se muestra ese valor pero no canvia alguien sabe como modificar el programa para no ajustar la hora a traves del puerto usb?
Espero que se haya entendido. Gracias por adelantado.

Atentamente Albert Boix

#include "Wire.h"
#define DS1307_I2C_ADDRESS 0x68  // This is the I2C address
// Global Variables
int command = 0;    // Aquest és l'ordre tar, en format ASCII, enviats des del port sèrie
int i;
long previousMillis = 0;     // Emmagatzema Temps última vegada que es va actualitzar
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
byte test;
 
// Convert normal decimal numbers to binary coded decimal
byte decToBcd(byte val)
{
  return ( (val/10*16) + (val%10) );
}
 
// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val)
{
  return ( (val/16*10) + (val%16) );
}
 
// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock
// Assumes you're passing in valid numbers, Probably need to put in checks for valid numbers.
 
void setDateDs1307()               
{
 
   second = (byte) ((Serial.read() - 48) * 10 + (Serial.read() - 48)); // Use of (byte) type casting and ascii math to achieve result. 
   minute = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   hour  = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   dayOfWeek = (byte) (Serial.read() - 48);
   dayOfMonth = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   month = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   year= (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   Wire.beginTransmission(DS1307_I2C_ADDRESS);
   Wire.write(0x00);
   Wire.write(decToBcd(second));    // 0 to bit 7 starts the clock
   Wire.write(decToBcd(minute));
   Wire.write(decToBcd(hour));      // If you want 12 hour am/pm you need to set
                                   // bit 6 (also need to change readDateDs1307)
   Wire.write(decToBcd(dayOfWeek));
   Wire.write(decToBcd(dayOfMonth));
   Wire.write(decToBcd(month));
   Wire.write(decToBcd(year));
   Wire.endTransmission();
}
 
// Gets the date and time from the ds1307 and prints result
void getDateDs1307()
{
  // Reset the register pointer
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write(0x00);
  Wire.endTransmission();
 
  Wire.requestFrom(DS1307_I2C_ADDRESS, 7);
 
  // A few of these need masks because certain bits are control bits
  second     = bcdToDec(Wire.read() & 0x7f);
  minute     = bcdToDec(Wire.read());
  hour       = bcdToDec(Wire.read() & 0x3f);  // Need to change this if 12 hour am/pm
  dayOfWeek  = bcdToDec(Wire.read());
  dayOfMonth = bcdToDec(Wire.read());
  month      = bcdToDec(Wire.read());
  year       = bcdToDec(Wire.read());
 
  Serial.print(hour, DEC);
  Serial.print(":");
  Serial.print(minute, DEC);
  Serial.print(":");
  Serial.print(second, DEC);
  Serial.print("  ");
 Serial.print(dayOfMonth, DEC);
 Serial.print("/");
  Serial.print(month, DEC);
  Serial.print("/");
  Serial.print(year, DEC);
  Serial.print("  ");
}
void setup() {
  Wire.begin();
  Serial.begin(57600);
}
void loop() {
  delay(2000);
  /*T(00-59)(00-59)(00-23)(1-7)(01-31)(01-12)(00-99) - T(sec)(min)(hour)(dayOfWeek)(dayOfMonth)(month)(year) - T Sets the date of the RTC DS1307 Chip.
Example to set the time for 02-DEC-10 @ 19:57:11 for the 3 day of the week, write this command - T1157193021210
  */
     if (Serial.available())
     {      // Look for char in serial que and process if found
      command = Serial.read();
      if (command == 84) {      //If command = "T" Set Date
       setDateDs1307();
       getDateDs1307();
       Serial.println(" ");
      }
      while(1)
      {
        getDateDs1307();
        delay(500);
      }
   }
  }
7  International / Hardware / donde lo he de connectar ? Grove - RTC on: October 28, 2012, 02:48:32 pm
hola este ejemplo sale en el web del producto i lo kiero connectar con un arduino mega con el sholud atmega connecta i listo pero no ve en el programa la entrada que utiliza alguien puede auyudarme? no veo donde se configura i indica las entradas que usa


#include "Wire.h"
#define DS1307_I2C_ADDRESS 0x68  // This is the I2C address
// Global Variables
int command = 0;       // This is the command char, in ascii form, sent from the serial port     
int i;
long previousMillis = 0;        // will store last time Temp was updated
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
byte test;
 
// Convert normal decimal numbers to binary coded decimal
byte decToBcd(byte val)
{
  return ( (val/10*16) + (val%10) );
}
 
// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val)
{
  return ( (val/16*10) + (val%16) );
}
 
// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock
// Assumes you're passing in valid numbers, Probably need to put in checks for valid numbers.
 
void setDateDs1307()               
{
 
   second = (byte) ((Serial.read() - 48) * 10 + (Serial.read() - 48)); // Use of (byte) type casting and ascii math to achieve result. 
   minute = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   hour  = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   dayOfWeek = (byte) (Serial.read() - 48);
   dayOfMonth = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   month = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   year= (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
   Wire.beginTransmission(DS1307_I2C_ADDRESS);
   Wire.write(0x00);
   Wire.write(decToBcd(second));    // 0 to bit 7 starts the clock
   Wire.write(decToBcd(minute));
   Wire.write(decToBcd(hour));      // If you want 12 hour am/pm you need to set
                                   // bit 6 (also need to change readDateDs1307)
   Wire.write(decToBcd(dayOfWeek));
   Wire.write(decToBcd(dayOfMonth));
   Wire.write(decToBcd(month));
   Wire.write(decToBcd(year));
   Wire.endTransmission();
}
 
// Gets the date and time from the ds1307 and prints result
void getDateDs1307()
{
  // Reset the register pointer
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write(0x00);
  Wire.endTransmission();
 
  Wire.requestFrom(DS1307_I2C_ADDRESS, 7);
 
  // A few of these need masks because certain bits are control bits
  second     = bcdToDec(Wire.read() & 0x7f);
  minute     = bcdToDec(Wire.read());
  hour       = bcdToDec(Wire.read() & 0x3f);  // Need to change this if 12 hour am/pm
  dayOfWeek  = bcdToDec(Wire.read());
  dayOfMonth = bcdToDec(Wire.read());
  month      = bcdToDec(Wire.read());
  year       = bcdToDec(Wire.read());
 
  Serial.print(hour, DEC);
  Serial.print(":");
  Serial.print(minute, DEC);
  Serial.print(":");
  Serial.print(second, DEC);
  Serial.print("  ");
  Serial.print(month, DEC);
  Serial.print("/");
  Serial.print(dayOfMonth, DEC);
  Serial.print("/");
  Serial.print(year, DEC);
  Serial.print("  ");
}
void setup() {
  Wire.begin();
  Serial.begin(57600);
}
void loop() {
  delay(2000);
  /*T(00-59)(00-59)(00-23)(1-7)(01-31)(01-12)(00-99) - T(sec)(min)(hour)(dayOfWeek)(dayOfMonth)(month)(year) - T Sets the date of the RTC DS1307 Chip.
Example to set the time for 02-DEC-10 @ 19:57:11 for the 3 day of the week, write this command - T1157193021210
  */
     if (Serial.available())
     {      // Look for char in serial que and process if found
      command = Serial.read();
      if (command == 84) {      //If command = "T" Set Date
       setDateDs1307();
       getDateDs1307();
       Serial.println(" ");
      }
      while(1)
      {
        getDateDs1307();
        delay(500);
      }
   }
  }
8  International / Software / Alinear Tft 2,8"touch on: October 18, 2012, 06:12:54 am
Hola he leido que he de utilizar estos parametros para alinear la TFt  i he encontrado lo escrito debajo, pero no se como ponerlos en mi programa alguien me puede ayudar? gracias por avanzado.
Atentamente Albert Boix

http://seeedstudio.com/wiki/2.8''_TFT_Touch_Shield


How to calibrate the touch screen ?

The parameters TS_MINX, TS_MAXX, TS_MINY and TS_MAXY actually decides the extreme ends of the touch screen and actually forms the calibration parameters.
The values assigned to these variables are measured ADC values (i.e Raw X, Raw Y) when we touch the extreme diagonal ends of touch screen.
Touch points (0,0) and (239,319) and note down Raw X and Raw Y values. For better accuracy, try out many times and find the right value.
TS_MINX corresponds to ADC value when X = 0 ;
TS_MINY corresponds to ADC value when Y = 0 ;
TS_MAXX corresponds to ADC value when X = 240 -1 i.e 239 ;
TS_MAXY corresponds to ADC value when Y = 320 -1 i.e 319 ;
Change these parameters in the sketch, recompile and upload to Arduino.
Repeat the above steps if you still do not get accurate values
 (TS_MINX, TS_MAXX, TS_MINY and TS_MAXY) should be tested.Then open the paint demo,You can use the new tested data to replace the old data (#define TS_MINX 140, #define TS_MAXX 900,#define TS_MINY 120,#define TS_MAXY 940).After that,you have calibrated the touch screen
9  International / Software / Re: ayuda pantalla lcd on: October 16, 2012, 05:12:55 pm
sin verlo es dificl pero si no salen los simbolos que deverian salir, i salen simbolos raros podria ser que el programa que has realizado no realice la conversion a codigo ASCII el valor de la sonda antes de enviarlo. Prueva a sutituir el valor de la lectura de la sonda, el que mandas al dispaly poner el valor  48 si en el LCD te aparece un 0 el error és ese.
10  International / Software / mostrar Valor de variable en una TFT on: October 16, 2012, 04:35:27 pm
Hola tengo una Tft.touch quiero visualizar el valor de un contador. No puedo usar
Tft.drawString("1",5,120,2,WHITE);
Tft.drawString("2",5,120,2,WHITE);.... porque ha de contar hasta 100 o mas aun no lo he mirado pero por no tener que escrivir todos los valores a visualizar.
Si utilizo la siguoente funsion:

int litros=48;

Tft.drawChar(litros,135,120,2,WHITE);
 me visualiza el 0 ya que 48 en AScii es 0 pero al pasar de 9 me salen otros caracteres i quisiera que apareciera el 11  i asi sucessivament i no se si ay alguna forma o he de escrivir todos los valores ? o convertir el  numero decimal a AScii?

Gràcias por adelantado no se si se entiende vien lo que quiero realizar
11  International / Software / Re: como corregir este error on: September 27, 2012, 05:15:18 am
Me Podrias decir que libreria e de actualizar? las instale hace poco i no se porque no es la ultima version si me podrias indicar de donde la tengo que descargar
Gràcias por adelantado.
12  Using Arduino / Displays / Re: Help me please touch on: September 25, 2012, 01:42:36 pm
this is a big erro:
r error: 'byte' has not been declared
13  Using Arduino / Displays / Re: Help me please touch on: September 25, 2012, 01:40:56 pm
I copy the librery that download and put in the folder library
Thanks

C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\ITDB02_Touch.cpp:45:22: error: WProgram.h: No such file or directory
In file included from C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\ITDB02_Touch.cpp:46:
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:57: error: 'word' does not name a type
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:59: error: expected `)' before 'tclk'
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:61: error: 'byte' has not been declared
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:66: error: 'byte' has not been declared
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:69: error: 'byte' does not name a type
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:70: error: 'byte' does not name a type
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:71: error: 'byte' does not name a type
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:73: error: 'byte' has not been declared
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\/ITDB02_Touch.h:74: error: 'word' does not name a type
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\ITDB02_Touch.cpp:49: error: expected `)' before 'tclk'
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\ITDB02_Touch.cpp:58: error: variable or field 'InitTouch' declared void
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\ITDB02_Touch.cpp:58: error: 'byte' was not declared in this scope
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\ITDB02_Touch.cpp:74: error: variable or field 'touch_WriteData' declared void
C:\Users\albert\arduino-1.0.1-windows\arduino-1.0.1\libraries\TFTTouch\ITDB02_Touch.cpp:74: error: 'byte' was not declared in this scope
14  International / Software / como corregir este error on: September 25, 2012, 11:39:33 am
Tengo una tft 2.8" touch shield  con arduino uno i no consigo que aga nada de nada descargando los ejemplos que e encontrado a internet i me da muchos errore este es uno de ellos alguien sabe como solucionarlo?

Touch\ITDB02_Touch.cpp:74: error: 'byte' was not declared in this scope

Gracias por adelantado
15  Using Arduino / Displays / Help me please touch on: September 25, 2012, 08:17:50 am
hello I have a arduino one and 2,8"" tft touch shield  sld 62445pm I wold make a projec with TFT I need the first steeps for straritng use the tft.
You send Exampels? I found exampels for internet but is dosen't when  I compilated  apear very error and not found library. I have more examples but dosen't work in my orduino.

Tank' you very much

Pages: [1] 2