Table des matières:

3 cadeaux de vacances ATTiny faciles : 4 étapes
3 cadeaux de vacances ATTiny faciles : 4 étapes

Vidéo: 3 cadeaux de vacances ATTiny faciles : 4 étapes

Vidéo: 3 cadeaux de vacances ATTiny faciles : 4 étapes
Vidéo: Programmer un attiny85 - EP03 Projet Dé Electronique 2024, Novembre
Anonim
3 cadeaux de vacances ATTiny faciles
3 cadeaux de vacances ATTiny faciles

Chaque année, la saison des fêtes approche et je ne sais pas quoi offrir à mes amis et à ma famille. Les gens disent toujours qu'il vaut mieux faire le cadeau soi-même que de l'acheter dans un magasin, alors cette année j'ai fait exactement cela. Le premier affiche un nom ou une image de base lorsqu'il est agité dans les airs, le second s'estompe en douceur entre deux LED blanches (il a également une épingle de sûreté pour l'attacher à des vêtements ou à un sac à main), et le troisième est une sorte de lumière d'ambiance, défilant en toute transparence entre les couleurs. Tous coûtent moins de 15 $ et sont faciles à assembler en moins d'une heure. Vous pouvez également offrir ces instructions ainsi que des pièces en cadeau à une personne intéressée par l'apprentissage de l'électronique.

Remarque: Un niveau de base de soudure est supposé. Cependant, contrairement à mon instructable précédent, je vais passer sous silence comment programmer un AVR. J'espère vraiment que cela aidera les gens qui essaient de se lancer dans l'électronique. Je me souviens quand j'étais là-bas et je serai heureux de répondre à toutes vos questions. N'oubliez pas qu'il n'y a pas de questions stupides ! Je vous ai laissé le choix de déterminer comment vous allez disposer votre circuit imprimé dans l'espoir que vous trouviez une nouvelle façon d'afficher les circuits simples que j'ai dessinés. Veuillez poster des photos une fois que vous avez terminé, j'ai hâte de voir ce que vous proposez!Pièces pour tous les projets N = nombre de projets x N ATTiny45 (www.digikey.com) x N prise DIP 8 broches (RadioShack) x 1 Large Perf Board (j'ai eu le mien chez RadioShack) x N 3v Pile bouton et support (RadioShack) x1 Programmeur (j'utilise ceci et le makefile fourni sera configuré pour utiliser celui-ci) x2 N Résistances, une de 10 ohms et un 10k ohm (RadioShack) Voici une photo des trois projets terminés:

Étape 1: Le clignotant de nom

Le clignotant de nom
Le clignotant de nom
Le clignotant de nom
Le clignotant de nom
Le clignotant de nom
Le clignotant de nom

Autres pièces x5 LED DIFFUSÉES 3 mm (RadioShack) Ce projet utilise la persistance de la vision pour afficher une image ou un texte lorsqu'il est déplacé rapidement. Cela fonctionne mieux quand il fait noir. Avec l'AVR, nous passons plus rapidement entre les LED que l'œil ne peut voir que nous pouvons créer une image dans les airs avec très peu de composants. Le code: (Téléchargez le fichier.zip en bas de la page pour le code, makefile, etc. (Ce code n'a pas les commentaires détaillés que ce code fait mais si ce code ne fonctionne pas, essayez celui dans le zip)) #define F_CPU 1000000 #include #include void dispClear() { PORTB = ~0b00000000; } int main() { DDRB = 0xFF; //Pour ceux d'entre vous qui n'ont jamais lu le C avant que la double barre oblique n'indique un commentaire. Cela définit les broches de l'avr comme un char de sortie x = 10; //x est utilisé pour définir la longueur du délai. L'augmentation de la valeur donne un basculement plus lent entre les pixels, la diminution, un while(1) //While(condition is true); {Faire ceci} (Vrai en C est 1) { PORTB = ~0b00010001; // Le nom de mon amie est Zoe, j'ai donc dessiné les caractères sur du papier millimétré, puis je les ai imputés dans PORTB. Les trois premiers zéros n'ont pas d'importance car il n'y a que cinq LED connectées. Un un dans l'un des cinq espaces restants indique que la LED est allumée, un zéro, éteint. _delay_ms(x); //délai en millisecondes PORTB = ~0b00010011; _delay_ms(x); PORTB = ~0b00010101; _delay_ms(x); PORTB = ~0b00011001; _delay_ms(x); PORTB = ~0b00010001; _delay_ms(x); dispClear(); //Ouvrez l'espace entre les caractères _delay_ms(x); PORTB = ~0b00001110; _delay_ms(x); PORTB = ~0b00010001; _delay_ms(x*3); PORTB = ~0b00001110; _delay_ms(x); dispClear(); _delay_ms(x); PORTB = ~0b00011111; _delay_ms(x); PORTB = ~0b00010101; _delay_ms(x); PORTB = ~0b00010001; _delay_ms(x); dispClear(); _delay_ms(x*5); //Le mot est fait donc pour la clarté J'ai un plus grand espace entre les mots } } Suivez maintenant les instructions de la page 4 pour compiler ce code et l'envoyer à votre AVR.

