Skip to content

Instantly share code, notes, and snippets.

@jempcito
Last active November 5, 2024 22:41
Show Gist options
  • Save jempcito/da418929d8f5b8cd2c1c5fb804b91921 to your computer and use it in GitHub Desktop.
Save jempcito/da418929d8f5b8cd2c1c5fb804b91921 to your computer and use it in GitHub Desktop.
Monitor Temperatura link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment