Table des matières:

Cadeaux illuminés : 5 étapes (avec photos)
Cadeaux illuminés : 5 étapes (avec photos)

Vidéo: Cadeaux illuminés : 5 étapes (avec photos)

Vidéo: Cadeaux illuminés : 5 étapes (avec photos)
Vidéo: DIY : l'art du papier cadeau 2024, Novembre
Anonim
Cadeaux illuminés
Cadeaux illuminés

À la maison, nous avons deux cadeaux illuminés qui sont utilisés pendant la période de Noël. Ce sont de simples cadeaux illuminés utilisant une LED rouge-verte bicolore qui change de couleur de manière aléatoire, qui s'estompe et s'efface. L'appareil est alimenté par une pile bouton de 3 volts. Ce dernier était à l'origine de ce projet car la batterie s'épuise très rapidement lorsque les cadeaux sont allumés plus longtemps.

Pour éviter l'utilisation d'une énorme quantité de piles bouton, j'ai conçu ma propre version en utilisant trois piles AAA rechargeables. Cette version utilise une LED RVB donc le bleu est également possible mais cela ne faisait pas partie de la conception originale. Ma version a les fonctions suivantes:

  • Le contrôle 2 se présente en même temps à l'aide d'un microcontrôleur PIC12F617. Le logiciel du microcontrôleur a été écrit dans le langage de programmation JAL.
  • Allumez et éteignez le présent à l'aide d'un bouton poussoir. La version originale utilisait un interrupteur à cet effet, mais un bouton-poussoir était plus facile à utiliser.
  • Changez au hasard la couleur des cadeaux par fondu enchaîné et fondu enchaîné des couleurs rouge et vert.
  • Éteignez les cadeaux lorsque la tension de la batterie descend en dessous de 3,0 volts. Cela évitera que les batteries rechargeables ne se déchargent trop.

Après avoir fondu une couleur, la LED reste allumée pendant un temps compris entre 3 et 20 secondes. Comme j'avais toujours la LED bleue inutilisée, j'ai ajouté la fonctionnalité selon laquelle les deux packages deviendront bleus lorsque le temps d'activation est exactement de 10 secondes. Cela n'arrive pas très souvent puisque le temps aléatoire est généré en impulsions de minuterie de 40 millisecondes comme décrit plus loin.

Étape 1: Quelques théories sur le fondu entrant et le fondu sortant à l'aide de la modulation de largeur d'impulsion

La meilleure façon de changer la luminosité d'une LED n'est pas de changer le courant qui traverse la LED mais de changer le temps pendant lequel la LED est allumée dans un certain intervalle de temps. Cette façon de contrôler la luminosité d'une LED est appelée modulation de largeur d'impulsion (PWM) qui a été décrite à plusieurs reprises sur Internet, par ex. Wikipédia.

PIC et Arduino ont un matériel PWM spécial à bord qui facilite la génération de ce signal PWM, mais ils ont souvent une sortie pour cela et vous ne pouvez donc contrôler qu'une seule LED. Pour cette version, je devais contrôler 5 LED (2 rouges, 2 vertes et 1 bleue combinées) donc PWM devait être fait dans le logiciel à l'aide d'une minuterie qui génère à la fois la fréquence PWM ainsi que le cycle de service PWM.

Le PIC12F617 dispose d'une minuterie intégrée avec des capacités de rechargement automatique. Cela signifie qu'une fois que vous avez défini la valeur de rechargement de la minuterie, elle utilisera cette valeur chaque fois que le délai d'attente est écoulé et que la minuterie fonctionne donc de manière autonome à une fréquence spécifiée. Étant donné que la synchronisation est critique pour un signal PWM stable, la minuterie fonctionne sur une base d'interruption, n'étant pas influencée par le temps dont le programme principal a besoin pour contrôler et déterminer le temps d'activation aléatoire des LED.

La fréquence PWM doit être suffisamment élevée pour éviter tout scintillement et j'ai donc choisi une fréquence PWM de 100 Hz. Pour l'effet de fondu d'entrée et de sortie, nous devons modifier le rapport cyclique et donc la luminosité de la LED. J'ai décidé d'utiliser un incrément de 5 pour augmenter ou diminuer la luminosité pour obtenir l'effet de fondu d'entrée et de sortie et puisque la minuterie utilise une plage de 0 à 255 pour le cycle d'utilisation, la minuterie doit fonctionner à 255 / 5 = 51 fois la fréquence normale ou 5100 Hz. Cela se traduit par une interruption de la minuterie tous les 196 us.

Étape 2: Le travail mécanique

Le travail mécanique
Le travail mécanique
Le travail mécanique
Le travail mécanique
Le travail mécanique
Le travail mécanique