Étape 2: la lumière de la bourse

La lumière de la bourse
La lumière de la bourse
La lumière de la bourse
La lumière de la bourse

Autres parties x2 LED NON DIFFUSED (RadioShack) Ce projet s'estompe en douceur entre deux LED. Ma mère voulait que quelque chose aille sur son sac à main pour l'aider à être vue la nuit. J'avais l'impression qu'un feu de vélo clignotant attirerait trop l'attention, alors j'ai fait ça. Il utilise PWM (Pulse Width Modulation) pour donner un effet de gradation et d'éclaircissement. Ce qui se passe réellement, c'est que la LED clignote plus vite que l'œil ne peut voir à des intervalles variables pour simuler un changement. Vous pouvez le voir plus clairement lorsque vous l'agitez sur votre visage comme vous le feriez avec le Name Flasher. Le code peut être téléchargé à la fin de cette page. Voir page 4 sur la façon de compiler sur votre AVR. Au lieu de commenter le code ici, je vais expliquer brièvement le concept. Le PWM est généré par une minuterie. Chaque cycle d'horloge, la minuterie compte un. Lorsqu'il atteint une certaine valeur (dans ce cas OCR1B) il change l'état d'une broche (dans ce cas OC1B). Pour que les LED "s'éteignent", j'ai câblé l'autre à [OPPOSITE] OC1B (c'est ce que signifie la barre en haut). Ensuite, nous utilisons x pour incrémenter et décrémenter la durée d'allumage des LED.

Étape 3: Le défilement des couleurs

Le défilement des couleurs
Le défilement des couleurs
Le défilement des couleurs
Le défilement des couleurs

Autres Partsx1 RGB LED (diffusé c'est mieux) (RadioShack) C'est pour moi un classique. J'ai toujours été fasciné par les lumières comme celle-ci et je les trouve très apaisantes donc naturellement j'ai voulu en faire une. De plus, leur visibilité dans la société leur donne un vrai facteur WOW. "Tu l'as fait ?!" Le code est presque le même et, à mon avis, plus facile à lire. Vous pouvez télécharger le en bas. Cette fois, nous fournissons une broche PWM pour chaque broche de mise à la terre de la LED RVB. De cette façon, nous broyons à travers la puce. Les volts peuvent être mesurés comme la différence entre deux points. 3v-0v=3v 5v-2v=3v ***3v-3v=0v*** Cette dernière instance est ce que nous faisons lorsque nous mettons à la terre à travers la puce. Quand il y a trois volts des deux côtés, par exemple, il n'y a pas assez de volts pour piloter une LED. Donc pour s'estomper entre les couleurs on a choisi une couleur et une autre couleur. Définissez un égal à x et l'autre égal à 255-x ou l'INVERSE de x. Comme nous le faisions dans le projet précédent. Passez maintenant à l'étape 4 pour programmer.

Étape 4: Programmation

Programmation
Programmation

Commencez par télécharger et installer Emacs, avr-gcc et Avrdude et toutes les dépendances qu'ils pourraient avoir. Sur Arch Linux, j'ai fait ceci avec: sudo pacman -Sy emacs avrdude

Il est maintenant temps de connecter votre programmeur à votre avr. Câblez les broches du programmateur ISP à 6 broches (image ci-dessous) aux broches correspondantes de votre AVR (fiche technique, page 2) (je l'ai fait sur une maquette). Branchez maintenant le programmateur à votre ordinateur et touchez TRÈS RAPIDEMENT le haut de l'AVR. S'il est chaud, RETIREZ IMMÉDIATEMENT LE PROGRAMMATEUR DE VOTRE ORDINATEUR, vérifiez vos connexions et réessayez (Power et Gnd à l'envers ?). S'il ne fait pas chaud, ouvrez emacs et appuyez sur Ctl-x Ctl-f pour trouver le fichier.c. Ouvrez-le, puis appuyez sur Meta(Habituellement Alt)-x et tapez compiler. Appuyez deux fois sur Entrée et si vous êtes chanceux, votre AVR devrait maintenant exécuter votre code ! Merci d'avoir lu! J'espère que vous avez apprécié et appris quelque chose. S'il vous plaît, n'hésitez pas à poser des questions et n'oubliez pas de poster des photos de ce que vous proposez. Bonnes vacances et n'oubliez pas de voter !

Conseillé: