Table des matières:

PCB d'ornement de vacances: 3 étapes (avec photos)
PCB d'ornement de vacances: 3 étapes (avec photos)

Vidéo: PCB d'ornement de vacances: 3 étapes (avec photos)

Vidéo: PCB d'ornement de vacances: 3 étapes (avec photos)
Vidéo: Carte pop'n cuts -Marika Lemay-www.lamagiedesetampes.com- 2024, Juillet
Anonim
Ornement de vacances PCB
Ornement de vacances PCB
Ornement de vacances PCB
Ornement de vacances PCB
Ornement de vacances PCB
Ornement de vacances PCB

Salut tout le monde!

C'est cette période de l'année et la saison des échanges de cadeaux est presque arrivée. Personnellement, j'aime faire des choses et les partager avec la famille. Cette année, j'ai décidé de faire des décorations de vacances en utilisant l'Atting85 et certaines LED WS2812C 2020. L'ornement mesure environ 80 mm de diamètre, il s'agit donc d'un ornement de taille raisonnable pour l'arbre. Si vous n'êtes pas un arbre, vous savez quoi, cela fait aussi un excellent ornement de bureau. Les LED WS2812C 2020 sont des petits bougres incroyablement lumineux, alors ne vous inquiétez pas qu'ils soient trop faibles haha. Je l'ai testé à 3,3 volts avec une consommation de courant de 0,013 ampères puis pour 5 volts la consommation de courant était de 0,023 ampères. Vous pouvez soit alimenter cette carte avec un 5 volts direct à l'arrière, soit via le connecteur micro USB à l'arrière. Je pourrais le brancher sur mon ordinateur portable et l'alimenter. Il y a aussi une option à l'arrière pour l'alimenter avec d'autres sources d'alimentation à un maximum de 30 volts, mais c'est en faisant confiance à la fiche technique du régulateur 78L05 5V, je ne le pousserais pas aussi loin.

Veuillez lire l'intégralité du guide avant de le construire. Apprenez de mes erreurs car croyez-moi, je gagne généralement beaucoup et je peux partager mes perles de sagesse.

Si vous êtes intéressé à acheter un PCB préfabriqué ou simplement le PCB lui-même, visitez mon magasin Tindie.

Fournitures

Commençons par tous les outils dont vous aurez besoin pour construire vous-même l'un de ces ornements. C'est en fait l'un de mes rares projets qui ne nécessitent pas une quantité importante d'outils, ce qui est parfait pour vous !

Outils

- Pistolet thermique (outil principal)/fer à souder (correcteur d'erreurs)

- Pince à épiler ESD

- Alcool isopropylique

- Pochoir CMS (fortement recommandé)

- Pâte à souder (j'utilise une pâte à souder Low Temp sans plomb vendue sur amazon)

Fournitures

- x10 LED WS2812 2020

- x1 microcontrôleur Attiny85

- Condensateurs x11 0.1uf 0603

- x1 0.1uf 0402 Condensateur (Vous pourriez vous en tirer avec un 0603 Cap)

- x1 connecteur SMD Micro USB

- x1 Résistance 1.5K Ohm

- Condensateur x1 4.7uf 0805

- x1 78L05 5V Régulateur

- x1 Diode SOD123 (j'ai utilisé un fil en remplacement car ce n'est pas nécessaire, mais j'ai oublié de l'enlever lors de la conception de la carte)

- x2 Diodes SOD323

- Résistances x2 66,5 Ohm (Vous pouvez également utiliser des résistances x2 24-Ohm ici aussi, je pense que n'importe quelle paire correspondante fera l'affaire - ne me citez pas)

Optionnel

- x1 Résistance 24 Ohm

- x1 Résistance 30 Ohm

(Ce sont pour un diviseur de tension si vous vouliez mesurer la tension d'entrée pour un moniteur de basse tension - juste une option)

Étape 1: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée

Le processus d'assemblage est assez simple. Assurez-vous d'orienter correctement les pièces et vous ne devriez pas rencontrer de problèmes. Vous savez quoi, si vous êtes comme moi et que absolument rien ne fonctionne la première fois… littéralement rien, j'ajoute quelques étapes de dépannage à la fin.

Eh bien, tout d'abord, vous aurez besoin de ce pochoir maintenant… J'ai joint le fichier PDF PCB à l'échelle 1:1 afin que vous puissiez le raster sur votre propre découpeur laser. Si vous avez besoin d'une coupe pour vous, envoyez-moi un message, je le ferai aussi. Sinon, faire cela à la main vous fait un bada$$ qualifié.

Si vous avez de l'expérience dans la fabrication de circuits imprimés, c'est ici que vous irez de l'avant et sécuriserez votre pochoir, étalez votre pâte à souder bla bla bla vous l'obtenez. Pour ceux qui n'ont jamais fait ça, pas de soucis, regardez une vidéo ou deux sur youtube. Assurez-vous que votre alignement est parfait avant d'étaler votre pâte à souder et votre simple squeezy au citron.

Retirez délicatement votre pochoir et commençons à placer les pièces !!

Observez mon tableau soigneusement dessiné pour vous, fait avec amour et tendresse.

- Violet foncé = 0.1uf 0603

- Bleu = Diodes

- Lime Green = 4,7 uf 0805 (pourrait utiliser 0603, probablement)

- Violet = Pont de fil

- Rose = résistances diviseurs de tension

- Rouge = LED WS2812C (Observez leur orientation, la partie la plus sombre sera en bas)

- Jaune = 78L05 5V régulateur 100mA

Vous voulez savoir à quoi sert l'autre marquage jaune ? Es-tu sûr? Eh bien… C'EST UNE ERREUR OK ! J'ai mis un freakin ground via dans la trace du signal, littéralement en plein milieu OK. POURQUOI… JE NE SAIS PAS.

Je digresse. Après des heures passées à m'arracher les cheveux douloureusement, j'ai réalisé mon erreur. Pour le réparer, je devais non seulement percer le sol via, mais percer un trou incroyablement petit à travers la carte et connecter la trace du signal avec un petit fil. J'ai utilisé du ruban isolant liquide pour sécuriser et couvrir mon erreur. Vous ne pouvez pas le voir très bien une fois qu'il est couvert Dieu merci.

Je vais également résoudre ce problème si vous achetez une planche chez moi, donc pas de soucis là-bas.

Étape 2: Codage

Codage
Codage
Codage
Codage

Donc, avant de concevoir cela, je me suis dit: "Oh, les petites LED WS2812, elles doivent utiliser le même code que les WS2812b, ça va être une promenade dans le parc !" TORT

Celles-ci n'utilisent pas le même timing que les LED WS2812b, il y a donc une courbe d'apprentissage ou une montagne en fonction de votre confort avec le codage.

Après un petit moment "Oh $hit", j'ai trouvé ce blog de Josh Levin. Alors, criez-lui de m'avoir aidé à comprendre cela. J'ai utilisé une grande partie de son code et je l'ai modifié pour fonctionner avec ces cartes. Consultez son blog si vous voulez comprendre comment fonctionne ce code. Le code que j'ai posté fait un effet arc-en-ciel. C'est possible alors faites des couleurs unies si c'est votre truc.

Une chose mineure est que je ne peux pas comprendre comment atténuer ces LED car elles sont vraiment lumineuses. Peut-être que quelqu'un pourrait laisser un commentaire et m'aider.

#include #define PIXELS 3000 #define PIXEL_PORT PORTB #define PIXEL_DDR DDRB #define PIXEL_BIT 0 #define T1H 700 #define T1L 320 #define T0H 320 #define T0L 700 #define RES 300000 #define NS_PEREC_SEC (F_1000000000LLES) #define_SPER_PU_CLES_ #define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #define NS_TO_CYCLES(n) ((n) / NS_PER_CYCLE)

inline void sendBit(bool bitVal) {

if (bitVal) { asm volatile ("sbi %[port], %[bit] n\t" ".rept %[onCycles] n\t" "nop \n\t" ".endr \n\t " "cbi %[port], %[bit] n\t" ".rept %[offCycles] n\t" "nop \n\t" ".endr \n\t":: [port] " I" (_SFR_IO_ADDR(PIXEL_PORT)), [bit] "I" (PIXEL_BIT), [onCycles] "I" (NS_TO_CYCLES(T1H) - 2), [offCycles] "I" (NS_TO_CYCLES(T1L) - 2));

} autre {

asm volatile ("sbi %[port], %[bit] n\t" ".rept %[onCycles] n\t" "nop \n\t" ".endr \n\t" "cbi %[port], %[bit] n\t" ".rept %[offCycles] n\t" "nop \n\t" ".endr \n\t":: [port] "I" (_SFR_IO_ADDR(PIXEL_PORT)), [bit] "I" (PIXEL_BIT), [onCycles] "I" (NS_TO_CYCLES(T0H) - 2), [offCycles] "I" (NS_TO_CYCLES(T0L) - 2));

} }

inline void sendByte(unsigned char byte) { for(unsigned char bit = 0; bit < 8; bit++) { sendBit(bitRead(byte, 7)); octet <<= 1; } }

void ledsetup() {

bitSet(PIXEL_DDR, PIXEL_BIT); }

inline void sendPixel(unsigned char r, unsigned char g, unsigned char b) {

sendByte(g); // Neopixel veut des couleurs en vert puis rouge puis bleu ordre sendByte(r); sendByte(b); }

spectacle nul () {

_delay_us((RES / 1000UL) + 1); // Arrondir car le délai doit être _au_moins_ aussi long (trop court peut ne pas fonctionner, trop long pas de problème) }

void showColor(unsigned char r, unsigned char g, unsigned char b) {

cli(); for(int p=0; p

8;

pas de caractère non signé = currentPixelHue & 0xff; switch (phase) { case 0: sendPixel(~step, step, 0); Pause; cas 1: sendPixel(0, ~step, step); Pause;

cas 2:

sendPixel(step, 0, ~step); Pause; } currentPixelHue+=pixelAdvance; } sei(); spectacle(); firstPixelHue += frameAdvance; } }

void setup() {

ledsetup(); }

boucle vide() {

arc-en-ciel(1000, 10, 10); revenir; }

Étape 3: Tout est fait

Terminé
Terminé
Terminé
Terminé
Terminé
Terminé

Espérons que tout fonctionne à ce stade, mais si ce n'est pas le cas, terminons par un dépannage.

1. La carte n'est pas reconnue par Arduino - assurez-vous que la bibliothèque digispark est installée et que vous lisez comment utiliser les cartes digispark.

2. Le code ne se télécharge pas - Vous devez appuyer sur télécharger, puis brancher le module sur l'ordinateur, stupide je sais, mais c'est comme ça que ça marche.

3. La carte ne fonctionne toujours pas - Assurez-vous que votre câble micro-USB permet les données ainsi que l'alimentation, tous les câbles ne le font pas. Vous pouvez imaginer que j'ai compris cela à la dure.

4. Toujours rien - Vos diodes pourraient être à l'envers - vérifiez avec un multimètre pour une bonne orientation.

5. LED clignotantes étranges - Soit il s'agit d'un problème de code, soit l'une de vos LED n'est pas correctement installée sur le pavé de signal.

6. Les 3 dernières LED sont foirées - Ah ! vous avez rencontré mon erreur de conception. Assurez-vous que le via de terre a été percé - en vérifiant avec un multimètre la continuité entre le signal et la terre. Ensuite, assurez-vous que votre fil de pont est également isolé de la terre.

7. Toujours en panne - Honnêtement, je n'ai plus de solutions, envoyez-moi un message.

Eh bien, j'espère que vous avez apprécié mon Instructable ! S'il vous plaît laissez un commentaire si vous l'avez fait.

Meilleur, pseudo

Conseillé: