Professional Documents
Culture Documents
Tabla de contenido
¿Qué es Arduino? ............................................................................................................................... 1
Programando Arduino ......................................................................................................................... 3
1ª parte: Declarar las variables ....................................................................................................... 3
2ª parte: Configuración de Arduino ................................................................................................ 4
3ª parte: Comandos que regirán el comportamiento de Arduino .................................................. 4
I.-Encender led .................................................................................................................................... 6
Material ........................................................................................................................................... 6
Conexión eléctrica ........................................................................................................................... 6
II.-Pantalla de Cristal Líquido (LCD) ..................................................................................................... 7
Material ........................................................................................................................................... 7
Conexión eléctrica ........................................................................................................................... 7
Código ............................................................................................................................................. 8
Prácticas para realizar de investigación .......................................................................................... 9
III.-Lectura del canal analógico con sensor LM35 ............................................................................... 9
Material ......................................................................................................................................... 10
Conexión eléctrica ......................................................................................................................... 10
Código ........................................................................................................................................... 11
Prácticas para realizar de investigación ........................................................................................ 12
¿Qué es Arduino?
1. ¿QUÉ ES ARDUINO?
Arduino es una placa o tarjeta controladora, con una serie de entradas y salidas, y que se programa
a través del ordenador mediante un lenguaje de programación.
Los pines de alimentación son para nutrir los circuitos la placa de prototipos o breadboard o
protoboard:
Valores de entrada y de salida: en función de cómo esté siendo utilizado en pin, tendremos:
• Salida y entrada digital: los valores de salida pueden ser o 0 V (LOW) o 5 V (HIGH), y se
interpretara una entrada de entre 0 y 2 V como LOW y de entre 3 y 5 V como HIGH.
• Salida analógica: los valores de salida van desde 0 V a 5 V en un rango de
0 a 255 (precisión de 8 bits) valores intermedios.
Entrada analógica: los valores de entrada van desde 0 V a 5 V en un rango de 0 a 1023 (precisión de
10 bits) valores intermedios.
La intensidad máxima de todos estos pines es de 40 mA.
Programando Arduino
Todo programa para Arduino presenta una estructura básica:
intx=0;
Es importante saber que es posible declarar una variable sin asignarle un valor inicial, y hacerlo
posteriormente durante el transcurso del programa:
Poner nombre a las variables: Por último, una última consideración: a la hora deponer un nombre
a una variable es recomendable utilizar alguna palabra que nos ayude a reconocer que se está
almacenando en ella, y en caso de utilizar dos o más palabras se suele emplear la notación de joroba
de camello (poner en mayúscula la primera letra de las siguientes palabras). Ejemplos son:
• Que pines van a ser empleados como entrada y cuales como salida.
Las entradas analógicas no hacen falta incluirlas en el setup, puesto que esos pines (A0, A1, A2, A3,
A4, A5) solo pueden ser entradas analógicas.
Realmente, este bloque constituye un bucle infinito, ya que Arduino, mientras este alimentada con
energía, funcionara haciendo el programa loop una y otra vez.
Iremos viendo cuales son estas funciones durante el desarrollo de estos apuntes.
Manejar Librerías Arduino
Las librerías son trozos de código hechas por terceros que usamos en nuestro sketch. Esto nos
facilita mucho la programación y permite la abstracción haciendo que nuestro programa sea más
sencillo de hacer y de entender. En este apartado también veremos cómo escribir o modificar
librerías.
Las librerías normalmente incluyen los siguientes archivos comprimidos en un archivo ZIP o dentro
de un directorio. Estas siempre contienen:
Notas
Abra Arduino IDE, seleccione su puerto COM si es necesario y seleccione el tipo de placa WAVGAT
(las tablas WAVGAT están al final de la lista de la tabla)
Material
1 Arduino
1 Cable USB
1 Led
1 Resistencia 220 o 330 ohms.
1 Protoboard
2 Cables dupont macho-macho
Conexión eléctrica
Código
Para realizar esta práctica necesitaremos la librería correspondiente a la comunicación con I2C
copiar los siguientes archivos de la carpeta I2C
En la siguiente dirección
Material
1 Arduino
1 Cable USB
1 Protoboard
4 Cables dupont macho-hembra
1 lcd 16x2 con módulo I2C
Conexión eléctrica
Código
Practica 2.1 Programa que muestre, nombre, domicilio, escuela, carrera y una frase.
Práctica 2.2 Realizar con el semáforo anterior que despliegue información en el lcd en conjunto
con el cambio de color del estado del semáforo.
A partir de esta información podemos obtener una fórmula matemática que nos calcule la
temperatura en función del voltaje que nos facilita el LM35.
Material
1 Arduino
1 Cable USB
1 Protoboard
4 Cables dupont macho-hembra
3 Cables dupont hembra-hembra
1 lcd 16x2 con módulo I2C
1 lm35
Conexión eléctrica
Practica 3.1 Programa que muestre, temperaturas en Kelvin, Fahrenheit, Rankine y Celsius
Práctica 3.2 Realizar un control de temperatura si esta muy caliente que encienda el led rojo,
normal el verde y frio el amarillo (tener en cuenta como temperatura alta 60°C y temperatura baja
30)
float tempc; int Alta =13; int Normal =12; int Baja =11;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
void setup()
{ lcd.begin(16, 2);
lcd.home ();
pinMode(Alta,OUTPUT);
pinMode(Baja,OUTPUT);
pinMode(Normal,OUTPUT); }
void loop()
{ lcd.clear();
lcd.setCursor ( 0, 0 );
lcd.print(" Monitor Temp. ");
tempc= analogRead(1);
tempc=(5.0*tempc*100.0)/1024;
lcd.setCursor(0,1);
lcd.print("T= ");
lcd.print(tempc);
delay(1000);
if (tempc>=60)
{ digitalWrite(Alta,HIGH);
digitalWrite(Baja,LOW);
digitalWrite(Normal,LOW);
lcd.setCursor(8,1);
lcd.print("-T. Alt");
delay(1000); }
else
{ if((tempc>40)&&(tempc<60))
{digitalWrite(Alta,LOW);
digitalWrite(Normal,HIGH);
digitalWrite(Baja,LOW);
lcd.setCursor(8,1);
lcd.print("-T. Norm");
delay(1000);}
else
{ if(tempc<=40)
{digitalWrite(Alta,LOW);
digitalWrite(Normal,LOW);
digitalWrite(Baja,HIGH);
lcd.setCursor(8,1);
lcd.print("-T. baja");
delay(1000);}
else
{digitalWrite(Alta,LOW);
digitalWrite(Baja,LOW);
digitalWrite(Normal,LOW);}
}
}
}
void setup()
{
Serial.begin(9600);
}
void loop()
{
int err;
float temp, hum;
if((err = dht11.read(hum, temp)) == 0) // Si devuelve 0 es que ha leido bien
{
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.print(" Humedad: ");
Serial.print(hum);
Serial.println();
}
else
{
Serial.println();
Serial.print("Error Num :");
Serial.print(err);
Serial.println();
}
delay(1000); //Recordad que solo lee una vez por segundo
}