Sei sulla pagina 1di 63

Arduino básico (para principiantes )

Fernando Villatoro Velasco.

Octubre de 2016
Introducción
• Este curso surge debido a que en anteriores
participaciones, con el curso de «Prácticas de
Arduino», la sugerencia al final es que se
dejara que el alumno tratara de programar
mediante la aplicación de la lógica, los
programas para la plataforma Arduino.
• Con esta idea, se plantea el presente proyecto
y se pide a los participantes la paciencia y
tolerancia mínima, además del trabajo
participativo.
Introducción
• Así, la intención es adentrarse al mundo del
arduino y las grandes posibilidades de
aplicación en múltiples situaciones.
Introducción

• Arduino es un hardware basado en el código


abierto, es un microcontrolador que se puede
utilizar para muchas aplicaciones diferentes.

• Podría decirse que es la opción más fácil, con


más comunidad detrás y menos costosa entre
los microcontroladores para aficionados,
estudiantes y profesionales.
Introducción

• Arduino es una plataforma open-source de


desarrollo de prototipos, basada en hardware
y software fácil de usar.

• Está pensado para artistas, diseñadores,


aficionados a la electrónica, y para cualquier
tipo de personas que estén interesados en
crear objetos y entornos interactivos.
Objetivo del curso:

El alumno de electromecánica comprenderá el


funcionamiento y programación de la plataforma
Arduino, mediante el uso de las TIC´s y de los
conocimientos mínimos de electrónica y
programación
Competencias genéricas:

Competencias instrumentales Competencias sistémicas


• Capacidad de análisis y síntesis • Los conocimientos en la práctica.
• Conocimientos básicos de la carrera • Adaptarse a nuevas situaciones.
• Conocimiento de una segunda lengua • Capacidad de generar nuevas ideas.
• Manejo de la computadora • Liderazgo.
• Solución de problemas • Trabajar en forma autónoma.
• Toma de decisiones • Diseñar y gestionar proyectos.
• Iniciativa y espíritu emprendedor.
• Búsqueda del logro.
Competencias interpersonales
• Capacidad crítica y autocrítica.
• Trabajo en equipo.
• Habilidades interpersonales
• Capacidad de trabajar en equipo
Interdisciplinario.
• Comunicación con profesionales de
otras áreas.
• Compromiso ético.
Objetivo del día:

• El alumno se introducirá a la plataforma Arduino.


• El alumno instalará el programa para atender a la
plataforma Arduino.
• El alumno comprenderá la estructura del programa
para la plataforma Arduino.
• El alumno se inicia en la programación del arduino
con sencillas instrucciones.
Evaluación del curso:

Se solicitará al equipo de alumnos un proyecto final


en donde la aplicación de la Plataforma Arduino tenga
su mejor opción. Se podrán utilizar todas las
competencias que el alumno tenga en su quehacer
diario
Reglas del curso:

• Asistencia.
• Puntualidad.
• Orden.
• Disciplina.
• Trabajo en equipo.
• Celulares en vibrador.
• Limpieza.
• Seguridad.
• Respeto.
• Tolerancia.
• Cumplimiento del objetivo del día.
http://www.arduino.cc
¿Qué es ARDUINO?

Arduino es una plataforma de prototipos electrónica de código abierto (open-source)


basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas,
diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos
interactivos.

Arduino puede sentir el entorno mediante la recepción de entradas desde una


variedad de sensores y puede afectar a su alrededor mediante el control de luces,
motores y otros artefactos. El microcontrolador de la placa se programa usando el
Arduino Programming Language, (basado en Wiring) y el Arduino Development
Environment (basado en Processing). Los proyectos de Arduino pueden ser
autonomos o se pueden comunicar con software en ejecución en un ordenador (por
ejemplo con Flash, Processing, MaxMSP, etc.).
¿Por qué ARDUINO?

Hay muchos otros microcontroladores y plataformas microcontroladoras


disponibles para computación física.
• Parallax Basic Stamp,

• Netmedia's BX-24,

• Phidgets,

• MIT's Handyboard,

• y muchas otras ofertas de funcionalidad similar.

Todas estas herramientas toman los desordenados detalles de la


programación de microcontrolador y la encierran en un paquete fácil de usar.
Arduino también simplifica el proceso de trabajo con microcontroladores,
pero ofrece algunas ventajas para profesores, estudiantes y aficionados
interesados sobre otros sistemas:
¿Por qué ARDUINO?

Barato: Las placas Arduino son relativamente baratas comparadas con otras plataformas
microcontroladoras. La versión menos cara del modulo Arduino puede ser ensamblada a
mano, e incluso los módulos de Arduino preensamblados cuestan menos de $1000.00

Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows,


