Raygun retro: realizando un apoyo a través de CAD (12 / 15 paso)

Paso 12: sonidos

Todos los sonidos fueron generados de un ATtiny84. No había ningún espacio para otra junta. Y el ATtiny estaba allí de todos modos, el gatillo y selector de dial de lectura y envío de PWM a los conductores del LED.

De hecho, aprovechó un Consejo que he estado trabajando en esto; tiene un ATtiny84, un jefe de programación ICSP y cuatro drivers de corriente constante de LC135. Estos últimos son un chip poco cool suministrará un regulado 350 miliamperios a un LED de alta potencia, tendrá PWM y apilado (o, más bien, ejecutar en paralelo).

La Junta tuvo que ser modificado pesadamente para este apoyo, por supuesto.

Es relativamente sencillo hacer tonos en un ATtiny. Funcionará (con algunas salvedades importantes) la biblioteca tone() para Arduino. También es capaz de síntesis wavetable. La teoría es bastante simple. Uno de los cronómetros de a bordo del hardware está configurado para la salida de voltaje analógico; fijar la frecuencia de corte variable, (PWM, básicamente). Un segundo contador de tiempo se utiliza para generar una interrupción de hardware. Cuando se llama a la rutina de servicio de interrupción, se recoge el siguiente valor de una tabla de ondas y ajusta la salida de tensión Ajuste del temporizador primera.

Este truco requiere un par de cosas. Requiere el segundo temporizador operando en la frecuencia deseada X la longitud de las ondas. Requiere el primer temporizador ejecutar varias órdenes más rápidas (de lo contrario habrá aliasing divertido sucediendo). Y requiere que el programa no gastar un montón de ciclos haciendo otra cosa que estar listo para la siguiente interrupción ser procesados.

Que este último resultó difícil. Yo corría software PWM para LED (no había más temporizadores de hardware disponible en ese chip), tuve que tomar lecturas de gatillo y lecturas analógicas de la esfera, y las clases de sonidos quería necesitan evolucionar con el tiempo. Entonces dio para arriba en la tabla de la onda completa y genera ondas diente de sierra o cuadradas simple. Y eso significaba que podía repuesto de los ciclos de programa para sumar o restar números a la frecuencia (es decir, la tasa base que los cambios se hacen a la salida analógica solicitada de timer1.)

Todavía significaba que los sonidos cambiaron radicalmente cada vez que pongo en un nuevo "Si" Declaración y también fueron fuertemente dependiente en la frecuencia de base para el PWM. Pero con una gran cantidad de ensayo y error pude obtener algunos clics, chirridos y gorjeos para las diferentes tomas y sonidos de función (encender, selector dial movimiento, etc..)

De hecho, el aliasing y general "grano" es un beneficio. Usando técnicas similares a la síntesis de wavetable por encima de uno puede hacer ruido blanco o rosado de varios sabores, pero que resultó innecesario. Si estaba usando un chip más rápido y más potente, tal como se encuentra en un Arduino Nano, yo probablemente ser digital combinando diferentes ondas y procesamiento antes de enviar a la salida analógica final.

Toda la programación se hizo nominalmente en el IDE de Arduino. Aprovechar los temporizadores de hardware de la manera que tenía que estaba abordarlos directamente sin la ayuda de las bibliotecas de Arduino. Pero el beneficio de la programación de un apoyo como este es usted puede pensar en "bosquejo," tirar juntos cualquier obras de código desordenado y llamarlo bueno.

Artículos Relacionados

Cómo tener un retro buscando boda de estilo de la década de 1940 en un presupuesto!

Cómo tener un retro buscando boda de estilo de la década de 1940 en un presupuesto!

Siempre he amado la década de 1940, y cuando llegó el momento de planear mi boda, no podía imaginar nada mejor entonces para compartir mi década favorita con mi día especial.  Aquí hay algunos pasos que usé para ayudar a crear la mirada que solía ten
Crear una base de iPhone a través de CAD y la MakerBot!

Crear una base de iPhone a través de CAD y la MakerBot!

Este tutorial es un conjunto de instrucciones paso a paso que ilustran cómo crear un simple soporte de iPhone de usar software de SolidWorks y una impresora 3D MakerBot Replicator.Paso 1: Lo que necesitará Para este proyecto necesitarás lo siguiente:
Armarios de taller

Armarios de taller

Conseguir nuestras Divas DIY espacio de trabajo más organizado ha sido en la parte superior de mi lista de 'Hacer' para siempre. La semana pasada que finalmente consiguió a hacer nuevos armarios todas nuestras herramientas y suministros de la casa, c
Tumblr: Modificado para requisitos particulares tema minimalista con apoyo Addthis, Adsense y Disquss

Tumblr: Modificado para requisitos particulares tema minimalista con apoyo Addthis, Adsense y Disquss

Nota: Concurso de identificación de especies 2¿Puedes identificar este bicho de aquí ? Encontrado 9 de octubre en el parque de la herencia en Blacksburg, Virginia. Espécimen fue encontrado en un parche solo, aislado en una ladera corta, bajo profundo
Cómo poner a través de ladrillo

Cómo poner a través de ladrillo

¿Que siempre quisiste ser capaz de golpear una pared de ladrillos? Bien puede probablemente. Todo lo que necesitas es un par de guantes de trabajo pesado para añadir algo de peso y enfocar toda la fuerza a un punto estrecho. Es como usar un martillo
Construir una tabla en marco modelo barco

Construir una tabla en marco modelo barco

Bienvenidos! Mi nombre es Bob Hunt y construir modelos de barcos para una afición.  He estado construyendo estos maravillosos modelos para más de 23 años. Quiero compartir con ustedes un conjunto detallado de instrucciones sobre cómo construir un bar
Mark I Arc Reactor Prop

Mark I Arc Reactor Prop

¡Hola a todos!Gracias por comprobar hacia fuera mi intento de volver a crear la marca y Arc Reactor de hombre de hierro. Yo tenía un montón de diversión este edificio (tanto es así, que he hecho dos), y ojalá que viene a través de aquí. Yo he dividid
Gris-B-Gon evapotron eólicas para la eliminación de las aguas grises

Gris-B-Gon evapotron eólicas para la eliminación de las aguas grises

Aquí es un dispositivo de evaporación de las aguas grises eólicos para su campamento de Burning Man. Eliminará, legal y responsable, todas las aguas residuales producida en un campo de tamaño mediano, o varios pequeños campamentos. (Excepto para lo q
8 de CHR X 8 X 8 LED cubo revisitado con mejoras!

8 de CHR X 8 X 8 LED cubo revisitado con mejoras!

Ver paso 17 para obtener más información sobre el modo de entrada de música para los tableros no rampa.Ahora hay 7 modos de la música en el código Posteado, y estoy buscando más ideas para animaciones o efectos de música activada!SALTAR directamente
1981 Portable VCR Raspberry PI Media Centre

1981 Portable VCR Raspberry PI Media Centre

Se trata de un temprano vídeo portátil Sharp VC - 2300H 80 que he convertido - tiene ahora un Raspberry Pi en su corazón, corriendo que los medios excelentes de Raspbmc centro de software. Otras mejoras incluyen un elegante reloj basados en arduino y
Mesa de comedor con extensiones laterales

Mesa de comedor con extensiones laterales

mesa de comedorEsta mesa está hecha de madera de cerezo maciza. Esta tabla con capacidad para seis personas (42" de ancho y 72" de largo) y capacidad para 10 personas (60" de ancho y 72" de largo) con las extensiones laterales.El uso d
Altavoz móvil épico DJ S.M.I.L.E/

Altavoz móvil épico DJ S.M.I.L.E/

!!!!!!! ¡ RECUERDE VOTAR EN LA ESQUINA SUPERIOR DERECHA! AYUDA TODO EL APOYO!!!P.S. Demuestra su apoyo a través de comentarios! Si quieres, deja un comentario! ¡ Gracias! :)Es DJ S.M.I.LE.! Esto es bastante divertido. Es una especie de altavoz móvil,
Cómo construir una pérgola sencilla patio

Cómo construir una pérgola sencilla patio

Ahorré miles en costos de mano de obra por mi pérgola de patio trasero del edificio mismo.Era trabajo duro, pero no más abrumadora en todos.Con algunos conocimientos de carpintería básica esto se puede hacer en un fin de semana.Materiales y herramien
Panel Solar ligero (cargador de batería de 12V)

Panel Solar ligero (cargador de batería de 12V)

Esto es, espero, no solo "todavía otro Home-Made Panel Solar".Mi plan es instalar eventualmente un número considerable de paneles desmontables en un velero. Para eso, tienen que ser ligero, eficiente, relativamente barato y relativamente robusto