Ayuda a novatos con ejemplos y explicaciones.
Monitor serie: Ventana para ver datos de entrada/salida.
Librerías: Contienen funciones predefinidas para facilitar el trabajo.
11.6.- Cómo conectar la tarjeta al ordenador
1. Conectar el cable USB a la placa Arduino y al puerto USB del ordenador.
2. Instalar el driver USB si es necesario.
3. Abrir el IDE de Arduino.
4. Seleccionar en Herramientas > Placa el modelo de Arduino conectado.
5. Seleccionar en Herram
2. Índice
1.- Mecanismos, automatismos y robots
2.- Microcontroladores
3.- Sistemas de control
4.- Elementos de los sistemas de control
5.- Los sensores
6.- Los actuadores
6.1. Polarización de los diodos
6.2. Limitación de los diodos
7.- Resistencias fijas de protección
8.- Pensamiento computacional
9.- Lenguajes de programación
10.- Representación de algoritmos: diagramas de flujo
11.- El sistema Arduino
Actividades
1.- Ejercicios cortos de clase
2.- Trabajo de taller con Arduino
3.- Presentación de los apuntes bien presentados y completos (incluyendo de
forma abreviada o esquematizada todos los contenidos de la unidad). Deberán
llevar una portada completa
3. 1.- Mecanismos, Automatismos y Robots
MECANISMO Dispositivo que aprovecha mejor las fuerzas,
transformando su sentido, dirección o magnitud.
Ejemplos Turbinas, sistemas de poleas y polipastos,
interruptores, cisterna del váter…
AUTOMATISMO Mecanismo o máquina que realiza una tarea concreta de
forma repetitiva y autónoma. Su funcionamiento no se ve afectado por
agentes exteriores.
Ejemplos Limpiaparabrisas, apertura de una puerta de
garaje, lavavajillas.
ROBOT Máquina automática programable capaz de captar información
de su entorno, procesarla y actuar en consecuencia.
Ejemplos Robots en cadenas de montaje, de traslado
de mercancías, de detección de explosivos, de extinción de incendios,
máquina de autolavado, robots de recolección agrícola, sondas espaciales,
robots de ingeniería de precisión (montaje de circuitos integrados)…
4. 2.- Microcontroladores
Un MICROCONTROLADOR es un circuito integrado
programable que reúne en un solo chip todas las
funcionalidades básicas de un ordenador:
Unidad de proceso (CPU)
Memoria
Periféricos de entrada y salida
Se trata de un ordenador con funciones limitadas.
Comparativa:
Muchas de las máquinas
que nos rodean son
controladas por
microcontroladores:
-Lavadora
-Frigorífico
-Despertador
-Mando a distancia TV
-Sistema ABS coche
-etc
5. 3.- Sistemas de control
Un SISTEMA DE CONTROL regula el funcionamiento de un automatismo en función
de los valores que detecta en su entorno.
TIPOS DE SISTEMAS DE CONTROL
Sistemas DE LAZO ABIERTO La señal de salida no se
tiene en cuenta para la acción de control.
Ejemplos Tostadora, ventilador.
Sistemas DE LAZO CERRADO La señal de salida se
compara con la de entrada para ajustar la acción de
control al valor deseado.
Ejemplo Sistema de calefacción con termostato.
6. 4.- Elementos de los sistemas de control
SENSOR Mide cambios de valor en cierta magnitud del entorno (luz,
temperatura, humedad, movimiento, caudal…) para utilizar
dichos datos en un sistema de desarrollo digital.
Mediante un conversor analógico-digital (ADC) el cambio físico
real se convierte a una variación de corriente/voltaje que el
comparador puede interpretar.
COMPARADOR Es un circuito electrónico que compara el valor que proporciona
el sensor con un valor prefijado, llamado punto de tarado.
Cuando hay diferencia entre estos valores, genera una señal.
CONTROLADOR En función de la señal que le llega del comparador, decide si hay
que activar o no el sistema, y en caso afirmativo, envía una señal
al actuador.
ACTUADOR Al recibir una señal digital del controlador, conmuta un circuito
para ponerlo en marcha o apagarlo, generando una señal de
salida de tipo físico (luz, movimiento, sonido…).
7. 5.- Los sensores
Los sensores más básicos y empleados en la construcción de robots sencillos son:
SENSOR VARIABLE
DEL SENSOR
MAGNITUD
QUE
DETECTA
FOTO SÍMBOLO FUNCIONAMIENTO
Interruptor
final de
carrera
Posición de
una
lengüeta
Presión de
contacto
Los mecanismos móviles
que queremos controlar
presionan la lengüeta en
sus posiciones límite
LDR Resistencia Intensidad
luminosa
Se fabrica con un
material cuya resistencia
disminuye al aumentar la
cantidad de luz que
incide sobre él
Optoacoplador Radiación
infrarroja
Luz
infrarroja
Constan de un diodo
emisor de luz infrarroja
(no visible ojo humano) y
un fototransistor
(sensible a la radiación
infrarroja). Emite luz, un
objeto la refleja según su
color y distancia, y el
sensor recibe el reflejo
8. 5.- Los sensores (II)
SENSOR VARIABLE
DEL
SENSOR
MAGNITUD
QUE
DETECTA
FOTO SÍMBOLO FUNCIONAMIENTO
NTC
Negative
Temperature
Coefficient
Resistencia Temperatura Se fabrica con un material
cuya resistencia
disminuye al aumentar la
temperatura
PTC
Positive
Temperature
Coefficient
Resistencia Temperatura Se fabrica con un material
cuya resistencia aumenta
al aumentar la
temperatura
Humedad Resistencia Humedad Dos patillas metálicas
muy próximas entre sí,
dejan pasar algo de
corriente si hay agua
entre ellos. Un transistor
amplifica esa corriente
9. 6.- Los actuadores
Los actuadores más básicos y empleados en la construcción de robots sencillos son:
TIPO DE
SEÑAL FÍSICA
ACTUADOR FOTO SÍMBOLO FUNCIONAMIENTO
Movimiento Servomotor Motor de corriente continua
capaz de generar un alto par de
giro
Pistones de
impulsión hidráulica/
neumática
Cilindros que utilizan el
movimiento de un fluido para
generar fuerza y mover brazos
robóticos y partes de máquinas.
La impulsión hidráulica permite
mover cargas más pesadas.
10. 6.- Los actuadores (II)
TIPO DE
SEÑAL FÍSICA
ACTUADOR FOTO SÍMBOLO FUNCIONAMIENTO
Sonido Piezoeléctrico Ante la presencia de corriente,
vibra una chapa metálica
produciendo un “clap”
instantáneo.
Zumbador Solo emite un zumbido ante la
presencia de corriente.
Altavoz Puede emitir notas en distintas
frecuencias para reproducir una
melodía.
Luz Diodo LED Diodo polarizado que emite luz
ante el paso de corriente.
Deben protegerse mediante
una resistencia.
Información Pantallas LCD Muestran información
alfanumérica dentro de líneas y
columnas establecidas con un
límite de caracteres.
11. 6.1- Polarización de los diodos
Los diodos están polarizados, es decir, solo permiten el paso de
corriente en una dirección: cuando el cátodo está
conectado al polo negativo de la pila (en Arduino, a GND).
Cátodo
Ánodo
12. 6.2- Limitación de los diodos
Los diodos LED pueden soportar sólo ciertas diferencias de potencial
(según el color). Estas tensiones son de alrededor de 2V, por lo que
hay que conectar una resistencia en serie con ellos cuando se
conectan directamente a una pila de tensión mayor.
La intensidad máxima que pueden soportar sin quemarse es de unos 20 o
30 mA.
En esta tabla se recogen las tensiones e intensidades umbral para los
colores más frecuentes:
13. 7.- Resistencias fijas de protección
Tienen normalmente 4 bandas de color (a veces 5):
- La 1ª banda indica la primera cifra del valor de la resistencia.
- La 2ª banda indica la segunda cifra del valor.
- La 3ª banda indica el número de ceros que siguen a los dos números
anteriores (10n).
- La 4ª banda indica la tolerancia o margen de error de la resistencia
(ninguna resistencia tiene siempre el mismo valor).
Código de colores para las tres primeras bandas:
Código de colores para la cuarta banda:
15. 8.- Pensamiento computacional
Cuando una persona programa, además de
comprender ideas computacionales y matemáticas,
también aprende a resolver problemas, diseñar
proyectos y comunicar ideas mediante algoritmos.
“Procesos de pensamiento involucrados en formular
problemas y encontrar sus soluciones de manera que
las mismas estén representadas de forma tal que
puedan llevarse a cabo por un agente que procesa
información (humano o máquina)”.
16. Un algoritmo es una secuencia de acciones que, en un
orden específico, constituyen la solución a un
problema.
Ejemplo: un algoritmo es el procedimiento de acciones
que realizo para llegar al Colegio: 1º suena el
despertador, 2º lo apago, 3º me levanto, 4º cojo mi
ropa, 5º me ducho…
Programar es indicar al ordenador lo que queremos
que haga por nosotros. Es decir, darle un conjunto de
instrucciones para que, a partir de unos datos de
entrada, realice operaciones lógicas y de
almacenamiento y genere unas ciertas señales de
salida. Los programas se basan en algoritmos.
17. Un lenguaje de programación es un sistema de símbolos y reglas que permite
construir programas. Para poder programar las acciones de un ordenador, necesito
conocer el lenguaje de programación que me permite comunicarme con él.
Los lenguajes de programación se clasifican en tres niveles:
• Lenguaje Máquina: Son conjuntos de instrucciones que la CPU puede comprender
y ejecutar directamente. Las instrucciones se expresan en términos de la unidad
de memoria más pequeña, el bit (dígito binario 0 ó 1).
• Lenguaje de Bajo Nivel: Se utilizan para representar las operaciones elementales
del hardware y se escriben en lenguaje alfabético, pero el ordenador necesita
traducirlas a lenguaje máquina mediante un programa llamado ensamblador.
• Lenguaje de Alto Nivel (BASIC, C++, pascal, cobol, fortran, bloques…) son aquellos
en los que las instrucciones son escritas con palabras similares a los lenguajes
humanos (en general en inglés), lo que facilita la escritura y comprensión del
programa. El ordenador necesita traducirlas a lenguaje máquina mediante un
programa llamado ensamblador.
9.- Lenguajes de programación
24. 11. El sistema Arduino
11.1. Qué es Arduino
11.2. Ventajas de Arduino
11.3. La placa controladora
11.4. La placa de pruebas
11.5. El IDE de Arduino
11.6. Cómo conectar la tarjeta al ordenador
11.7. Cómo cargar un programa en la placa
11.8. El lenguaje de Arduino
25. 11.1.- Qué es Arduino
Arduino es una plataforma de electrónica para la creación de prototipos que
consta de:
Una tarjeta con un microcontrolador: una placa de procesamiento de
datos a la que podemos conectar sensores y actuadores mediante
entradas y salidas analógicas y digitales.
Un entorno de desarrollo (IDE, Integrated Development Environment),
que nos permite programar la placa con un lenguaje de programación
basado en Processing (similar a C++).
Otras placas controladoras de uso muy extendido son la Crumble, la Picaxe, la ZUM,
la Raspberry Pi… pero estudiaremos y emplearemos Arduino por las ventajas que
veremos a continuación.
26. 11.2.- Ventajas de Arduino
La compañía de origen italiano surgió en 2006 con el objetivo de ofrecer una
plataforma de prototipado con las siguientes ventajas:
Bajo costo (aproximadamente 30 euros, modelo UNO).
Es hardware libre. Se puede descargar su diseño gratuitamente
(Licencia Creative Commons) de Internet y el usuario puede
autoconstruir sus elementos y cargar el software necesario para que
funcionen los microcontroladores.
Facilidad de uso para novatos y profesionales.
Dispositivo Plug-and-Play.
Multiplataforma: Compatible con todos los SO: MacOSX, Windows y
GNU/Linux.
Entorno de programación simple para novatos pero flexible para ser
aprovechado por usuarios avanzados.
Código abierto: el lenguaje puede ser expandido por librerías C++ y
permite acceder al lenguaje de bajo nivel que enmascara y trabajar en
él.
27. 11.3.- La placa controladora
Vamos a estudiar la tarjeta más empleada de Arduino, la Arduino UNO:
Puerto USB
Botón reset Pines digitales (2-13) input o output, dos
valores (0 o 5V)GND
Microprocesador ATmega
Pines analógicos(A0-A5) de 0 a 5 V
Conectores de potencia (3,3V, 5V, GND)
Puerto alimentación (6-
14V), recomendable 9V AA
recargables de 4.600 mA
Máxima corriente en
todos los pines: 40 mA
Pines para conectar Shields
(extensiones)
28. 11.4.- La placa de pruebas
Para crear prototipos con tarjetas controladoras, se emplean placas de
pruebas (protoboard / breadboard).
Qué son: Tablero perforado de plástico cuyos orificios están conectados por
láminas conductoras delgadas, creando una serie de líneas de conducción
paralelas.
Para qué se utilizan: Se utilizan para insertar componentes electrónicos y
cables y montar circuitos para experimentar con circuitos electrónicos.
29. 11.4.- La placa de pruebas (II)
Se divide en tres zonas:
A Canal central. Se usa para conectar circuitos integrados con las patillas a
uno y otro lado del canal (no hay conexión).
B Buses rojos (positivos o de voltaje) y azules (negativos o de tierra), sin
existir conexión entre las filas. Se conectan a la fuente de alimentación.
C Pistas: Para conectar los componentes, están conectados en columnas.
Los componentes se colocan en horizontal, ya que en vertical se provocaría
un corto.
Normalmente
cableamos para unir y
tener +V y GND en los
dos lados
30. 11.5.- El IDE de Arduino
Página oficial para descargas: www.arduino.cc.
El IDE de Arduino es un sistema de desarrollo de programas específico para
Arduino.
Se basa en Processing (alto nivel, basado en C++) y corre sobre cualquier SO.
Nos permite:
Compilar programas (en Arduino, se conocen como Sketch).
Instalar programas en la placa
Gestionar proyectos Normalmente se guardan en la carpeta
Sketchbook, dentro de Mis documentos. Nosotros necesitaremos
pendrives.
No nos permite:
Extraer código fuente de una placa al ordenador
Quitar los bugs línea por línea para encontrar fallos lógicos o
sintácticos (sólo nos informa de la línea que contiene el error, en ella o
por encima de ella)
Simular circuitos
31. 11.5.- El IDE de Arduino (II)
Nombre del sketchVerificar
Cargar a la placa
Puerto al que está
conectada la placa
* Se cambia aquí
*
Pantalla de texto para
escribir código
Ventana de
información
(muestra
errores)
Barra de estado
(cargando,
compilando…)
Nuevo / abrir
/ salvar sketch
Abrir monitor de
puerto serie
32. 11.6.- Cómo conectar la placa al ordenador
PRIMERA CONEXIÓN
1. Antes de conectar la placa, descarga el software e instálalo.
2. conecta la placa Arduino mediante el cable USB. El pin verde de la placa debe
encenderse. 3. 3. Selecciona la opción de instalar automáticamente el software. Si la
instalación se realiza de forma correcta, ve al paso 4.
Si la instalación no comienza automáticamente o Windows no es capaz de encontrar los
drivers, tendremos que indicarle dónde están. Para ello:
- En Windows XP, ve a Inicio/Panel de control/Cambiar a vista clásica/ Sistema/
Hardware/ Administración de dispositivos/Puertos(COM y LPT) /Arduino Uno
(COMX). La X indica el número de puerto al que se habrá asociado tu tarjeta (en
nuestro ejemplo, el 4).
- En Windows 7 y Vista, ve a Panel de control/Sistema y seguridad /Sistema/
Administrador de dispositivos/Puertos (COM y LPT)/Arduino Uno (COMX). La X indica
el número de puerto al que se habrá asociado tu tarjeta (en nuestro ejemplo, el 4).
- En Windows 10, ve a Configuración/Dispositivos/Dispositivos conectados
/Administrador de dispositivos/Puertos (COM y LPT)/Arduino Uno (COMX). La X indica
el número de puerto al que se habrá asociado tu tarjeta (en nuestro ejemplo, el 4).
4. Haz clic con el botón derecho sobre el puerto COM, selecciona la opción Actualizar
controlador y elige la carpeta Drivers, donde se ha instalado el programa Arduino.
33. 11.6.- Cómo conectar la placa al ord. (II)
COMPROBAR LA COMUNICACIÓN
1. Abre la aplicación de Arduino. Puedes cambiar el idioma del IDE en Archivo/Preferencias.
2. Ve a Herramientas/Puerto y selecciona el puerto que has visto en el punto 3 del apartado
anterior (en nuestro ejemplo el COM4).
3. Ve a Archivo/Ejemplos/01.Basics/Blink. Comprobarás que se abre una nueva ventana. Haz
clic en Verificar, y cuando termine, haz clic en Subir. Comprobarás que un led amarillo parpadea
en la placa.
SIGUIENTES CONEXIONES
Tras haber instalado el software y la placa por primera vez, recordaremos el puerto USB y
usaremos el mismo, ya que el ordenador reconocerá la placa y le asignará el mismo puerto
COM. Para comprobarlo, haremos siempre lo siguiente:
1. Ir a Herramientas/Puerto y elegir el puerto COM en el que aparece conectada la placa.
2. Si no recordamos el puerto, cargar el programa Blink y ver en qué puerto parpadea el LED.
34. 11.7.- Cómo cargar un programa en la placa
Bootloader es un programa base que corre sobre el procesador principal y se
archiva en su memoria flash.
Su función es reescribir programas cuando reseteo / conecto mediante USB.
Sólo funciona mientras hay alimentación.
Verificar es transformar el código fuente en código máquina
(compilar). En ese proceso se informa de posibles errores.
Cargar sube el código a la placa (siempre que esté conectada al
puerto COM correcto y éste esté configurado). Si olvidamos
verificar, siempre verifica y compila antes de cargar.
Durante la carga, los LED TX y RX parpadean. Cuando cesan, el
programa está cargado.
35. 11.8.- El lenguaje de Arduino
Usamos el sketch de Blink para aprender unas nociones básicas de Processing…
Indica un programa que solo se ejecuta una
vez, al conectar la placa (configuración básica)
Cuando voy escribiendo el código
correctamente, los colores de funciones
y estados van cambiando
Entre llaves {} declaro los pines que
voy a usar y si van a ser salidas
(OUTPUT) o entradas (INPUT)
pinMode(nº,TIPO);
;
Se usa para separar pasos de una
secuencia o declarar distintas
variables
36. 11.8.- El lenguaje de Arduino (II)
Indica un programa que se repetirá mientras la
placa reciba corriente
Declaro que se encienda el LED del
pin 13, escribiendo el valor digital
HIGH (voltaje máximo, 5V) en él:
digitalWrite(nº,HIGH);
El microprocesador se
detiene 1000 milisegundos
antes de pasar a la siguiente
línea:
delay(xxxx);
Declaro que se apague el LED del
pin 13, escribiendo el valor digital
LOW (voltaje mínimo, 0V) en él:
digitalWrite(nº,LOW);
Es fundamental cerrar las llaves tras
declarar un procedimiento