Sei sulla pagina 1di 6

Introducción a Arduino

Arduino es una plataforma de desarrollo basada en una placa electrónica de


hardware libre que incorpora un microcontrolador re-programable y una serie
de pines hembra, los que permiten establecer conexiones entre el
microcontrolador y los diferentes sensores y actuadores de una manera muy
sencilla (principalmente con cables dupont).

Figure 1: Placa de Arduino


Una placa electrónica es una PCB (“Printed Circuit Board”, “Placa de Circuito
Impreso” en español). Las PCBs superficies planas fabricadas en un material no
conductor, la cual costa de distintas capas de material conductor. Una PCB es
la forma más compacta y estable de construir un circuito electrónico. Así que la
placa Arduino no es más que una PCB que implementa un determinado diseño
de circuitería interna, de esta forma el usuario final no se debe preocupar por
las conexiones eléctricas que necesita el microcontrolador para funcionar, y
puede empezar directamente a desarrollar las diferentes aplicaciones
electrónicas que necesite.

Cuando hablamos de “Arduino” deberíamos especificar el modelo concreto, ya


que se han fabricado diferentes modelos de placas Arduino oficiales, cada una
pensada con un propósito diferente y características variadas (como el tamaño
físico, número de pines E/S, modelo del microcontrolador, etc). A pesar de las
varias placas que existen todas pertenecen a la misma familia
(microcontroladores AVR marca Atmel), esto significa que comparten la
mayoría de sus características de software, como arquitectura, librerías y
documentación.
Figure 2: Distintas placas de Arduino

El lenguaje de programación de Arduino se puede dividir en tres grandes


partes: estructura, valores (variables y constantes), y funciones.

Arduino basa su lenguaje en C++ y tiene las estructuras siguientes:

Sketch Estructuras de Control Comparación


loop()
setup() Sintaxis Adicional Operadores Booleanos

Operadores Aritméticos Operadores con punteros


+(Adición) de acceso
/(División)
=(Operador de Operadores de Bits
asignación )

Operadores de Operadores Compuestos

Las variables y constantes que reconoce son:


Constantes Tipo Entero, Conversión, Tipos de Datos, Alcance de Variable &
Calificadores, Utilidades,

Y las funciones que se usan con frecuencia son las siguientes:

I/O Digital, I/O Analógico, Familia Zero, Due & MKR, I/O Avanzado, Tiempo,
Matemáticas, Trigonometría, Caracteres, Números aleatorios, Bits y Bytes,
Interruptores Externos, Interruptores, Comunicación y USB.
La estructura general de un código de Arduino es el siguiente:

En esta lección vamos a aprender a estructurar un programa en Arduino. El


objetivo es ver brevemente el orden del programa.

Esta estructura es independiente del IDE que estemos usando, se programaría


de la misma forma y en el mismo orden, tanto en el IDE de Bitbloq, el de
Arduino, o en Sublime Text.

Inclusión de librerías
Lo primero que hemos de incluir en nuestro programa serán las librerías
externas que queramos usar. Una librería la podemos definir como un
contenedor de funciones y utilidades que alguien ha programado con
anterioridad y nos facilitan el trabajo pudiendo reutilizar su código. A menudo,
para programar los componentes habituales no nos hará falta incluir ninguna,
puesto que Arduino ya tiene por defecto algunos módulos de funciones, pero si
quisiéramos programar, por ejemplo, un servomotor, lo más cómodo sería
añadir la librería llamada Servo.h de la siguiente forma:
1 #include <Servo.h> //Incluimos la librería Servo.h
2 #include <libreria1.h> //Incluimos la librería libreria1.h
3 #include <libreria2.h> //Incluimos la librería libreria2.h
4
5

Donde la libreria1.h o la libreria2.h pueden ser otras librerías que necesites para tu


programa.

Constantes, variables globales y objetos de clases


La siguiente sección del programa se usa para poder incluir constantes,
variables globales y objetos de clases, que después usaremos durante la
programación.
#DEFINE PI 3.1416 // Definimos una constante llamada PI y le asignamos el
1 número 3.1416
2 Servo servo1; //Creamos un objetos de tipo Servo llamado servo1
3 int pin=13; //Creamos una variable global llamada pin, y le asignamos el
4 número entero 13
5

