INTERNET DE LAS COSAS [PARTE 1] - LEER TEMPERATURA CON ARDUINO Y LM35

  • Mario Pérez Esteso Mario Pérez Esteso
  • hace 5 años
INTERNET DE LAS COSAS [PARTE 1] - LEER TEMPERATURA CON ARDUINO Y LM35

AR3¡Muy buenas! Hoy comienzo una serie de **3 tutoriales** en los cuales vamos a aprender a crear nuestro propio **Internet de las Cosas**. Estas 3 partes son:

  1. Leer datos de Arduino: leeremos la temperatura de un sensor LM35.
  2. Mandar estas lecturas a una base de datos que se encuentre en un servidor. Utilizaré mi Raspberry Pi.
  3. Graficar estos datos con HighCharts.

Ya hemos hechos en Geeky Theory varios tutoriales sobre estos temas: Arduino y Raspberry Pi, bases de datos, gráficas con MySQL, Internet de las Cosas, etc. Tenemos la información suficiente como para que os montéis una súper aplicación que haga temblar a los más grandes, pero nunca hemos recogido esta información para **hacer una aplicación de principio a fin**.

#### ¿Cuál es nuestro objetivo?

El objetivo es claro en este caso. **No quiero que la comunicación sea unidireccional**, es decir, yo escribo, vosotros leéis. Voy a crear un repositorio en GitHub (más adelante pondré la URL) público para que todos podáis aportar mejoras y sugerencias. Cuando hago un tutorial, vosotros siempre implementáis cosas muy interesantes a partir de ahí. Pero, ¿y si entre todos hacemos una aplicación que sea **útil para mucha gente**? Yo creo una gráfica, pero ¿y si otra persona quiere implementar una base de datos con usuarios? ¿Y si otro desarrollador quiere añadir más gráficas? Para eso está este proyecto.

#### Hora de implementar

Como primer paso para implementar esta aplicación, programaremos un código simple para Arduino que lea la temperatura de un LM35.

**¿Qué es un LM35?**

lm35

El **LM35** es un sensor de temperatura, que viene calibrado con una precisión de 1ºC y es capaz de medir entre -55ºC y 150ºC. Tiene 3 pines de conexión. Uno es para la **alimentación**, otro para **masa (0 Voltios)** y otro para la **salida de datos**. Es muy sencillo de utilizar. Por si alguien quiere investigarlo más a fondo, dejo el enlace al DataSheet.

#### CONEXIONES

Como para el siguiente tutorial voy a utilizar la placa **Arduino Ethernet Shield**, pues os enseño ya el montaje con ella. Recuerdo que hice un tutorial sobre esta placa en este enlace.Conexión Arduino_bb

#### PROGRAMACIÓN DEL ARDUINO

Vamos a hacerlo muy sencillo (como siempre en Geeky Theory). **Leeremos los datos del sensor y los mandaremos por puerto serie para visualizarlos y comprobar que son correctos**.

La fórmula que vamos a utilizar para realizar la conversión del valor analógico leido a temperatura es la siguiente: **(5.0 * analogRead(PIN_SENSOR) * 100.0) / 1024.0** Aquí podéis ver el código:

int analog_pin = 0;
float temperatura;
void setup () {
  Serial.begin(9600);
}
void loop() {
  temperatura = analogRead(analog_pin);
  temperatura = 5.0*temperatura*100.0/1024.0;
  Serial.print(temperatura);
  Serial.println(" oC");
  delay(1000);
}
Muy sencillo. Lee la temperatura cada segundo y la muestra por el puerto serie, como vemos en la siguiente imagen: serial monitor lm35 arduino geeky theory

Pues esto es todo por este tutorial. En el siguiente, lo que haremos será **crear una base de datos para almacenar las lecturas que realiza Arduino** y mandar estas al servidor con **Arduino Ethernet Shield**. ¡Un saludo!

¿Qué opinas?