Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SISTEMAS
P.F. Robótica
- El boton de RECIBIR OFF desactiva la lectura de datos UDP y las muestra en las gráficas de
Temperatura y Campo Magnetico, es decir, ya no aparecen más datos en las gráficas.
- El boton ENVIAR, envia la información del cuadro de texto por UDP, y enciende el LED
cuando envia 1 y se apaga cuando envia 0.
4. Rubrica:
1
CARRERA DE ING. SISTEMAS
P.F. Robótica
5. Procedimientos:
Código Arduino
# include<WiFi.h>
# include<WiFiUDP.h>
void loop() {
t=temperatureRead();//datos de la temperature esp32
cm=hallRead();//datos del campo magnético esp32
int tamanobufer=udp.parsePacket();
memset(bufferlectura,0,50);
cadena=String(t)+"A"+String(cm)+"A";
memset(bufferescritura,0,sizeof(bufferescritura));
for(int i=0;i<cadena.length();i++){
bufferescritura[i]=(uint8_t)cadena[i];
}
udp.beginPacket(ip,puertoremoto);
udp.write(bufferescritura,cadena.length());
udp.endPacket();
delay(100);
if(tamanobufer){
udp.read(bufferlectura,tamanobufer);
Serial.println(bufferlectura);
int orden=bufferlectura[0]-48;
if(orden==1)
digitalWrite(led,HIGH);//segun sea 1 enciende , 0 apaga
2
CARRERA DE ING. SISTEMAS
P.F. Robótica
if(orden==0)
digitalWrite(led,LOW);
delay(100);
}
void conectar(){
WiFi.begin(nombrered,clave);
while(WiFi.status() !=WL_CONNECTED){
Serial.println(".");
delay(20);
}
Serial.println("conectado");
Serial.println(WiFi.localIP());
}
Código Matlab
function Tarea()
clc
clear all
close all
warning off
instrreset
Cudp=udp('192.168.1.2',8888,'localPort',7070,'LocalPortMode','manual');
pause(1)
fopen(Cudp);
graficar=1;
t=37;
cm=0;
while(graficar==1)
flushinput(Cudp);
3
CARRERA DE ING. SISTEMAS
P.F. Robótica
lectura=fscanf(Cudp,'%fA%dA');
t=0;
cm=0;
subplot('position',[0.1 0.5 0.4 0.2])
plot(t);
title('TEMPERATURA')
subplot('position',[0.1 0.2 0.4 0.2])
plot(cm);
title('CAMPO MAGNETICO')
pause(0.1);
end
function encender(,)
while(graficar==1)
flushinput(Cudp);
lectura=fscanf(Cudp,'%fA%dA');
t(end+1)=lectura(1);
cm(end+1)=lectura(2);
subplot('position',[0.1 0.5 0.4 0.2])
plot(t);
title('TEMPERATURA')
end
end
function apagar(,)
while(graficar==1)
flushinput(Cudp);
lectura=fscanf(Cudp,'%fA%dA');
t=0;
cm=0;
subplot('position',[0.1 0.5 0.4 0.2])
plot(t);
title('TEMPERATURA')
end
4
CARRERA DE ING. SISTEMAS
P.F. Robótica
end
function cerrar(,)
graficar=0;
pause(0.2);
fclose(Cudp);
delete(Cudp);
closereq
end
function enviar(,)
fwrite(Cudp,texto.String);
end
end
Se empezó diseñando mediante código la ventana donde irán las funciones del programa, se
ajustó las dimensiones de la ventana para que este en el centro de la pantalla además se le
agrego el color de fondo a la ventana, se implementó un título, textos de la temperatura y el
campo magnético.
Este programa tiene la finalidad de mostrarme en dos graficas en el campo magnético y la
temperatura del esp32, además mediante los botones de recibir ON y recibir OFF es donde se
programó la función de enviar datos al momento que aplaste en recibir ON y deje de recibir
datos al momento de dar clic en recibir OFF, también tiene una caja de texto que me permite
enviar datos como 1 o 0, los cuales controlaran el encendido y apagado de un led.
5
CARRERA DE ING. SISTEMAS
P.F. Robótica
6. Resultados:
6
CARRERA DE ING. SISTEMAS
P.F. Robótica
7
CARRERA DE ING. SISTEMAS
P.F. Robótica
8
CARRERA DE ING. SISTEMAS
P.F. Robótica
7. Autoevaluación:
Según mi criterio considero que me merezco la máxima nota debido esfuerzo aplicado
en esta tarea.