Setup
La siguiente sección es la función setup. Esta función se ejecuta al iniciar
Arduino, y no se vuelve a ejecutar a no ser que se reinicie la placa
controladora. Es la zona encargada de realizar la configuración previa al curso
normal del programa, nos permitirá iniciar pines y ejecutar la operaciones que
consideremos oportunas. Se programa de la siguiente forma:
void setup(){ //Declaración de la función setup
1 /*En esta función se inicializarán los pines de la placa que vayamos a utilizar
2 con la función pinMode(), dependiendo de si son entradas o salidas, por
3 ejemplo:*/
4 pinMode(13, OUTPUT); //Programamos el pin 13 en modo salida
5
6
7

Loop
La última sección es la función loop y se ejecuta después de la función setup. Lo
hace infinitamente y de forma cíclica. Es decir, que cuando haya terminado la
función setup, loop entrará en ejecución, y cuando llegue al final volverá a
ejecutarse otra vez, infinitas veces hasta que el usuario reinicie o apague
Arduino. Esta sección es la principal, y donde más nos programación
tendremos que hacer. Un ejemplo de la función loop podría ser:
1 void loop(){ //Declaración de la función loop
2 digitalWrite(13, HIGH);   // Ponemos en estado ALTO al pin 13
3 delay(1000);              // Esperamos 1 segundo (1000 microsegundos)
4 digitalWrite(13, LOW);    // Ponemos en estado BAJO al pin 13
5 delay(1000);              // Esperamos 1 segundo (1000 microsegundos)
6
7
8
9

Donde estaríamos haciendo parpadear un LED conectado en el pin número 13.


La estructura general de un código de Arduino final quedaría de la siguiente
manera:

Figure 3: Partes del código de Arduino


1. Inclusión de librerías.
2. Constantes, variables globales y objetos de clases.
3. Setup.
4. Loop.
Control de temperatura de una habitación
A continuación se presenta el diagrama y el código para controlar la
temperatura de una habitación. El principio de funcionamiento es tener un
ventilador automático que se enciende o se apaga dependiendo la
temperatura de la habitación con el objetivo de mantener un ambiente
agradable para el usuario.

El material necesario para esta práctica es:

Batería de 9 V       Ventilador de 12 V


 2 leds (verde y rojo)     2 resistencias de 330 Ω
 1 resistencia de 1k Ω       Un Arduino UNO
 Transistor C2073       Sensor DTH11
 Jumpers       Protoboard
Resulta que el ventilador que se va a utilizar utiliza para su funcionamiento 12
voltios y consume 140 mA. Arduino solamente puede proporcionar 5 voltios y
40 mA, por lo que es necesario utilizar un dispositivo de control para Arduino,
en este caso, un transistor NPN.

El diagrama de conexión es el siguiente:

Figure 4: Diagrama de conexión

LED1=Rojo, LED2=Verde, R1=330 Ω, R2=330 Ω y R3=1k Ω.


El código para Arduino es:
1 #include "DHT.h"
2 #define DHTPIN 2 
3 #define DHTTYPE DHT11 
4 DHT dht(DHTPIN, DHTTYPE);
5  
6 int Temp=32; //Parámetro de encendido de ventilador
7 void setup() {
8  
9   Serial.begin(9600);
10   dht.begin();
11   pinMode(8,OUTPUT);
12   pinMode(9,OUTPUT);
13   pinMode(10,OUTPUT);
14 }
15 void loop() {
16   float t = dht.readTemperature();
17   //Serial.println("Temperatura: ");  Se imprimen las variables
18  
19   //Serial.println(t);  Quitar comentarios si desea imprimir la temperatura
20   if (t >=Temp){
21     digitalWrite(8,HIGH);
22     digitalWrite(9,HIGH);
23     digitalWrite(10,LOW);
24   }
25   if(t < Temp){
26     digitalWrite(8,LOW);
27     digitalWrite(9,LOW);
28     digitalWrite(10,HIGH);
29   }
30   delay(3000);
31 }

Estas instrucciones nos permiten utilizar el sensor DTH11, para registrar datos
de temperatura, Los parámetros que se establezcan harán posible que se
controle el funcionamiento del ventilador.
El sensor registra la temperatura cada 3 segundos. Si la temperatura es mayor
o igual a 32 °C  el led rojo se enciende en señal de alerta y el ventilador
empieza a funcionar de manera automática. De otro modo si la temperatura
registrada es menor de 32 °C el led verde se enciende indicando que la
temperatura es la adecuada en ese momento.

Potrebbero piacerti anche