Étape 1: Créer et programmer
À l’exception de la régulation de la puissance, c’est essentiellement le même circuit, répété trois fois, une pour le rouge, vert et bleu. Trois des broches de la ATtiny - PB0, PB1, PB2 - sont configurés comme sorties et sont utilisés pour rapidement activer ou désactiver un transistor à l’aide de PWM, qui à son tour, tour à tour et éteindre la LED rouge, verte ou bleue attaché à elle. (Une LED RGB est vraiment juste trois LEDs montées dans un seul paquet.) Les trois autres broches sur le ATtiny13 - PB3 et PB4 PB5 - sont configurées comme entrées et traversent de convertisseur analogique-numérique de la puce. Chaque broche est relié à un potentiomètre 10K qui agit comme un diviseur de tension, fournissant de 0 à 5 volts selon si le bouton est tourné tout le chemin gauche ou à droite. Le microcontrôleur convertit cette tension en une valeur comprise entre 0 et 255, qu’elle utilise ensuite pour déterminer quel est le pourcentage du temps la broche de sortie correspondante est activée, transformant ainsi la position de la molette bleue dans la luminosité de la LED bleue, etc..
Mon aigle schématique et la disposition de la Commission sont attachés, ainsi que l’imprimé à des traces de la Commission que j’ai utilisé à graver le circuit imprimé. Il y a quelques fils de raccordement sur le dessus de la chambre depuis que je suis encore à essayer de gravure recto-verso. Les trois fils longs de POTs à la ATtiny figurent également sur le dessus de la chambre, bien que pour le rendre plus joli, je les ai mis sur le dos du Conseil d’administration à l’aide de fil isolé.
La LED RGB est livré montée d’une étoile de dissipateur de chaleur, mais la documentation de Sparkfun dit que si tous les trois sont complètement allumés, puis couler une chaleur supplémentaire est nécessaire. Pensant que je voudrais certainement augmentez tous les trois boutons et voir comment brillant d’une lumière blanche, cela peut produire, j’ai décidé de joindre star LED pour un plus grand 1" carré en aluminium (1/8" épais). La LED n’est pas vraiment attachée autant que maintenus en place par les six fils, bien que j’ai placer la pâte thermique entre les deux plaques, ce qui le garde également en place.
Get de le LM317 assez chaud ainsi--ils sont chaque dissiper autour 2-watts--donc j’ai vissé TO-220 dissipateurs de chaleur avec de la graisse thermique sur chacun de ces établissements.
Le code de source C est attaché. Puisque le ATtiny13 n’a que deux broches PWM de matériel, le PWM ici se fait « manuellement ». Autrement dit, chaque fois que le compteur de la minuterie s’inscrire débordements, la routine d’interruption vérifie pour voir si il est temps d’éteindre la LED rouge, bleue ou verte. La puce tourne à sa vitesse par défaut de 9,6 MHz, ce qui signifie que les déclencheurs d’interruption de débordement à 37,5 KHz (9,6 MHz/256), ce qui signifie que la vitesse PWM est seulement 146 Hz (37500/256). Il existe des façons de mettre à jour beaucoup plus rapidement, mais je ne vois aucune raison de 146Hz étant encore bien au-dessus scintiller seuil de fusion du peuple.