Programa Microbit para temperatura
from microbit import * import utime
uart.init(baudrate=9600)
while True: temperature = temperature() uart.write(str(temperature) + "\n") sleep(1000) # Espera 1 segundo antes de la siguiente lectura
Programa Swi Prolog
:- use_module(library(ansi_term)). :- use_module(library(readutil)).
% Define las reglas lógicas accion_based_on_temp(Temp) :- Temp < 20, writeln('Temperatura baja: Encender la luz.'). accion_based_on_temp(Temp) :- Temp >= 20, Temp < 30, writeln('Temperatura óptima: Mantener todo como está.'). accion_based_on_temp(Temp) :- Temp >= 30, writeln('Temperatura alta: Encender el ventilador.').
% Función para leer del puerto serial leer_serial(Puerto) :- setup_call_cleanup( open(Puerto, read, Stream, [type(text)]), leer_datos(Stream), close(Stream) ).
leer_datos(Stream) :-
read_line_to_string(Stream, Line),
( Line = end_of_file,
catch(number_string(Temp, Line),
_,
(writeln('Error al convertir la lectura a número.'), Temp = 0)),
format('Temperatura leída: w°Cn', [Temp]),
accion_based_on_temp(Temp),
leer_datos(Stream)
;
writeln('Fin de la lectura serial.')
).
% Punto de entrada :- initialization(main).
main :- % Reemplaza 'COM3' con el puerto correcto Puerto = 'COM3', writeln('Iniciando monitor de temperatura...'), leer_serial(Puerto).
LINK PRUEBA ACTIVIDAD
https://www.loom.com/share/2a6fc79082c049d095ff6d4affb84524?sid=e7defc5f-8d1d-484f-a597-3b7ced1cb53e