Menú English Ukrainian Ruso Inicio

Biblioteca técnica gratuita para aficionados y profesionales. biblioteca técnica gratuita


ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA
biblioteca gratis / Esquemas de dispositivos radioelectrónicos y eléctricos.

Arduino. Operaciones de entrada-salida analógica, trabajo con un sonido. Enciclopedia de radioelectrónica e ingeniería eléctrica.

biblioteca técnica gratuita

Enciclopedia de radioelectrónica e ingeniería eléctrica. / diseñador radioaficionado

Comentarios sobre el artículo Comentarios sobre el artículo

Aunque las operaciones de entrada y salida digitales permiten resolver una amplia gama de problemas, la presencia de un convertidor analógico a digital (ADC) incorporado en el microcontrolador de la placa Arduino y la capacidad de generar señales analógicas mediante modulación de ancho de pulso ( PWM) garantizan el trabajo con sensores analógicos y todo tipo de actuadores, influyendo en el objeto en proporción a la señal de control.

Estrictamente hablando, en el modo de salida, todas las líneas del puerto Arduino solo pueden transmitir señales discretas que tienen solo dos estados. Pero el microcontrolador es capaz de cambiar estos estados muy rápidamente, generando pulsos rectangulares. Si estos pulsos se aplican a cualquier dispositivo que tenga propiedades inerciales, entonces comenzará a comportarse como si el voltaje que se le suministra fuera constante, igual al valor promedio del pulso, y cambiara suavemente, y no con saltos entre alto y bajo. niveles lógicos.

En el modo PWM, el puerto genera una señal de pulso de frecuencia constante y ciclo de trabajo variable (esta es la relación entre el período de repetición de los pulsos y su duración). A menudo, en lugar del ciclo de trabajo, funcionan con su valor inverso: el ciclo de trabajo, que se puede cambiar de 0 (sin pulsos) a 100% (los pulsos se suceden, se fusionan, sin pausas). Por tanto, aunque en un momento dado la tensión de salida corresponda a un nivel lógico alto o bajo, su valor medio es proporcional al ciclo de trabajo. Si conecta un multímetro normal a esta salida, mostrará este valor (por supuesto, si la frecuencia del pulso es lo suficientemente alta).

En Arduino UNO, las salidas D3, D5, D6, D9, D10 y D11 pueden funcionar en modo PWM. Suelen estar marcados en el tablero con los signos "~" o las abreviaturas "PWM". Cabe señalar que las placas Arduino de otras modificaciones pueden tener más o menos salidas de este tipo.

En el caso más sencillo, se puede utilizar PWM para controlar el brillo de un LED. Este dispositivo prácticamente no tiene inercia, pero la visión humana tiene suficiente inercia para que una secuencia de rápidos destellos del LED se perciba como un brillo continuo con un brillo que depende del factor de llenado.

Las salidas discretas capaces de generar PWM están configuradas para usar este modo de forma predeterminada, por lo que no es necesario llamar a la función pinMode() para operarlas en este modo. Para configurar el ciclo de trabajo de una señal PWM, existe una función estándar analogWrite(N, M), donde N es el número de pin, M es un número proporcional al ciclo de trabajo requerido. Debe estar en el rango de 0 a 255, donde 0 corresponde al ciclo de trabajo cero (nivel bajo constante en la salida), 255 - ciclo de trabajo 100% (nivel alto constante en la salida). Los diagramas de tiempo del voltaje de salida a ciertos valores de M y, en consecuencia, el ciclo de trabajo de cortocircuito se muestran en la Fig. 1.

Arduino. Operaciones de E/S analógicas, operaciones de audio
Arroz. 1. Diagramas de tiempo de la tensión de salida

Por ejemplo, considere el que figura en la tabla. 1 programa que aumenta gradualmente el brillo del LED conectado a la salida digital D9, y luego lo disminuye gradualmente. Se basa en el ejemplo estándar 3.AnalogFading que viene con el IDE de Arduino. La enumeración de los valores del ciclo de trabajo del pulso se implementa aquí utilizando los operadores de bucle for ya discutidos en [1].

Tabla 1.

Arduino. Operaciones de E/S analógicas, operaciones de audio

Para recibir señales analógicas de dispositivos externos en Arduino, están previstas las entradas A0-A5, que de forma predeterminada están configuradas en el estado requerido para ello, por lo que no se requiere ninguna inicialización adicional. El ADC integrado en Arduino UNO genera códigos binarios de 10 bits y convierte el voltaje de entrada, que se encuentra en el rango de 0 a +5 V, en un número entero de 0 a 1023 (210-1).

Para leer el resultado de la conversión, utilice la función analogRead(N), donde N es el número de la entrada analógica.

Puede conectar una variedad de sensores a las entradas analógicas de Arduino, cuyo voltaje de salida es proporcional al valor medido (resistencias variables, termistores, fotorresistores, etc.). Sin embargo, hay que recordar que la entrada analógica sólo puede recibir tensión de 0 a +5 V. Si la tensión de salida del sensor se encuentra en un rango diferente o tiene polaridad negativa, primero se debe colocar la señal dentro del rango especificado. rango. La entrada analógica se sondea a una velocidad inferior a 10 kHz [2], lo que puede no ser suficiente para analizar algunas señales que cambian rápidamente.

La presencia de entradas analógicas le permite convertir Arduino en un voltímetro digital simple que mide voltaje CC de 0 a +5 V y transmite el resultado de la medición a la computadora. Para hacer esto, simplemente cargue el programa que figura en la tabla en Arduino. 2.

Tabla 2

Arduino. Operaciones de E/S analógicas, operaciones de audio

Tenga en cuenta que en el programa el voltaje de referencia del ADC Uref (en milivoltios) y el factor de conversión del código de salida del ADC al voltaje Ku se especifican como constantes. El valor del coeficiente se calcula dividiendo el voltaje de referencia dado por 1023. El coeficiente suele ser fraccionario, por lo que la constante Ki es de tipo float (número de coma flotante). La constante Uref tiene el mismo tipo para calcular correctamente el coeficiente. Dado que el lado derecho de la fórmula contiene solo constantes, el coeficiente no lo calcula el microcontrolador al ejecutar el programa, sino el propio compilador en la etapa de traducción.

Todo esto permite aumentar la precisión del voltímetro midiendo con un multímetro el valor exacto del voltaje de referencia en el pin Uref de la placa Arduino y escribiéndolo en el programa, asignándolo a la constante Uref. Puede leer sobre otras formas de mejorar la precisión de la conversión de analógico a digital en [3, 4].

Cuando el programa en cuestión se está ejecutando, el LED TX de la placa parpadea, señalando la transferencia de información a través del puerto serie. El LED RX no está encendido porque la computadora no envía nada. El terminal Arduino IDE incorporado muestra la información recibida (Fig. 2): los resultados de medir el voltaje de una batería galvánica 3332.

Arduino. Operaciones de E/S analógicas, operaciones de audio
Arroz. 2. Ventana del programa

Arduino puede proporcionar no solo señales de luz, sino también de sonido. Para hacer esto, conecte un emisor de sonido piezoeléctrico a una de sus salidas, por ejemplo ZP-1 (Fig. 3).

Arduino. Operaciones de E/S analógicas, operaciones de audio
Arroz. 3. Conexión de un emisor de sonido piezoeléctrico

Para trabajar con sonido, se proporciona una función especial: tono(N, F, T), donde N es el número de pin en el que se generarán los pulsos rectangulares; F - frecuencia del sonido, Hz; T - duración del sonido, ms. El último parámetro es opcional. En su ausencia, el sonido será continuo. Para apagarlo, se proporciona la función noTone(N).

Por supuesto, el emisor de sonido piezocerámico difícilmente puede considerarse un dispositivo de reproducción de alta calidad, y la señal generada por el microcontrolador tiene una forma rectangular, sin embargo, el uso de estas funciones le permite reproducir melodías simples. En la tabla se da un ejemplo. 3. Este es un ejemplo de programa ligeramente modificado 02.Digital oneMelody, incluido en el IDE de Arduino. Dado que es inconveniente configurar manualmente la frecuencia de cada nota de una melodía, el archivo pitches.h se adjunta al programa en su encabezado usando la directiva #include. Esta operación equivale a incluir el texto completo de este archivo en el programa. En este caso contiene una lista de los nombres de las notas que se pueden tocar y sus frecuencias.

Tabla 3

Arduino. Operaciones de E/S analógicas, operaciones de audio

El emisor de sonido debe estar conectado a la salida D8.

Para un programa, una melodía es una secuencia de constantes del mismo tipo (valores de frecuencia), que se combinan convenientemente en una matriz: una lista numerada de elementos del mismo tipo. Al declarar una matriz, debe enumerar todos sus elementos o indicar su número total. Tenga en cuenta que la numeración de los elementos de la matriz siempre comienza desde cero.

En el ejemplo que estamos considerando, se utilizan dos matrices: int melody[] contiene los nombres de las notas de la melodía, int note Durations[] - su duración en milisegundos. Para hacer referencia a un elemento de matriz, indique su nombre con un número de serie entre corchetes. Para poder cambiar fácilmente el número de notas de una melodía, se calcula utilizando las funciones sizeof(V), que devuelven el número de bytes que ocupa su argumento (variable o conjunto de ellos) en la memoria del microcontrolador. En este caso, la matriz de melodía ocupa 16 bytes y la longitud de sus elementos int es de dos bytes. Por lo tanto, la variable Nota recibe el valor 8 y esta es la cantidad de veces que se repetirá el cuerpo del bucle for, tocando una a una las notas.

Si agrega más de una nota a la matriz melodía[], el valor de la nota cambiará en consecuencia. Sólo necesitas recordar agregar la matriz noteDurations[] con las duraciones de estas notas.

Dado que la melodía se ejecuta solo una vez, todas las operaciones necesarias se colocan dentro de la función setup().

Para volver a ejecutar, debe restablecer el microcontrolador a su estado original presionando el botón RESET ubicado en la placa Arduino.

Los programas para Arduino discutidos en el artículo se pueden descargar desde ftp://ftp.radio.ru/pub/2016/09/aninout.zip.

Literatura

  1. Lekomtsev D. Arduino. Operaciones de entrada/salida digital. - Radio, 2016, n° 8, pág. 51-54.
  2. Medidas analógicas con Arduino. - URL: robotosha.ru/arduino/analog-measurements-arduino.html.
  3. Referencia del lenguaje Arduino. E/S analógicas: referencia analógica(). - URL: arduino.cc/en/Reference/AnalogReference.
  4. función analogReference(). - URL: arduino.ru/Reference/AnalogReference.

Autor: D. Lekomtsev

Ver otros artículos sección diseñador radioaficionado.

Lee y escribe útil comentarios sobre este artículo.

<< Volver

Últimas noticias de ciencia y tecnología, nueva electrónica:

Máquina para aclarar flores en jardines. 02.05.2024

En la agricultura moderna, se están desarrollando avances tecnológicos destinados a aumentar la eficiencia de los procesos de cuidado de las plantas. En Italia se presentó la innovadora raleoadora de flores Florix, diseñada para optimizar la etapa de recolección. Esta herramienta está equipada con brazos móviles, lo que permite adaptarla fácilmente a las necesidades del jardín. El operador puede ajustar la velocidad de los alambres finos controlándolos desde la cabina del tractor mediante un joystick. Este enfoque aumenta significativamente la eficiencia del proceso de aclareo de flores, brindando la posibilidad de un ajuste individual a las condiciones específicas del jardín, así como a la variedad y tipo de fruta que se cultiva en él. Después de dos años de probar la máquina Florix en varios tipos de fruta, los resultados fueron muy alentadores. Agricultores como Filiberto Montanari, que ha utilizado una máquina Florix durante varios años, han informado de una reducción significativa en el tiempo y la mano de obra necesarios para aclarar las flores. ... >>

Microscopio infrarrojo avanzado 02.05.2024

