S06 - s1 Material

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 62

Conceptos teóricos del uso

de Arduino
Logro
Al finalizar esta unidad el estudiante podrá reconocer
que es un MCU, el Arduino en particular, así como sus
partes y elementos empleando la placa de Arduino y el
tinkercad.
Utilidad
• Emplear el proceso del prototipado.
• Introducción al software y hardware con Arduino.
El proceso del prototipado con Arduino
Arduino es una placa orientada al prototipado. No sólo porque todo lo
que está en la propia placa y el software están pensados para
prototipar de una forma muy fácil y rápida. Además, tenemos sensores,
actuadores y shields alrededor de Arduino que nos facilitan esta tarea.

¿Qué es lo primero que se hace cuando queremos hacer un proyecto


con Arduino? Puede que pienses: «uhmmmmm pues conecto los
componentes y a programar«. ¡¡¡ NO !!! Se trata de un error muy
típico.
Cuando tenemos que empezar a crear un proyecto con Arduino lo
primero que tenemos que hacer es plantear ese proyecto. Debemos
plasmarlo con lápiz o bolígrafo en un papel. Así de sencillo.
Introducción al software y hardware
Son dos disciplinas que debes dominar en un curso de Arduino son la
programación y la electrónica. No queda otra, debes pasar por esto.
Si has llegado hasta aquí, es porque quieres aprender Arduino. Pero al
contrario que otras tecnologías como pueda ser un ratón o un teclado,
denominadas tecnologías Plug&Play, Arduino no es un hardware que se
conecte y listo.
En un curso de Arduino debes aprender todas las nociones para que
puedas configurar y programar el microcontrolador de Arduino. Para
empezar debes conocer el software y el hardware que está
involucrado.
#1 Entorno de desarrollo de Arduino
Si quieres aprender Arduino tienes que programar. No existen fórmulas
milagrosas ni atajos. Programar es la única manera de llevar a cabo tus
propios proyectos con Arduino.

Esta programación, ya sea para Arduino, para otro tipo de placa o para
otro lenguaje de programación, se suele hacer a través de un IDE o
entorno de desarrollo. Pero, ¿qué es un IDE o entorno de desarrollo?
Por ejemplo, cuando escribimos una palabra reservada nos la cambia
de color. Podemos contraer estructuras de control o funciones. Insertar
y gestionar librerías a través del menú o formatear el código.

Pero lo más importante del IDE de Arduino es que podemos cargar el


código a la placa. Podríamos escribir todo nuestro código en el Bloc de
Notas o algún otro editor de texto y sería totalmente válido. El código
no es más que texto.

Sin embargo, el IDE de Arduino nos permite hacer una cosa


fundamental: compilar el código y subirlo a la placa. Esa es la clave. No
te preocupes si ahora no entiendes qué es eso de compilar, muy pronto
lo veremos.
Otra característica importante del IDE de Arduino es que es de código
abierto. Pero ¿qué quiere decir esto? Bueno, Arduino es una
plataforma abierta. Dentro de esta plataforma se incluye el IDE de
Arduino.

Esto significa que ya no solo tenemos el software de forma gratuita,


también lo podemos modificar a nuestro antojo. Eso sí, para hacer
cualquier mejora o cambio debes conocer el lenguaje de programación
con el que se programa el propio entorno de desarrollo de Arduino.
Versiones del IDE de Arduino
Se trata de un software que está en constante actualización. Arduino
no tiene un periodo fijo a la hora de hacer actualizaciones. Cuando sale
una nueva versión se añaden nuevas opciones o se corrigen errores.
Lo más importante es que de momento el IDE sigue manteniendo su
mismo aspecto. Esto es más importante de lo que parece. Las opciones
suelen estar siempre en el mismo sitio y por lo tanto, cuando se
actualiza apenas notarás la diferencia.
Pero por ahora tampoco cambia el código. Esto quiere decir que si tu
tienes un programa que hiciste con la versión 1.4 de Arduino, también
te servirá para cargarlo a la placa con la versión 1.8.
Para la aplicación de escritorio: (el simulador ya a estar en el canvas y el
software también) https://www.arduino.cc/en/Main/Software
Todo lo demás que continúa a partir de aquí es una secuencia de
pantallas que lo único que hacen es instalar todo lo necesario para
poder programar con el IDE de Arduino. A continuación un resumen
rápido de la secuencia de instalación.

Solo advertir que voy a hacerlo para Windows. Esto es debido a una
cosa simplemente. A día de hoy es el sistema operativo más utilizado
del mundo aunque nos pese. Si tengo que elegir uno prefiero este para
poder ayudar al mayor número de personas.
1. Ejecutar el instalador del IDE de Arduino
como administrador
2 Aceptar el acuerdo de licencia
3 Elegir los componentes de software
4 Elegir ubicación
5 Instalar complementos
6 Terminar instalación
Funciones principales del IDE de Arduino
Seleccionar la placa correcta y el puerto serie
Seleccionar la placa es relativamente sencillo. En este curso vamos a
trabajar con el modelo Arduino UNO (luego lo veremos más en
profundidad).
Con el IDE podemos trabajar con todos los modelos de Arduino e
incluso con modelos que no son de la misma marca. Cada vez que sale
una nueva placa, el IDE se actualiza para poder programarla. Con los
años verás como va creciendo esta lista :)
Puedes seleccionar la placa a través del menú en
Herramientas>Placa>Arduino/Genuino UNO. No hace falta que
conectes la placa al ordenador para seleccionar un modelo.
El puerto serie es por donde se comunican Arduino y el ordenador. Es
necesario que tengas conectado tu Arduino al ordenador. Es muy sencillo, no
tiene pérdida.
Para seleccionar el puerto lo hacemos a través del menú
Herramientas>Puerto. Puede que aparezca más de uno y además el
nombre varía según el sistema operativo.
Preferencias del sistema
1. Localización del proyecto: podemos seleccionar una carpeta donde
iremos guardando los proyectos. Por defecto será la que ha creado
el instalador en documentos/Arduino. Esta ruta varía según el
sistema operativo.
2. Editor de idioma: con esta opción podemos cambiar el idioma del
IDE.
3. Editor de Tamaño de Fuente: indica el tamaño de fuente del editor
del IDE.
4. Mostrar número de línea: para que muestre los números de líneas
en el editor.
5. Habilitar plegado el código: siempre que el código tenga una
sentencia con {} nos permitirá contraer y expandir ese código. Muy
útil cuando trabajamos con archivos muy grandes.
6. Guardar cuando se verifique o cargue: es importante que cuando
verifiquemos el código o lo carguemos al microcontrolador haga un
guardado automático. Déjalo marcado.
Sistema de ficheros de Arduino
Una de las mejoras que han ido introduciendo dentro del IDE de
Arduino es la gestión de archivos. Lo primero que debes conocer es la
extensión con que se guardan los ficheros de Arduino, .ino.
Si has creado un programa o sketch (sketch significa esquema o
bosquejo) verás que tiene una extensión .ino.
Cuando guardas un archivo en tu ordenador, el propio IDE de Arduino
ya lo organiza por ti. Crea una carpeta con el mismo nombre que el
archivo y dentro guarda el fichero.
Por ejemplo, si creas un nuevo programa y vas al menú Archivo>Salvar,
te permitirá guardarlo con un nombre.
Partes fundamentales del IDE de Arduino
El editor
Aquí es donde más vamos a trabajar ya que es donde escribimos
nuestro código. Pero no solo eso, también tenemos acceso a las
funciones más utilizadas.
En la parte central encontramos el propio editor. Incluye el número de
línea útil, por ejemplo, para detectar errores.
Justo arriba del editor tenemos los accesos directos a las funciones más
utilizadas.
1. Verificar/Compilar: este botón verifica el código en busca de errores
y lo compila. Cuando hablo de compilar me refiero a traducir el
lenguaje de programación que entendemos los humanos en código
máquina que entienden las máquinas.
2. Subir: el botón subir nos permite cargar o subir el código al
microcontrolador a través del puerto serie USB.
3. Nuevo: sirve para crear un programa nuevo. Esto genera una nueva
ventana donde escribir el código de ese nuevo programa.
4. Abrir: abre un programa que hayas guardado previamente en el
disco duro.
5. Salvar: guarda el archivo en el disco duro. Es como la opción que
hemos visto anteriormente.
6. Monitor serie: es una de las partes más importantes del IDE de
Arduino. Sirve para mostrar información de la comunicación entre
el ordenador y Arduino en las dos direcciones.
El área de mensajes
En este área de mensajes se muestra la última acción que has realizado.
También muestra mensajes cuando se está realizando alguna tarea como
subiendo un programa a la placa.
La consola
La consola nos va a dar información muy valiosa. Nos puede dar
información sobre una acción concreta, por ejemplo los datos tras subir
un programa a la placa. Pero lo más importante, nos informa si hay
algún error.
Fundamentos de la placa de Arduino
Si haces una pequeña búsqueda en Internet, encontrarás que hay
multitud de placas de Arduino. Hay originales, copias y un amplio
abanico de modelos dependiendo de cual es su funcionalidad. Así que
lo primero que debes preguntarte es ¿qué quiero conseguir?
No es lo mismo comprar una placa con conexión WiFi que sin ella. Por
ejemplo, Arduino MKR1000 puede conectarse a Internet a través de la
WiFi y transmitir datos.
Un Arduino UNO o un Arduino Mega no pueden por si solos. Necesitan
algún tipo de shield ya sea ethernet o WiFi.
Salvo estas características especiales de cada placa, el 99% del código
te va a servir para cualquier placa. Por ejemplo, el acceso a los pines se
hace en todas las placas igual. Esa es la magia de Arduino.
¿Por qué utilizar Arduino UNO?
Dentro de todos los modelos que
podemos encontrar en la tienda
oficial, el recomendado para
aprender Arduino es el modelo
Arduino UNO.
Se trata del buque insignia de la
marca, el más famoso y el más
vendido. Muchos otros modelos
se han construido a partir de este.
Pero lo realmente increíble de Arduino, es que una vez que te inicias
con una placa, es muy sencillo utilizar otros modelos de placa e incluso
de otras marcas.
Cuando hablo de placas, lo realmente importante y sobre lo que todo
gira es el microcontrolador que tienen integradas esas placas.
¿Qué es un microcontrolador?
Si miramos de cerca la placa nos da la sensación de que se trata de un
circuito sacado de un electrodoméstico. La realidad es que Arduino
está creado con un único objetivo: facilitarnos la programación de un
microcontrolador.
Pero qué es un microcontrolador. Lo primero es identificarlo dentro de
la placa. Si miras un Arduino de cerca, verás una cucaracha o pastilla
negra donde pone ATMEL. Eso es el microcontrolador.
Los microcontroladores también se llaman MCU por sus siglas en inglés
Microcontroller Unit. Diariamente utilizamos decenas de ellos en
dispositivos electrónicos, electrodomésticos, coches, ordenadores,
móviles, etc…
Pero ¿qué es una MCU o microcontrolador?. Es un circuito integrado
programable, capaz de ejecutar las órdenes que están almacenadas en
su memoria. Ojo a esto, circuito integrado progamable. Esto quiere
decir que lo podemos programar :)
Pero también existen los microprocesadores. Son los típicos
procesadores que encontramos en los ordenadores por ejemplo. Existe
una diferencia principal entre una MCU o microcontrolador y un
microprocesador, su utilidad.
Una MCU tiene como objetivo una tarea concreta. Por ejemplo, cerrar
las puertas de un ascensor, captar la temperatura de un sensor, etc..
Sin embargo, un microprocesador es de propósito general. Puede hacer
varias cosas a la vez. Recopilar información de los datos, enviar por
email, mostrar en una pantalla, etc…
Un claro exponente de un dispositivo que lleva un microprocesador es
una Raspberry Pi.
Utilizar uno u otro dependerá del objetivo de nuestro proyecto.
Concepto de placa de prototipado
Una vez que ya sabemos qué es un microcontrolador ¿qué hace
Arduino para facilitarnos el conexionado y la programación en un
microcontrolador? Para ello vamos a sacarlo de la placa.
Su nombre completo es ATMEGA328P-PU y es un microcontrolador de
8-bit. Esto quiere decir que solo puede hacer operaciones con números
de 8-bit (números entre 0 y 255).

Ahora imagínate que tuvieras que programar este circuito integrado o


chip, ¿cómo lo conectas al ordenador? ¿cuáles son los pines digitales y
analógicos? ¿donde está el pin de 5V y el de GND?

Toda esta información la podemos obtener de su hoja de características


técnicas.
Sin embargo, hubo una persona que pensó que había que democratizar
el uso de microcontroladores y creo Arduino. El es David Cuartielles
uno de los cofundadores de Arduino y el padre de la criatura.

Todo lo que rodea a la placa de Arduino está pensado para facilitarnos


la programación y conexión con el microcontrolador.

La huella o forma en la que están dispuestos los pines, la conexión serie


USB para programar y alimentar, el alimentador de baterías o
pilas, cada componente está puesto en su sitio para que todo sea más
fácil para nosotros.
Puerto USB
Se llama puerto USB pero realmente estamos trabajando a través del
puerto serie. Dentro de la propia placa hay un conversor de USB a
serie, también conocido como TTL o FTDI.
Imagino que ya te habrás dado cuenta lo que nos facilita la tarea de
cargar los programas a través del puerto USB desde cualquier
ordenador.
Imagino que ya te habrás dado cuenta lo que nos facilita la tarea de
cargar los programas a través del puerto USB desde cualquier
ordenador.
FTDI
Los cables FTDI son la familia de cables convertidores USB a TTL serie
UART y están incorporados con FT232R IC . El chip maneja todo el
protocolo de conversión de datos USB a datos seriales UART. Los cables
proporcionan una forma rápida y sencilla de conectar dispositivos con
una interfaz serial de nivel TTL a USB y no requieren ninguna
instalación y configuración de software adicional antes de usarlos. Por
lo tanto, son simples dispositivos plug and play.
Pines de Arduino UNO
¿Recuerdas el microcontrolador ATMEGA328P? Este circuito integrado
tiene unas patillas o patas. A esto le denominamos pines.
En el lado de la placa de Arduino, estos pines tienen un acceso muy
fácil para poder conectar diferentes componentes. Pero no son más
que plástico, contactos y cables que se conectan con las patillas
correspondientes del microcontrolador.
Su función es facilitarnos su uso. Pero ¿qué podemos conectar a estos
pines? Bueno, pues podemos conectar otros circuitos compatibles con
cada uno de los pines. Vamos a ver los 3 zócalos que nos vamos a
encontrar en Arduino UNO.
Pines digitales
¿Qué quiere decir digital? Digital es algo abstracto así que mejor verlo
con una analogía. Imagínate que eres pintor. Cuando vas a pintar un
cuadro solo te permiten utilizar dos colores: blanco y negro. Si quieres
pintar con un gris claro por ejemplo, no puedes, no existe ese color.
Solo puedes elegir entre blanco o negro.
Si esto lo llevamos al mundo de la electrónica a través de un voltaje,
solo podríamos tener dos voltajes. Esto es lo que ocurre en los pines
digitales de Arduino donde solo podemos tener dos estados HIGH o
LOW que equivalen a 5V y 0V. En realidad esto no es cierto totalmente.
Podríamos tener un voltaje de 3V por ejemplo. Para
estos casos hay una regla interna que determina si un
voltaje es HIGH o LOW.
Estos son los niveles lógicos del microcontrolador
ATMega328. Todo lo que esté entre 3V y 5V se
considera nivel alto (HIGH) y todo lo que esté entre
0V y 1,5V es nivel bajo (LOW). El resto, entre 1,5V y
3V es una indeterminación.
Esto quiere decir que cualquier voltaje dentro de este
rango, el microcontrolador no sabrá si es estado HIGH
o LOW.
Además, los pines digitales pueden funcionar en 3 modos diferentes:

• Modo entrada (INPUT): puede leer voltajes. Por ejemplo, ¿está


pulsado un botón? si (HIGH) o no (LOW).
• Modo salida (OUTPUT): puede suministrar un voltaje. Por ejemplo,
encender/apagar un led on (HIGH) o off (LOW).
• Excepción (PWM): algunos pines del microcontrolador pueden
funcionar en modo salida suministrando un valor entre el rango 0V y
5V. Esto ya no sería un pin digital. Estos pines van marcados con el
símbolo ~ y hay 6 dentro de la placa de Arduino (3, 5, 6, 9, 10, 11).
Por último señalar que los pines 0 y 1 son Rx (recibir) y Tx (transmitir).
Se utilizan para la comunicación serie entre el ordenador y Arduino y
están conectados a los LEDs de la placa donde pone RX y TX. Se
recomienda no utilizar estos pines.

El pin 13 está conectado a un LED integrado dentro de la placa.

Hay algún pin más dentro de este zócalo pero como ya te he dicho al
principio de este curso de Arduino, aquí vamos a ver lo esencial para
ponernos en acción.
Pines analógicos
Es el zócalo donde pone ANALOG IN y van numerados del A0
al A5, 6 pines.
Si nos llevamos esto al mundo de la electrónica con
Arduino, con estos pines podemos medir diferentes voltajes
entre 0V y 5V. Es decir, podemos tener un voltaje de 3,5V en
uno de estos pines y Arduino sería capaz de leerlo.
Sin embargo, existe un problema. El microcontrolador no entiende de
números decimales, sólo entiende datos digitales 1’s y 0’s. Para
resolver esto, la MCU incorpora un ADC (son las siglas de Analog Digital
Converter o en español Conversor Analógico Digital).
Por otro lado, Arduino no es capaz de medir cualquier voltaje, me
explico. ¿Cuántos números hay entre 0 y 5?….. realmente hay infinitos
números. Puedes empezar con el 0 e ir aumentando de 0,000001 o en
0,00000000000001.
La consecuencia de todo esto es que Arduino
solo entiende datos digitales y además estos
deben estar acotados. El ADC se encargará de
convertir esos valores en datos digitales y
además solo podrán ser un número concreto
de valores. A esto último se le llama
resolución.
El ADC que viene integrado dentro de la MCU
que lleva Arduino UNO tiene una resolución
de 10-bit. Esto equivale a que solo vamos a
poder medir 1024 valores posibles que van
del 0 al 1023. Básicamente lo que estamos
haciendo es dividir el rango de 0V a 5V en
1024 partes.
Pines de alimentación
El zócalo de pines de alimentación nos sirve para alimentar los
componentes, sensores y actuadores.
Hay que destacar 4 de todos los que hay:
• 3,3V: suministra ese voltaje por ese pin.
• 5V: suministra ese voltaje por ese pin.
• GND: hay dos pines con esta función además del que está en el zócalo
de los pines digitales. Es la toma de tierra y por donde debemos
cerrar el circuito.
Otras características a destacar
Por último vamos El botón reset resetea la placa y
a ver una serie de hace que empiece a ejecutar el
características código desde el principio.
secundarias que es
importante
destacar.
La huella que
forman los pines
se ha convertido
en un estándar
para conectar los
shields.
El LED de encendido El pin Vin nos da otra alternativa a la hora de
nos informa si la placa alimentar Arduino con un voltaje de entre
está alimentada. 6V y 12V. De momento te recomiendo que lo
alimentes a través del puerto USB.
Conector jack de
alimentación. Es igual que el
pin Vin pero a través de un
conector jack. El voltaje de
alimentación que soporta es
de 6V a 12V.
Ejercicios
Responda:
- Qué es un MCU
- Qué es un Microprocesador
- Qué es señal analógica y como se trabaja en arduino
- Qué es señal digital y como se trabaja en Arduino
- Qué es PWM

También podría gustarte