Table des matières:

Réveil Sunrise avec Arduino : 9 étapes (avec photos)
Réveil Sunrise avec Arduino : 9 étapes (avec photos)

Vidéo: Réveil Sunrise avec Arduino : 9 étapes (avec photos)

Vidéo: Réveil Sunrise avec Arduino : 9 étapes (avec photos)
Vidéo: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Novembre
Anonim
Image
Image
Réveil Sunrise avec Arduino
Réveil Sunrise avec Arduino

L'hiver peut être triste. Vous vous réveillez, il fait noir et vous devez sortir du lit. La dernière chose que vous voulez entendre est le son assourdissant de votre réveil. J'habite à Londres et j'ai du mal à me réveiller le matin. Aussi, me réveiller à la lumière naturelle me manque.

Dans ce tutoriel, nous allons construire un réveil Sunrise. C'est un réveil comme les autres dans la mesure où vous pouvez régler l'heure et les minutes auxquelles vous souhaitez vous réveiller, mais avec l'avantage supplémentaire d'utiliser la lumière pour éclairer votre chambre sur une période de temps comme un lever de soleil pour vous réveiller plus naturellement.

Les lampes Sunrise existent sur le marché mais elles peuvent être chères (une recherche rapide sur Amazon renvoie des produits de l'ordre de 100€), fragiles et d'aspect assez clinique. Nous allons faire quelque chose de beaucoup moins cher et beaucoup plus agréable.

Toutes les pièces seront répertoriées à l'étape suivante. Le code peut être téléchargé à partir de mon dépôt Github gold-sunrise-clock. Tous les schémas et fichiers de construction du boîtier sont disponibles en téléchargement sur ce didacticiel.

Allons-y:)

Si vous rencontrez des problèmes ou souhaitez dire bonjour, envoyez-moi un message [email protected] ou suivez-moi sur Instagram @celinechappert.

Étape 1: Rassembler les composants

Rassembler les composants
Rassembler les composants

Pour commencer, nous utiliserons une horloge comme entrée et une LED ultra-lumineuse comme sortie pour simuler notre lever de soleil.

Pour construire le circuit, nous aurons besoin de:

- une horloge. Nous allons utiliser le RTC DS3231 (5 £)

- un MOSFET pour contrôler la luminosité de la lumière (9 £)

- une LED super lumineuse (1 £)

- Pile 9V pour alimenter la LED (3 £)

- une planche à pain pour un montage facile (3 £)

- un Arduino Uno (20 £)

- un bouton poussoir (facultatif - à des fins de démonstration uniquement)

Prix total = 41 £

Si vous avez déjà un Arduino, une maquette et une batterie 9V à la maison, l'ensemble du projet vous coûtera moins de 15 £.

Pour réaliser l'étui acrylique il vous faudra:

- 2 feuilles de feuilles acryliques Perspex 0.3mm, 1 feuille par couleur pour le soleil et l'étui.

- l'accès à un découpeur laser.

J'ai la chance d'avoir accès à l'atelier de mon école donc ces frais ont été couverts en grande partie. J'ai acheté une feuille d'acrylique supplémentaire parce que ma conception nécessitait une teinte orange pour le soleil, qui coûtait 14 £/feuille (le plexiglas est cher !).

Étape 2: Assemblage du circuit

Image
Image
Assemblage du circuit
Assemblage du circuit
Assemblage du circuit
Assemblage du circuit

Vous pouvez vous référer au croquis noir et blanc de mon circuit (excusez le désordre) et au schéma représentant l'Arduino (fait avec Fritzing).

Essentiellement, voici une ventilation de ce qui est connecté à quoi:

L'horloge:

(-) se connecte à GND

NC signifie 'Not Connected' et ne se connecte à rien

C/SCL se connecte à la broche A5 sur l'Arduino

D/SDA se connecte à la broche A4 de l'Arduino

(+) se connecte au 5V sur l'Arduino

MOSFET