Macintosh OSX y GNU/Linux. La mayoría de los sistemas microcontroladores están
limitados a Windows.

Entorno de programación simple y claro: El entorno de programación de Arduino es


fácil de usar para principiantes, pero suficientemente flexible para que usuarios
avanzados puedan aprovecharlo también. Para profesores, está convenientemente
basado en el entorno de programación Processing, de manera que estudiantes
aprendiendo a programar en ese entorno estarán familiarizados con el aspecto y la
imagen de Arduino.
Código abierto y software extensible: El software Arduino está publicado como
herramientas de código abierto, disponible para extensión por programadores
experimentados. El lenguaje puede ser expandido mediante librerias C++, y la
gente que quiera entender los detalles técnicos pueden hacer el salto desde
Arduino a la programación en lenguaje AVR C en el cual está basado. De forma
similar, puedes añadir código AVR-C directamente en tus programas Arduino si
quieres.

Código abierto y hardware extensible: El Arduino está basado en


microcontroladores ATMEGA8 y ATMEGA168 de Atmel. Los planos para los
módulos están publicados bajo licencia Creative Commons, por lo que diseñadores
experimentados de circuitos pueden hacer su propia versión del módulo,
extendiéndolo y mejorándolo. Incluso usuarios relativamente inexpertos pueden
construir la versión de la placa del módulo para entender como funciona y ahorrar
dinero.
HARDWARE

Hay múltiples versiones de la placa Arduino. La mayoría usan el ATmega168 de Atmel,


mientras que las placas más antiguas usan el ATmega8.

Placas E/S

Diecimila: Esta es la placa Arduino más popular. Se conecta al ordenador con un cable
estándar USB y contiene todo lo que necesitas para programar y usar la placa. Puede ser
ampliada con variedad de dispositivos: placas hijas con características específicas.

Nano: Una placa compacta diseñada para uso como tabla de pruebas, el Nano se
conecta al ordenador usando un cable USB Mini-B.

Bluetooth: El Arduino BT contiene un modulo bluetooth que permite comunicación y


programación sin cables. Es compatible con los dispositivos Arduino.

LilyPad: Diseñada para aplicaciones listas para llevar, esta placa puede ser conectada en
fábrica, y un estilo sublime.
Mini: Esta es la placa más pequeña de Arduino. Trabaja bien en tabla de pruebas o
para aplicaciones en las que prima el espacio. Se conecta al ordenador usando el
cable Mini USB.

Serial: Es una placa básica que usa RS232 como un interfaz con el ordenador para
programación y comunicación. Esta placa es fácil de ensamblar incluso como
ejercicio de aprendizaje.

Serial Single Sided: Esta placa está diseñada para ser grabada y ensamblada a
mano. Es ligeramente más grande que la Diecimila, pero aun compatible con los
dispositivos.

Entre otros…
GENERALIDADES

La Arduino UNO es una tarjeta educativa basada en el microcontrolador


ATmega328. Tiene 14 pines de entrada/salida digitales (de los cuales 6 puede
utilizarse como salidas PWM), 6 entradas analógicas, un oscilador de cristal de
16MHz, una conexión USB, un conector de alimentación, un encabezado ICSP y un
botón “reset ”.

Contiene todo lo necesario para programar y comenzar a usar el microcontrolador;


simplemente conéctelo a un equipo con un cable USB o de alimentación con un
adaptador AC a DC o batería. La UNO difiere de todas las placas anteriores puesto
que no utiliza el chip de controlador de FTDI USB a puerto serie. En cambio, cuenta
con el Atmega8U2programado como un convertidor de USB a puerto serie.
Tarjeta de Arduino Uno R3

Microcontrolador ATMega328
Voltaje de operación 5V
Voltaje de alimentación 7-12V
Pines digitales I/O 14 ( 6 con PWM)
Pines entrada analógica 6
Programación Por medio USB
Frecuencia reloj 16Mhz
Usos de la tarjeta Arduino
1. Capturar las diversas variables del entorno como temperatura, humedad,
presión, presencia, etc.

Mediante la programación de Arduino es posible generar comportamientos


reactivos e interactivos según los datos de entrada.
Usos de la tarjeta Arduino

2. Control de movimiento de diferentes actuadores.


Usos de la tarjeta Arduino
3. Control de luces.
Usos de la tarjeta Arduino
4. Control a distancia y Manipulación de datos de forma remoto.
ALIMENTACIÓN
La tarjeta ARDUINO UNO, puede ser conectada directamente al Puerto USB de su
computador y puede obtener de ahí la tensión y la corriente necesaria para bajas
cargas. La placa ARDUINO también puede operar con voltajes externos regulados,
pudiéndola alimentar a través de las terminales Vin y GND. Los pines de
alimentación son los siguientes:
VIN.
Pin por el cual se puede introducir una fuente regulada de 5 volts.
5V.
Esta es la alimentación regulada al momento de conectar una pila de mayor voltaje
al conector tipo plug.
3.3V.
Voltajes generados por la placa a través de los pines indicados de tres volts.
GND.
Pines de Tierra o masa
MEMORIA
El ATmega328 tiene 32 KB de memoria flash (con 0.5 KB usado para el prequemador).
También tiene 2 KB of SRAM y 1 KB of EEPROM (la cual puede ser leída y escrita por la
EEPROM).

