Monitor de temperatura de la cerveza SODAQ (Arduino compatible) (2 / 2 paso)

Paso 2: El código

El siguiente código es lo que ejecuta el monitor de cerveza. Es también es descargable en nuestro repositorio de GIThub

Muestra el proceso de medir la temperatura y mostrando en la pantalla OLED.
Cuando la temperatura cae por debajo de 8 grados Celsius (temperatura ideal para la cerveza), envía un SMS con el GPRSbee.

#include < OneWire.h >
#include < Wire.h >
#include < SeeedOLED.h >
#include < GPRSbee.h >

#define GPRSBEE_PWRPIN 7
#define XBEECTS_PIN 8

OneWire ds(2);  en el pin 2

int sent_sms = 0;  sólo queremos enviar un sms una vez
Float beertemp;
bool smsSent;

void setup() / *---(configuración: funciona una vez)---* /
{
Serial.Begin(9600);      Serial1 está conectado a GPRSbee SIM900
gprsbee.init (serie, XBEECTS_PIN, GPRSBEE_PWRPIN);
gprsbee.OFF();
Wire.Begin();
SeeedOled.init();  initialze pantalla OLED de SEEED
SeeedOled.clearDisplay();          borrar la pantalla y establecer la posición de inicio a la parte superior izquierda esquina
SeeedOled.setNormalDisplay();      Ponga la pantalla en modo normal (es decir no inverso modo)
SeeedOled.setPageMode();           Modo direccionamiento a modo de página

} / *--(configuración final)---* /

void loop() / *---(bucle: funcionamientos constantemente)---* /
{
SeeedOled.setTextXY(0,0);          Establecer el cursor a Xth Page, columna Yth
SeeedOled.putString("Beer(oC):"); Imprimir la cadena
beertemp = OWtemp();
SeeedOled.putFloat(beertemp,1);
Si (beertemp < 8 & & sent_sms == 0) {}
sent_sms = 1;  sólo enviar sms una vez
SeeedOled.setTextXY(4,0);
SeeedOled.putString ("enviando SMS");
SeeedOled.setTextXY(5,0);
smsSent = gprsbee.sendSMS ("la cerveza es frío", "+99999999");  número de teléfono incluyendo el código de país
Si (smsSent) {}
SeeedOled.setTextXY(6,0);
SeeedOled.putString (el "SMS enviado OK");
} else {}
SeeedOled.setTextXY(6,0);
SeeedOled.putString (el "SMS no enviados");
}

}

} / *--(bucle principal de la final)--* /

Float OWtemp(void) {}

byte me;
presente byte = 0;
type_s de bytes;
datos del octeto [12];
addr Byte [8] = "";
flotador de celsius;

DS.Search(ADDR);
DS.Reset();
DS.Select(ADDR);
DS.Write(0X44, 1);        iniciar la conversión, con la energía del parásito en el final

Delay(1000);     tal vez 750ms es bastante, quizás no
podríamos hacer un ds.depower() aquí, pero el reset se hará cargo de él.

actual = ds.reset();
DS.Select(ADDR);
DS.Write(0xBE);         Bloc de notas de lectura

para (i = 0; i < 9; i ++) {/ / necesitamos 9 bytes
datos [i] = ds.read();

}

Convertir los datos a la temperatura real
porque el resultado es un entero con signo de 16 bits, debe
ser almacenados en un tipo de "int16_t", que es siempre de 16 bits
incluso cuando se compila en un procesador de 32 bits.
int16_t bruto = (datos [1] << 8) | datos [0];
Si (type_s) {}
materia prima = raw << 3; por defecto de resolución 9 bits
Si (datos [7] == 0 x 10) {}
"Conde siguen siendo" da resolución de 12 bits completo
materia prima = (materia prima y 0xFFF0) + 12 - datos [6];
}
} else {}
cfg de byte = (datos [4] y 0x60);
en baja resolución, los bits bajos son indefinidos, así que vamos a cero los
Si (cfg == 0 x 00) crudo = raw & ~ 7;  resolución de 9 bits, ms 93,75
else if (cfg == 0 x 20) crudo = raw & ~ 3; resolución de 10 bits, ms 187,5
else if (cfg == 0 x 40) crudo = raw & ~ 1; resolución de 11 bits, de 375 ms
valor predeterminado es 12 bits de resolución, tiempo de conversión de ms 750
}
Celsius = (float) crudo / 16.0;
volver celsius;
}

/ * (El final) * /

Artículos Relacionados

Monitor de temperatura Arduino Basic - Exosite

Monitor de temperatura Arduino Basic - Exosite

Este código de Arduino Lee un sensor de temperatura Dallas Semiconductor un alambre e informa a un Exosite Portal el Shield Ethernet. Este artículo describe la información de conexión y el código para un dispositivo de monitoreo de la temperatura con
Monitor de temperatura basado en Arduino

