concatenação Int para String

void loop()
{
  delay(10000);

  int tophora = ahora();
  sprintf(buf, "%d : Dia ", tophora);
  tweet(buf);
  delay(10000);
}

int ahora() {
  if (millis() - UtlTime < 0)
  {
    UtlTime = millis();
  }
  else
  {
    segundo = int((millis() - UtlTime) / 1000);
  }
  if (segundo > 59)
  {
    segundo = 0;
    minuto++;
    UtlTime = millis();
    if (minuto > 59)
    {
      hora++;
      minuto = 0;
      if (hora > 23)
      {
        dia++;
        hora = 0;
        if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12)
        {
          if (dia > 31)
          {
            dia = 1;
            mes++;
            if (mes > 12)
            {
              ano++;
              mes = 1;
            }
          }
        }
        else if (mes == 2)
        {
          if (ano % 400 == 0)
          {
            if (dia > 29)
            {
              dia = 1;
              mes++;
            }
          }
          else if ((ano % 4 == 0) && (ano % 100 != 0))
          {
            if (dia > 29)
            {
              dia = 1;
              mes++;
            }
          }
          else
          {
            if (dia > 28)
            {
              dia = 1;
              mes++;
            }
          }
        }
        else
        {
          if (dia > 30)
          {
            dia = 1;
            mes++;
          }
        }
      }
    }
  }

  Serial.print(dia);
  Serial.print("/");
  Serial.print(mes);
  Serial.print("/");
  Serial.print(ano);
  Serial.println();



  Serial.print(hora);
  Serial.print(":");
  Serial.print(minuto);
  Serial.print(":");
  Serial.print(segundo);
  Serial.print("\n");
  Serial.println();

  int tophora = dia + mes + ano;
  return tophora;

}

CODIGO ERRO

Então o objetivo é juntar Dia Mes e Ano em uma String e retornala como faz isso ? se der daria pra min enviar em outra String Hora e minutos!! Obd!

Moderator edit: [code] ... [/code] tags added. (Nick Gammon)

O código é completamente incompreensível. Aqui no fórum, o código é postado utilizando o 1º icon da barra de ferramentas('</>'). Basta colar o código, seleccioná-lo e depois clicar neste icon. Já agora, parece-me que não foi postado o código completo, para além disso, não consigo perceber a pergunta, podia explicar melhor o que pretende?

Olá Edison prazer sou novo no arduino, estou tentado enviar a data para o twitter, mas a data e dada como inteiro em variáveis Dia Mes Ano. gostaria de juntar elas em uma String para ficar 12082015. E se tiver como colocar barra para ficar no formato de 12/08/2015.

Admitindo que tudo o resto está certo (e acrescentando as partes do programa que faltam para que seja compilado), qualquer coisa assim deverá funcionar:

unsigned int UtlTime;
int segundo, minuto, hora, dia, mes, ano;

char buf[50];


void setup() {
  Serial.begin(9600);
}


void loop()
{
  ahora();
  sprintf(buf, "%.2d%.2d%.4d", dia, mes, ano);
  //sprintf(buf, "%.2d/%.2d/%.4d", dia, mes, ano); //com barras

  Serial.print("Apos sprintf: ");

  Serial.println(buf);
  //tweet(buf);

  delay(10000);
}

void ahora(){
  if(millis()-UtlTime<0)
  {
    UtlTime=millis();
  }
  else
  {
    segundo=int((millis()-UtlTime)/1000);
  }
  if(segundo>59)
  {
    segundo=0;
    minuto++;
    UtlTime=millis();
    if(minuto>59)
    {
      hora++;
      minuto=0;
      if(hora>23)
      {
        dia++;
        hora=0;
        if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)
        {
          if(dia>31)
          {
            dia=1;
            mes++;
            if(mes>12)
            {
              ano++;
              mes=1;
            }
          }
        }
        else if(mes==2)
        {
          if(ano%400==0)
          {
            if(dia>29)
            {
              dia=1;
              mes++;
            }
          }
          else if((ano%4==0)&&(ano%100!=0))
          {
            if(dia>29)
            {
              dia=1;
              mes++;
            }
          }
          else
          {
            if(dia>28)
            {
              dia=1;
              mes++;
            }
          }
        }
        else
        {
          if(dia>30)
          {
            dia=1;
            mes++;
          }
        }
      }
    }
  }

  Serial.print(dia);
  Serial.print("/");
  Serial.print(mes);
  Serial.print("/");
  Serial.print(ano);
  Serial.println();



  Serial.print(hora);
  Serial.print(":");
  Serial.print(minuto);
  Serial.print(":");
  Serial.print(segundo);
  Serial.print("\n");
  Serial.println();
}

Apenas é necessário usar a função sprintf() correctamente e introduzir todos os inteiros que se querem imprimir na string.
Já agora, esta secção do fórum é suposto ser uma secção genérica em que é utilizada a língua Inglesa. No final dá página principal pode encontrar a secção onde são colocadas as dúvidas nas várias línguas (entre as quais o Português). Aconselho-o a que em situações futuras utilize essa secção (ou então que utilize o Inglês).

Perfeito Obrigado pela ajuda. :smiley: