Table des matières:
- Étape 1: Rassembler les pièces
- Étape 2: Assemblage du circuit
- Étape 3: Réglage de l'écran LCD et de l'horloge
- Étape 4: Codage
- Étape 5: C'est l'heure des tests
- Étape 6: configuration de l'application Bluetooth
- Étape 7: Construire le dossier
- Étape 8: Terminé
Vidéo: Réveil Sunrise avec écran LCD et application Bluetooth : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
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 agaçant de votre réveil. Si, comme moi, vous avez du mal à vous réveiller le matin, ce réveil est exactement ce dont vous avez besoin.
Dans ce tutoriel, nous allons construire un réveil Sunrise. C'est un réveil comme les autres en ce sens que vous pouvez régler l'heure et les minutes auxquelles vous voulez vous réveiller, mais avec l'avantage d'utiliser la lumière pour éclairer votre chambre sur une période de temps comme un lever de soleil pour vous réveiller au lieu d'être ennuyeux avertisseur sonore!
Nous utiliserons également un module Bluetooth pour créer une application qui vous permettra de régler l'alarme via votre téléphone sur l'horloge. L'écran LCD affichera l'heure, la date et le jour de la semaine. Les lampes Sunrise existent sur le marché mais elles peuvent être chères (une recherche rapide sur Google renvoie des produits dans la gamme des 100 €), fragiles et assez cliniques. C'est pourquoi j'ai décidé de créer le mien pour mon projet scolaire Arduino. 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 sunrise-alarm-clock. Commençons:)
tout le code peut être trouvé sur:
Étape 1: Rassembler les pièces
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:
- Arduino Uno - module d'horloge RTC DS3231 - un MOSFET pour contrôler la luminosité de la lumière - une LED super lumineuse (j'en ai acheté 2, une chaude, une froide) - une pile 9V pour alimenter la LED - une maquette - un écran LCD (16:2)- Adaptateur Bluetooth hc-05 afin que nous puissions utiliser une application pour régler l'alarme.
Tout ce dont vous avez besoin peut être acheté sur www.martoparts.nl
Étape 2: Assemblage du circuit
Vous pouvez vous référer au croquis de mon circuit, malheureusement je n'ai pas trouvé le RTC DS3231 dans le programme donc j'ai dû faire avec celui-ci. Les connexions sont un peu différentes en réalité, voici les connexions. (le module bluetooth n'est pas dans le croquis mais je vais vous expliquer comment cela fonctionne ci-dessous car c'est assez délicat)
RTC DS3231GND passe à GND sur l'arduino
VCC passe au 5v
SDA passe à arduino
SCL va à arduinoNous n'utiliserons pas SQW & 32KMOSFET
La broche Gate va à la broche ~ 9 sur l'Arduino Uno car sa broche PWMDrain va du côté négatif de la LED La broche Source va à GND sur l'ArduinoLCD-DisplayGND va à GND sur l'arduino
VCC va à 5VSDA va à A4 sur l'arduinoSKL va à A5 sur l'arduinoLED- va à mosfet+ va à la batterie 5v9v Vous pouvez acheter une batterie 9v dans n'importe quel magasin local, branchez-la sur l'arduino avec une bande de connecteur.
Le module Bluetooth hc-055V passe à 5V depuis l'arduino
GND va à GND sur l'arduino
Maintenant, il y a 2 entrées de plus mais voici la partie délicate, nous devons connecter les entrées opposées de ces 2 sur l'arduinoTX de hc-05 va à RX sur arduinoRX de hc-05 va à TX sur arduino
Important: assurez-vous de DÉCONNECTER le TX et le RX du HC-05 lorsque vous téléchargez du code sur votre arduino ou vous obtiendrez une erreur disant "quelque chose s'est mal passé lors du téléchargement du code" dans le compilateur.
Étape 3: Réglage de l'écran LCD et de l'horloge
La bibliothèque utilisée pour l'écran LCD est à cristaux liquides et se trouve à l'adresse: https://github.com/fdebrabander/Arduino-LiquidCrys… Téléchargez le fichier zip, enregistrez-le et placez-le dans le dossier /libraries de votre Arduino
La bibliothèque que j'utilise pour exécuter l'horloge se trouve sur Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 et assurez-vous que vous êtes sur la page DS3231. Téléchargez le fichier zip, enregistrez-le et placez-le dans le dossier des bibliothèques de votre Arduino.
Temps
Incluez la bibliothèque DS3231 ou DS1307 dans votre code arduino
Décommentez ces 3 lignes de code pour régler l'heure:
// rtc.setDOW(LUNDI); // Définir le jour de la semaine sur DIMANCHE// rtc.setTime(23, 57, 0); // Réglez l'heure sur 12:00:00 (format 24h) // rtc.setDate (14, 1, 2019); // Fixer la date au 1er janvier 2014
Affichage LCD
Incluez la bibliothèque liqduicrystal_i2c dans votre code arduino
Pour imprimer sur l'écran LCD, utilisez
lcd.setCursor(col, row) // position du texte imprimélcd.print(~) // texte imprimé
Étape 4: Codage
Téléchargez le code sur: github:
Décommentez ces 3 lignes pour régler l'horloge sur votre écran LCD:
// rtc.setDOW(LUNDI); // Définir le jour de la semaine sur DIMANCHE// rtc.setTime(23, 57, 0); // Réglez l'heure sur 12:00:00 (format 24h) // rtc.setDate (14, 1, 2019); // Fixer la date au 1er janvier 2014
Utilisez lcd.setCuros(col, ligne); pour définir la position du texte sur l'affichage
lcd.setCursor(0, 2);
et print() pour imprimer quelque chose à l'écran
lcd.print(rtc.getDateStr());
Modifiez ces variables si vous voulez
int fadeTime = 1; // Combien de temps la lumière s'estompera jusqu'à maxint setHour = 02; // Définir les heures de réveil (heure militaire)int setMin = 49; // Définir la minute pour se réveiller int uled = 9; // Définir le brochage avec PWM
Code du module Bluetooth
String firstHalf = getValue(input, ':', 0); // vérifier la première entrée jusqu'à ":"
String secondHalf = getValue(input, ':', 1); // vérifie la deuxième entrée après ":"
// utilisez ce code si vous n'utilisez pas le module bluetooth
// //if (t.hour == setHour && t.min == setMin) // Vérifiez s'il est temps de vous réveiller ! // { // début(); // }
// vérifier les 2 premiers chiffres des entrées, puis vérifier les 2 deuxièmes chiffres de l'entrée
if (t.hour == firstHalf.toInt() && t.min == secondHalf.toInt()) { start(); } }
// logique pour séparer les chaînes
String getValue(String data, char separator, int index) { int found = 0; int strIndex = { 0, -1 }; int maxIndex = data.length() - 1;
for (int i = 0; i <= maxIndex && found <= index; i++) { if (data.charAt(i) == séparateur || i == maxIndex) { found++; strIndex[0] = strIndex[1] + 1; strIndex[1] = (i == maxIndex) ? i+1: je; } } return found> index ? data.substring(strIndex[0], strIndex[1]): ""; }
Étape 5: C'est l'heure des tests
Compilez votre code et testez si les composants fonctionnent !
Étape 6: configuration de l'application Bluetooth
Parce que je trouvais ennuyeux de creuser dans le code chaque fois que je voulais régler une alarme, je voulais créer une application qui réglerait l'alarme, ce qui est beaucoup plus facile.
Allez sur https://ai2.appinventor.mit.eduici, nous pouvons créer une application simple qui nous permet de régler l'alarme, j'ai inclus la configuration de conception simple (vous pouvez toujours la modifier plus tard) et le code utilisé pour le connexion Bluetooth. Vous pouvez ensuite publier votre application et vous y connecter sur votre téléphone en utilisant un code QR ou en téléchargeant directement l'application sur votre ordinateur, puis en la transférant avec un câble sur votre téléphone. (capture d'écran)
Étape 7: Construire le dossier
Vous pouvez toujours créer un boîtier différent autour de votre horloge arduino. J'ai utilisé du bois et du plexiglas mat pour construire mon propre boîtier de réveil. J'ai choisi le plexiglas mat pour que vous puissiez voir la lumière briller clairement à travers le boîtier mais vous ne pouvez pas voir l'intérieur de l'horloge.
Étape 8: Terminé
Maintenant que vous avez téléchargé le code sur votre arduino, construit le boîtier et vérifié si vous avez correctement assemblé votre horloge, vous pouvez régler une alarme sur l'application Bluetooth et commencer à vous réveiller plus naturellement !:)
Conseillé:
Réveil intelligent : un réveil intelligent fabriqué avec Raspberry Pi : 10 étapes (avec photos)
Réveil intelligent : un réveil intelligent fabriqué avec Raspberry Pi : Avez-vous déjà voulu une horloge intelligente ? Si oui, c'est la solution pour vous ! J'ai fait Smart Alarm Clock, c'est une horloge dont vous pouvez changer l'heure de l'alarme en fonction du site Web. Lorsque l'alarme se déclenche, il y aura un son (buzzer) et 2 lumières s'allumeront
Écran LCD I2C/IIC - Utilisez un écran LCD SPI vers l'écran LCD I2C à l'aide du module SPI vers IIC avec Arduino : 5 étapes
Écran LCD I2C/IIC | Utilisez un écran LCD SPI sur l'écran LCD I2C à l'aide du module SPI vers IIC avec Arduino : Salut les gars, car un SPI LCD 1602 normal a trop de fils à connecter, il est donc très difficile de l'interfacer avec arduino, mais il existe un module disponible sur le marché qui peut convertir l'affichage SPI en affichage IIC, vous n'avez donc besoin de connecter que 4 fils
Écran LCD I2C/IIC - Convertir un écran LCD SPI en écran LCD I2C : 5 étapes
Écran LCD I2C/IIC | Convertir un écran LCD SPI en écran LCD I2C : l'utilisation de l'écran lcd spi nécessite trop de connexions, ce qui est vraiment difficile à faire
Réveil Sunrise avec Arduino : 9 étapes (avec photos)
Réveil Sunrise avec Arduino : l'hiver peut être triste. Vous vous réveillez, il fait noir et vous devez vous lever. 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. De plus, il me manque de me réveiller pour
Réveil LED Sunrise avec alarme de chanson personnalisable : 7 étapes (avec photos)
Réveil LED Sunrise avec alarme de chanson personnalisable : ma motivation Cet hiver, ma petite amie a eu beaucoup de mal à se réveiller le matin et semblait souffrir de TAS (trouble affectif saisonnier). Je remarque même à quel point il est plus difficile de se réveiller en hiver puisque le soleil n'est pas venu