RuiViana

ArduinoHT.ino

Oct 22nd, 2020
699
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. float temp = -7.35;                           // Valor de teste
  2. float umid = 44.88;                           // Valor de teste
  3. char valor[6];                                // Matriz para guardar convesão de float
  4. String pacote = "HT";                         // String para montar o pacote com "header" HT
  5. //-----------------------------------------------------------
  6. void completar(String item)                   //  Completa com espacos a esquerda ate 6 digitos
  7. {
  8.   String leading;                             // String com espacos
  9.    for (int i = 0; i < (6 - String(item).length()); i++)     // Verificas qto espacos sao necessarios
  10.   {
  11.     leading += " ";                                         // Acrescenta espaco
  12.   }
  13.   leading += String(valor);                                 // Concatena valor com espacos a esqueda
  14.   //Serial.print(leading);  Serial.print(" >> lgh ");       // Print para debug
  15.   //Serial.println(leading.length());                       // Print para debug
  16.   pacote += leading;                                        // Concatena com novo valor
  17. }
  18. //-----------------------------------------------------------
  19. void montaPacote()                                          // Monta "protocolo" propietario
  20. {
  21.   dtostrf(temp, 2, 2, valor);                               // Converte valor temp float em array
  22.   completar(valor);                                         // completa valores a esquerda e concatena
  23.  
  24.   dtostrf(umid, 2, 2, valor);                               // Converte valor umid float em array
  25.   completar(valor);                                         // completa valores a esquerda e concatena
  26.  
  27.   Serial.print(pacote);  Serial.print("     >> lgh ");      // Print pacote montado
  28.   Serial.println(pacote.length());                          // Print tamanho do pacote
  29. }
  30. //-----------------------------------------------------------
  31. void setup()
  32. {
  33.   Serial.begin(115200);
  34. }
  35. //-----------------------------------------------------------
  36. void loop()
  37. {
  38.   pacote = "HT";                                              // Recarrega string
  39.   montaPacote();                                              // Cria pacote
  40.   delay(1000);
  41. }
RAW Paste Data