arduino guia no 1
TRANSCRIPT
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
1 Guia 1 – Introducción a Arduino UNO y proteus
INTRODUCCIÓN.
Arduino es 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,
aficionados y cualquiera interesado en crear entornos u objetos interactivos.
El microcontrolador en la placa Arduino se programa mediante el lenguaje de
programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado
en Processing). Los programas hechos con Arduino se dividen en tres partes principales:
estructura, valores (variables y constantes), y funciones. El Lenguaje de programación
Arduino se basa en C/C++.
DESCRIPCIÓN.
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
2 Guia 1 – Introducción a Arduino UNO y proteus
Alimentación: La tarjeta UNO la podemos conectar directo al puerto USB de nuestra computadora y de esta misma puede obtener la tensión y la corriente necesaria para bajas cargas. También opera con voltajes externos regulados y se puede alimentar a través de terminales VIN y GND. Los pines de alimentación son:
VIN: Pin por el cual se puede introducir una fuente regulada de 5 volts. 5V: Alimentación regulada al momento de conectar una pila de mayor voltaje al
conector tipo plug. 3V3: Voltajes generados por la placa a través de los pines indicados de 3 volts. GND: Pines de tierra.
Memoria: El microcontrolador Atmega328 tiene 32 KB de memoria flash y 0.5 de estos 32 son utilizados para el pre-quemador. También cuenta con 2 KB de SRAM (Memoria Estática de Acceso Aleatorio) y uno de EEPROM. Entradas y Salidas Digitales:
Los 14 pines con los que cuenta el Arduino UNO pueden ser configurados como entradas o como salidas. Con las configuraciones de entrada y salida se puede:
Indicar al programa el modo entrada o salida del terminal. Escribir un bit en el terminal seleccionado. Leer un valor digital desde el terminal seleccionado.
Las entradas/salidas digitales operan con 5 volts. Cada uno puede suministrar hasta 20 mA de corriente. Algunas entradas/salidas tienen funciones especiales de comunicación serial como la entrada/salida cero (RX) y la entrada/salida 1 (TX). PWM (Modulación por ancho de pulsos): Los pines digitales que se utilizan como PWM son el 3, 5, 6, 9, 10, 11, estos pines proveen señales cuadradas de 8-bits controlado por la función analogWrite().
USB protección contra sobrecorriente.
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
3 Guia 1 – Introducción a Arduino UNO y proteus
El Uno Arduino tiene un polifusible reajustable que protege a los puertos USB de nuestro ordenador de cortos y de sobrecorriente. Aunque la mayoría de las computadoras ofrecen su protección interna, el fusible proporciona una capa adicional de protección. Si hay más de 500 mA se aplica al puerto USB, el fusible automáticamente se corta la conexión hasta que el cortocircuito o una sobrecarga se han eliminado.
CONFIGURACION DE SOFTWARE ARDUINO.
El entorno de código abierto Arduino hace fácil escribir código y cargarlo a la placa E/S.
Funciona en Windows, Mac OS X y Linux. Este se puede descargar de la siguiente página:
http://arduino.cc/es/Main/Software
Una vez descargado lo extraemos en C:\ y con esto ya tendremos nuestro arduino
software. Para que Windows reconozca el arduino UNO debemos instalar los drivers que
se encuentran en la misma carpeta.
Nota: Para la versión de Linux esto no es necesario, y solamente necesitamos ejecutar
nuestro arduino software con atributos de super usuario para poder tener permisos y
utilizar los puertos de lo contrario no se realizara la comunicación. A continuación se
presente una breve descripción del arduino software:
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
4 Guia 1 – Introducción a Arduino UNO y proteus
Cuando compilamos y cargamos nuestro programa ha Arduino se genera una archivo .HEX
que se utiliza para grabar el microcontrolador. Por defecto arduino software no nos
muestra este archivo y este lo necesitaremos para realizar nuestras simulaciones en
proteus por lo tanto debemos realizar unas configuraciones.
Nos dirigimos a Archivo > Preferencias y veremos la siguiente ventana:
Verificar
código
Carga el programa
nuestro arduino
Nuevo
fichero
Abrir y
guardar
Puerto COM al
que está
conectado
Arduino
Directorio de archivo:
preferences.txt
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
5 Guia 1 – Introducción a Arduino UNO y proteus
Abrimos el archivo preferences.txt con un editor de texto he insertamos la siguiente línea:
build.path=C:\Users\manfred\Documents\Arduino\HEX
Cerramos y volvemos a cargar arduino software para que se apliquen los cambios.
ESTRUCTURA BASICA DE UN PROGRAMA EN ARDUINO.
Ya que la sintaxis del lenguaje de programación de Arduino está basada en c/c++ una estructura básica de programación podría ser como la mostrada a continuación:
Todo programa que se realice en arduino debe contener el bloque de código en el
recuadro rojo.
Donde este es el directorio donde queremos que
guarde de manera temporal los archivos .HEX
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
6 Guia 1 – Introducción a Arduino UNO y proteus
Definiciones de algunas funciones básicas:
setup(): Esta función se llama cuando el programa empieza en el Arduino, solo se llama
una sola vez y cada vez que se resetea el arduino vuelve a entrar. Aquí mismo se
configurar los bits, puertos o todos los periféricos, también se pueden declaran variables
pero solo se pueden utilizar dentro de esta misma estructura.
loop(): Esta función, es el ciclo infinito, siempre se va ciclar el programa. Aquí el arduino
hace uso de los periféricos, si se declaran variables en esta estructura solo podrán ser
utilizadas dentro de esta misma.
pinMode(): Configura el pin especificado para comportarse como una entrada o una
salida.
Sintaxis: pinMode(pin, modo)
Parámetros: pin: el número del pin que se desea configurar.
modo: INPUT (Entrada) u OUTPUT (Salida)
digitalRead(): Lee el valor de un pin digital especificado, HIGH o LOW.
Sintaxis digitalRead(pin)
Parámetros pin: el número de pin digital que quieres leer (int)
Devuelve HIGH o LOW
digitalWrite(): Escribe un valor HIGH o LOW hacia un pin digital.
Si el pin ha sido configurado como OUTPUT con pinMode(), su voltaje será establecido al
correspondiente valor: 5V (o 3.3V en tarjetas de 3.3V) para HIGH, 0V (tierra) para LOW.
Sintaxis: digitalWrite(pin, valor)
Parámetros: pin: el número de pin valor: HIGH o LOW
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
7 Guia 1 – Introducción a Arduino UNO y proteus
INSTALAR LIBRERIAS PLACA ARDUINO PARA PROTEUS.
Descargar el archivo “Libreria_arduino_proteus.rar”:
Copiar y pegar los archivos: ARDUINO.IDX and ARDUINO.LIB en:
C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\LIBRARY
Ahora abrimos PROTEUS, para esto hacemos click en el icono “ISIS”.
Al abrir Proteus (ISIS) veremos una ventana como la que se muestra. En ella se puede
apreciar una descripción del entorno de trabajo.
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
8 Guia 1 – Introducción a Arduino UNO y proteus
1
2
3
4
5
6
6 7 8 9
10
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
9 Guia 1 – Introducción a Arduino UNO y proteus
1. BARRA DE COORDENADAS: en esta barra podemos ver las coordenadas donde se
encuentra el cursor en todo momento, mientras lo desplazamos por la ventana de
edición.
2. BARRA DE ESTADO: aquí aparece información útil de lo que tengamos seleccionado
o del elemento sobre el cual se encuentre el cursor del mouse en ese momento.
3. VENTANA DE EDICIÓN: es la ventana donde dibujaremos los circuitos electrónicos
colocando los componentes, interconectándolos, y agregando también otros
instrumentos y herramientas.
4. SELECTOR DE OBJETOS: en esta ventana aparecerán los componentes y otros
elementos disponibles, dependiendo del modo seleccionado, y desde allí
podremos elegirlos para colocarlos en el diseño.
5. VENTANA DE VISTA PREVIA: esta pequeña ventana nos ofrece una vista previa del
circuito o de los elementos que vayamos a colocar en el diseño; más adelante
veremos detalles sobre su uso.
6. MODO: esta barra de herramientas es la más importante porque nos permite
elegir el modo en el que vamos a trabajar mientras dibujamos un circuito en la
ventana de edición. Nos permitirá elegir y colocar componentes y otros
elementos, como instrumentos de medición, gráficos de simulación, etcétera.
7. OPCIONES DE ARCHIVO: esta barra es muy similar a la de otros programas de
Windows, y se utiliza para realizar operaciones básicas con los archivos, como
crear uno nuevo, abrir uno existente, guardar el archivo en el que estamos
trabajando, etcétera.
8. VISUALIZACIÓN: en esta barra encontramos algunos botones para controlar la
forma en que vemos el circuito en la ventana de edición.
9. EDICIÓN: aquí tenemos varias opciones de edición de los diferentes elementos.
10. HERRAMIENTAS DE DISEÑO: esta barra muestra diversas opciones de diseño para
trabajar en varias hojas, generar reportes, etcétera.
11. SIMULACIÓN: aquí podemos encontrar los controles de simulación.
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
10 Guia 1 – Introducción a Arduino UNO y proteus
EJEMPLO 1: El “hola mundo” en Arduino.
Abrimos Arduino Software y digitamos el siguiente código:
/* Enciende un LED por un segundo, luego lo apaga por un segundo De forma repetitiva. */ int led = 13; // La función setup corre una vez cuando apretamos el botón reset. void setup() { //inicializamos el pin digital 13 como salida (output) pinMode(led, OUTPUT); } //función loop se ejecuta una y otra vez (hasta apagar el arduino) void loop() { //colocamos un 1 en el pin 13 (HIGH es el nivel de voltaje) digitalWrite(led, HIGH); //coloco un retardo de 1 segundo (1000 mili Segundos) delay(1000); //colocamos un 0 en el pin 13 (LOW es el nivel de voltaje) digitalWrite(led, LOW); //colocamos otro retardo de 1 segundo (1000 mili Segundos) delay(1000); }
Digitar el código hacemos click en “verificar” para que arduino software nos genere el
archivo .hex y lo podremos encontrar en la carpeta que configuramos al inicio de la guia.
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
11 Guia 1 – Introducción a Arduino UNO y proteus
Luego abrimos Proteus y en la ventana principal hacemos click en “Pick from libraries”.
Se abrirá la siguiente ventana que es donde escogeremos todos los elementos para armar
nuestro circuito de prueba.
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
12 Guia 1 – Introducción a Arduino UNO y proteus
Primero buscaremos la placa de arduino, para lo cual escribiremos la palabra arduino en la
barra de búsqueda. Y así sucesivamente los elementos que usaremos para armar nuestros
circuitos de prueba. Cabe mencionar que para buscar los componentes debemos
introducir el nombre en inglés o el número en caso es un circuito integrado. Por ejemplo si
buscamos una resistencia; escribiríamos “resistor”.
Al escribir la palabra arduino obtendremos algo como esto:
Barra de búsqueda
Lista de componentes por
categoría
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
13 Guia 1 – Introducción a Arduino UNO y proteus
Y hacemos doble click sobre el elemento para colocarlo en la lista de componentes que
usaremos.
Hacemos lo mismo para buscar la resistencia y el diodo led.
Ahora armaremos el circuito mostrado a continuación:
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
14 Guia 1 – Introducción a Arduino UNO y proteus
Luego hacemos doble click sobre la placa arduino para cargar el archivo .HEX que se
genera con el arduino software. En la sección “program file” hacemos click en el icono del
folder y buscamos el fichero con la terminación .hex y hacemos click en “ok”.
Y hacemos click sobre el botón de “play” para iniciar la simulación:
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
15 Guia 1 – Introducción a Arduino UNO y proteus
EJEMPLO 2.
Abrimos Arduino Software y digitamos el siguiente código:
/* Enciende un LED cuando se acciona un pulsador */ int led = 13; int entrada = 4; // La función setup corre una vez cuando apretamos el botón reset. void setup() { //inicializamos el pin digital 13 como salida (output) pinMode(led, OUTPUT); //inicializamos el pin digital 4 como entrada (input) pinMode(entrada, INPUT); } //función loop se ejecuta una y otra vez (hasta apagar el arduino) void loop() { if(digitalRead(entrada) == HIGH){ digitalWrite(led, HIGH); } else{ digitalWrite(led, LOW); } }
De forma similar al ejemplo 1. Armamos el siguiente circuito en proteus y le cargamos el
archivo .hex correspondiente. Cuando ejecutemos la simulación el led que está en el pin
13 encenderá cuando se presione el pulsador que se encuentra en el pin 4.
Profesor: Ing. Carlos Pocasangre Diseñada por: Br. Manfred Gonzales
PEL115, FACULTAD DE INGENIERÍA Y ARQUITECTURA. UES
16 Guia 1 – Introducción a Arduino UNO y proteus
ASIGNACIÓN:
Utilizando el circuito del ejemplo 2; realice un programa que cuando se presione el
pulsador del pin 4. Me genere 10 pulsos en el pin 13 (1.5 segundos en estado HIGH y 1
segundo en LOW).