Sensor de temperatura inalámbrico simple actualización de sitio web con electric imp y termistor (9 / 21 paso)

Paso 9: crear la clase de sensor

Vamos a crear una clase para manejar el sensor.  Llamé a mis 'TermistorCelcius'. Entramos en este código justo debajo de donde ponemos nuestra descripción en el ultimo paso.

Esta clase puede utilizarse para cualquiera de los termistores que tienen las cuatro constantes para su uso con la ecuación de Steinhart-Hart extendida de Vishay.

Nota sobre el código en este instructable. Le puse una etiqueta < código comience > y < código >. Debe copiar/pegar sólo las partes entre estas etiquetas y no las etiquetas ellos mismos.

< el comenzar del código >
clase ThermistorCelcius
{
analogPort = null;  tiene asignado el pin de hardware
ROhms = null;       Resistencia resistencias en ohmios
Rref = null;        Resistencia de los termistores en 25 ° C
variables para mantener las constantes específicas para el termistor
para la ecuación de Steinhart-Hart
A = null;
B = null;
C = null;
D = null;

Valor para decir si el lado del termistor de la
divisor del voltaje/resistor termistor está conectado a GND
ThermToGND = null;

() constructor
puerto, / / pin número termistor conectado a
ResistorOhms, / / valor de la resistencia en ohmios
ThermistorOhms, / / resistencia del termistor a 25 º C en ohms
constA, / o la constante de la hoja de datos
constB, / o la constante de la hoja de datos
constC, / o la constante de la hoja de datos
constD, / o la constante de la hoja de datos
thermistorToGND) / / 1 si lado termistor = GND
{
El constructor de una clase se llama cuando la clase es
inició. Sus variables se pasan a la clase en este
tiempo.
ROhms = ResistorOhms;
Rref = ThermistorOhms;
A = constA;
B = constB;
C = constC;
D = constD;
ThermToGND = thermistorToGND;

Proporcionan un método para poder utilizar la misma clase
independientemente del puerto.
interruptor (puerto)
{
caso 1:
hardware.PIN1.Configure(ANALOG_IN);
analogPort = hardware.pin1;
rotura;
caso 2:
hardware.PIN2.Configure(ANALOG_IN);
analogPort = hardware.pin2;
rotura;
caso 5:
hardware.pin5.Configure(ANALOG_IN);
analogPort = hardware.pin5;
rotura;
caso 7:
hardware.pin7.Configure(ANALOG_IN);
analogPort = hardware.pin7;
rotura;
caso 8:
hardware.pin8.Configure(ANALOG_IN);
analogPort = hardware.pin8;
rotura;
caso 9:
hardware.Pin9.Configure(ANALOG_IN);
analogPort = hardware.pin9;
rotura;
por defecto:
Server.log ("válido port especificado.");
rotura;
}
}

función readTemp()
{
obtener el voltaje actual de la imp usa como Vref para el
análogo a la conversión digital
local hwvolts = hardware.voltage();

Realizar un análogo a la conversión digital y almacenar el 16
poco valor
datos = analogPort.read();

Si (datos == null) / / si no conseguimos nada,
{
Server.log ("falta leer");     Informe de un fracaso
devuelven el valor false;                   y devolver false
}

convertir al número de la ADC a un voltaje
voltaje local = datos * (hwvolts / 65535);

dependiendo de cómo usted atado con alambre los 3.3V y GND en el
Divisor de voltaje resistor/termistor, seleccione la
fórmula apropiada para calcular la resistencia de
el termistor.
locales ohmios = null;
Si (ThermToGND == 1)
utilizado con resistencia de 3, 3V y termistor en tierra
ohms = ROhms/((hwvolts/voltage)-1);
otra cosa
utilizado con resistencia en tierra y termistor en 3.3V
ohms = tensión de ((ROhms * hwvolts))-ROhms;

Vamos a utilizar una ecuación de Steinhart-Hart extendida a
calcular la temperatura basado en la calculado
resistencia del termistor. Te incluimos la
factor de conversión de Kelvin a Celsius
local tempC = 1.0 / (A + B * math.log(ohms/Rref) +
C * math.pow(math.log(ohms/Rref), 2) +
D * math.pow(math.log(ohms/Rref), 3)) - 272.15;
volver tempC;       y la temperatura
}
}
< final código >

Artículos Relacionados

Sensor de temperatura inalámbrico LM35 de ESP8266-12 blynk

Sensor de temperatura inalámbrico LM35 de ESP8266-12 blynk

Sensor de temperatura inalámbrico LM35 de ESP8266-12 blynken este proyecto usando un esp8266, para mostrar el sensor de temperatura LM35 en tu smartphone o tablet.Si usted tiene sensores disponibles DHT11 DHT22 o puede utilizar el siguiente Instructa
Sensor de temperatura inalámbrico

Sensor de temperatura inalámbrico

que consta de 2 circuitosUno lee la temperatura usando un DS18B20 y transmitts sobre las ondas de radio.El otro recibe los datos y la muestra.No he probado la gama todavía, pero he tenido trabajando más de 12 pies, atravesando 2 paredes.Lista de piez
Sensor de movimiento inalámbrico portátil ha activado la alarma con un timbre inalámbrico y un sensor de movimiento de airwick