Pour faire les cadeaux, j'ai utilisé du plastique acrylique blanc laiteux et pour le reste de l'installation, j'ai utilisé du MDF. Comme pour éviter que vous ne voyiez la forme de la LED dans l'emballage lorsque la LED est allumée, j'ai mis un cache au dessus des LED qui diffuse la lumière de la LED. Cette couverture provient de vieilles bougies électroniques que j'avais mais vous pouvez également créer une couverture en utilisant le même plastique acrylique. Sur les photos, vous voyez ce que j'ai utilisé comme équipement et matériel.

Étape 3: L'électronique

L'électronique
L'électronique
L'électronique
L'électronique
L'électronique
L'électronique
L'électronique
L'électronique

Le schéma de principe montre les composants électroniques dont vous avez besoin. Comme mentionné précédemment, 5 LED sont contrôlées indépendamment là où la LED bleue est combinée. Étant donné que le PIC ne peut pas piloter deux LED sur une broche de port, j'ai ajouté un transistor pour contrôler les LED bleues combinées. L'électronique est alimentée par 3 piles rechargeables AAA et peut être allumée ou éteinte en appuyant sur l'interrupteur de réinitialisation.

Vous avez besoin des composants électroniques suivants pour ce projet:

  • 1 microcontrôleur PIC 12F617 avec prise
  • 2 condensateurs céramiques: 2*100nF
  • Résistances: 1*33k, 1*4k7, 2*68 Ohm, 4*22 Ohm
  • 2 LED RVB, haute luminosité
  • 1 transistor BC557 ou équivalent
  • 1 bouton poussoir

Vous pouvez construire le circuit sur une maquette et ne nécessite pas beaucoup d'espace, comme on peut le voir sur la photo. Vous pouvez vous demander pourquoi les valeurs de résistance pour contrôler le courant maximum à travers les LED sont si faibles. Cela est dû à la faible tension d'alimentation de 3,6 volts en combinaison avec la chute de tension de chaque LED, qui dépend de la couleur par LED, voir également Wikepedia. Les valeurs de résistance donnent un courant maximum d'environ 15 mA par LED où le courant maximum de l'ensemble du système est d'environ 30 mA.

Étape 4: Le logiciel

Le logiciel effectue les tâches suivantes:

Lorsque l'appareil est réinitialisé par le bouton-poussoir, il allume l'appareil s'il était éteint ou il éteint l'appareil s'il était allumé. Off signifie mettre le PIC12F617 en mode veille dans lequel il ne consomme pratiquement pas d'énergie.

Générez le signal PWM pour contrôler la luminosité des LED. Cela se fait à l'aide d'une minuterie et d'une routine de service d'interruption qui contrôle les broches du PIC12F617 qui allument et éteignent les LED.

Fondu d'entrée et de sortie des LED et maintenez-les allumés pendant une durée aléatoire comprise entre 3 et 20 secondes. Si le temps aléatoire est égal à 10 secondes, les deux LED deviendront bleues pendant 10 secondes, après quoi le modèle normal de fondu d'entrée et de sortie de rouge-vert est utilisé.

Pendant le fonctionnement, le PIC mesurera la tension d'alimentation à l'aide de son convertisseur analogique-numérique (ADC) embarqué. Lorsque cette tension descend en dessous de 3,0 V, les LED s'éteignent et le PIC passe à nouveau en mode veille. Le PIC pourrait encore bien fonctionner à 3,0 V mais il n'est pas bon que les batteries rechargeables soient complètement déchargées.

Comme mentionné précédemment, le signal PWM est créé à l'aide d'une minuterie qui utilise une routine de service d'interruption pour maintenir un signal PWM stable. Le fondu entrant et sortant des LED, y compris le temps pendant lequel les LED sont allumées, est contrôlé par le programme principal. Ce programme principal utilise un timer de 40 millisecondes, dérivé du même timer qui crée le signal PWM.

Comme je n'ai pas utilisé de bibliothèques JAL spécifiques pour ce projet cette fois-ci, j'ai dû créer un générateur aléatoire utilisant un registre à décalage à rétroaction linéaire pour générer le temps d'activation et le temps d'arrêt aléatoires des LED.

Étape 5: Le résultat final

Image
Image
Le résultat final
Le résultat final

Il y a 2 vidéos qui montrent le résultat intermédiaire. Ma femme a encore besoin de transformer les cubes en véritables cadeaux. Une vidéo montre un gros plan du résultat là où l'autre vidéo le montre avec le présent original qui a mené à ce projet.

Comme vous pouvez vous y attendre lorsque vous pensez avoir terminé, de nouvelles exigences apparaissent. Ma femme demandait si la luminosité des LED peut également varier après leur apparition. C'est bien sûr possible puisque je n'ai utilisé qu'environ la moitié de la mémoire de programme du PIC12F617.

Le fichier source JAL et le fichier Intel Hex pour la programmation du PIC sont joints. Si vous souhaitez utiliser le microcontrôleur PIC avec JAL - un langage de programmation de type Pascal - visitez le site Web de JAL.

Amusez-vous à faire ce Instructable et attendons avec impatience vos réactions et résultats.

Conseillé: