Anda di halaman 1dari 16

Arduino

Cuando se habla de Arduino, es


necesario tener en cuenta que este se
halla constituido por tres elementos
fundamentales y que todos ellos se
denominan bajo en mismo nombre
(Arduino), estos componentes son:

 El hardware o placas de Arduino


 El entorno de programación o IDE
 El lenguaje de programación.

En general estos componentes fueron creados con la finalidad de


tener una plataforma de electrónica abierta para la creación de
prototipos basada en software y hardware flexibles y fáciles de usar.
Se creó para artistas, diseñadores y cualquiera interesado en crear
entornos u objetos interactivos.

El hardware
las principales características a tener en cuenta en cuanto al hardware
son:

*Tamaño, por ejemplo, para diseño de dispositivos de uso cotidiano en


ocasiones es mucho mejor utilizar los Arduino mini o nano que son de
poco tamaño.

*Número de entradas/ salidas, es necesario saber cuántas entradas y


cuantas salidas serán necesarias para el proyecto

*Capacidad de memoria del microcontrolador, por si realizas


programas muy ... muy grandes
Voltaje de operación
1.-Conector USB, que puede ser tipo B o mini, este provee la
comunicación para la programación y la toma de datos, también provee
una fuente de 5VDC para alimentar al Arduino, pero de baja corriente por
lo que no sirve para alimentar motores grandes.

2.-Regulador de voltaje de 5V, se encarga de convertir el voltaje


ingresado por el plug 3, en un voltaje de 5V regulado. necesario para el
funcionamiento de la placa y para alimentar circuitos externos.

3.-Plug de conexión para fuente de alimentación externa, el voltaje que se suministra por aquí
debe ser directo y estar entre 6V y 18V, incluso 20V, generalmente se usa un adaptador, pero
debe tener cuidado de que el terminal del centro del plug quede conectado a positivo ya que
algunos adaptadores traen la opción de intercambiar la polaridad de los cables.

4.-Puerto de conexiones; constituido por 6 pines de conexión con las siguientes funciones:
*RESET, permite resetear el microcontrolador al enviarle un cero lógico. Pin 3.3V, este pin
provee una fuente de 3.3VDC para conectar dispositivos externos.

*Pin 5V, es una fuente de 5VDC para conectar dispositivos externos

*. Dos pines GND, que proveen la salida de cero voltios para dispositivos externos.

*Pin Vin, este pin está conectado con el positivo del plug 3 por lo que se usa para conectar la
alimentación de la placa con una fuente externa de entre 6 y 12VDC en lugar del plug 3 o la
alimentación por el puerto USB. Este puerto esta modificado en la versión R3 de Arduino Uno.

5.- Puerto de entradas análogas, aquí se conectan las salidas de los sensores análogos. Estos
pines solo funcionan como entradas recibiendo voltajes entre cero y cinco voltios directos.

6.- Microcontrolador Atmega 328, es el microcontrolador implementado en los Arduino uno y


sobre el cual vamos a programar, en la versión SMD del Arduino uno R2.

7.- Botón de RESET, este botón, así como el pin mencionado anteriormente permiten resetear
el microcontrolador haciendo que reinicie el programa

8.- Pines de programación ICSP, son usados para programar microcontroladores en


protoboard o sobre circuitos impresos sin tener que retirarlos de su sitio.

9.- LED ON, enciende cuando el Arduino esta encendido.

10.- LEDs de la recepción y transmisión, estos se encienden cuando la tarjeta se comunica con
el PC. El Tx indica transmisión de datos y el Rx recepción.

11.- Puerto de conexiones, está constituido por los pines de entradas o salidas digitales desde
la cero hasta la 7. La configuración como entrada o salida debe ser incluida en el programa.
Cuando se usa la terminal serial es conveniente no utilizar los pines cero (Rx) y uno (Tx). Los
pines 3, 5 y 6 están precedidos por el símbolo ~ , lo que indica que permiten su uso como
salidas controladas por ancho de pulso PWM.
12.- Puerto de conexiones, incluye 5 entradas o salidas adicionales (de la 8 a la 12), las salidas
9, 10 y 11 permiten control por ancho de pulso; la salida 13 es un poco diferente pues tiene
conectada una resistencia en serie, lo que permite conectar un led directamente entre ella y
tierra. Finalmente hay una salida a tierra GND y un pin AREF que permite ser empleado como
referencia para las entradas análogas.

13.- Este led indica el estado del pin 13.

14.-pines de conexión a módulos como wi- fi o pantallas

15.-Chip de comunicación que permite la conversión de serial a USB.

Arduino puede tomar información del entorno a través de sus pines de entrada de toda una
gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros
actuadores.
Programación Arduino

La programación de Arduino es la programación de un microcontrolador.

Programar Arduino consiste en traducir a líneas de código las tareas automatizadas que
queremos hacer leyendo de los sensores y en función de las condiciones del entorno
programar la interacción con el mundo exterior mediante unos actuadores.

Arduino proporciona un entorno de programación sencillo y potente para programar, pero


además incluye las herramientas necesarias para compilar el programa y “quemar” el
programa ya compilado en la memoria flash del microcontrolador. Además, el IDE nos ofrece
un sistema de gestión de librerías y placas muy práctico. Como IDE es un software sencillo que
carece de funciones avanzadas típicas de otros IDEs, pero suficiente para programar.

Estructura de un Sketch
Un programa de Arduino se denomina sketch o proyecto y tiene la extensión.
ino. Importante: para que funcione el sketch, el nombre del fichero debe estar en un
directorio con el mismo nombre que el sketch.

No es necesario que un sketch esté en un único fichero, pero si es imprescindible que


todos los ficheros estén dentro del mismo directorio que el fichero principal.

1 void setup() {
2 // put your setup code here, to run once:
3 }
4
5 void loop() {
6 // put your main code here, to run repeatedly:
}
7
La estructura básica de un sketch de Arduino es bastante simple y se compone de al
menos dos partes. Estas dos partes son obligatorias y encierran bloques que contienen
declaraciones, estamentos o instrucciones.

La estructura básica de un sketch de Arduino es bastante simple y se compone de al menos


dos partes. Estas dos partes son obligatorias y encierran bloques que contienen declaraciones,
estamentos o instrucciones.

setup() – http://arduino.cc/en/Reference/Setup

loop() – http://arduino.cc/en/Reference/Loop

Adicionalmente se puede incluir una introducción con los comentarios que describen el
programa y la declaración de las variables y llamadas a librerías.

setup() es la parte encargada de recoger la configuración y loop() es la que contiene el


programa que se ejecuta cíclicamente (de ahí el término loop –bucle-). Ambas funciones son
necesarias para que el programa trabaje.
Se puede resumir un sketch de Arduino en los siguientes diagramas de flujo:

Un ejemplo puede ser el diagrama de flujo de un sistema de arranque y parada de un


motor DC:
Esquema de conexión:

Empleo de modulo bluetooth para comunicación Android – Arduino

Módulo Bluetooth Serial HC-05

Descripción:

El módulo de bluetooth HC-05 es un módulo Maestro-Esclavo, quiere decir que además de


recibir conexiones desde una PC o Tablet, también es capaz de generar conexiones hacia otros
dispositivos bluetooth. Esto nos permite, por ejemplo, conectar dos módulos de bluetooth y
formar una conexión punto a punto para transmitir datos entre dos microcontroladores o
dispositivos:

-Solicitudes
-Dispositivos informáticos y periféricos
-Receptor GPS
-Control Industrial
-Proyectos MCU
Especificaciones:

-Compatible con el protocolo Bluetooth V2.0.


-Voltaje de alimentación: 3.3VDC – 6VDC.
-Voltaje de operación: 3.3VDC.
-Baud rate ajustable: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.
-Baud rate por defecto: 9600
-Tamaño: 1.73 in x 0.63 in x 0.28 in (4.4 cm x 1.6 cm x 0.7 cm)
-Corriente de operación: < 40 mA
-Corriente modo sleep: < 1mA

La tarjeta incluye un adaptador con 6 pines de fácil acceso para uso en protoboard.

Los pines de la board correspondientes son:

-EN
-VCC
-GND
-TX
-RX
-STATE
Características de app para control

La aplicación le permite controlar un coche de RC basada en Arduino a


través de Bluetooth. Esto se hace utilizando un teléfono Android compatible
con Bluetooth.

Esta aplicación enviara los comandos necesarios para el control total del
auto, en este caso mediante bluetooth.

El entorno de la aplicación es el siguiente:

1- Indicador de conexión de dispositivo.


2- Luces frontales.
3- Luces traseras.
4- Audio de bocina (claxon)
5- Luces intermitentes.
6- Configuraciones de comandos, control
y conectividad.
7- Acelerómetro.
8- Botones de direcciones adelante y
atrás.
9- Botones de dirección derecha e izquierda.
10- Indicadores de dirección en entorno de la app.

Comandos enviados de la app hacia el modulo bluetooth

Comandos enviados por Android:

1-Forward _________F

2- Back____________B

3-Left_____________L

4-Right____________R

5-Forward-Left_____G

6-Forward-Right____J

7-Stop____________S
El listado de comandos total se presenta a continuación con imágenes:

Cada uno de estos comandos son enviados desde el dispositivo Android, en este caso os
comandos o la información se emplea números y letras (mayúsculas y minúsculas).