ENTRADAS Y SALIDAS DIGITALES


Cada uno de los 14 pines de conexiones que posee la Arduino, pueden serconfiguradas
como entradas y como salidas digitales. Con las funciones para entradas/salidas
digitales, podemos hacer la configuración en la programación
pinMode() : Indica al programa el modo entrada o salida del terminal.
digitalWrite(): Escribe un bit en el terminal seleccionado.
digitalRead(): Lee un valor digital desde el terminal seleccionado.
ENTRADAS Y SALIDAS DIGITALES
Las entradas/salidas digitales operan con 5 volts. Cada pin de entrada y salida puede
suministrar hasta 20 mA de corriente.

Algunas entradas/salidas tienen funciones especiales de comunicación serial: 0 (RX) y 1


(TX). Usadas para la comunicación con la computadora, por lo cual se sugiere la
restricción de su uso. PWM: 3, 5, 6, 9, 10, y 11. Proveen señales cuadradas de 8-bits
controlado por la función analogWrite ().

SHIELDS O MÓDULOS
Los shield o módulos son tableros o módulos que se conectan a la placa y que permiten
conectar dispositivos periféricos, sensores y otros dispositivos nuestro proyecto. A
continuación os listamos los mas populares:

shield GSM Proto shield


shield Ethernet Joystick
shield WiFi shield Bluetooth
shield Motor shield Xbee
PARTES DEL ARDUINO
En la figura, podemos observar resaltadas las partes que es necesario conocer para
el correcto conexionado de la tarjeta.

1. Línea de comunicaciones pines 0 y 1 no se usan. Entradas/salidas digitales pines


del 2 al 13.
2. Botón “reset” de la tarjeta (Permite el re-inicio de la misma).
3. Línea de Entradas analógicas (De la A0 a la A5).
4. Línea de alimentación. En estos pines podemos encontrar Vin, GND, 5V,3.3V y
reset.
5. Plug de alimentación de la tarjeta (Para voltajes entre 7 a 12 volts máximo).6.
Regulador de voltaje.7. Conector USB
Instalación de Software
Instalar el driver

Click derecho en
Equipo y pulsar en
propiedades
Instalar el driver

Pulsar en Administrador de dispositivos


Instalar el driver

Hacer doble clic en Arduino Uno


Instalar el driver

Pulsar el botón
Actualizar controlador
Instalar el driver

Seleccionar la
opción Buscar
software de
controlador en
el equipo
Instalar el driver
Pulsar el botón
Examinar para
buscar la
carpeta driver
donde se
descargo
Arduino.
Cuando se
descargó
Arduino ya
vienen
incluidos los
drivers, no es
necesario
descargarlos.
Instalar el driver
Instalando el driver

Seleccionar la
carpeta
drivers y
pulsar el
botón Aceptar
Instalando el driver

Pulsar el
botón
siguiente
Instalando el driver

Aunque aparezca el
siguiente cuadro de
Diálogo de que no
puede comprobar el
editor de este
software, seleccionar
la opción de Instalar
este controlador de
todas formas
Instalando el driver

Instalando el software
del controlador

Windows actualizó correctamente


el software del controlador,
pulsar el botón cerrar
Asignación del puerto COM

Como se observa
Windows le asignó
el puerto COM7
Seleccionar el Puerto Serie

Abrir la aplicación y
seleccionar el puerto
serie COM7
Introducción a la programación
IDE ARDUINO
El software utilizado para programar la
placa se denomina “entorno de desarrollo
integrado” (IDE). El IDE es una aplicación
Java que se ejecuta en muchas
plataformas diferentes, incluyendo PC,
Mac y Linux. Está desarrollado para los
principiantes que no están familiarizados
con la programación. Incluye un editor de
código, un compilador y un cargador.

También se incluyen las bibliotecas de


código para el uso de periféricos, tales
como puertos serial y varios tipos de
pantallas. Los programas realizados para
Arduino son llamados “sketches” o
“bocetos”, y están escritos en un lenguaje
muy similar a C o C ++. El software es libre
y gratuito.
Entorno de
Arduino (IDE)
• Bloque 0. Para
comentarios
• Bloque 1. Declaración
de variables
• Bloque 2. Configuración
inicial del programa
• Bloque 3. Bucle
infinito que contiene
el conjunto de
instrucciones, que se
ejecutan continuamente.
Flujo de Programación
Por lo tanto podemos
imaginarnos, de una
manera visual, que la
ejecución normal de un
programa de arduino es de
la siguiente manera:
Prácticas
Práctica No. 1: Intermitente

Se trata de realizar un ejercicio básico que consiste en encender y a


pagar un led que conectamos en el PIN 13 de Arduino que lo
configuramos como salida. El tiempo de encendido y apagado es de 1
segundo.
Obsérvese que se ha colocado el diodo led sin resistencia en serie dado que el
PIN13 de Arduino ya lleva incorporada una resistencia interior, en el caso de
colocar el diodo LED en otra salida deberíamos colocar una resistencia de al entre
220 y 500 ohmios dependiendo del consumo de corriente del diodo

Práctica No. 1: Intermitente


/*
Blink
Turns on an LED on for one second, then off for one second,
repeatedly.

This example code is in the public domain.


*/

void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(2500); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(2500); // wait for a second
}
Práctica No. 1: Intermitente
Práctica No. 2: Intermitentes

Se trata de realizar el ejercicio


consistente en encender y a
pagar en forma alternativa 3 leds
que se conectan en PINES
determinados en Arduino
configurados como salidas. El
tiempo de encendido y apagado
es de 1 segundo en todos los
intervalos.
Práctica No. 3: Semáforo

Se trata de realizar el ejercicio


consistente en encender y a
pagar en forma alternativa 3 leds
que se conectan en PINES
determinados en Arduino
configurados como salidas. El
funcionamiento tiene que
simular un procedimiento de
control de tráfico. El tiempo de
los intervalos más largos son de
5 segundo en todos los
intervalos.
Práctica No. 4: Entrada digital

Ésta es la forma más sencilla de entrada con sólo dos posibles estados:
encendido o apagado. En este ejemplo se lee un simple switch o
pulsador conectado a PIN2. Cuando el interruptor está cerrado el pin de
entrada se lee ALTO y encenderá un LED colocado en el PIN13
Funcionamiento:
Cuando la E5 = 1 Entonces S13 = 0
Cuando la E5 = 0 Entonces S13 = 0-1 (Intermitente 200,200 ms)

Práctica No. 2: Alarma-1


// Entrada digital

int ledPin = 13; // pin 13 asignado para el LED de salida


int inPin = 5; // pin 5 asignado para el pulsador

void setup() // Configura entradas y salidas


{
pinMode(ledPin, OUTPUT); // declara LED como salida
pinMode(inPin, INPUT); // declara pulsador como entrada
}
void loop()
{
if (digitalRead(inPin) == HIGH) // testea si la entrada esta activa HIGH
{
digitalWrite(ledPin, HIGH); // enciende el LED
delay(1000); // espera 1 segundo
digitalWrite(ledPin, LOW); // apaga el LED
}
}

Práctica No. 2: Alarma-1


Práctica No. 5: Alarma silenciosa

Cuando se pulsa el pulsador (entrada 5 a “0”) se enciende y se apaga


de forma intermitente la salida 13
Funcionamiento:
Cuando la E5 = 1 Entonces S13 = 0
Cuando la E5 = 0 Entonces S13 = 0-1 (Intermitente 200,200 ms)

Práctica No. 2: Alarma-1


/* Practica 4. Alarma silenciosa*/

int ledPin= 13; // choose the pin for the LED


int inPin= 5; // choose the input pin (for a pushbutton)
int val= 0; // variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inPin, INPUT); // declare pushbutton as input
}
void loop(){
val= digitalRead(inPin); // lee valor de entrada
if(val== LOW) { // chequea si el valor leído es “1” (botón presionado)
digitalWrite(ledPin, LOW); // pone el LED en OFF
} else{
digitalWrite(ledPin, LOW); // parpadea el LED
delay(200);
digitalWrite(ledPin, HIGH);
delay(200);
}
}
Práctica No. 2: Alarma-1
Práctica No. 6: Secuencia Básica de LED´s.

Se trata de encender y apagar 3 LEDs colocados en las salidas 6, 7 y 8


(PIN6, PIN7 y PIN8) con una cadencia de 200 ms. Las variables asignadas a
cada led son ledPin1, ledPin2 y ledPin3
Revisión de los objetivo del día:

• El alumno se introducirá a la plataforma Arduino.


• El alumno instalará el programa para atender a la
plataforma Arduino.
• El alumno Comprenderá la estructura del programa
para la plataforma Arduino.
• El alumno, en equipos de trabajo, realizará 5
prácticas para introducirse al uso de la plataforma
Arduino.

Potrebbero piacerti anche