viernes, 1 de mayo de 2020

Arduino intro


Introducción:


Actualmente el hardware es de suma importancia, son elementos que hacen que las computadoras, maquinas, funcionen correctamente.  Una parte de ese hardware son los circuitos, estos son el núcleo, nos ayudan a transferir información, enviar documento, tomar fotografías y satisfacer las múltiples necesidades tecnológicas de muchos usuarios.
Arduino es una plataforma de hardware libre diseñada para facilitar el uso de la electrónica, para conocer circuitos se realizó la siguiente investigación, también se generaron dos prácticas utilizando Arduino.






Desarrollo:

Antes de comenzar con las prácticas, revisaremos los siguientes conceptos principales:  

     ¿Qué es Arduino?

Es una plataforma de electrónica, se puede utilizar para desarrollar elementos autónomos, conectarse a otros dispositivos o interactuar con otros programas, por medio de hardware o software. Está basada en una pequeña placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.
La plataforma es de código abierto y se inició en el año 2005 como un proyecto para estudiantes en el IVREA (Italia).



        ¿Cuáles son las partes que componen una tarjeta Arduino UNO?
Los componentes de una tarjeta Arduino UNO, son:

·         Conector de Adaptador
Se utiliza para cargar electrónicamente la placa mediante un cable de corriente eléctrica.

·         Puerto USB
Se utilizará para cargar a través de un cable USB conectado a un ordenador o un cable de corriente eléctrica, con su respectivo adaptador. La conexión USB también se utilizar para cargar código en la placa Arduino.

·         Botón de reinicio
En caso de utilizar este botón, se conectará temporalmente el pin de reset a tierra, de esta manera se reiniciará cualquier código que se carga en el Arduino.


·         LEDs RX TX
TX: transmisión, RX: recepción. En la Arduino UNO existen dos lugares, donde aparecen TX y RX; el primero, en los pines digitales 0 y 1, y el segundo junto a los indicadores LED de TX y RX.


·         Pines (5V, 3.3V, GND, Análogo, Digital, PWM, AREF)
Los pines en la placa Arduino es donde se conectan los cables de un circuito.

·         GND
Hay varios pines GND en el Arduino, estos pueden ser utilizados para conectar a “tierra” el circuito.

·         5V y 3.3V:
Son los suministros pin 5V=5 voltios de energía y los suministros de pin 3.3V = 3.3 voltios de potencia.

·         Analógico:
Estos pines pueden leer la señal de un sensor analógico y convertirlo en un valor digital.

·         Digital:
Para la tarjeta UNO de Arduino, los pines digitales son del 0 al 13.

·         PWM:
Los pines (3, 5, 6, 9, 10 y 11) actúan como pines digitales normales, pero también se pueden usar para algo llamado Pulse Width Modulation (PWM).
Este PWM o Modulación de ancho de pulsos, es un sistema de control o técnica, basado en la variación de frecuencia de una señal de voltaje.

·         AREF:
Soportes de referencia analógica, son pocas veces las que se utiliza y esto para establecer una tensión referencia externa (entre 0 y 5 voltios) como el límite superior para los pines de entrada analógica.

·         Indicador LED de alimentación
Este LED se enciende cada vez que conecta la placa Arduino a una toma eléctrica. 

·         Microcontrolador
Es el núcleo de la tarjeta Arduino UNO.

·         Regulador de Voltaje
El regulador de voltaje en la tarjeta Arduino UNO convierte el voltaje de alimentación al voltaje de elementos electrónicos, principalmente para microcontrolador.
Se recomienda utilizar una fuente de alimentación de entre 6 y 12 voltios, más podría dañar la tarjeta.




¿Qué es un microcontrolador?

Un microcontrolador es un dispositivo electrónico capaz de llevar a cabo procesos lógicos para desempeñar una tarea específica. Esta tarea o actividad debe ser programada por el usuario, a través de un lenguaje de programación.
Dentro de los microcontroladores existen dos arquitecturas básicas de hardware.

        Von Neumann