Sensor de movimiento inalámbrico portátil ha activado la alarma con un timbre inalámbrico y un sensor de movimiento de airwick

tuvo la idea de combinar estos dos elementos por una cierta hora ahora, así que cuando una tienda tiene el timbre inalámbrico para unos 11, 50USD yo solo tenía que comprarlo...Piezas y herramientas necesarias:Estación de soldaduraDestornilladorAlgo p
Sensor de temperatura inalámbrico IR con ATtiny85

Sensor de temperatura inalámbrico IR con ATtiny85

Arduino es sencilla y muy potente plataforma de open source y hardware donde sólo su imaginación puede detener. Hace unos días leí un instructivo que me inspiran a hacer mi propia. Es el instructivo acerca de cómo puede enviar cadenas de datos desde
ESP8266 ESP-12E NodeMCU v1.0 con Arduino IDE en registrador de temperatura inalámbrico de programación

ESP8266 ESP-12E NodeMCU v1.0 con Arduino IDE en registrador de temperatura inalámbrico de programación

A finales de 2014 y 2015 temprano, su vino realmente a través deeste ingenioso ESP8266 de Chip WiFi (ESP-01) y a la batalla entre la documentación inconsistente de diversas fuentes. Para el momento del estímulo, él documentó sus frustraciones (result
Dispositivo de Sensor de movimiento inalámbrico barato

Dispositivo de Sensor de movimiento inalámbrico barato

Creo que todos tenemos el sueño que se convirtió en un super espía, así que si estás en una misión secreta, están haciendo algo en tu casa y no quieren quedar atrapados, nuestros sólo están comiendo las galletas en la cocina y quieres saber si tu mad
Inalámbrico de temporizador de luz de Navidad con Python y frambuesa Pi

Inalámbrico de temporizador de luz de Navidad con Python y frambuesa Pi

actualización 14/01/2014: gracias a todos los que votaron por este proyecto en el concurso de Hacking de Hardware! Esperando a mi nueva pluma del fabricante.¿Actualización 31/12/2013: en busca de una versión más avanzada de este proyecto? Echale mi n
ESP8266-12 blynk temperatura inalámbrico, sensor de humedad DHT 11

ESP8266-12 blynk temperatura inalámbrico, sensor de humedad DHT 11

en este proyecto usando un esp8266, para mostrar la temperatura y la humedad DHT11 sensor en tu smartphone o tablet.------------------------esp8266-12 funciona a 3.3V pero muchos sensores operan a 5v, vamos a utilizar un convertidor de nivel lógico b
ESP8266-12 blynk temperatura inalámbrico, sensor de humedad DHT22

ESP8266-12 blynk temperatura inalámbrico, sensor de humedad DHT22

en este proyecto usando un esp8266, para mostrar la temperatura y la humedad DHT22 sensor en tu smartphone o tablet.DHT22 sensor es mucho más preciso que DHT11 pero también es más caro.pero si sólo se puede utilizar el DHT11ESP8266-12 blynk inalámbri
Sistema de alarma de transmisión infrarroja de temperatura inalámbrico con Arduino

Sistema de alarma de transmisión infrarroja de temperatura inalámbrico con Arduino

Equipo de ICStation presentamos el infrarrojo temperatura transmisión sistema de alarma inalámbrico basado en el ICStation UNO R3 Junta. Este sistema trabaja bajo fuente de alimentación 5V, puede supervisar el cambio de temperatura en tiempo real y e
Inalámbrico de distorsión de la guitarra con un teléfono inalámbrico

Inalámbrico de distorsión de la guitarra con un teléfono inalámbrico

Con "línea tierra" cableada telefonía haciendo una salida elegante en el escenario justo, yo he acumulado una variedad de teléfonos inalámbricos. Yo he estado reflexionando sobre las ideas, y experimentando con maneras de reutilizar estos todaví
Control de la temperatura de registro inalámbrico

Control de la temperatura de registro inalámbrico

por lo que este perezoso Geek (registro antiguo) ama los gadgets. Mi amigo me habló y me envió un par de módulos de NRF24L01 +.Por lo tanto, ser un friki, necesita una aplicación para ellos y me decidí por un montón de módulos de temperatura inalámbr
Sensor de temperatura simple LED Digital

Sensor de temperatura simple LED Digital

Un Sensor de temperatura electrónico Simple, bajo costo, DigitalH. William James, agosto de 2015Resumen LED parpadeante contienen un pequeño chip de IC que causar a parpadear continuamente encendido y apagado cuando se aplica un voltaje. Este estudio
Inalámbrico de consumo de energía eléctrica de monitoreo y registro de

Inalámbrico de consumo de energía eléctrica de monitoreo y registro de

son conocidos muchos consumo eléctrico monitoreo o medición de dispositivos - industrial realizado, basado en Arduino etc..En general no lo han hecho capacidades - pantalla Mostrar datos de monitoreo de datos remotos. Algunos de ellos pueden ser util