Show Posts
Pages: [1]
1  Using Arduino / Displays / Re: SeeedStudio TFT V2.0 text direction added on: August 27, 2013, 10:17:32 am
I am new to C, I hope I can help, good with regard to this I have taken another major problem that the rotation of the screen, I try to make a clock using DS1307 RTC with TINY, however does not show me the right way numbers, ie 1,2,3 but prints all over the account if done right of 0-59 but not let me see the numbers because they never clean the previous issue, I attached a picture, hoping you can help me I thank you in advance for the attention paid,

Code:
#include <stdint.h>
#include <SeeedTouchScreen.h>
#include <TFTv2.h>
#include <SPI.h>
#include <Wire.h> // specify use of Wire.h library.

// De Decimal a BCD
byte decToBcd(byte val){
  return ( (val/10*16) + (val%10) );
};

// De BCD a Decimal
byte bcdToDec(byte val){
  return ( (val/16*10) + (val%16) );
};
/*************************************/

/********** Variables Reloj **********/

byte seconds = 0;
byte minutes = 0;
byte hours = 0;
byte day = 0;
byte date = 0; //dia
byte month = 0;
byte year = 0;

int fecha=0;
char buufer[12];


unsigned long tiempo_s1, tiempo_s2=0, retardo_s1=50;

TouchScreen ts = TouchScreen(XP, YP, XM, YM); //init TouchScreen port pins

void setup()
{
 

   TFT_BL_ON;                                          //turn on the background light
   Tft.TFTinit();
   Wire.begin();
   
   
   Tft.fillCircle(40, 160, 30,BLUE); // (x,y, radio, color) BOTON 1
   Tft.drawString("AA", 18, 145, 3, WHITE);     //  'S', (X, Y), Tamño: 1, color: RED 
 
   Tft.fillCircle(120, 160, 30, BLUE); // (x,y, radio, color) BOTON 2
   Tft.drawString("B", 110, 145, 3, WHITE);     //  'S', (X, Y), Tamño: 1, color: RED 
   
   Tft.fillCircle(200, 160, 30, BLUE); // (x,y, radio, color) BOTON 3
   Tft.drawString("CC", 180, 145, 3, WHITE);     //  'S', (X, Y), Tamño: 1, color: RED 
   
   //Tft.setOrientation(1) // ==> If I modify this parameter 1-2 should rotate the screen to landscape mode?.
                            // Try to do a small clock, setDisplayDirect command only rotating characters?
 
}
void loop()
{
   
 
  Wire.beginTransmission(0x68);
  Wire.write(0x00);
  Wire.endTransmission();
  Wire.requestFrom(0x68, 7);
  seconds = bcdToDec( Wire.read());
  minutes = bcdToDec( Wire.read());
  hours = bcdToDec( Wire.read());
  day = bcdToDec( Wire.read());
  date = bcdToDec( Wire.read());
  month = bcdToDec( Wire.read());
  year = bcdToDec( Wire.read());
 
 
 
 Tft.drawNumber(seconds, 157, 45,  4, WHITE);
 
 Tft.drawNumber(minutes, 105,  45,  3, WHITE);
 Tft.drawString(";"    , 141, 42,  3, WHITE);
 
 Tft.drawString("/"    , 71,  82,  3, WHITE);
 Tft.drawNumber(month  , 88,  85,  3, WHITE); //(x,y)
 
 Tft.drawNumber(date  , 33,  85,  3, WHITE); //(x,y)
 Tft.drawString("/"    , 126,  82,  3, WHITE);
 
 fecha=year+2000;
 Tft.drawNumber(fecha  , 144,  85,  3, WHITE); //(x,y)
     
     
}

2  Using Arduino / Displays / Re: SeeedStudio TFT V2.0 text direction added on: August 22, 2013, 05:08:13 pm
Sorry, I try to put only Tft.setOrientation (1), in my arduino code but nothing happened to me, I'm new to this and hope you can help me. Nose as properly be put, I am using an arduino mega. regards
3  Using Arduino / Displays / Re: SeeedStudio TFT V2.0 text direction added on: August 21, 2013, 01:42:13 pm
Tft.setOrientation(1);        ????
4  International / Español / Novato...Ayuda con rtc ds1307 y lcd on: February 14, 2013, 11:20:08 am
Buen día, disculpen pero soy nuevo en esto. Necesito hacer un proyecto que utiliza un reloj de tiempo real, he buscado en google unos ejemplos y encontré varios modifique uno para que me mostrara la hora en una pantalla lcd y si lo hace, primero copie la hora de la computadora con un ejemplo que venia utilizando la liberia RTClip, sin embargo ya no me aparece lo que es el dia de la semana antes aparecia, otra cosa que necesito es modificarle la fecha por medio de botones y es ahi donde no le entiendo, espero me ayuden..De antemano muchas gracias..Por cierto uso una rtc como el siguiente



Este es el codigo

Code:

#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(9,8,13,12,11,10);

int hour;
int minute;
int second;
int month;
int dayOfWeek;
int dayOfMonth;
int year;


void setup()
{

 Wire.begin();
 lcd.begin(16,2);

}

void loop()
{   

 Wire.beginTransmission(104); // transmit to device #104, the ds1307
 Wire.write(0x00);
 Wire.endTransmission();    // stop transmitting

 Wire.requestFrom(104, 7); // Solicita bytes de otro dispositivo.
 second = Wire.read();
 minute = Wire.read();
 hour = Wire.read();
 dayOfWeek = Wire.read();
 dayOfMonth = Wire.read();
 month = Wire.read();
 year = Wire.read();

 // Convertir todos los valores BCD que podrían tener "decenas" a decimal. 
 
 hour=hour/16 * 10 + hour % 16;
 minute=minute/16 * 10 + minute % 16;
 second=second/16 * 10 + second % 16;
 dayOfMonth=dayOfMonth/16 * 10 + dayOfMonth % 16;
 month=month/16 * 10 + month % 16;
 year=2000 + year/16 * 10 + year % 16;

 
 lcd.setCursor(6,0);
 lcd.print(dayOfMonth);
 lcd.print("/");
 lcd.print(month);
 lcd.print("/");
 lcd.print(year);
 lcd.setCursor(8,1);
 lcd.print(hour);
 lcd.print(":");
 lcd.print(minute);
 lcd.print(":");
 lcd.print(second);
 lcd.print(" ");

// Esto pone nombre del dia
    lcd.setCursor(0,0);
    switch (dayOfWeek)
  {
    case 1:
      lcd.print("Sab");       break;
    case 2:
      lcd.print("Dom");      break;
    case 3:
      lcd.print("Lun");   break;
    case 4:
      lcd.print("Mar");      break;
    case 5:
      lcd.print("Mie");     break;
    case 6:
      lcd.print("Jue");      break;
    case 7:
      lcd.print("Vie");     break;
   }
   delay(1000);
 }

Pages: [1]