Clase 5 Entradas y salidas analógicas PDF

Title Clase 5 Entradas y salidas analógicas
Author Josselin Andrea Osorio Ponce
Course Sistemas De Información
Institution Universidad Católica de Honduras
Pages 5
File Size 425.1 KB
File Type PDF
Total Downloads 62
Total Views 140

Summary

resumen sencillo de video de aplicación...


Description

Clase 5

Programar en Arduino Entradas y salidas analógicas Síntesis En esta clase veremos cómo interactuar con las entradas y salidas Analógicas presentes en la placa Arduino. Conoceremos qué es PWM, como leer pulsadores y que son los circuitos pull-up y pull-down y cómo usarlos.

Entradas analógicas Como vimos en la clase anterior, las entradas analógicas nos permiten leer datos de señales analógicas. Para poder leer valores analógicos, Arduino realiza una equivalencia de estos valores. En el caso de la placa Arduino UNO, tiene una resolución de 10 bits, esto significa que podemos tener 1024 valores distintos. Esto significa que, si tenemos una señal analógica que va de 0V a 5V, su equivalente digital sería de 0 a 1023(el 0 cuenta como un valor, por este motivo en total son 1024 valores). Por lo tanto, si realizamos el siguiente cálculo: 5V/1024 unidad = 0,0048 V por unidad Si tenemos una lectura de 620 unidades, implica que tenemos una tensión de 2,976V. Para obtener este dato debemos realizar el siguiente cálculo: 620*0,0048V = 2,976V. Para interactuar con las entradas analógicas, utilizaremos el comando analogRead(). Su sintaxis es: analogRead(pin); pin: es el pin analógico al cual queremos hacer la lectura. Puede tener los valores A0 a A5. A diferencia de digitalRead(), no es necesario utilizar pinMode() para indicar si es salida o entrada, ya que solo disponemos entradas analógicas. Para poder entender cómo hacer uso de estas entradas, utilizaremos un potenciómetro.

Programar en Arduino| 1

¿Qué es un potenciómetro? Un potenciómetro es una resistencia variable mecánica. Posee 3 terminales y un cursor que puede ser manipulado por el usuario. El funcionamiento básico es equivalente a un divisor resistivo.

Potenciómetro

Divisor resistivo

Podemos ver que hay una similitud a simple vista. ¿En qué se diferencian entonces? Básicamente en que el divisor resistivo es fijo y el potenciómetro puede variar. En el siguiente video podemos ver una explicación de lo que es un divisor resistivo. [https://www.youtube.com/watch?v=peotIwhL2cs] Con este video veremos una explicación de lo que es y cómo funciona un potenciómetro. [https://www.youtube.com/watch?v=jK19wTFrMCU]

Cómo conectar el potenciómetro y usarlo en Arduino Como el potenciómetro nos permite tener valores continuos, podemos hacer lecturas de valores con las entradas analógicas. En el siguiente video podemos ver cómo utilizar el potenciómetro con Arduino. [https://www.youtube.com/watch?v=UjdgsVr1erQ]

Salidas Analógicas Como vimos en la clase 1 dentro del conjunto de pines digitales tenemos unos pines que están indicados con el símbolo ∽ . Los pines que están indicados con ese símbolo son 3, 5, 6, 9, 10, 11, en el Arduino UNO.

Programar en Arduino| 2

Anteriormente dijimos que el arduino no posee salidas analógicas, y no las tiene, ya que es un componente digital. Entonces, ¿por qué el título de esta sección es salidas analógicas? Básicamente lo que tenemos son salidas PWM (pulse Width Modulation o Modulación por ancho de pulso) que nos permiten tener un equivalente analógico. En el siguiente video veremos una explicación del PWM. [https://www.youtube.com/watch?v=zuoAmmZn-LM] La manera de poder usar esta salida “analógica” es similar a una salida digital. Debemos configurar el pin como salida en el bucle setup, al igual que una salida digital. Recordemos la sintaxis: pinMode(pin, OUTPUT); Una vez configurado el pin como salida ya podremos usarlo como salida analógica con el siguiente comando: analogWrite(pin, valor); pin: es la salida que elijamos. Recordemos que solo pueden ser usados los pines 3, 5, 6, 9, 10, 11. valor: es el valor que vamos a tener en la salida. A diferencia de las entradas analógicas que pueden leer valores de 0 a 1023, la salidas PWM pueden entregar valores de 0 a 255 ( un total de 256 valores) Un ejemplo del circuito PWM es un led que queremos variar su intensidad. El circuito es el siguiente:

Programar en Arduino| 3

y el código es el siguiente: int pinLed = 5; //Explicación 1 int brillo = 0; //Explicación 1 int pasosBrillo= 3; //Explicación 1 void setup() { pinMode(pinLed, OUTPUT); //Explicación 2 } void loop() { analogWrite(pinLed, brillo); //Explicación 3 brillo = brillo + pasosBrillo; //Explicación 4 if (brillo = 255) { //Explicación 5 pasosBrillo= -pasosBrillo; } delay(100); //Explicacion 6 } Recordemos que // implica que lo que está a continuación es un comentario. En este caso es un comentario a Uds. donde podemos ver la explicación de cada parte del código. Una aclaración importante para hacer sobre los comentarios es que podemos usar caracteres especiales como ñ o tildes, ya que los comentarios son ignorados por el compilador al momento de grabar el programa en el Arduino. Pero dentro del código no podemos usar acentos ni la letra ñ, ya que esto presentará errores al momento de compilar. Explicación 1: En este bloque podemos ver que definimos el pin 5 como pinLed e iniciamos la variable brillo en 0 y pasosBrillo en 3. brillo va a contener el valor del brillo que vamos a usar en el comando analogWrite. pasosBrillo va a contener el valor de “los pasos” en el que vamos a incrementar o decrementar la intensidad del led. Explicación 2: En esta línea definimos pinLed como salida. Explicación 3: Aquí “escribimos” en ledPin el valor que tenemos en brillo. Recordemos que el bloque loop se repite constantemente mientras el Arduino esté encendido. Por lo que, en un primer instante, brillo tendrá un valor de 0. Explicación 4: En esta línea incrementamos el valor de brillo en un “paso”, que tenemos definido en la variable pasosBrillo. En este punto brllo vale 3 en un primer instante Explicación 5: En este bloque if, lo que queremos es verificar que la variable brillo no tenga un valor mayor a 255 o menor a 0. En el caso de que brillo sea menor a 0, la variable pasosBrillo tendrá un valor positivo. Con esto lograremos que el Led se vaya prendiendo. En el caso de brillo sea

Programar en Arduino| 4

mayor a 255, pasosBrillo será negativo y con esto veremos como el Led se va apagando. Explicación 6: Esta línea genera un retardo de 100 milisegundos antes de volver a iniciar el bucle loop. Esto modificará con la velocidad que se vaya prendiendo o apagando el led. Pueden copiar el circuito y el código en su cuenta de Tinkercad y probar cómo se comporta el led, realizando modificaciones al código

Lo que aprendimos en esta clase En esta clase conocimos las entradas analógicas y cómo usarlas. Aprendimos que es un potenciómetro y como utilizarlo con las entradas analógicas. Además, conocimos las salidas “analógicas” en realidad son salidas PWM y vimos cómo podemos utilizarlo para atenuar o incrementar valores en las salidas.

Programar en Arduino| 5...


Similar Free PDFs