La broche de la porte va à la broche ~ 9 sur l'Arduino Uno car elle est PWM

La broche de drainage va du côté négatif de la LED

La broche source va à GND sur l'Arduino

LED

Le côté négatif est connecté à la broche de drainage du MOSFET

Le côté positif est connecté à 5V sur la planche à pain

pile 9V

(+) à (+) sur la maquette, idem avec (-).

Arduino Uno

N'oubliez pas de connecter 5V à (+) sur la maquette et GND à (-). N'oubliez pas de connecter (-) d'un côté de la maquette à (-) de l'autre côté.

Ensuite, nous allons régler notre horloge à l'aide de la bibliothèque DS3231.

Étape 3: Installation et réglage de l'horloge

Installation et réglage de l'horloge
Installation et réglage de l'horloge
Installation et réglage de l'horloge
Installation et réglage de l'horloge
Installation et réglage de l'horloge
Installation et réglage de l'horloge

La bibliothèque que j'utilise pour exécuter cette horloge se trouve sur Rinky-Dink Electronics (captures d'écran ci-dessus). Cliquez sur le lien et assurez-vous que vous êtes sur la page DS3231. Téléchargez le fichier zip, enregistrez-le et placez-le dans le dossier /libraries de votre Arduino.

Maintenant, pour régler l'heure correcte sur l'horloge, ouvrez Arduino et accédez à Exemples/DS3231/Arduino/DS3231_Serial_Easy.

Décommentez les trois lignes de code (encadrées en orange dans la capture d'écran), vérifiez l'heure et placez l'heure correcte dans ces trois lignes de code au format militaire.

Appuyez sur Télécharger.

Vous pouvez maintenant décommenter ces trois lignes et appuyer à nouveau sur Upload.

Ouvrez votre Serial Monitor et vérifiez que votre heure est correcte.

Notre horloge est réglée ! Nous avons notre circuit, commençons maintenant à coder. Encore une fois, le repo est disponible sur Github.

Étape 4: Codage

Image
Image

Téléchargez le code et assurez-vous que la bibliothèque du DS3231 est correctement installée.

Tout d'abord, nous voulons définir nos paramètres.

fadeTime est la durée pendant laquelle la lumière passera de 0 à sa luminosité maximale en quelques minutes. setHour/setMin correspondent à l'heure à laquelle nous voulons nous réveiller (remarque: cela lit le format militaire, donc un temps de 24 heures est requis). Nous définissons également la broche 9 sur l'Arduino comme notre SORTIE.

Dans setup(), assurez-vous que le numéro SerialBegin (ici 96000 baud) correspond au numéro du Serial Monitor.

Dans loop(), une instruction if vérifie s'il est temps de se réveiller. Le code s'exécute en boucle, vérifiant à chaque fois si les valeurs des heures et des minutes renvoyées par l'horloge correspondent à nos variables setHour/setMin. Si c'est le cas, l'instruction if renvoie une fonction active().

La fonction active() est composée de deux parties. Tout d'abord, nous commençons à atténuer progressivement la lumière: les fonctions de retard sont là pour empêcher la LED de devenir trop brillante trop tôt dans les premières étapes du fadeTime. Ensuite, une boucle for contrôle la vitesse à laquelle la lumière doit devenir de plus en plus lumineuse en fonction du temps de fondu. Enfin, nous éteignons la lumière en passant une valeur de 0 à notre LED dans la fonction analogWrite().

La vidéo ci-dessus montre le circuit fonctionnant dans l'un des prototypes de boîtiers en acrylique.

Étape 5: Prototype en carton (facultatif)

Prototype en carton (facultatif)
Prototype en carton (facultatif)
Prototype en carton (facultatif)
Prototype en carton (facultatif)

Avant ce projet, je n'avais jamais travaillé avec une découpeuse laser. La réalisation d'un prototype en carton m'a permis de me familiariser avec la machine tout en testant l'aspect de l'objet (taille, aspect…) dans l'espace réel. Plans de cas à télécharger.

Conseillé: