Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arduino y transductores
1
ARDUINO
● Definición
Todas las placas Arduino tienen una cosa en común que es un microcontrolador. Un
microcontrolador es básicamente una computadora realmente pequeña. Con Arduino,
puede diseñar y construir dispositivos que puedan interactuar con su entorno. Las placas
Arduino son básicamente una herramienta para controlar la electrónica. Pueden leer
entradas con su microcontrolador integrado (por ejemplo, luz en un sensor, un objeto cerca
de un sensor) y convertirlo en una salida (conducir un motor, hacer sonar una alarma,
encender un LED, mostrar información en una pantalla LCD).
Fue en el año 2005 cuando nació la primera placa Arduino en las aulas del Instituto de
Diseño Interactivo en Ivrea, Italia. Fue en el Instituto de Diseño Interactivo donde un
estudiante colombiano llamado Hernando Barragán aportó una tesis de hardware para un
diseño de cableado. El título de la tesis fue “Arduino – La rivoluzione dell'open hardware”
(“Arduino - La revolución del hardware abierto”). Sí, sonaba un poco diferente a la tesis
habitual, pero nadie hubiera imaginado que se haría un hueco en el campo de la
electrónica. Un equipo de cinco desarrolladores, Massimo Banzi, David Cuartielles, David
Mellis, Gianluca Martino y Tom Igoe trabajó en esta tesis y cuando se completó la nueva
plataforma de cableado, trabajaron para hacerla mucho más liviana, menos costosa y
disponible para la comunidad de código abierto.
● Componentes
Hay muchas variedades de placas Arduino que se pueden usar para diferentes propósitos.
Algunas placas se ven un poco diferentes a la siguiente, pero la mayoría de los Arduinos
tienen la mayoría de estos componentes en común:
2
· Alimentación USB (1) y conector de barril (2)
Los pines de su Arduino son los lugares donde conecta los cables para construir un circuito
(probablemente en conjunción con una placa de pruebas y algún cable.
o GND (3) : Abreviatura de 'Tierra'. Hay varios pines GND en el Arduino, cualquiera de
los cuales puede usarse para conectar a tierra su circuito.
o 5V (4) y 3.3V (5) : Como puede imaginar, el pin de 5V suministra 5 voltios de potencia
y el pin de 3.3V suministra 3.3 voltios de potencia. La mayoría de los componentes
simples utilizados con Arduino funcionan felizmente con 5 o 3.3 voltios.
3
o PWM (8) : Es posible que haya notado la tilde (~) junto a algunos de los pines
digitales (3, 5, 6, 9, 10 y 11 en UNO). Estos pines actúan como pines digitales normales,
pero también se pueden usar para algo llamado Modulación de ancho de pulso (PWM).
o AREF (9) : Significa Referencia analógica. La mayoría de las veces puedes dejar este
pin solo. A veces se utiliza para establecer un voltaje de referencia externo (entre 0 y 5
voltios) como límite superior para los pines de entrada analógica.
· Botón de reinicio
· LED TX RX
· IC principal
Regulador de voltaje
El regulador de voltaje (14) no es realmente algo con lo que pueda (o deba) interactuar en el
Arduino. Pero es potencialmente útil saber que está ahí y para qué sirve. El regulador de
4
voltaje hace exactamente lo que dice: controla la cantidad de voltaje que ingresa a la placa
Arduino. Piense en ello como una especie de guardián; eliminará un voltaje adicional que
podría dañar el circuito. Por supuesto, tiene sus límites, así que no conecte su Arduino a
nada superior a 20 voltios.
● Cómo funciona
La placa Arduino es una tarjeta I/O simple la cual se basa en el procesador ATmega8 de
Atmel. La tarjeta está compuesta por un circuito impreso (PCB) y componentes electrónicos.
Hay varias formas de obtener una placa Arduino, la forma más sencilla es comprando una
ya lista, tambien si quieres construir tu propio placa PCB descarga los archivos CAD desde
la página de Hardware. Extrae el archivo .brd y envíalo a un fabricante de PCB, o por ultimo
comprar las partes tu tienda de electrónica preferida.
o Si tiene una conexión a Internet confiable, debe usar el IDE en línea (Arduino Web
Editor). Te permitirá guardar tus bocetos en la nube, teniéndolos disponibles desde
cualquier dispositivo y respaldados. Siempre tendrá la versión más actualizada del IDE
sin la necesidad de instalar actualizaciones o bibliotecas generadas por la comunidad.
o Si prefiere trabajar sin conexión, debe utilizar la última versión del IDE de escritorio .
Ejecuta el instalador del programa y sigue los pasos de instalación. Acepta los términos y
condiciones de la licencia. Selecciona todas las opciones para que instale todos los
complementos y drivers necesarios. Espera un par de minutos que termine el proceso de
instalación. Si estás utilizando la placa Arduino Picaro, necesitarás instalar los drivers del
chip FTDI. Si está usando una placa Arduino Uno original, los driver se instalan
automáticamente con el IDE.
5
4. Conectar la tarjeta Arduino
La alimentación puede ser provista por el puerto USB o por una fuente externa (6-12V).
Cualquiera sea el modo de alimentación conecta el cable USB al PC. El LED de encendido
debería iluminarse.
Ve a escritorio y haz doble click en la aplicación Arduino. Abre el sketch de ejemplo: Archivo
> Ejemplos > 01.Basics > Blink
6
Necesitarás también especificar el microcontrolador que estás utilizando. Mira el chip que
está instalado en tu tarjeta y seleccionalo en Herramientas >Placa:
Si tienes la nueva Arduino Diecimila, simplemente haz click en el botón “Upload”. Si estás
utilizando una Arduino Mini o una Arduino NG u otra tarjeta, necesitarás presionar el botón
de reset presente en la placa inmediatamente antes de apretar el botón “Upload”. Espera
unos segundos y deberías ver los LED’s RX y Tx de la tarjeta parpadeando. Si el programa
se cargó satisfactoriamente un mensaje aparecerá en la barra de status “Done uploading”.
7
Arduino Descripción Ventajas
-Dimensiones reducidas
Nano Usa un microcontrolador -Idoneo para proyectos en
ATmega328P o ATmega628, donde se requiera ahorar
incluye un conjunto de pines de E espacio
/ S de 14 pines digitales y 8 pines -Costo menor
analógicos. También incluye 6 -Placa completa
pines de alimentación y 2 pines
de reinicio.
8
Usa un microcontrolador -Conexión inalámbrica
Bluetooth ATmega168, cuenta con 16 pines - Placa completa
digitales, 6 pines analógicos,
botón de reinicio, oscilador de
cristal de 16MHz, cabezal ICSP y
terminales de tornillo para la
alimentación. La programación de
este microcontrolador se puede
realizar con Bluetooth.
9
Es la primera placa Arduino sobre -Dos procesadores
Robot ruedas, incluye dos procesadores -Sobre ruedas
en cada una de sus placas. Se - Útil para proyectos de
trata de placas de robótica
microcontroladores que -Controla sensores y
dependen del ATmega32u4 que actuadores
incluye un altavoz, una pantalla a
color, botones, motores, una
brújula digital, un lector de
tarjetas SD, potenciómetros y
sensores de piso.
-Flexibilidad
Mini Pro Usa microcontrolador -Bajo precio
ATmega32U4. Tiene 14 -Tamaño reducido
entradas/salidas digitales, 6 -Ideal para proyectos muy
entradas análogas, trabaja compactos
perfectamente con módulos GPS
o sensores que utilicen 3.3V.
Aunque no posee conector USB,
LEDs de estado incorporados
(para alimentación y pin 13).
Dimensiones 18 x 33mm y peso
menor a 2 gramos.
10
Usa un microcontrolador MCU -Más potencia de
Zero SAM21 de ATmel, tiene 6 procesamiento
entradas de pines analógicos, 14 -Simplicidad similar a Arduino
clavijas de entrada/salida UNO
digitales, un conector USB, un -Sirve para proyectos más
conector de alimentación y un demandantes en potencia de
encabezado ICSP, clavijas de cómputo
puerto UART, un encabezado de -Poderosa para robótica,
alimentación y un botón AREF. automatización de alta
tecnología
--- Programación
❖ Básico de programación en Arduino
El IDE (Integrated Development Environment) es un conjunto de herramientas de software
que permiten a los programadores desarrollar y grabar todo el código necesario para hacer
que nuestro Arduino funcione como queramos. El IDE de Arduino nos permite escribir,
depurar, editar y grabar nuestro programa (llamados “sketches” en el mundo Arduino) de
una manera sumamente sencilla, en gran parte a esto se debe el éxito de Arduino, a su
accesibilidad.
Función setup()
se invoca una sola vez cuando el programa empieza. Se utiliza para inicializar los modos de
trabajo de los pins, o el puerto serie. Debe ser incluido en un programa aunque no haya
declaración que ejecutar.
Función loop()
Hace precisamente lo que sugiere su nombre, se ejecuta de forma cíclica, lo que posibilita
que el programa esté respondiendo continuamente ante los eventos que se produzcan en la
tarjeta.
11
Ejemplo:
Int pin = 10;
void setup()
{
pinMode(pin, OUTPUT); // Establece 'pin' como salida
}
void loop()
{
digitalWrite(pin, HIGH); // pone en uno (on, 5v) el ´pin´
delay(1000); // espera un segundo (1000 ms)
digitalWrite(pin, LOW); // pone en cero (off, 0v.) el ´pin´
delay(1000); // espera un segundo (1000 ms)
}
Funciones
Una función es un bloque de código que tiene un nombre y un conjunto de estamentos que
son ejecutados cuando se llama a la función. Son funciones setup() y loop() de las que ya
se ha hablado. Las funciones de usuario pueden ser escritas para realizar tareas repetitivas
y para reducir el tamaño de un programa. Las funciones se declaran asociadas a un tipo de
valor “type”. Este valor será el que devolverá la función, por ejemplo 'int' se utilizará cuando
la función devuelva un dato numérico de tipo entero. Si la función no devuelve ningún valor
entonces se colocará delante la palabra “void”, que significa “función vacía”. Después de
declarar el tipo de dato que devuelve la función se debe escribir el nombre de la función y
entre paréntesis se escribirán, si es necesario, los parámetros que se deben pasar a la
función para que se ejecute.
Elementos de sintaxis:
LLaves
Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan
para los bloques de programación setup(), loop(), if.., etc.
type funcion()
{
estamentos;
}
Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es así el
programa dará errores. El entorno de programación de Arduino incluye una herramienta de
gran utilidad para comprobar el total de llaves. Sólo tienes que hacer click en el punto de
inserción de una llave abierta e inmediatamente se marca el correspondiente cierre de ese
bloque (llave cerrada).
Punto y coma
El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de
Arduino. También se utiliza para separar elementos en una instrucción de tipo “bucle for”.
Variables
Una variable es una manera de nombrar y almacenar un valor numérico para su uso
posterior por el programa. Como su nombre indica, las variables son números que se
12
pueden variar continuamente en contra de lo que ocurre con las constantes cuyo valor
nunca cambia.
Una variable puede ser declarada en el inicio del programa antes de setup(), localmente a
una determinada función e incluso dentro de un bloque como pueda ser un bucle. El sitio en
el que la variable es declarada determina el ámbito de la misma. Una variable global es
aquella que puede ser empleada en cualquier función del programa. Estas variables deben
ser declaradas al inicio del programa (antes de la función setup()).
Ejemplo:
int v=9; // 'v' es visible en todo el programa.
void setup()
{
pinMode(v,OUTPUT). //configuramos la variable entera “v) o el pin 8, como una salida
}
void loop()
{
digitalWrite(v,HIGH); //Escribimos que “v” envíe un pulso atreves de la constante HIGH.
}
Operadores
Las comparaciones de una variable o constante con otra se utilizan con frecuencia en las
estructuras condicionales del tipo if.. para testear si una condición es verdadera. En los
ejemplos que siguen en las próximas páginas se verá su utilización práctica usando los
siguientes tipo de condicionales:
x == y : x es igual a y x
!= y :x no es igual a y
x < y : x es menor que y
x > y : x es mayor que y
13
Los operadores lógicos son usualmente una forma de comparar dos expresiones y devolver
un VERDADERO o FALSO dependiendo del operador. Existen tres operadores lógicos,
AND (&&), OR (||) y NOT (!).
If
Las sentencias if comprueban si cierta condición ha sido alcanzada y ejecutan todas las
sentencias dentro de las llaves si la declaración es cierta. Si es falsa el programa ignora la
sentencia.
if (unaVariable ?? valor)
{
ejecutaInstrucciones;
}
En el ejemplo anterior se compara una variable con un valor, el cual puede ser una variable
o constante. Si la comparación, o la condición entre paréntesis se cumple (es cierta), las
declaraciones dentro de los corchetes se ejecutan. Si no es así, el programa salta sobre
ellas y sigue.
if/else
viene a ser un estructura que se ejecuta en respuesta a la idea “si esto no se cumple haz
esto otro”. Por ejemplo, si se desea probar una entrada digital, y hacer una cosa si la
entrada fue alto o hacer otra cosa si la entrada es baja, usted escribiría que de esta manera:
if (inputPin == HIGH) // si el valor de la entrada inputPin es alto
{
instruccionesA; //ejecuta si se cumple la condición
}
else
{
instruccionesB; //ejecuta si no se cumple la condición
}
For
El bucle for es una estructura que se utiliza cuando queremos que una serie de acciones se
repita un número determinado de veces, para ello se necesita de una variable índice, una
condición y un incrementador. Por tanto, usaremos el bucle “for” para ejecutar un conjunto
de instrucciones (escritas dentro de llaves de apertura y cierre) un número concreto de
veces. vemos el ejemplo de su sintaxis:
La inicialización de una variable local se produce una sola vez y la condición se testea cada
vez que se termina la ejecución de las instrucciones dentro del bucle. Si la condición sigue
cumpliéndose, las instrucciones del bucle se vuelven a ejecutar. Cuando la condición no se
cumple, el bucle termina.
14
Switch case
Consta en su interior de una serie de secciones “case” y, opcionalmente, de una sección
“default”. Nada más llegar a la primera línea del “switch”, primero se comprueba el valor de
la variable o expresión que haya entre sus paréntesis. Si el resultado es igual al valor
especificado en la primera sección “case”, se ejecutarán las instrucciones del interior de la
misma y se dará por finalizado el “switch”, en caso de no ser igual el resultado de la
expresión a lo especificado en el primer “case” se pasará a comprobarlo con el segundo
“case”, y si no con el tercero, etc. Por último, si existe una sección “default” (opcional) y el
resultado de la expresión no ha coincidido con ninguna de las secciones “case”, entonces
se ejecutarán las sentencias de la sección “default”.
while
Este bucle repite la ejecución de las instrucciones que están dentro de sus llaves de
apertura y cierre mientras la condición especificada entre sus paréntesis sea cierta
(“true”,1), sin importar el número de veces repita. El número de iteraciones realizadas
depende del estado de la condición definida.
do
La condición es evaluada después de ejecutar las instrucciones escritas dentro de las
llaves. Esto hace que las instrucciones siempre sean ejecutadas como mínimo una vez aun
cuando la condición sea falsa, porque antes de llegar a comprobar esta, las instrucciones ya
han sido leídas (a diferencia del bucle “while”, donde si la condición ya de entrada era falsa
las instrucciones no se ejecutaban nunca).
Señales digitales
● pinMode (pin, mode) : usado para asignar el modo de un pin. pin es el número del
pin que se quiere asignar 0-19. mode puede ser INPUT o OUTPUT.
● digitalWrite (pin, value): una vez un pin es asignado como OUTPUT se puede
asignar a HIGH (5 Volts) o Arduino 24 como OUTPUT se puede asignar a HIGH (5
Volts) o LOW(0 volts). Básicamente significa ON y OFF.
● int digitalRead (pin): una vez un pin es asignado como INPUT se puede usar para
devolver HIGH (5 Volts) o LOW(0 volts).
Señales analógicas
● analogWrite (pin, value); algunos de lo pines soportan pulsos modulados (PWM) (3,
5, 6 ,9, 10, 11). Esto pone el pin en on o off muy rápido comportándose como una
salida analógica. El valor es un número entre 0 (0 v) y 255 (5 v). Arduino 25
● int analogRead (pin); puede leer un voltaje. Devuelve un valor entre 0 (0 v) y 1024 (5
v).
Lenguaje de programación
El equipo que desarrolló la tarjeta Arduino creo un lenguaje propio para programar estas
tarjetas. Este lenguaje esta basado en un lenguaje llamado Wiring. Este es un framework
(Un framework es una especie de plantilla, esquema o estructura conceptual de base
tecnológica que nos permite trabajar de una manera mucho más sencilla) de código abierto
para la programación de microcontroladores.
15
Wiring
Wiring está escrito en los lenguajes de programación C y C++. De allí que la sintaxis sea
parecida a la usada en estos lenguajes. La ventaja de usar este framework es la gran
variedad de microcontroladores que soporta, este soporta los microcontroladores atmega
que son los usados por las familias de tarjetas de Arduino.
Por último, al igual que Arduino, wiring cuenta con un IDE basado en Processing donde se
puede realizar la programación de los microcontroladores. Para ello simplemente debemos
ir al sitio web de wiring y descargar este entorno de desarrollo. Está disponible para
Windows, Linux y MAC.
Processing
Lenguaje C/C++
16
Arduino está basado en wiring y este a su vez está basado en C/C++. Por lo cual para
trabajar con proyectos en Arduino debemos tener conocimientos de lenguaje C. Si bien no
se usan todas las funciones de este lenguaje, si se usan los tipos de variables y las
estructuras.
c# (C-Sharp)
En sí, se trata de la biblioteca CmdMessenger, con la que se puede ir más allá de la simple
conexión serial entre el Arduino y la computadora. CmdMessenger puede usarse dentro de
Visual Studio y a través del lenguaje C# poder llamar funciones y mandar y recibir
comandos. En muchos sentidos es un enfoque diferente a los lenguajes para Arduino y
cómo se usan.
MATLAB
Con un paquete de MATLAB puede utilizar MATLAB para comunicarse interactivamente con
una placa Arduino. El paquete le permite realizar tareas como:
17
Python
Python trabaja en general como un intérprete, es posible usarlo para comunicar el
dispositivo a través del puerto serial. Esto se hace de forma muy simple en cualquier
sistema Unix, pero si se usa PC o Mac, entonces PySerial puede ser de mucha ayuda. Se
requiere una copia de Python en la computadora para poder interactuar con el Arduino.
Labview
La interfaz de LabVIEW para Arduino (LIFA) Toolkit es una herramienta gratuita que
se puede descargar desde el servidor de NI (National Instruments) y que permite a los
usuarios de Arduino adquirir datos del microcontrolador Arduino y procesarlos en el
entorno de programación gráfica de LabVIEW
ArduBlock
construido para aquellos que empiezan a programar. En lugar de escribir código aquí se
construyen los programas de forma visual usando bloques que contienen las instrucciones.
Es lo equivalente a Scratch, un lenguaje de bloques creado en el MIT para enseñar a los
niños a programar. Cabe decir que aunque parece un lenguaje de principiantes, puede
18
servir como una introducción a lenguajes ya más sofisticados más adelante.
Minibloq
Es un entorno de desarrollo gráfico para Arduino y otras plataformas. Su objetivo principal
es ayudar en la programación de la enseñanza. Se utiliza especialmente en robótica en
escuelas primarias, intermedias y secundarias.
19
Scratch for arduino
S4A es una modificación de Scratch que permite programar la plataforma de hardware libre
Arduino de una forma sencilla. Proporciona bloques nuevos para tratar con sensores y
actuadores connectados a una placa Arduino. También cuenta con un panel de sensores
similar al de la PicoBoard.
eBlock
20
Es un programa derivado de mBlock 3.4 que permite la programación de diversos
dispositivos, incluido entre ellos Arduino.
Está basado en Scratch, por lo que su manejo puede ser muy sencillo.
BitBloq2
es una plataforma web creada por la empresa española BQ, que nos permite la
programación de Arduino desde el navegador.Bitbloq 2 está recomendado a partir de 8
años
21
--- Comunicaciones
● UART
La comunicación serial entre dos dispositivos se realiza a través del intercambio de
una secuencia de bits, donde se transmite bit a bit, uno por vez, donde, aunque es
lenta la comunicación, tiene la ventaja de poder ser transmitida a mayores distancias
y utilizar menos líneas de comunicación.
● I2C
I2C es un puerto y protocolo de comunicación serial, define la trama de datos y las
conexiones físicas para transferir bits entre 2 dispositivos digitales. El puerto incluye
dos cables de comunicación, SDA y SCL. Además el protocolo permite conectar
hasta 127 dispositivos esclavos con esas dos líneas, con hasta velocidades de 100,
400 y 1000 kbits/s. También es conocido como IIC ó TWI – Two Wire Interface.
Si bien este periférico casi nunca se usa para la comunicación entre dispositivos
PCs, es increíblemente popular entre los módulos y sensores, lo que lo hace útil
para proyectos que requieren muchos componentes trabajando juntos. De hecho,
I2C permite conectar casi hasta 128 dispositivos a tu placa Arduino.
Cuando conectas dos circuitos entre sí, piensa en el dispositivo principal como el
"maestro" y los dispositivos conectados, como sensores, expansiones de pines y
controladores, como "esclavos". I2C hace posible la conexión de múltiples maestros
y esclavos a tu placa, a la vez que mantiene una vía de comunicación clara.
22
El MAESTRO I2C se encarga de controlar al cable de reloj, por sus siglas en inglés
llamada SCL – Serial CLock. Además el MAESTRO se encarga de iniciar y parar la
comunicación. La información binaria serial se envía sólo por la línea o cable de
datos seriales, en inglés se llama SDA – Serial DAta. Dos Maestros no pueden hacer
uso de un mismo puerto I2C. Puede funcionar de dos maneras, como maestro-
transmisor o maestro-receptor. Sus funciones principales son:
● Iniciar la comunicación – S
● Enviar 7 bits de dirección – ADDR
● Generar 1 bit de Lectura ó Escritura – R/W
● Enviar 8 bits de dirección de memoria
● Transmitir 8 bits de datos –
● Confirmar la recepción de datos – ACK – ACKnowledged
● Generar confirmación de No-recepción, NACK – No-ACKnowledged
● Finalizar la comunicación
● SPI
el protocolo SPI que significa Interfaz Periférica Serial. Al igual que I2C, SPI es una
forma diferente de protocolo de comunicaciones en serie especialmente diseñado
para que los microcontroladores se comuniquen entre sí.
----Transductores
● Definición
23
Un transductor se define como aquel dispositivo que es capaz de convertir una
variable física en otra que tiene un dominio diferente. De acuerdo con esta
definición, es posible afirmar que un transductor forma parte de un sensor o de un
actuador; pero la diferencia entre un sensor, un actuador y un transductor radica en
que el transductor simplemente cambia el dominio de la variable, mientras que el
sensor proporciona una salida útil para ser usada como variable de entrada a un
sistema de procesamiento de la información y el actuador se encarga de ejecutar la
acción determinada por el sistema de procesamiento de la información. Por ende, de
manera general, se dice que un transductor cambia la variable física medida a una
señal eléctrica. Entonces, de manera general, se dice que un transductor es capaz
de convertir una variable física en un movimiento, en presión, en flujo, en una señal
eléctrica, etcétera.
http://www.eet476.edu.ar/documentos/Aula%20Virtual/ABBONIZIO-6TM%20(2).pdf
Este dispositivo transforma una magnitud física en una señal eléctrica. Así los
medidores pueden detectar magnitudes físicas como: presión, temperatura,
humedad, entre otras. Y convertirlas en señales eléctricas cuya interpretación es
importante para servicios como pruebas no destructivas.
24
Sensor IR Otro sensor popular es el
sensor IR o infrarrojos.
Este sensor puede ser
usado para detectar
objetos o contrastes. Es
una opción muy usada
para el seguimiento de
líneas o su evitación en la
robótica. El sensor IR
tiene tres pines (Tierra,
Potencia y Señal).
Conecta la clavija de
señal a cualquier clavija
analógica del Arduino.
25
Teclado numérico Un teclado numérico es
otro impresionante sensor
que se puede utilizar con
Arduino para proporcionar
la entrada del usuario.
Aunque no es un sensor
analógico, proporciona
muchas combinaciones
de números, contraseñas
y entradas para Arduino.
-----Conclusiones
● Ventajas y desventajas generales de arduino
Ventajas
● La principal ventaja de Arduino es la facilidad: A la hora de programar chips
electrónicos, cada uno tiene una forma diferente de recibir el código. Arduino
26
simplificó este proceso encargándose de que la programación de sus placas
fuera lo más sencilla posible.
● La fiabilidad: Arduino es un fabricante reconocido y confiable. Cuando pides
una placa a Arduino porque lo has visto en la página web y sus componentes
y características te han interesado, sabes que te va a llegar exactamente el
producto que has pedido, con los componentes concretos, el esquemático
correcto y la documentación al día.
● Abundantes los recursos de aprendizaje: Existen a la venta kits de
aprendizaje que incluyen muchos componentes electrónicos básicos como
resistencias y LEDs. Además, hay infinidad de tutoriales y cursos para
aprender a utilizar cualquier modelo, proyectos de código abierto en los que
basarse o buscar inspiración, buena documentación oficial, foros activos, etc.
● Relativamente bajo consumo de energía: Si bien Arduino no es lo que se
llama Ultra Low Power, al menos consume muchísimo menos que un
Raspberry Pi, haciéndolo aceptable para IoT
Desventajas
● No está diseñado para uso industrial: su uso a nivel industrial se ve limitado
porque trae algunos componentes extra con el propósito de facilitar la tarea
al programador, y otros para dar una flexibilidad que en muchos casos no es
necesaria. En soluciones reales, lo habitual es querer una placa que se
ajuste lo máximo posible a tus necesidades, pero el objetivo principal de
Arduino es la facilidad y el aprendizaje y su diseño está enfocado a estos
aspectos. Arduino no cumple muchos de los requisitos o certificaciones
necesarias para utilizarlos en determinados contextos, como aquellos que
requieren alta tolerancia a fallos o sistemas en los que la seguridad es crítica.
● Programarlos puede resultar más difícil que programar con un sistema
operativo: Su programación es diferente a la programación tradicional dentro
de un sistema operativo, y eso puede resultar difícil de aprender, pero como
ya se ha comentado, abunda la documentación y los recursos de aprendizaje
gratuitos y de calidad.
● Nivel escaso de aprendizaje en términos de electrónica y programación: al
utilizar IDE (el entorno de desarrollo integrado) es un gran apoyo para
controlar el hardware, pero por esta vía los que no tienen muchos
conocimientos sobre programación no aprenden mucho sobre la escritura del
código clásico. En general se da el peligro de no esforzarse en programar
debido a la existencia de bibliotecas listas para usar, y limitar así el posible
radio de acción de forma innecesaria.
● Conclusiones
Como se pudo observar Arduino es una plataforma sencilla de comprender y que
brinda muchas herramientas accesibles para realizar diversos proyectos que
requieren de electrónica. Además de permitir diseñar diversos circuitos gracias a la
entrada y salida de información, su bajo costo hace que sea más llamativo para las
personas que desean realizar su proyecto.
Si bien las placas Arduino han ido creciendo no solo en prestaciones o potencia sino
también en proyectos, historias, polémicas y un sinfín de hechos que hacen que
Arduino sea una gran opción para realizar proyectos de Hardware Libre o
sencillamente, para cualquier proyecto relacionado con la electrónica.
27
Referencias:
[1]Yida (2019) “What is Arduino?: Overview and How to get Started” de Magazine 7.
Sitio web: https://www.seeedstudio.com/blog/2019/12/04/introduction-to-the-arduino-
what-is-arduino/
[2] Techopedia (s/a) “What does Arduino Mean? De Techopedia. Sitio web:
https://www.techopedia.com/definition/27874/arduino
[3] John (2020) “Story and history of development of Arduino” de Circuits Today
https://www.circuitstoday.com/story-and-history-of-development-of-arduino
[5] Arduino.cl (s/a) “Como instalar arduino en Windows” de MCI Electronics. Sitio
web: https://arduino.cl/como-instalar-arduino-en-windows/
[6] Arduino (2021) “Getting Started with Arduino products” de Arduino. Sitio web:
https://www.arduino.cc/en/Guide
[7] El Procus (s/a) “¿Cuáles son los diferentes tipos de Arduino” de Electronics
ElProcus. Sitio web: https://www.elprocus.com/different-types-of-arduino-boards/
[8] Aidan (2018) “Arduino Boards, Compared” de Core Electronics. Sitio we.
https://core-electronics.com.au/tutorials/compare-arduino-boards.html
[12] R. (2020, abril 21). 9 Sensores para Arduino que debes aprender a utilizar.
Descubrearduino.com. https://descubrearduino.com/sensores-para-arduino-que-
debes-aprender-a-utilizar/
[13] Arduino vs Raspberry Pi | ¿Cómo elegir? ¿Para qué sirven? 10 Tips. (2021, 26
julio). Tribalyte Technologies. https://tech.tribalyte.eu/blog-arduino-vs-raspberry-
pi#Ventajas_de_utilizar_Arduino
28
[14]Arduino vs. Raspberry Pi: una comparativa. (2018, 11 junio). IONOS
Digitalguide.https://www.ionos.mx/digitalguide/servidores/know-how/arduino-vs-
raspberry-pi/
[15] Michelone, M. L. (2016, 21 abril). Lenguajes para usarse en la plataforma
Arduino.unocero.https://www.unocero.com/noticias/lenguajes-para-usarse-en-la-
plataforma-arduino/
[16]Arduino Support from MATLAB. (s. f.). Hardware Support - MATLAB & Simulink.
Recuperado 4 de octubre de 2021, de
https://es.mathworks.com/hardware-support/arduino-matlab.html
29