Detección de frecuencia Arduino (1 / 4 paso)

Paso 1: Detección de inclinación de la señal

Primero queria experimentar con detección de pico, así que escribí un pedazo de código (abajo) produce una señal de alto cuando la señal de audio entrante tiene una pendiente positiva y una señal baja las salidas cuando la señal de audio entrante tiene una pendiente negativa.  Para una onda senoidal simple, esto generará una señal con la misma frecuencia que la onda senoidal y un ciclo de deber del 50% (una onda cuadrada).  Así, las cumbres siempre se encuentran donde cambia la onda del pulso entre los Estados altos y bajos.

A continuación se reproduce la parte importante del código.  De este código se lleva a cabo en el ADC interrumpir (interrupciones y corre cada vez un nuevo análogo valor está listo de A0, más información sobre qué interrupciones están y por eso utilizamos los pueden encontrar aquí)

prevData = newData; valor anterior //store
newData = ADCH; //get valor de A0
Si (newData > prevData) {//if pendiente positiva
PORTB | = B00010000; //set pin 12 alto
}
else if (newData < prevData) {si pendiente negativa
PORTB & = B11101111; //set pin 12 bajo
}

Debo señalar aquí que en este tutorial utilizo directa manipulación puerto para apagar y encender el pin de salida (pin 12) de Arduino.  Lo hice porque la manipulación puerto es una forma mucho más rápida de abordar los pines de Arduino que el comando digitalWrite().  Ya que tenía que poner todo el código anterior dentro de una rutina de interrupción que se iba a 38,5 kHz, necesitaba el código tan eficiente como sea posible.  Usted puede leer más información sobre Puerto de manipulación en la Web de Arduino, o ver los comentarios que he escrito arriba para entender lo que hace cada línea.  Usted notará también en el código siguiente que utilicé algunos comandos desconocidos en la función setup() que he podido conseguir las entradas analógicas del Arduino a muestra a una frecuencia alta.  Información puede encontrarse en mi tutorial de Arduino de audio.

Figura 1 muestra el resultado del pulso en azul y la onda senoidal en amarillo en un osciloscopio.  Aviso cómo el pulso de la salida cambia cada vez que la onda senoidal alcanza un máximo o mínimo.  La Fig 2 muestra el pulso de salida en azul para una forma de onda arbitraria en amarillo.  Observe aquí cómo onda del pulso en un ciclo de trabajo irregular debido a que la señal de entrada (amarilla) es mucho más complicada que una onda senoidal.

			

          

Artículos Relacionados

Detección de frecuencia confiable que utilizando técnicas de DSP

Detección de frecuencia confiable que utilizando técnicas de DSP

precisión de frecuencia de detección es importante para muchos proyectos como afinadores de guitarra y Piano, analizadores de vibraciones, monitores de ritmo cardíaco, MEMs Sensor de análisis e instrumentos de laboratorio.Ha habido muchos ejemplos de
Arduioscillo-el generador de frecuencia Arduino voltímetro

Arduioscillo-el generador de frecuencia Arduino voltímetro

¿Qué hago?   El propósito de este proyecto es crear un generador de frecuencia voltímetro asequible y práctico con materiales ahí en su banco de trabajo. Este enlace te llevará a mi youtube video explicando el dispositivo http://www.youtube.com/watch
Detección mediante sensor Arduino y llama de fuego

Detección mediante sensor Arduino y llama de fuego

Sensor de llama está integrada a arduino para detectar la llama. LED y zumbador son conectado a arduino para indicar la llama.Componentes de hard ware necesarios:-1) sensor llama (salida analógica)Arduino 2)3) tablero de pan4) LEDZumbador 5)6) cables
Detección de incendios - Arduino y LEGO Mindstorms del bosque

Detección de incendios - Arduino y LEGO Mindstorms del bosque

Este proyecto tiene los siguientes componentes:Arduino A: Detecta el fuego y el agua (el uso del agua se explica en el video)B: de Arduino Te dice la distancia entre el objeto o fuego y el propio proyecto.LEGO Mindstorms: Permite el proyecto mobile-l
Algoritmo de detección de Pitch de Arduino (usando AMDF)

Algoritmo de detección de Pitch de Arduino (usando AMDF)

Última actualización: 16 de enero de 2016 (añadido recientemente un código de matlab mejora (step7) con muestras y un montón de notas)Prólogo: Este Instructable es escrito en un estilo para mostrar cómo analizado, probado, implementado y había optimi
Guitarra brillante cambia de Color

Guitarra brillante cambia de Color

En el Reino del rock and roll es importante establecer uno mismo aparte. Con millones de personas en este mundo que pueden tocar la guitarra, simplemente jugando bien no va a cortar. Usted necesita algo extra para levantarse como un Dios del rock. Co
Trazar datos de Arduino

Trazar datos de Arduino

Arduino no tiene mucho en términos de capacidad de análisis y depuración incorporada, así que puede ser muy útil tener un centro de datos que se enviaron sobre el puerto serie de Arduino.Hay varias formas de hacer eso incluyendo procesamiento, Python
Luces de Navidad Musical accionado Arduino

Luces de Navidad Musical accionado Arduino

después de explorar la Web de Instructables he encontrado unos pocos proyectos que enarboló mi interés y los que me llevan a pensar, podría hacer algunas luces de Navidad musical. Mayoría de lo que gasté mi tiempo en vino de Instructable de Amanda Gh
Sintonizador de la guitarra de Arduino

Sintonizador de la guitarra de Arduino

Construir su propio sintonizador de guitarra eléctrica utilizando el Arduino! Decidí hacer esto porque quería experimentar con entrada de audio y detección de frecuencia. Usé el método de Amanda Ghassaei para la detección de frecuencia de Arduino par
Crear tu propio juego de Simon Says y Arduino DIY Electro masa!

Crear tu propio juego de Simon Says y Arduino DIY Electro masa!

Para empezarEl objetivo de este Instructable es convertir a la masa del electro en un botón capacitivo del tacto con Arduino utilizando la librería de arduino CapSense y luego usarlo para crear un Simon Says juego. Utilizaremos un botón de arranque c
Detector de frecuencia usando PIC 12F683 procesador

Detector de frecuencia usando PIC 12F683 procesador

este proyecto describe el hardware y el software que he desarrollado y que permite a un microprocesador de 8 bits pequeño PIC funcionar como un detector de frecuencia única o decodificador de tono.Tal circuito puede utilizarse para detectar la presen
Cambia Tracker

Cambia Tracker

He decidido darle tal título tras darse cuenta de cómo los cambios en la vida son importantes. Afortunadamente, en el mundo de la electrónica, estos cambios se pueden cuantificar y también pueden ser utilizados en sistemas de control. Este instructab
Movimiento accionada sistema remoto DSLR

Movimiento accionada sistema remoto DSLR

He aquí, un movimiento de largo alcance disparado sistema remoto DSLR! Construir un dispositivo que automáticamente toma fotos de objetos en movimiento cuando no estás alrededor. Es la configuración de fotografía de vida silvestre independiente perfe
Timbre de la puerta a través de vidrio

Timbre de la puerta a través de vidrio

Enlace al video, como no aparece en todas partes: http://www.youtube.com/watch?v=K7FI8O0eBBI¿Cómo lanzáis un timbre a través de un panel de vidrio? Definitivamente no es imposible, pero requiere alguna magia de Arduino. En este instructable vamos a i