Está en la página 1de 11

Sánchez, Facundo Areo. Pensamiento Computacional.

PROYECTO ARDUINO

Sánchez, Facundo Areo


Facundo.areo@gamail.com
DNI 30269506

Centro de formación profesional N°429, La Plata.


Pensamiento Computacional
PROYECTO ARDUINO
18/11/21
Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

Sensor de Temperatura ambiente con Arduino.

Objetivo: modelar un termómetro para exterior y imprimir en un display LCD la temperatura


medida. Representaremos los datos medidos mediante un sensor de temperatura LM35 en un LCD
de 16x2.

Componentes que vamos a utilizar:

1 x Protoboard o Breadboard
1 x Arduino UNO (controlador)
1 x Sensor de temperatura LM35
1 x Potenciómetro (resistencia Variable)
1 x Resistencia de 220 ohmios
1 x LCD de 16 x 2

Conexiones:

Preparación de la protoboard.
Para comenzar el montaje prepararemos la protoboard. Primeramente conectaremos un cable
uniendo nuestro polo positivo de la protoboard con el PIN 5V. El negativo de la protoboard lo
conectaremos con GND en nuestro controlador. Por último y para evitar problemas futuros
realizaremos dos puentes en la mitad de la board para unir las filas de positivos entre sí y de
negativos entre sí.
Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

Colocación de la pantalla LCD en la protoboard.


Colocaremos la LCD con los pines como en la imagen ajustándola lo máximo posible a la parte
derecha dejando espacio para el resto de componentes. Después, colocaremos nuestro
potenciómetro y nuestro sensor como se muestra en la imagen.
Conectaremos la pata de la izquierda del potenciómetro a la fila de positivos de la protoboard (5V).
A la pata de la derecha del potenciómetro le conectaremos un cable que una dicha pata con la fila
negativa de la protoboard (GND). La pata del centro es la que interacciona con la LCD.
Conectaremos la pata central con el PIN tercero de la LCD (empezando por la izquierda mirando el
croquis)

Colocación del sensor de temperatura en la protoboard.


Para ello, según la disposición del croquis adjunto, conectaremos la pata de la izquierda del sensor
con la izquierda del potenciómetro. De igual forma, conectaremos la pata de la derecha del
potenciómetro con la pata derecha del sensor de temperatura. Ambos componentes se conectan
mediante las patas de los extremos al negativo-positivo de la protoboard respectivamente. En cuanto
a la pata central del sensor de temperatura la conectaremos al PIN Analógico de nuestro Arduino
UNO A0 dado que el sensor recoge un dato numérico.

Cableado LCD.
Por último nos quedará la conexión del LCD a nuestro controlador. Los pines de la LCD 1, 2, 5, 15
y 16 van conectados a la protoboard (empezando por la izquierda). El 1, 5 y 16 van conectado al
negativo de la protoboard (GND). El 2 va conectado mediante un cable a la fila positiva de la
protoboard (5V). Por último el 15 va conectado mediante la resistencia de 220 ohmios a la fila
positiva (5V). Los pines 4, 6, 11, 12, 13, 14 irán conectados a nuestro Arduino de la siguiente
forma:

4 LCD -> PIN 12


6 LCD -> PIN 11 (PWM)
11 LCD -> PIN 5 (PWM)
12 LCD -> PIN 4
13 LCD -> PIN 3 (PWM)
14 LCD -> PIN 2.
Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

///Código:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

//Hasta aquí hemos declarado la librería para la LCD y los pines por donde le va a entrar la
información.

float centi()
{// Funcion para leer el dato analogico y convertirlo a digital:

int dato;
float c;
dato=analogRead(A0);
c = (500.0 * dato)/1023;
return (c);
}

float kelvin(float cent)


{
float k;
k=cent+273.15;
return(k);
}
float fahren(float cent)
{
float f;
f=cent*1.8+32;
return (f);
}
float rankin(float cent)
{
float r;
r=(cent + 273.15)*1.8;
return (r);
}

//Hasta aquí hemos declarado las funciones de conversión del dato analógico de entrada del sensor
en grados celsius en sus respectivas equivalencias.

void setup() {
// Definimos la LCD con dimension 2x16 y definimos los caracteres que deben salir en las filas:
lcd.begin(16,2);
lcd.print("C= K=");
lcd.setCursor(0,1);
lcd.print("Temperatura");
}
Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

//Hasta aquí hemos definido qué queremos que salga impreso por la pantalla y el tamaño de ésta.
void loop() {
// put your main code here, to run repeatedly:
float Centigrados = centi();
float Fahrenheit = fahren (Centigrados);
float Rankin = rankin (Centigrados);
float Kelvin = kelvin (Centigrados);

lcd.setCursor(2,0);
lcd.print(Centigrados);

lcd.setCursor(10,0);
lcd.print(Kelvin);

delay(200);
//Por último, hemos usado la parte activa del programa o bucle para que constantemente para cada
variación recalcule los datos.

}
// fin del programa
Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