Los microscopios desempeñan un papel importante en la investigación científica, ya que permiten a los científicos profundizar en estructuras y procesos invisibles a simple vista. Sin embargo, varios métodos de microscopía tienen sus limitaciones, y entre ellas se encuentra la limitación de resolución cuando se utiliza el rango infrarrojo. Pero los últimos logros de los investigadores japoneses de la Universidad de Tokio abren nuevas perspectivas para el estudio del micromundo. Científicos de la Universidad de Tokio han presentado un nuevo microscopio que revolucionará las capacidades de la microscopía infrarroja. Este instrumento avanzado le permite ver las estructuras internas de las bacterias vivas con una claridad asombrosa en la escala nanométrica. Normalmente, los microscopios de infrarrojo medio están limitados por la baja resolución, pero el último desarrollo de investigadores japoneses supera estas limitaciones. Según los científicos, el microscopio desarrollado permite crear imágenes con una resolución de hasta 120 nanómetros, 30 veces mayor que la resolución de los microscopios tradicionales. ... >>

Trampa de aire para insectos. 01.05.2024

La agricultura es uno de los sectores clave de la economía y el control de plagas es una parte integral de este proceso. Un equipo de científicos del Consejo Indio de Investigación Agrícola-Instituto Central de Investigación de la Papa (ICAR-CPRI), Shimla, ha encontrado una solución innovadora a este problema: una trampa de aire para insectos impulsada por el viento. Este dispositivo aborda las deficiencias de los métodos tradicionales de control de plagas al proporcionar datos de población de insectos en tiempo real. La trampa funciona enteramente con energía eólica, lo que la convierte en una solución respetuosa con el medio ambiente que no requiere energía. Su diseño único permite el seguimiento de insectos tanto dañinos como beneficiosos, proporcionando una visión completa de la población en cualquier zona agrícola. "Evaluando las plagas objetivo en el momento adecuado, podemos tomar las medidas necesarias para controlar tanto las plagas como las enfermedades", afirma Kapil. ... >>

Noticias aleatorias del Archivo

Ecos de un antiguo terremoto 28.11.2001

Como ha demostrado un grupo de sismólogos franceses y suizos, en la zona de Basilea (Suiza) aún se pueden captar los ecos de un terremoto de 6-6,5 puntos de potencia ocurrido aquí el 18 de octubre de 1356.

Se sabe por las crónicas medievales que la ciudad sufrió grandes daños en ese momento, y alrededor de ella fueron destruidas tres docenas de castillos de caballeros. Sismógrafos delgados y ahora notan pequeños temblores. Al sur de Basilea, los geólogos han encontrado una zona de falla activa, que en el futuro puede causar terremotos cada año y medio o dos años y medio. Durante los últimos 8500 años, esta área se ha elevado 180 centímetros debido a los procesos tectónicos.

El próximo terremoto aquí ocurrirá no antes de mil años, pero los expertos ya están recomendando el desarrollo de nuevos estándares de seguridad para las plantas de energía nuclear y químicas locales.

Otras noticias interesantes:

▪ Bolsos Louis Vuitton con pantallas AMOLED

▪ Nubia Red Magic 3 es un smartphone con ventilador

▪ telescopio satélite más pequeño

▪ Terapia de choque pulsera inteligente

▪ Paneles solares de materias primas baratas

Feed de noticias de ciencia y tecnología, nueva electrónica

 

Materiales interesantes de la Biblioteca Técnica Libre:

▪ sección del sitio Transporte personal: terrestre, acuático, aéreo. Selección de artículos

▪ artículo Cisne, Cáncer y Lucio. expresión popular

▪ artículo ¿Qué es el bobsleigh? Respuesta detallada

▪ artículo Camellia eugenolus. Leyendas, cultivo, métodos de aplicación.

▪ artículo Baliza LED. Enciclopedia de radioelectrónica e ingeniería eléctrica.

▪ artículo Pinout de transistores bipolares y de efecto de campo comunes. Enciclopedia de radioelectrónica e ingeniería eléctrica.

Deja tu comentario en este artículo:

Nombre:


Email opcional):


comentar:





Todos los idiomas de esta página

Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio

www.diagrama.com.ua

www.diagrama.com.ua
2000 - 2024