jueves, 22 de agosto de 2019

Resumen tema 1: Introducción a Arduino.

Introducción a Arduino.
Arduino es una placa programable con entradas y salidas digitales y analógicas, cuyo bajo costo la hace ideal para iniciarse en automatización o realizar pequeños proyectos domésticos en electrónica y robótica. Esto significa que disponemos de un pequeño “autómata”, capaz de recibir información del entorno (sensores) y realizar acciones (actuadores, motores…), según un programa que introducimos con un computadora, y que puede ejecutar de forma autónoma.
Ventajas.
  • Arduino simplifica el proceso de trabajar con microcontroladores.
  • Bajos costos. Tiene un costo más bajo comparado con otras tarjetas.
  • Multi-Plataforma. Puede ser utilizado en distintos sistemas operativos.
  • Entorno de programación simple y directa. El entorno de programación de Arduino es fácil de usar para principiantes y flexible para los usuarios avanzados.
  • Software ampliable y de código abierto. El software Arduino es de distribución de licencia libre y preparado para ser adaptado por programadores experimentados.
  • Hardware ampliable y de Código abierto. Arduino está basado en los microcontroladores ATMEGA168, ATMEGA328 y ATMEGA1280. Los planos de los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo u optimizándolo.
Desventajas.
  • Dado que la programación no se realiza en ensambler, el precio a pagar por el uso de las librerías es un retraso en la ejecución de las instrucciones, algunos microsegundos que en el caso de dispositivos de uso cotidiano son irrelevantes, pero significativos  a la hora de hacer adquisición de datos.
  • El hecho de que la plataforma venga ya ensamblada le quita flexibilidad a los proyectos, asi por ejemplo estaríamos obligados a usar un espacio y forma acorde con el PCB  del Arduino.



Tipos de Arduino.
Existen multitud de modelos Arduino disponibles, lo que puede ser un poco confuso para los nuevos usuarios. A la hora de elegir lo normal es que nos fijemos en la cantidad de entradas y salidas que tiene, especialmente las analógicas dado que son las que habitualmente restringen nuestro proyecto.






Lo más normal es que para empezar emplees una Arduino UNO R3. Este es el modelo más estándar y es la placa que utilizaremos de forma habitual. Para ciertos proyectos grandes, que requieran manejar un número importante de motores o servo motores (robots, máquinas de CNC, impresoras 3D) puede ser necesario pasar a un modelo con mayor número de salidas, especialmente analógicas. En ese caso lo normal es emplear una Arduino MEGA R3.
Por su parte, el modelo Mini 05 es un modelo para usuarios avanzados. Es una placa de apenas 2.5 dólares y un tamaño realmente pequeño, pensado para aplicaciones finales, es decir, cuando vas a dejar la placa permanentemente conectada (y por tanto la vas a “perder”). Viene sin terminales de conexión, hay que soldarlos, y para programarla se requiere un adaptador USB FTDI que cuesta 3.5 dólares. En niveles expertos esta es prácticamente el único modelo de placa que se usa dado que, en caso de requerir una gran cantidad de entradas o salidas, es más económico formar una red de 3 o 4 placas mini, y obtienes una capacidad superior a una MEGA.

Tipos de Shields. 
Las shields son placas de circuitos modulares que se montan unas encima de otras para dar funcionalidad extra a un Arduino. Esta Shields son apilables.
Un shield en Arduino es un placa que se apila sobre el arduino o sobre otro shield, de forma que nos permite ampliar el hardware/capacidades de Arduino.


Las shields se pueden comunicar con el arduino bien por algunos de los pines digitales o analógicos o bien por algún bus como el SPI, I2C o puerto serie, así como usar algunos pines como interrupción. Además estas shields se alimentan generalmente a través del Arduino mediante los pines de 5V y GND.
Cada Shield de Arduino debe tener el mismo factor de forma que el standard de Arduino con un espaciado de pines concreto para que solo haya una forma posible de encajarlo.


Shields más importantes.

Ethernet Shield: La placa Arduino se comunica con el módulo W5100 y la micro-SD utilizando el bus SPI (mediante el conector ICSP). Esto se encuentra en los pines digitales 11, 12 y 13 en el modelo UNO y en los pines 50, 51 y 52 del modelo MEGA. En ambas placas, el pin 10 es utilizado para seleccionar el W5100 y el pin 4 para la micro-SD. Estos pines no pueden ser utilizados para otros fines mientras la Ethernet Shield esté conectada.

Arduino Wifi Shield: Permite conectar un Arduino a Internet mediante Wifi y hace uso de la librería WiFi También dispone de un slot para una tarjeta micro SD. Este shield se comunica con Arduino a través del bus SPI mediante los pines ICSP y usa los pines 4 y 10 al igual que la Shield Ethernet. También hace uso del pin 7 que no puedes ser usado.


Otros tipos de SHIELD:
Arduino GSM Shield: Conecta Arduino a Internet mediante GPRS, usando una tarjeta SIM. También permite enviar y recibir mensajes y llamadas de voz (SMSs).
Arduino Motor Shield: Permite manejar dos motores DC, controlando su dirección y velocidad. Está basado en un chip de doble puente H  ST L298 Este shield usa dos canales y cada canal usa 4 pines, en total nos ocupa 8 pines del Arduino. 
GPS Shield: Con un slot para micro SD donde guardar logs. No es compatible con Arduino Mega ni Due, RTC incluido. Conexión por puerto serie o conexión directa.
TFT Shield: Pantalla táctil resistiva con un slot para micro SD integrado. Comunicación a Arduino a través de bus SPI.
Bluetooth Shield: Comunicación inalámbrica por bluetooth. Conecta con la UART del Arduino o software serial con selector de puerto serie.

Terminal Shield: Shield con borneros y placa de prototipado que nos permite conectar fácilmente cualquier sensor o actuador a un Arduino.