Un cadeau de Geek - faire une minuterie de cuisine

Choisissez un cadeau


La grand-mère de mon fils fêtera bientôt son anniversaire. Depuis que j'étais fasciné par les microcontrôleurs, j'ai eu l'idée de faire don d'une sorte d'appareil, naturellement, à un microcontrôleur et fabriqué par moi-même. Comme toutes les grand-mères, notre grand-mère n'est une utilisatrice avancée d'aucun appareil et, en principe, elle n'a rien de spécial en électronique. Ainsi, vous pouvez créer n'importe quel appareil, pas très complexe.

Lorsque nous venons lui rendre visite, nous sommes toujours accueillis par une table riche, avec un grand nombre de plats. Par conséquent, nous avons immédiatement décidé de rendre un appareil utile dans la cuisine. Ensemble, nous jouons souvent à divers jeux de société - loto, divers jeux de dés. Donc, notre appareil devrait aider ici.

En réfléchissant un peu, le fils a décidé de fabriquer une minuterie de cuisine avancée . Je l'ai aidé un peu avec le plan. Les principales fonctions de notre cadeau:

  • Mode minuterie jusqu'à 3 heures
  • Mode chronomètre
  • Signal fort
  • Taille compacte
  • Batteries "éternelles" - batteries, se rechargeant comme un téléphone, par micro usb
  • Et bien sûr, des jeux - un cube (un nombre aléatoire de 1 à 6), un loto, une bombe (un jeu très amusant)

Nous sélectionnons les composants


Comme indicateur, nous avons choisi un indicateur LED à trois chiffres avec une anode commune - il n'a que 11 broches, très pratique. Il n'est pas difficile à acheter, et, en principe, assez économique en consommation d'énergie (mais certainement pas LCD).

Le microcontrôleur - STM8S003F3P6 - nous l'avons déjà travaillé, donc tout est familier. ST-link est déjà là.

Le microcircuit de charge et l'ensemble du harnais du MK, comme un ordinateur de vélo .



En tant que tweeter, tweeter très compact et puissant HC0903A



La batterie est LIR2032. Seulement 45 mAh, mais cela suffit pour 40 heures de fonctionnement continu de la minuterie. Nous avons décidé d'abandonner le résonateur à quartz (nous avons besoin de conclusions), nous n'avons pas besoin d'une précision particulière, et le STM8 dispose d'un générateur interne assez précis. Charge de puce - TP4056.

Gestion - 2 boutons d'horloge. L'appareil est en mode veille tout le temps, la consommation est inférieure à 5 μA, il peut dormir longtemps. Ils n'ont pas commencé à fabriquer une carte de protection pour la batterie, surtout pas nécessaire. MK a une limite inférieure de 3V, donc il ne s'affaissera pas beaucoup. Lorsque vous allumez la musique, le voyant (surtension actuelle) s'allume et si la batterie est morte, le MK redémarre et passe en mode veille, ce qui est un signal à charger. Il se charge avec un courant de 100 mA pendant environ 40 minutes, ce qui est en principe très rapide. Le schéma et le programme peuvent être téléchargés sur github, le lien à la fin.

Le fils a décidé de fabriquer lui-même le boîtier à partir du boîtier de montage 40 x 16 mm. Peint avec des peintures acryliques, découpez un morceau d'un disque DVD comme du verre. Cela s'est avéré très agréable.



Le fils a fait lui-même la trace de la planche à Kicad. L'emplacement des composants a été inventé par lui. Boutons sur les côtés de l'indicateur, tweeter ci-dessous, batterie dessus. Tout est entré étroitement, rien ne pend nulle part. La planche est double face. Ils ont été fabriqués à partir de fibre de verre unilatérale de 0,8 mm d'épaisseur en utilisant la méthode de transfert de toner à froid. Deux moitiés de la carte sont connectées et fixées avec des cavaliers. Des connecteurs - micro usb, alimentation et programmation.



Le programme


Cet indicateur a une anode commune; par conséquent, une seule décharge peut être émise à la fois. Pour afficher simultanément trois chiffres, une indication dynamique est requise.

Par programme, cela se fait très simplement. La minuterie est activée, et à intervalles de temps égaux, avec une fréquence élevée, par exemple toutes les 300 μs, nous émettrons un bit dans un cercle - 1-2-3-1-2-3. On nous montrera que les chiffres brillent en même temps, comme dans un film. Si vous ajoutez des bits vides supplémentaires, vous pouvez contrôler la luminosité. Autrement dit, il y aura un tel schéma pour la sortie d'informations - 1-2-3-vide-vide-vide-vide-1-2-3-vide-vide ... Un contrôle de la luminosité est nécessaire afin de réduire la consommation d'énergie. Ainsi, par exemple, sans l'utilisation de la luminosité, une décharge consomme 24 mA, et avec l'application, elle peut être réduite à 1-2 mA. Dans le même temps, les chiffres sont encore clairement et bien visibles. Le fils a joué avec la fréquence, la luminosité, quand tout a cessé de clignoter, il a aimé. Il s'est avéré que la programmation de ce type d'indicateur est assez simple et pratique.
Le deuxième moment difficile est de proposer une interface simple, comme on dit, intuitive, lorsque nous avons 3 chiffres de l'indicateur et 2 boutons. Mais je pense qu'il a réussi.

Ils ont proposé des boutons comme celui-ci:

  • Bouton droit - appui long, changement de mode, il y en a trois - Minuterie, Chronomètre, Jeux
  • Bouton droit - simple pression, changement de sous-mode. Pour le chronomètre, c'est le choix d'heures prédéfinies, pour le chronomètre, le choix d'un chronomètre régulier et avec confirmation, pour le jeu, respectivement. Jeux divers
  • Bouton gauche - simple pression - démarrer / arrêter ou déplacer dans le jeu, appui long - paramètres, mode de programmation

Avec un indicateur comme celui-ci:
  • Lorsqu'une minuterie est sélectionnée, un certain nombre de paramètres prédéfinis sont immédiatement affichés (par exemple, 5,15.30 minutes), ils peuvent être reprogrammés, stockés dans la ROM
  • Lorsque le chronomètre est sélectionné, alors 000
  • Quand les jeux - L - loto, 6 - bombe, C - cube.
  • Les chiffres sont intelligemment affichés sur l'indicateur, car il n'y a que trois chiffres, nous affichons alors le nombre maximal d'éléments significatifs. Par exemple, une minuterie - 200 minutes 30 secondes - alors nous imprimons 200., si la minuterie est de 10 min 15 s, alors nous imprimons 10.1, si 1 minute 25 s, alors 1,25. Dans le même temps, afin de comprendre que le chronomètre ou le chronomètre fonctionne, le point clignote au rythme des secondes.
  • Lorsque le chronomètre est arrêté, par exemple, pendant 10 minutes 25 secondes, nous affichons alternativement 10. et .25, une fois par seconde, pour voir également les secondes.

Le programme n'était pas si simple, mon fils l'a écrit pendant près de 3 semaines à l'école, avec un peu d'aide de ma part. Il y a beaucoup de conditions, différents drapeaux - démarrage, arrêt, travail avec la mémoire, etc. Mais il était très satisfait du résultat.

Test


Les premiers tests ont eu lieu à l'école. Au lieu d'un cube, la bonne aventure sur les notes. Je me suis demandé toute la classe. Ensuite, la bombe est un super jeu. L'appareil effectue un temps aléatoire de 5 à 20 secondes et commence à cocher toutes les secondes. Vous le faites circuler. Lorsque la minuterie atteint zéro - un signal d'explosion. Celui entre les mains de l'appareil a été perdu.

Les premiers tests du chronomètre et de la minuterie se sont bien déroulés. Ils ont suivi différentes heures, vérifié avec les heures exactes, une erreur de 1-2 secondes par heure. Ils ont travaillé sur le son du signal.

Présenter un cadeau


C'est mon anniversaire. Ma grand-mère s'est rapidement formée et était très heureuse. Tous ensemble expérimenté Lotto, entièrement automatisé. Toutes les 5 secondes, l'appareil grince et émet un nouveau numéro à partir du reste dans le sac. Tout le monde joue, conduit l'appareil! Qui n'a pas eu le temps, il était en retard.

Résumé


Ainsi, l'appareil s'est avéré tout simplement excellent. La pratique de la programmation est très intéressante. Si vous êtes également intéressé par les microcontrôleurs, vous pouvez faire vous-même (ou en cadeau) le même et le programmer. Vous apprendrez certainement:

  • faire des planches
  • composants smd à souder
  • programme STM8
  • travailler avec des piles
  • boutons de poignée
  • faire divers sons
  • travailler avec des minuteries et gérer des événements temporaires
  • combattre l'énergie

Sur github il y a un circuit et une carte au format Kicad. Le projet initial pour STM8 a été défini, la partie la plus compliquée est l'indication dynamique, l'initialisation du microcontrôleur, le traitement compliqué des boutons - appui court, double, long. Je vous suggère d'écrire le reste du programme vous-même, c'est tellement intéressant!

Source: https://habr.com/ru/post/fr408027/


All Articles