Paso 3: El Arduino código
El código adjunto a continuación es un sketch de arduino llamado lighthouse1.ino. Tenga en cuenta que estamos tratando de desaparecer 16 LED separadas en una secuencia específica y patrón de sincronización utilizando modulación por ancho de pulso (PWM). Sin embargo, el micro de arduino solo tiene 7 pines que pueden ser utilizados para PWM en hardware. Por lo tanto, debemos aplicar PWM en el software. Afortunadamente, Brett Hagman ya ha implementado esto en su biblioteca softPWM para arduino. Instrucciones para entre ellos y utilizar esta biblioteca encontrará en la documentación de softPWM.
Notas
Modificar este código a tus necesidades. Usted puede notar que la función loop() contiene simplemente una llamada a la función lighthouse_mode(). Esto es porque habrá al menos un modo más, un sleep_mode() en que las luces se dan vuelta apagado durante el día mientras que una célula solar cargo la batería hasta que esté lo suficientemente oscuro para volver a lighthouse_mode.
El código define múltiplo entero matrices con valores predefinidos para los alfileres de salida LED, revoluciones por minuto, número de vigas y el ancho de las vigas. Una matriz adicional contiene los números de cada uno de los tres botones de entrada. Los pasadores botón va a utilizar resistencias de pull-up integrado de arduino, por lo que se invierte el botón lectura lógica (pin Lee alta hasta que se pulsa el botón y baja cuando se pulsa el botón).
Si usted no sabe cómo cargar el código en su arduino, por favor lea el Conseguir comenzado con Arduino Página principal.