Étape 1: théorie
Pour une explication plus approfondie du fonctionnement des matrices de LED fonctionne, visitez cette page. Comme vous pouvez le voir sur le schéma ci-dessus, une matrice de LED se compose d’un certain nombre de LEDs câblées ensemble dans un mode de type grille. Évidemment, leur accord final n’a pas à être en forme de grille, mais leur câblage fait. Essentiellement, tous les voyants de chaque ligne ont leurs anodes connectés entre eux, et tous les voyants dans chaque colonne a leurs cathodes câblées ensemble. Afin d’activer toute une LED, vous devez connecter le son anode (via sa connexion de ligne commune) à V + et connecter sa cathode (via sa connexion colonne commune) à GND. De cette façon, chaque LED peut être piloté individuellement. Cela pose un problème presque immédiatement, cependant. Que se passe-t-il si vous voulez allumer deux LEDs à celui même, dans la première colonne une vers le bas du haut et l’autre dans la troisième colonne deux vers le bas du haut ? Eh bien, vous relierait les deuxième et troisième rangées à V + et les premières et troisième colonnes à GND. Mais maintenant tout d’un coup quatre sont allumées, plutôt que les deux que vous avez initialement désiré. Pour contourner ce problème, ligne ou colonne de balayage est utilisé.
Avec ligne et colonne de balayage, orcolumn qu’une seule ligne est jamais connecté au V + et GND à la fois (en ligne, numérisation, seulement une seule ligne est reliée à V +, et dans la colonne qu’une seule colonne de balayage est relié au GND). De cette façon, les seules LEDs qui seront allument sont ceux de la ligne/colonne qui est actuellement connecté à V + / GND. Afin de donner l’impression que plus d’une ligne/colonne est à la fois, les lignes/colonnes sont analysés ; dès qu’une ligne/colonne a été allumée et ses voyants correspondants ont été activées/désactivée, elle n’est pas nouveau et la même chose arrive avec la prochaine ligne/colonne. Cette pulsation des lumières arrivent si vite que le œil ne voit rien avoir éteint dans ce qui est connu comme la persistance de la vision (POV) et notre processus de cerveaux que plusieurs lignes/colonnes sont un moment.
J’ai décidé d’utiliser des lignes de numérisation pour ce projet. J’ai pensé qu’il serait plus facile, car j’utilise une matrice composée de cinq lignes et 11 colonnes et cinq lignes sont capables de s’adapter dans le 8-sortie-maximum les registres à décalage qui sera utilisé pour contrôler la matrice. La raison pour laquelle que je suis en utilisant shift, c’est qu’une norme Arduino Uno n’a pas assez e/s pour la matrice de LED tant les boutons permettant de contrôler l’horloge. Les registres à décalage utilisent 6 broches de l’Arduino, et non les 16 qui seraient nécessaires pour piloter directement chaque colonne et ligne. Trois registres à décalage sont utilisés : un pour le balayage de ligne et un autre 2 pour la colonne naufrage. Parce que le balayage ligne essentiellement fonctionne indépendamment de tout le reste, il doit être contrôlé séparément dans les registres de la colonne. Les registres de colonne peuvent effectivement être enchaînés ensemble en utilisant la sortie séquentielle de l’un des registres à décalage, qui permet de réduire le nombre de broches de l’Arduino. Ce projet utilise le registre à décalage 74HC595.
Pour un guide quel poste enregistre sont et comment les utiliser avec un Arduino, cliquez ici.
Le circuit d’alarme de lever du soleil est assez simple et ne se compose que d’une base circuit RC qui augmente progressivement le courant sur le portail d’un MOSFET IRF510, qui à son tour permet de plus en plus courant de couler à travers un tableau de LED, par son chemin d’accès de drain-source et GND. Plus courant circulant dans le tableau, est le plus brillant de sa LED et plus vous arrivez à réveiller le matin.