Logo Studenta

Informe 4 - Entradas _ Salidas Analógicas

¡Este material tiene más páginas!

Vista previa del material en texto

LABORATORIO DE CIRCUITOS DIGITALES 
“PRÁCTICA #4: ENTRADAS Y SALIDAS ANALÓGICAS” 
UNIVERSIDAD DE ANTIOQUIA 
FACULTAD DE INGENIERÍA 
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA 
MEDELLÍN – ANTIOQUIA 
2020-1 
INTRODUCCIÓN 
La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width 
modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de 
trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir 
información a través de un canal de comunicaciones o para controlar la cantidad de energía que se 
envía a una carga. 
En la actualidad existen muchos circuitos integrados en los que se implementa la modulación 
PWM, además de otros muy particulares para lograr circuitos funcionales que puedan controlar 
fuentes conmutadas, controles de motores, controles de elementos termoeléctricos, choppers 
para sensores en ambientes ruidosos y algunas otras aplicaciones. Se distinguen por fabricar este 
tipo de integrados, compañías como Texas Instruments, National Semiconductor, Maxim, y 
algunas otras más. 
En el siguiente montaje, se trabaja con el controlador Arduino Uno y se realizan pruebas de PWM 
con leds RGB Y entradas analógicas, donde se analizan los distintos valores que toma cada entrada 
analógica y el PWM respectivamente. 
 
OBJETIVOS 
 Familiarizarse con el hardware y software de la plataforma de desarrollo Arduino. 
 Aprender a utilizar las entradas Analógicas y las salidas PWM de la placa Arduino UNO. 
 Aprender a utilizar la comunicación serial del Arduino. 
 Entender el condicional IF. 
 Controlar el color de un LED RGB. 
 
 
 
 
 
 
 
 
 
 
 
 
MARCO TEÓRICO 
¿QUÉ ES UN CONVERSOR ANALÓGICO DIGITAL (ADC)? 
Un conversor o convertidor de señal analógica a digital (Conversor Analógico Digital, CAD; Analog-
to-Digital Converter, ADC) es un dispositivo electrónico capaz de convertir una señal analógica, ya 
sea de tensión o corriente, en una señal digital mediante un cuantificador y codificándose en 
muchos casos en un código binario en particular. 
Donde un código es la representación unívoca de los elementos, en este caso, cada valor numérico 
binario hace corresponder a un solo valor de tensión o corriente. 
En la cuantificación de la señal se produce pérdida de la información que no puede ser recuperada 
en el proceso inverso, es decir, en la conversión de señal digital a analógica y esto es debido a que 
se truncan los valores entre 2 niveles de cuantificación, mientras mayor cantidad de bits mayor 
resolución y por lo tanto menor información perdida. 
 
¿CUÁNTAS ENTRADAS ANALÓGICAS TIENE EL ARDUINO UNO? 
Arduino cuenta con 6 pines para entradas analógicas los cuales están marcados del A0 al A5. 
Son pines que únicamente se usan como entradas analógicas. Toma valores comprendidos entre 0 
y 1023. 
 
Debemos tener en cuenta que no podemos sobrepasar los límites de voltaje permitidos, es decir, 
si le aplicamos un voltaje que supere 5 voltios en la entrada digital, es posible que la placa se 
queme. También se aplica a voltajes negativos, es por esto por lo que debemos asegurar que el 
voltaje aplicado esté entre el rango de 0 a 5V. 
 
¿QUÉ ES LA RESOLUCIÓN DE UN ADC Y CUÁL ES LA RESOLUCIÓN ADC DEL ARDUINO UNO? 
La señal digital obtenida de una analógica tiene dos propiedades fundamentales: 
Valores: Que valor de voltios define 0 y 1. En nuestro caso es tecnología TTL (0 – 5V) 
Resolución analógica: nº de bits que usamos para representar con una notación digital una señal 
analógica: 
En el caso de un Arduino Uno, el valor de 0 voltios analógico es expresado en digital como 
B0000000000 (0) y el valor de 5V analógico es expresado en digital como B1111111111 (1023). 
Por lo tanto todo valor analógico intermedio es expresado con un valor entre 0 y 1023, es decir, 
sumo 1 en binario cada 4,883 mV. 
 Arduino Uno tiene una resolución de 10 bits, es decir, unos valores entre 0 y 1023. 
 Arduino Due tiene una resolución de 12 bits, es decir, unos valores entre 0 y 4095. 