Se caracteriza por tener una memoria única para los datos y las
instrucciones del programa. A dicha memoria se accede a través de un sistema de buses único (control, direcciones y datos).

       Harvard
Este modelo tiene la unidad central de proceso (CPU) conectada a dos memorias, una con las instrucciones y otra con los datos, por medio de dos buses diferentes. Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa) y la otra sólo almacena datos (Memoria de Datos).
    ¿Qué se puede hacer con Arduino?

Debido a que es código abierto y extensible permite a los usuarios adaptarla a sus necesidades. Es muy utilizada en el ámbito educativo para introducirse en la programación y robótica, derivado de su bajo costo y a que se ejecuta en diferentes sistemas operativos es accesible.
Se pueden realizar un sinfín de proyectos relacionados con la tecnología, desde los programas más sencillos hasta drones.

    ¿Qué son las entradas digitales?

Las entradas digitales permiten recibir señales de voltaje. Un microcontrolador reconocerá un HIGH o “encendido” cuando se aplique más de cierto número de voltios, a un terminal configurado como entrada digital, de lo contrario, el microcontrolador reconocerá el estado lógico como LOW o “apagado”.
Las entradas digitales no reconocen niveles de voltaje solo aceptan valores HIGH o LOW.

   ¿Qué son las salidas digitales?

Las salidas digitales son las terminales de un microcontrolador, están diseñadas para entregar señales de voltaje, estas señales le darán funcionalidad a un circuito electrónico que será el encargado de cumplir con las funciones que el usuario requiera.
La mayoría de las veces las terminales de salidas son las mismas que las terminales de entrada, solo se debe establecer en la programación que función cumplirá determinada terminal en cierto momento.


    Explica los pines de la placa Arduino UNO

Podemos dividir los pines de la tarjeta Arduino UNO, de la siguiente manera:

·         PINES DE ENTRADA Y SALIDA
De los 14 pines digitales que tiene la tarjeta Arduino UNO, todos pueden ser utilizados de entrada y salida, dependerá de la programación que se realicé y como se definan los pines.

·         PINES PWM
Los pines 3,5,6,9,10,11 están preparados para brindar una salida de PWM de ocho bits mediante la función analogWrite().

·         INTERRUPCIONES EXTERNAS
Los pines 2 y 3 son generalmente utilizados para generar interrupciones externas, de las que se conocen como interrupciones de hardware.

·         PINES DE COMUNICACIÓN SPI
La tarjeta Arduino UNO cuenta con cuatro pines que soportar la comunicación mediante SPI. Los pines que pueden realizar esta tarea son: 10,11,12,13.

·         PIN 13
Este pin es el único que tiene un led conectado en serie a la entrada, sirve para probar mediante el brillo de un led.

·         PIN AREF
Este pin mantiene una tensión de referencia, es útil para realizar conversiones analógicas a digitales.




Una vez que revisamos los conceptos, pondremos en practica como funciona la tarjeta Arduino, para eso utilizaremos el simulador online llamado Tinkercad Circuits.


Práctica 1


1.       Una vez que generé mi cuenta, seleccioné la opción “Circuits”, del menú de lado izquierdo.





2.       Esta pantalla se muestra una vez que di click en la opción “Crear nuevo Circuito” de la figura anterior, en esta pantalla se visualiza en el menú de lado derecho, los diferentes componentes que puedes incorporar en tu proyecto.





3.       Seleccioné para la práctica la Tarjeta Arduino Uno y di click en el botón de “Código”, se muestra la configuración de mi componente.





4.       Ya que visualicé la configuración de mi componente, seleccioné la opción de texto para ver el código y de esta manera poder modificarlo.




5.       Para la práctica 1, a parte de la tarjeta Arduino se necesitaron otros componentes como resistencias y leds. En cuanto se ubican en el menú derecho solo se arrastran al área de trabajo. Para la práctica se utilizarán 3 resistencias y 3 leds, las resistencias se configuran a 330 ohmios Ω.




6.       Una vez que tengo los componentes en mi área de trabajo, realicé las conexiones: del led a alguno de los pines de la terminal ánodo y el cátodo hacia la resistencia, así mismo la resistencia hacía el pin GND.




7.       Teniendo las conexiones se modifica el código. Se agregan los pines de entrada en la sección de void setup () y en la sección void loop() se especifica el orden para encender los led, así como el tiempo de encendido.











8.  La práctica consistía en 3 leds, primero se encendía el led de la izquierda, continuaba el led de en medio y después el led de la derecha, el tiempo en que permanecían encendidos es 1000 milisegundos, sin embargo, agregué 3 leds más a la práctica, estos los acomodé en la parte de abajo.

El orden en el cual encienden es el siguiente:
                   I.        Led izquierdo superior (8)
                  II.         Led izquierdo inferior (5)
                III.        Led medio superior (7)
                IV.        Led medio inferior (4)
                 V.         Led derecho superior (6)
                VI.        Led derecho inferior (3)
              VII.         Led derecho inferior (3)
             VIII.        Led derecho superior (6)
                IX.        Led medio inferior (4)
                 X.         Led medio superior (7)
                XI.        Led izquierdo inferior (5)
              XII.         Led izquierdo superior (8)


El código es el siguiente:

void setup()
{
  pinMode(8, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(3, OUTPUT);
}

void loop()
{
  digitalWrite(8, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(4, LOW);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(4, LOW);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, HIGH);
  digitalWrite(5, LOW);
  digitalWrite(4, LOW);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(4, LOW);
  digitalWrite(3, HIGH);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(4, LOW);
  digitalWrite(3, HIGH);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, HIGH);
  digitalWrite(5, LOW);
  digitalWrite(4, LOW);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(4, LOW);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(8, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
  digitalWrite(4, LOW);
  digitalWrite(3, LOW);
  delay(500);
}





 Practica 2



1.       En esta pantalla se muestra los diferentes componentes para mi práctica 2.  
                   I.Tarjeta Arduino
                  II.Dos leds
                III.Dos resistencias




2.  Se generan las conexiones, el led-ánodo al pin el led-cátodo a la resistencia; la resistencia al pin GND.




3.  Se generan las conexiones, el led-ánodo al pin el led-cátodo a la resistencia; la resistencia al pin GND.




4.    Realizadas las conexiones, se modifica el código de acuerdo con las necesidades. Se agregan los pines de entrada en la sección de void setup () y en la sección void loop() se especifica el orden para encender los leds, así como el tiempo de encendido.



5.       Agregué a la practica dos leds y dos resistencias para hacerla un poco más compleja.
El orden en el cual encienden es el siguiente:
                   I.        Led (13)
                  II.         Led (12)
                III.        Led (11)
                IV.        Led (13)
                 V.         Led (10)
                VI.        Led (9)
Con una duración de 500 milisegundos en cada encendido.

El código de la práctica 2, es el siguiente:
void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
}

void loop()
{
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(500);
  digitalWrite(12, HIGH);
  delay(500);
  digitalWrite(12, LOW);
  delay(500);
  digitalWrite(11, HIGH);
  delay(500);
  digitalWrite(11, LOW);
  delay(500);
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(500);
  digitalWrite(10, HIGH);
  delay(500);
  digitalWrite(10, LOW);
  delay(500);
  digitalWrite(9, HIGH);
  delay(500);
  digitalWrite(9, LOW);
  delay(500);
}





Conclusiones:

·  El simulador de Tinkercad es muy interesante, accesible, amigable con el usuario; hubo un día en el cual, al intentar ejecutar mi práctica, me envió un mensaje referente a que no se podía establecer contacto con el servicio, pero en unas horas se solucionó, sin duda continuaré utilizándola.
·      Las prácticas fueron sencillas, pero entendí varios conceptos con ellas.
·  Los instructores de los videos dieron una explicación concreta y fácil de entender.


Referencias Bibliográficas:

-       Cuaderno de apuntes de Soporte Técnico UNAM.
-       ¿Qué es un microcontrolador? Extraído el 29 de abril de 2020 de:
-       Para qué sirve Arduino. Extraído el 29 de abril de 2020 de:


No hay comentarios:

Publicar un comentario