Étape 3: L’Arduino code
Le code ci-joint ci-dessous est une esquisse de l’arduino appelée lighthouse1.ino. Veuillez noter que nous essayons de se faner 16 LED distinctes dans une séquence spécifique et le modèle de calendrier en utilisant la modulation de largeur d’impulsion (PWM). Toutefois, le micro de l’arduino a seulement 7 broches qui peuvent être utilisés pour PWM dans le matériel. Par conséquent, nous devons implémenter PWM dans le logiciel. Heureusement, Brett Hagman a déjà mis en place cela dans sa bibliothèque de softPWM pour l’arduino. Instructions pour notamment et l’utilisation de cette bibliothèque sont dans la documentation de softPWM.
Notes
Modifier ce code à vos besoins. Vous pouvez remarquer que la fonction loop() contienne simplement un appel à la fonction lighthouse_mode(). C’est parce qu’il y aura au moins un mode plus, un sleep_mode() où les lumières sont éteintes pendant la journée tout en un frais de cellule solaire la batterie jusqu'à ce qu’il fait assez sombre pour revenir en lighthouse_mode.
Le code définit multiple entier tableaux avec des valeurs prédéfinies pour les broches de sortie LED, les révolutions par minute, nombre de poutres et la largeur des poutres. Un tableau supplémentaire contient les numéros de broches pour chacune des trois touches. Les broches de bouton eux-mêmes utiliseront résistances de pull-up intégré de l’arduino, alors le bouton de lecture logique est inversé (le pin lectures élevé jusqu'à ce que le bouton est enfoncé et faible lorsque le bouton est enfoncé).
Si vous ne savez pas comment faire pour charger le code sur votre arduino, veuillez lire l' Obtenir commencé avec Arduino Homepage.