Table des matières:

Réveil Sunrise avec écran LCD et application Bluetooth : 8 étapes
Réveil Sunrise avec écran LCD et application Bluetooth : 8 étapes

Vidéo: Réveil Sunrise avec écran LCD et application Bluetooth : 8 étapes

Vidéo: Réveil Sunrise avec écran LCD et application Bluetooth : 8 étapes
Vidéo: 9 Cool Gadgets You Can Actually Buy Now 2024, Décembre
Anonim
Réveil Sunrise avec écran LCD et application Bluetooth
Réveil Sunrise avec écran LCD et application Bluetooth
Réveil Sunrise avec écran LCD et application Bluetooth
Réveil Sunrise avec écran LCD et application Bluetooth

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

Rassembler les pièces
Rassembler les pièces
Rassembler les pièces
Rassembler les pièces
Rassembler les pièces
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

Assemblage du circuit
Assemblage du circuit
Assemblage du circuit
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

Réglage de l'écran LCD et de l'horloge
Réglage de l'écran LCD et de l'horloge
Réglage de l'écran LCD et de l'horloge
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

Codage
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

Configuration de l'application Bluetooth
Configuration de l'application Bluetooth
Configuration de l'application Bluetooth
Configuration de l'application Bluetooth
Configuration de l'application Bluetooth
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

Construire le cas
Construire le cas
Construire le cas
Construire le cas
Construire le cas
Construire le cas

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é

Fini!
Fini!
Fini!
Fini!
Fini!
Fini!

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é: