Problema UDP mandar cadena

buen dia, dudas al realizar rutina de leer sensor dth11 y guarde los datos en sdcard, después mandar por Udp una cadena, no puede mandar la cadena por udp, ya guardo los datos en la sd, los tengo como cadena, pero no logro mandar por udp.

Hola.

Para empezar, estaría bien que propusieras tu código para ver qué modificaciones puede necesitar.

Saludos.

//Si me mando los datos, hoy precisamente hice que me mande una cadena con udp.write, pero quiero utilizar el udp.send, este es mi codigo.

#include <SPI.h>
#include <SD.h>
#include “DHT.h”
#include <Ethernet.h>
#include <EthernetUdp.h>

// Variables
const int chipSelect = 4;
//pinMode(10, OUTPUT); // Para un Arduino UNO
//pinMode(53, OUTPUT); // Para un MEGA
String dataString; //Almacenar frase
float t,h;
byte min=999 , max=0;

//datos arduino mac address
byte mac={0x90,0xA2,0xDA,0x0F,0x54,0xB8};
//IP arduino
IPAddress ip(172, 16, 4, 230);
unsigned int localPort = 8007; // Puerto para leer

//Datos destino
IPAddress IPREMOTA(172, 16, 4, 8); //IP de la PC
unsigned int PUERTOREMOTO = 8007;

char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; // mantiene paquete entrante

EthernetUDP Udp; // dejar enviar y recibir paquetes a través de UDP

File dataFile; // crear archivo
DHT dht( 2, DHT11); // sensor

void setup()
{
Ethernet.begin(mac, ip);
dht.begin();
Udp.begin(localPort);
Serial.begin(9600);
Serial.println(“Inicia SD card…”);
if (!SD.begin(4))
{
Serial.println(“Fallo SD!”);
return;
}
Serial.println(“Tarjeta OK”);

dataString ="Temperatura, Maxima, Minimo, Humedad "; // Era una cabecera
dataFile=SD.open(“datos.txt”, FILE_WRITE); // crear archivo // Exportar a excel según :S
if(dataFile) // grabar e imprimir
{
dataFile.println(dataString);
dataFile.close();
Serial.println(dataString); // para saber si está bien
}
else
Serial.println(“Escritura erronea en la cabecera…”);
}

void loop()
{
datos();
sensor();
{
Udp.beginPacket(IPREMOTA, PUERTOREMOTO);
Udp.write(“datos a enviar”);
Udp.endPacket();
delay(20000);
}
}

void datos()
{
dataString = String (t)+String("'C")+String(" “)+String (max)+String(”'C")+(" “)+String (min)+String(”'C")+(" “)+String (h)+String(”%") ; // frase para guardar
dataFile=SD.open(“datos.txt”, FILE_WRITE); // crear archivo
if(dataFile) // grabar e imprimir
{
dataFile.println(dataString); // Escrir el contenido de “dataString” dentro del archivo de texto
dataFile.close(); // Cerrar la escritura dentro del archivo
Serial.println(dataString); // texto informativo
}
else
{
Serial.println(“Escritura erronea…”); // texto informativo
//delay(1000); // tiempo
}
}

void sensor ()
{
// Leer el sensor
h = dht.readHumidity();
t = dht.readTemperature();
if(t>max)
{
max = t;
}
if (t<min)
{
min = t;
}
delay(1000);
}