Esto permite al momento de realizar las líneas de código interpretar información clara, además
de ser practico y cómodo para el programador. Consigo también a velocidad de comunicación
de estos elementos.

Después de reconocer los comandos, se procede a crear el código de programación para el


microcontrolador, esto es por medio del programa ``ARDUINO‘‘

Así mismo por medio de este programa podemos modificar


cuantas veces sea necesario el funcionamiento del circuito,
siempre considerando los pines de entradas y salida, para
interacción del mundo externo con nuestro código.
Cuando el programa está cargado en la memoria del microcontrolador es momento de
interconectar sensores, motores, luces etc. Siendo conscientes de las especificaciones del
fabricante de la tarjeta programable, pues esta n puede alimentar cargas con elevadas
corrientes o voltajes, ello mismo pasa para recibir órdenes por medio de voltajes altos y
corrientes.

Siendo este nuestro caso, necesitamos alimentar motores de elevadas corrientes de trabajo, la
idea de conectar este tipo de cargas a los pines de salida del Arduino, no es viable pues con
ello podemos quemar nuestro microcontrolador sin posible reparación, por ello optamos por
un circuito que reciba las ordenes de nuestra tarjeta y las ejecute acorde a las cargas que
controlara, la solución esta en un circuito integrado L293d, el cual es capas de manejar cargas
con corrientes máximas de 2 amperios como máximo y controlar por medio de una entrada
análoga una salida análoga de un máximo de 24voltios .

Aquí el diagrama de conexión del circuito L293 o puente H


conexiones con
tarjeta Arduino

El circuito se
alimenta de dos
fuentes distinta en
voltajes pues el
Arduino opera con
5.5 v y los motores
con un voltaje
máximo de 24 v

Al igual que las


corrientes pues estas difieren en gran cantidad entre sí. Siendo necesario un circuito de control
de potencia como el anterior mencionado (L293 IC).

Las luces intermitentes están a control del integrado llamado 555 el cual genera ondas
análogas las cuales son necesarias para dar el tiempo de encendido y apagado de los leds
amarillos (Luces preventivas). Con ello un potenciómetro de 20k para regular la velocidad de
intermitencia de las luces según sea el valor de esta resistencia.

El temporizador IC 555 es un circuito integrado (chip) que se


utiliza en la generación de temporizadores, pulsos y oscilaciones.
El 555 puede ser utilizado para proporcionar retardos de tiempo,
como un oscilador, y como un circuito integrado flip flop. Sus
derivados proporcionan hasta cuatro circuitos de sincronización
en un solo paquete.
El circuito encargado de realizar las tareas pesadas manejo de voltajes y corrientes
altas de los circuitos de luces es el integrado LN2003, el cual recibe las órdenes del
microcontrolador Atmega328. Siendo este el cerebro de control del proyecto.

Una de las mayores características de este integrado es su


capacidad de controlar valores altos de corriente y voltaje
análogos en sus terminales de salida. Recibiendo ordenes
de valores bajos de los valores ya mencionados.

Contando con 7 terminales de entrada y 7 de salida a


cargas eléctricas en este caso se muestran cargas in
ductivas (bobinas), como lo muestra la imagen de la
derecha
El optoacoplador (Opto Interruptor)

Un optoacoplador es un componente electrónico que se utiliza como transmisor y receptor


óptico (de luz), es decir pueden transmitir de un punto a otro una señal eléctrica sin necesidad
de conexión física ni cables (por el aire), mediante una señal luminosa. Por eso también se
llaman OptoInterruptor.

Activamos una luz y esta luz llega a un detector que genera una tensión de salida, interruptor
cerrado. Si no se activa la luz o no le llega la luz al detector, este no genera ninguna tensión de
salida, es decir interruptor abierto.

Utilizando este dispositivo como interruptor para las luces intermitentes o preventivas, pues
este elemento mandara la carga positiva a los leds amarillos y el integrado ln2003 la carga
negativa cuando el microcontrolador lo ordene.
El código escrito en el entorno de desarrollo de Arduino es la primordial base para el manejo
de cada u no de los elementos electrónicos mencionados, pues envase a este operara el
circuito, en tiempo y forma predeterminado, consigo considerando errores de sintaxis, pues
programación es un conjunto de reglas, que deben seguirse al escribir el código fuente de los
programas para considerarse como correctos, deben cumplir con características estrictas este
factor es determinante, dentro de errores orientados a :

1-Mayusculas y minúsculas

2-Comentarios

3-correcta utilización de caracteres en una posición correcta

Ejemplo de código de programación y sus características:


A continuación, la presentación del código cargado a la tarjeta (bluetooth RCcar)