Bibliografía:
Tutorial: conectando una pantalla LCD 1602A a Arduino UNO (
https://www.elcajondeardu.com/2013/12/tutorial-conectando-una-pantalla-lcd.html )

Tutorial - LCD + Sensor de Temperatura (Termómetro de ambiente) (


https://www.elcajondeardu.com/2014/02/tutorial-lcd-sensor-de-temperatura.html )
Video de funcionamiento ( https://www.youtube.com/watch?v=CcuiemqOtcc&feature=youtu.be )

LM35 – El sensor de temperatura más popular ( https://hetpro-store.com/TUTORIALES/lm35/ )


Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

Apéndice:

Sobre la formula, y el manejo del sensor de temperatura LM35:

c = (500.0 * dato)/1023;
Esta fórmula sale de la relación del sensor con los grados.
El sensor de temperatura LM35 responde a variaciones de 10 mV por cada grado centígrado.
Si el sensor detecta 1 grado centígrado a la salida del sensor obtendríamos 10 mV.
Ejemplo: 26,4ºC = 264 mV = 0.264 V.

Tenemos que el convertidor de analógico a digital es de 10 bits de resolución, los valores variarán
entre 0 y 1023, entonces
Vout= (5V*Dato)/1023 siendo ( 0 < Dato < 1023 )
y para ajustar la escala a grados centígrados:
Vout = ((5V*Dato)*100)/1023
Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

Conexión y prueba de display LCD con Arduino.

• VSS que es el pin de negativo o masa o 0 volts o GND.


• VDD es la alimentación principal de la pantalla y el chip, lleva 5 voltios (recomendable
ponerle en serie una resistencia para evitar daños, con una de 220 ohmnios es suficiente).
• VO es el contraste de la pantalla, debe conectarse con un potenciometro de unos 10k
ohms o una resistencia fija una vez que encontremos el valor deseado de contraste.
Tengan en cuenta que si no conectan esto, no verán nada.
• RS es el selector de registro (el microcontrolador le comunica a la LCD si quiere
mostrar caracteres o si lo que quiere es enviar comandos de control, como cambiar
posición del cursor o borrar la pantalla, por ejemplo).
• RW es el pin que comanda la lectura/escritura. En nuestro caso siempre estará en 0
(conectado a GND) para que escriba en todo momento.
• E es enable, habilita la pantalla para recibir información.
• D0~D3 no los vamos a utilizar. Como pueden ver la pantalla tiene un bus de datos de 8
bits, de D0 a D7. Nosotros solamente utilizaremos 4 bits, de D4 a D7, que nos servirán
para establecer las líneas de comunicación por donde se transfieren los datos.
• A y K son los pines del led de la luz de fondo de la pantalla. A se conectará a 4 o 5
volts.
• K a gnd.
Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

Primero que todo, la pantalla necesitará ser alimentada.


Conectaremos dos cables, uno al pin de la placa Arduino UNO
+5V y otro al GND para conectarlos a las filas "+" y "-" de la
breadboard.
Conexión: Arduino 5V --> fila +
Conexión: Arduino GND --> fila -

Ahora procederemos a la preparación del contraste de la


pantalla LCD. Para ello haremos las siguientes conexiones
mediante cables:

Conexión: fila GND (fila -) de la breadboard --> pin 1 de la LCD (VSS)


Conexión: fila 5V (fila +) de la breadboard--> pin 2 de la LCD (VDD)
Conexión: fila 5V (fila +) de la breadboard--> pin 15 de la LCD (A)
Conexión: fila GND (fila -) de la breadboard --> pin 16 de la LCD (K)

El siguiente paso es la introducción del


potenciómetro, para ajustar el contraste de
la pantalla. En mi caso he utilizado un
potenciómetro de 50Kohmnios, pero uno
de 10k también es válido. Lo conectaremos
a la izquierda de la pantalla LCD sobre la
breadboard y procederemos al cableado
para la conexión de sus tres pines.

Conexión: primer pin del potenciómetro---> GND de la breadboard (fila -)


Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

Conexión: pin de en medio potenciómetro --> pin 3 de la pantalla LCD (VO)


Conexión: tercer pin del potenciómetro---> 5V de la breadboard (fila -)

En el próximo paso, vamos a conectar la pantalla LCD a la placa Arduino UNO para que se pueda
mostrar el mensaje de texto que queramos.

Conexión: pin 4 de la LCD (RS)---> pin 7 del arduino (salida digital, PWM)
Conexión: pin 5 de la LCD (RW) --> GND de la breadboard (fila -)
Conexión: pin 6 de la LCD (E)--> pin 8 de la placa Arduino UNO (PWM)
Conexión: pin 11 de la LCD (D4)--> pin 9 de la placa Arduino UNO (PWM)
Conexión: pin 12 de la LCD (D5)--> pin 10 de la placa Arduino UNO (PWM)
Conexión: pin 13 de la LCD (D6)--> pin 11 de la placa Arduino UNO (PWM)
Conexión: pin 14 de la LCD (D7)--> pin 12 de la placa Arduino UNO (PWM)
Sánchez, Facundo Areo. Pensamiento Computacional. PROYECTO ARDUINO

// Codigo.

#include <LiquidCrystal.h>

LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);

void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,1);
lcd.write("CFP429AMET-LP");
}

void loop() { }

También podría gustarte