Generador de onda sinusoidal DDS con Arduino

Publicado por en Arduino el 21/06/2012

Un Arduino no puede generar directamente una señal sinusoidal ya que no dispone de DAC, sin embargo hay una forma bastante interesante para generar ese tipo de señales con bastante precisión y con muy pocos componentes externos. El truco reside en utilizar las salidas PWM (Pulse Width Modulation) para generar unos picos de tensión que varian en el tiempo según la frecuencia deseada, para luego aplicar un pequeño filtro paso bajo que limpie la onda digital generada. Dicho filtro es muy sencillo de realizar ya que tan sólo se necesitan unas pocas resistencias y condensadores. La frecuencia que podemos generar va en un rango desde cero a 16 KHz con una resolución de una millonésima parte de un Herzio, lo cual no está nada mal! Se puede conservar una distorsión relativamente baja (menos de 1%) para frecuencias no superiores a 3 KHz.

Os dejo un interesante enlace que lo explica todo al detalle a continuación...

Leer más

Cómo generar sonido de alta calidad con arduino

Publicado por en Arduino el 01/12/2009

Con la ayuda de un filtro de salida LowPass y un pequeño código, los chicos de khm.de han conseguido generar ondas sinoidales de bastante calidad utilizando una placa Arduino Duemilanove. El espectro total va de 0 a 16Khz con una distorsión máxima de 1% que no está nada mal. Se utiliza una técnica de modulación llamada DDS (Direct Digital Syntesis) implementada por software y con un nivel de ruido por debajo de los 50dB.

Código fuente, esquema y enlace altamente recomendado a continuación...

Leer más