Monitor de temperatura basado en Arduino

este video muestra un monitor de temperatura con sensor de temperatura de precisión LM34, Arduino y pantalla LCD de 16 X 2. El monitor también almacena las lecturas de 10 temperatura pasadasMás imágenes y proyectos @ http://www.kunaldoshi.comAquí est
Monitor de temperatura Mono ATTiny85

Monitor de temperatura Mono ATTiny85

Me gusta hacer electrónica como un hobby y tiene un agradable espacio de trabajo que hice desde una PC descartado. Contiene un soporte soldadura y soldador (esquina superior derecha de la imagen de espacio de trabajo). Sucede que tengo una manera úti
COI - Monitor de temperatura

COI - Monitor de temperatura

Configuración mecánica:Usted necesitará a un Edison de Intel para Arduino, una arboleda Starter Kit Plus y un ordenador con el IDE de Arduino Edison instalado.Comience por conectar el tablero de Edison con Grove Starter Kit Plus Base escudo conectado
LinkIt uno tutoriales - Monitor de temperatura de agua de un cable #8 DS18B20

LinkIt uno tutoriales - Monitor de temperatura de agua de un cable #8 DS18B20

Para este tutorial voy a añadir a un monitor de temperatura de agua usando un DS18B20.El DS18B20 es un dispositivo de un cable. Un cable significa que recibe comandos desde el dispositivo de control (en este caso nuestro Consejo LinkIt uno) y lo enví
Monitor de temperatura con ESP8266 - IoT

Monitor de temperatura con ESP8266 - IoT

Este proyecto ayudará a crear a un monitor de temperatura usando un SoC de ESP8266 y un sensor de temperatura (DS18B20) con las siguientes capacidades:Medir la temperaturaEnviar un correo electrónico si la temperatura pasa por debajo de un umbralMoni
Computadora/ordenador portátil Monitor de temperatura USB con alarma opcional

Computadora/ordenador portátil Monitor de temperatura USB con alarma opcional

Este instructable le mostrará cómo construir su propio ordenador portátil / monitor de temperatura de sobremesa, con opcional de alarma que se activará un zumbador piezoeléctrico para una notificación audible. Después de completar este proyecto, pued
Frambuesa Pi IoT: Monitor de temperatura y humedad

Frambuesa Pi IoT: Monitor de temperatura y humedad

Compruebe mi versión más reciente de un controlador de humedad robótica!Amamos a duchas de agua calientes en mi casa y esto se empieza a dar en las paredes de nuestro cuarto de baño... Si no mantener humedad en cheque, puede muy fácilmente terminan c
Guía paso a paso al controlador de robot mago Micro (Arduino compatible)

Guía paso a paso al controlador de robot mago Micro (Arduino compatible)

el Micro mago de DAGU es un bajo costo Arduino compatible controlador diseñado especialmente para principiantes que quieren construir un pequeño robot. El Consejo tiene una serie de accesorios útiles construido en forma que en la mayoría de los casos
Hacer tu propio custom Arduino compatible

Hacer tu propio custom Arduino compatible

me encanta Ardunio. Me encanta las cosas que hacen con ellos y me encantaria hacer mi propio. En agosto pasado publiqué un Instructable sobre cómo hacer tu propio sello de correos de tamaño compatible con Arduino. Este Instructable le mostrará cómo p
¿Cómo a DIY garra de la grúa Robot Arduino-compatible?

¿Cómo a DIY garra de la grúa Robot Arduino-compatible?

¡ Hola, chicos! La grúa de la garra de Makeblock compatible con Arduino Robot ha completado hoy. Sus estructurasy características son similares como estas máquinas de la grúa que son comunes en el mercado.Para obtener más información, visite el sigui
YourDuino: Básico Arduino-Compatible evitando colisiones del Robot

YourDuino: Básico Arduino-Compatible evitando colisiones del Robot

Cómo construir un Robot básico de Arduino-Compatible de colisión-evitandoNota: Ver los bocetos de prueba de Software de Arduino disponibles y evitar colisiones Software aquí (Click)Nota: Más adelante se necesitará tener el Arduino "IDE" sistema
Perfboard Hackduino (circuito de Arduino-compatible $8)

Perfboard Hackduino (circuito de Arduino-compatible $8)

Nunca más va a tener que desmantelar un proyecto terminado para volver a utilizar una placa de Arduino!Este tutorial irá a través de los pasos involucrados en la fabricación de su propio circuito de Arduino-compatible usando solo ~$8 de partes (esto
Rápido y fácil Arduino Compatible escudo de puente en H

Rápido y fácil Arduino Compatible escudo de puente en H

en este instructable detallaré cómo fui trata de hacer un rápido y fácil, Arduino compatible, puente H escudo. Pero primero, una breve introducción en lo que me tiene motivado para hacerlo.Un par de años, empecé a querer aprender más sobre microcontr