¿QUÉ ES PWM? 
La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width 
modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de 
trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir 
información a través de un canal de comunicaciones o para controlar la cantidad de energía que se 
envía a una carga. 
El PWM nace de la necesidad de tener varios niveles de tensión a partir de una señal continua, ya 
sea que venga del mundo digital (microcontroladores) o del mundo analógico (una simple «señal» 
de continua) que queremos que «parezca de menos» tensión. 
 
¿CUÁNTAS SALIDAS PWM TIENE EL ARDUINO UNO? 
En Arduino tenemos 6 pines analógicos PWM marcados con el signo de corriente alterna (~), estos 
pines son 11,10, 9, 5, 3. 
La salida analógica PWM toma valores comprendidos entre 0 y 255. 
 
Estos pines de salida se diseñaron para suministrar voltaje, no se diseñaron para entregar 
corriente a un circuito. 
El máximo valor de corriente que puede entregar un pin es de aproximadamente 40mA con lo cual 
nos alcanza para encender un LED. 
Las cargas que se alimentarán no deben superar los 5V o consumir más de 40mA. 
 
¿QUÉ FUNCIONES SE UTILIZAN PARA LEER LAS ENTRADAS ANALÓGICAS Y ESCRIBIR LAS SALIDAS 
PWM DEL ARDUINO? 
Las Salidas PWM (Pulse Width Modulation) permiten generar salidas analógicas desde pines 
digitales. Arduino Uno no posee salidas analógicas puras, sin embargo el Arduino Due sí tiene 
salidas analógicas puras mediante dos DAC. El Arduino Due, posee dos salidas analógicas puras 
mediante dos conversores digital a analógico. Estos pines pueden usarse para crear salidas de 
audio usando la librería correspondiente. 
La función para hacer una salida PWM en un pin es: 
analogWrite() – escribe un valor analógico (onda PWM) al pin especificado. No en todos los pines 
digitales se puede aplicar PWM. 
 
¿QUÉ ES LA COMUNICACIÓN SERIAL DE ARDUINO? 
Arduino tiene una característica muy importante que tiene la habilidad de comunicarse con 
nuestro PC a través de un puerto serie. Esta es la conocida comunicación serial. Este tipo de 
puerto ha quedado en desuso ya que la tecnología USB se ha apoderado de los dispositivos 
electrónicos, Arduino cuenta con un convertidor de Serial a USB para que la placa pueda ser 
reconocida como un dispositivo conectado a un puerto COM a pesar de que la conexión se haga a 
través de un cable USB. 
La interfaz de desarrollo de Arduino nos proporciona una sencilla herramienta que nos permite 
enviar y ver datos que se manejan a través de estos puertos Serie. Este es el Monitor Serial y lo 
tenemos en el menú de herramientas. Esta es la forma más eficiente y sencilla para establecer una 
comunicación serial con nuestro Arduino. 
 
Usando esta ventana podemos enviar o recibir información mediante el puerto serie. Esta ventana 
no se activa si el Arduino está desconectado, es necesario tener una conexión estable y segura 
mediante USB. 
¿QUÉ SON LOS BAUDIOS? 
El baudio (en inglés baud) es una unidad de medida utilizada en telecomunicaciones, que 
representa el número de símbolos por segundo en un medio de transmisión digital.1Cada símbolo 
puede comprender 1 o más bits, dependiendo del esquema de modulación. 
Es importante resaltar que no se debe confundir la velocidad en baudios (baud rate) con la tasa de 
bits (bit rate), ya que cada evento de señalización (símbolo) transmitido puede transportar uno o 
más bits. Solo cuando cada evento de señalización (símbolo) transporta un solo bit coinciden la 
velocidad de transmisión de datos en baudios y en bits por segundo. 
¿QUÉ FUNCIONES SE UTILIZAN PARA ENVIAR Y RECIBIR INFORMACIÓN A TRAVÉS DEL PUERTO 
SERIAL? 
Para poder usar este puerto Serie de Arduino existen varias funciones, estas son: 
 Begin (velocidad): Abre el puerto serie y establece la velocidad.La velocidad de 
conexión (baudios o Baud Rate) es la velocidad que llegan los datos al puerto 
serie. Normalmente se usa 9600bps o 115000bps. 
 available(): Esta función devuelve el estado del buffer del puerto serie y revela si hay 
datos dentro de este. 
 read(): Lee un carácter del buffer. Es importante entender que lee un solo carácter (byte). 
 write(): Escribe caracteres a través del puerto serie. A diferencia de read(), escribe 
tantos caracteres como quieras. 
 print(): Imprime los datos al puerto serie como texto ASCII. 
 println(): Imprime los datos al puerto serie como texto ASCII seguido de un retorno de 
carro (ASCII 13, o ‘\r’) y un carácter de avance de línea (ASCII 10, o ‘\n’). Este 
comando tiene la misma forma que Serial.print (). 
 flush(): Vacía el buffer de entrada de datos. 
 end(): Desactiva la comunicación serie, permitiendo a los pines 0(RX) y 1 (TX) ser usados 
como entradas o salidas digitales. Para volver a activar la comunicación serie, llamar 
la función Serial.begin(). 
 
ELEMENTOS NECESARIOS PARA LA SIMULACIÓN 
 Arduino UNO. 
 Software de Arduino. 
 TinkerCad. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
DESARROLLO DE LA PRÁCTICA 
MONTAJE EN TINKERCAD DEL ESQUEMA PROPUESTO EN LA GUÍA 
 
CÓDIGO Y SIMULACIÓN PARA QUE AL VARIAR EL NIVEL DEL VOLTAJE DE LA ENTRADA A0 
CAMBIE LA INTENSIDAD DE LOS LEDS Y OBSERVAR LOS VALORES A TRAVÉS DEL PUERTO SERIE 
 
 
 
 
 
 
 
 
ENCENDER LED RECIBIENDO ORDENES POR EL MONITOR SERIAL 
 
 
 
 
 
CONCLUSIONES 
 Usar el puerto serial de Arduino es una manera sencilla y efectiva de enviar y recibir 
información a nuestro circuito a través del monitor serial, esto nos permite crear 
funciones y condiciones que dependan del dato ingresado por el monitor serial. 
 Aprender las funciones lógicas y condicionales de Arduino nos ayudan a optimizar 
procesos y componentes en un circuito electrónico, nos permiten desarrollar secuencias 
de código que cumplen varias funciones en pocos renglones. 
 Teniendo en cuenta las prácticas anteriores es importante reconocer que Arduino nos 
brinda muchas facilidades a la hora de montar un circuito electrónico, tiene muchas 
funciones, salidas analógicas y digitales y también a través de su interfaz programable nos 
permite configurar todos sus complementos para poder realizar infinidad de proyectos 
relacionados con la electrónica y otras áreas académicas. 
 
 
CIBERGRAFÍA 
 https://es.wikipedia.org/wiki/Conversor_de_se%C3%B1al_anal%C3%B3gica_a_digital 
 https://www.programoergosum.com/cursos-online/arduino/257-entradas-analogicas-
con-arduino/entradas-
analogicas#:~:text=En%20arduino%20disponemos%20de%206,comprendidos%20entre%2
00%20y%201023. 
 https://aprendiendoarduino.wordpress.com/tag/conversor-analogico-
digital/#:~:text=El%20ADC%20interno%20del%20microcontrolador,num%C3%A9rico%20e
ntre%200%20y%201023 
 https://www.programoergosum.com/cursos-online/arduino/255-salidas-analogicas-pwm-
con-arduino/salidas-analogicas-pwm 
 https://aprendiendoarduino.wordpress.com/2017/10/22/entradas-y-salidas-analogicas-
arduino-pwm/ 
 https://es.wikipedia.org/wiki/Baudio 
 http://panamahitek.com/comunicacion-serial-con-arduino/ 
 http://diymakers.es/usando-el-puerto-serie-del-arduino/

Continuar navegando