Nota

¡Hola, bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas.

¿Por qué unirse?

  • Soporte Experto: Resuelve problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo.

  • Aprender y Compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Previsualizaciones Exclusivas: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.

  • Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.

  • Promociones y Sorteos Festivos: Participa en sorteos y promociones navideñas.

👉 ¿Listo para explorar y crear con nosotros? ¡Haz clic en [Aquí] y únete hoy!

2.2.2 Termistor

Nota

../_images/mcp3008_and_adc0834.jpg

Dependiendo de la versión de su kit, identifique si tiene ADC0834 o MCP3008 y continúe con la sección correspondiente.

Introducción

Al igual que la fotorresistencia puede detectar la luz, el termistor es un dispositivo electrónico sensible a la temperatura que se puede utilizar para realizar funciones de control de temperatura, como hacer una alarma de calor.

Componentes Necesarios

En este proyecto, necesitamos los siguientes componentes.

../_images/list_2.2.2_thermistor.png

Es definitivamente conveniente comprar un kit completo, aquí está el enlace:

Nombre

ARTÍCULOS EN ESTE KIT

ENLACE

Kit Raphael

337

Raphael Kit

También puedes comprarlos por separado desde los enlaces a continuación.

INTRODUCCIÓN DE COMPONENTES

ENLACE DE COMPRA

Placa de Extensión GPIO

COMPRAR

Protoboard

COMPRAR

Cables de Puente

COMPRAR

Resistor

COMPRAR

Termistor

COMPRAR

ADC0834

-

Diagrama Esquemático

../_images/image323.png ../_images/image324.png

Procedimientos Experimentales

Paso 1: Construye el circuito.

../_images/image202.png

Paso 2: Ve a la carpeta del código.

cd ~/raphael-kit/python/

Paso 3: Ejecuta el archivo ejecutable.

sudo python3 2.2.2_Thermistor.py

Cuando el código se ejecuta, el termistor detecta la temperatura ambiente, que se imprimirá en la pantalla una vez que termine el cálculo del programa.

Código

Nota

Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Pero antes de eso, necesitas ir a la ruta del código fuente como raphael-kit/python. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import RPi.GPIO as GPIO
import ADC0834
import time
import math

def init():
    ADC0834.setup()

def loop():
    while True:
        analogVal = ADC0834.getResult()
        Vr = 5 * float(analogVal) / 255
        Rt = 10000 * Vr / (5 - Vr)
        temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))
        Cel = temp - 273.15
        Fah = Cel * 1.8 + 32
        print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))
        time.sleep(0.2)

if __name__ == '__main__':
    init()
    try:
        loop()
    except KeyboardInterrupt:
        ADC0834.destroy()

Explicación del Código

import math

Esta es una biblioteca numérica que declara un conjunto de funciones para calcular operaciones matemáticas comunes y transformaciones.

analogVal = ADC0834.getResult()

Esta función se usa para leer el valor del termistor.

Vr = 5 * float(analogVal) / 255
Rt = 10000 * Vr / (5 - Vr)
temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))
Cel = temp - 273.15
Fah = Cel * 1.8 + 32
print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))

Estos cálculos convierten los valores del termistor en grados centígrados y grados Fahrenheit.

Vr = 5 * float(analogVal) / 255
Rt = 10000 * Vr / (5 - Vr)

Estas dos líneas de código calculan la distribución de voltaje con el valor leído analógico para obtener Rt (resistencia del termistor).

temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))

Este código se refiere a enchufar Rt en la fórmula TK=1/(ln(RT/RN)/B+1/TN) para obtener la temperatura en Kelvin.

temp = temp - 273.15

Convierte la temperatura en Kelvin a grados centígrados.

Fah = Cel * 1.8 + 32

Convierte los grados centígrados a grados Fahrenheit.

print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))

Imprime los grados centígrados, los grados Fahrenheit y sus unidades en la pantalla.

Foto del Fenómeno

../_images/image203.jpeg