Paso 8: Escribir el código
Una debilidad que he encontrado usando los circuitos de controlador que improvisó es que ellos no trabajan con salida PWM. Eso significa que no puedo mezclar los colores especiales tan fácilmente como me gustaría. Puede en el futuro figura una forma de burlar esta limitación, pero por ahora, estoy contento con su funcionamiento.
Si bien este es mi primer intento de escribir código para el Arduino, que no es mi primera vez programa. Así que probablemente habrá muchos errores, pero los conceptos que resultará bien diseñado. Como con todos mis proyectos, si usted nota algo que se podría hacer mejor, por favor no dude en compartir!
El circuito para convertir el audio para activar el programa vino de paso #7. Tenga cuidado al añadir la resistencia de 10K entre el pin 2 y tierra (falta desde el esquema). No repito todas las instrucciones, como lincomatic ha hecho un mejor trabajo que pude. Usted realmente debe sacar su gran instructable! La única modificación que hice fue poner una resistencia variable entre la salida del circuito y la entrada de arduino, que me permita ajustar manualmente la sensibilidad, y no sólo a través de software (aunque ambos métodos de trabajo).
Partes:
- LM358 Op Amp (prácticamente cualquier amplificador operacional debería funcionar)
- resistencias de 2 x 10K
- condensador 10 uF
- resistencia variable opcional para ajustar sensibilidad sin cambiar ningún código.
Con el fin de familiarizarse con la escritura de código para el Arduino, leí libro Brian Evans fantástico principio Arduino programación . También utiliza el cuaderno de programación de arduino como una referencia útil y examinar el Libro de cocina de Arduino. / * como nota al margen, mi biblioteca local tiene un gran programa por sugerir el libro de compras, lo que significa que no tengo que pagar mucho dinero para tener acceso a estos recursos! * /
Si tienes más experiencia que yo soy, puede que desee poner el código en algo más pequeño que un arduino. Todo lo que necesitas es I2C para el protector de servo y un ADC de entrada. Si logras obtenerlo trabajando en algo más pequeño, por favor, comentar y compartir. O, mejor aún, hacer un seguimiento instructable puedo hacerlo también!