İçindekiler:

Tatil Süsleme PCB: 3 Adım (Resimlerle)
Tatil Süsleme PCB: 3 Adım (Resimlerle)

Video: Tatil Süsleme PCB: 3 Adım (Resimlerle)

Video: Tatil Süsleme PCB: 3 Adım (Resimlerle)
Video: Zorunlu Göç Sonrası Kariyer 2024, Kasım
Anonim
Tatil Süs PCB
Tatil Süs PCB
Tatil Süs PCB
Tatil Süs PCB
Tatil Süs PCB
Tatil Süs PCB

Selam millet!

Yılın bu zamanı ve hediye alışverişi mevsimi neredeyse üzerimizde. Şahsen bir şeyler yapmaktan ve ailemle paylaşmaktan zevk alıyorum. Bu yıl Atting85 ve bazı WS2812C 2020 LED'lerini kullanarak tatil süsleri yapmaya karar verdim. Süs yaklaşık 80 mm çapındadır, bu nedenle ağaç için makul boyutta bir süslemedir. Bir ağaç insanı değilseniz, ne olduğunu bilirsiniz, bu da harika bir masa süsü yapar. WS2812C 2020 LED'leri inanılmaz derecede parlak küçük böceklerdir, bu yüzden çok loş olması konusunda endişelenmeyin haha. 3,3 voltta 0,013 amper akım tüketimi ile test ettim, ardından 5 volt için akım tüketimi 0,023 amper oldu. Bu karta arkadaki doğrudan 5 volt ile veya arkadaki mikro USB konektörü ile güç verebilirsiniz. Bunu dizüstü bilgisayarıma takıp çalıştırabilirim. Ayrıca arkada diğer güç kaynaklarıyla maksimum 30 voltta güç sağlamak için bir seçenek de var, ancak bu 78L05 5V regülatörün veri sayfasına güveniyor, o kadar zorlamazdım.

Lütfen bunu oluşturmadan önce kılavuzun tamamını okuyun. Hatalarımdan ders çıkarın çünkü bana güvenin, genellikle çok şey yaparım ve bilgelik incilerimi paylaşabilirim.

Hazır bir PCB veya sadece PCB'nin kendisi satın almakla ilgileniyorsanız, tindie mağazamı ziyaret edin.

Gereçler

Bu süslerden birini kendiniz yapmak için ihtiyaç duyacağınız tüm araçlarla başlayalım. Bu aslında sizin için harika olan önemli miktarda araç gerektirmeyen birkaç projemden biri!

Aletler

- Isı tabancası (birincil alet)/havya (hata giderici)

- ESD cımbızları

- İzopropil alkol

- SMT şablonu (şiddetle tavsiye edilir)

- Lehim pastası (Amazon'da satılan Düşük Sıcaklıklı Kurşunsuz lehim pastası kullanıyorum)

Gereçler

- x10 WS2812 2020 LED'leri

- x1 Attiny85 Mikrodenetleyici

- x11 0.1uf 0603 Kondansatörler

- x1 0.1uf 0402 Kondansatör (0603 Cap ile kurtulabilirsiniz)

- x1 SMD Mikro USB konektörü

- x1 1.5K Ohm Direnç

- x1 4.7uf 0805 Kapasitör

- x1 78L05 5V Regülatör

- x1 SOD123 Diyot (Gerekli olmadığı için yedek olarak bir tel kullandım, ancak kartı tasarlarken çıkarmayı unuttum)

- x2 SOD323 Diyotlar

- x2 66,5 Ohm Dirençler (Burada da x2 24-Ohm dirençler kullanabilirsiniz, eşleşen herhangi bir çiftin gerçekten yapacağına inanıyorum - benden alıntı yapmayın)

İsteğe bağlı

- x1 24 Ohm Direnç

- x1 30 Ohm Direnç

(Düşük voltajlı bir monitör için giriş voltajını ölçmek istiyorsanız bunlar voltaj bölücü içindir - sadece bir seçenek)

Adım 1: Montaj

toplantı
toplantı
toplantı
toplantı
toplantı
toplantı
toplantı
toplantı

Montaj süreci oldukça basittir. Parçaları doğru yönlendirdiğinizden ve sorun yaşamadığınızdan emin olun. Ne var biliyor musunuz, benim gibiyseniz ve ilk seferde kesinlikle hiçbir şey işe yaramazsa… kelimenin tam anlamıyla hiçbir şey, sonunda bazı sorun giderme adımlarını atıyorum.

Her şeyden önce, o şablona şimdi ihtiyacınız olacak… Kendi lazer kesicinizde rasterleyebilmeniz için 1:1 ölçekli PCB PDF dosyasını ekledim. Senin için bir kesime ihtiyacın olursa, bana mesaj at onu da yaparım. Aksi takdirde bunu elle yapmak sizi yetenekli bir bada$$ yapar.

PCB yapma konusunda deneyiminiz varsa, devam edeceğiniz ve şablonunuzu sabitleyeceğiniz yer burasıdır, lehim pastanızı bla bla bla bla bla alırsınız. Bunu hiç yapmamış olanlar için endişelenmeyin, bir veya iki youtube videosu izleyin. Lehim pastanızı ve kolay peasy limon sıkmanızı yaymadan önce hizalamanızın mükemmel olduğundan emin olun.

Şablonunuzu dikkatlice çıkarın ve parçaları yerleştirmeye başlayalım!!

Sizin için özenle çizilmiş, sevgi ve şefkatle yapılmış resmime bakın.

- Koyu Mor = 0.1uf 0603

- Mavi = Diyotlar

- Kireç Yeşili = 4.7 uf 0805 (Muhtemelen 0603 kullanılabilir)

- Mor = Tel köprü

- Pembe = Voltaj bölücü dirençler

- Kırmızı = WS2812C LED'leri (Yönlerini gözlemleyin, koyu kısım altta olacaktır)

- Sarı = 78L05 5V regülatör 100mA

Diğer sarı işaretin ne için olduğunu bilmek ister misiniz? Emin misin? Peki… BU BİR HATA TAMAM! Sinyal izine ucube bir zemin koydum, tam anlamıyla ortadaki okşamayı okşadım. NEDEN… BİLMİYORUM.

dalıyorum. Saatlerce acı çekerek saçımı çektikten sonra hatamı anladım. Bunu düzeltmek için, sadece zemini delmekle kalmayıp, tahtada inanılmaz derecede küçük bir delik açmam ve sinyal izini küçük bir kabloyla bağlamam gerekiyordu. Hatamı sabitlemek ve kapatmak için biraz sıvı elektrik bandı kullandım. Çok şükür üzeri kapatıldıktan sonra çok iyi göremezsiniz.

Benden bir tahta alırsanız bunu da düzelteceğim, bu yüzden endişelenmeyin.

Adım 2: Kodlama

kodlama
kodlama
kodlama
kodlama

Bunu tasarlamadan önce, "Ah küçük WS2812 LED'leri, WS2812b'lerle aynı kodu kullanmalılar, bu parkta bir yürüyüş olacak!" diye düşündüm. YANLIŞ

Bunlar WS2812b LED'leri ile aynı zamanlamayı kullanmazlar, bu nedenle kodlama ile rahatınıza bağlı olarak bir öğrenme eğrisi veya dağ vardır.

Küçük bir "Oh $ hit" anından sonra, Josh Levin'in bu blogunu buldum. Bu yüzden, bunu çözmeme yardım ettiği için ona bağır. Kodunun önemli bir miktarını kullandım ve bu panolarla çalışacak şekilde değiştirdim. Bu kodun nasıl çalıştığını anlamak istiyorsanız bloguna bakın. Gönderdiğim kod gökkuşağı etkisi yapıyor. Bu sizin işinizse, düz renkler yapmak mümkündür.

Küçük bir şey, bu LED'leri gerçekten parlak oldukları için nasıl karartacağımı anlayamıyorum. Belki birisi yorum bırakıp bana yardımcı olabilir.

#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_PER_SEC (1000000000L) #define #define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #define NS_TO_CYCLES(n) ((n) / NS_PER_CYCLE)

satır içi geçersiz sendBit(bool bitVal) {

if (bitVal) { asm uçucu ("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));

} Başka {

asm uçucu ("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));

} }

satır içi void sendByte(işaretsiz karakter baytı) { for(işaretsiz karakter biti = 0; bit < 8; bit++) { sendBit(bitRead(bayt, 7)); bayt <<= 1; } }

geçersiz ledsetup() {

bitSet(PIXEL_DDR, PIXEL_BIT); }

satır içi geçersiz sendPixel(işaretsiz karakter r, imzasız karakter g, imzasız karakter b) {

sendByte(g); // Neopixel önce yeşil, sonra kırmızı, sonra mavi renkler istiyor sendByte(r); sendByte(b); }

geçersiz gösteri() {

_delay_us((RES / 1000UL) + 1); // Gecikme bu kadar uzun _en az_ olması gerektiğinden toparlayın (çok kısa çalışmayabilir, çok uzun sorun değil) }

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

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

8;

imzasız karakter adımı = currentPixelHue & 0xff; geçiş (faz) { durum 0: sendPixel(~adım, adım, 0); kırmak; durum 1: sendPixel(0, ~adım, adım); kırmak;

durum 2:

sendPixel(adım, 0, ~adım); kırmak; } currentPixelHue+=pixelAdvance; } ben(); göstermek(); firstPixelHue += frameGelişmiş; } }

geçersiz kurulum() {

ledsetup(); }

boşluk döngüsü () {

gökkuşağıCycle(1000, 10, 10); dönüş; }

Adım 3: Hepsi Tamamlandı

Hepsi tamam
Hepsi tamam
Hepsi tamam
Hepsi tamam
Hepsi tamam
Hepsi tamam

Umarım, bu noktada her şey çalışıyordur, ancak çalışmıyorsa, biraz sorun giderme ile bitirelim.

1. Board Arduino tarafından tanınmıyor - digispark kitaplığının kurulu olduğundan ve digispark panolarının nasıl kullanılacağını okuduğunuzdan emin olun.

2. Kod yüklenmiyor - Yükle'ye basmanız ve ardından modülü bilgisayara takmanız gerekiyor, aptal biliyorum, ama bu böyle çalışıyor.

3. Anakart hala çalışmıyor - Mikro USB kablonuzun, tüm kabloların değil, verilerin yanı sıra güce de izin verdiğinden emin olun. Bunu zor yoldan çözdüğümü hayal edebilirsiniz.

4. Hala hiçbir şey yok - Diyotlarınız ters olabilir - doğru yönlendirme için bir multimetre ile kontrol edin.

5. Tuhaf yanıp sönen LED'ler - Ya bu bir kod sorunudur ya da ledlerinizden biri sinyal pedine düzgün oturmuyor.

6. Son 3 LED bozuk - Ah! benim tasarım hatamla karşılaştın. Toprak yolunun delindiğinden emin olun - sinyal ile toprak arasında bir multimetre sürekliliği ile kontrol edin. Ardından köprü telinizin de zeminden yalıtıldığından emin olun.

7. Hala kırıldım - Dürüst olmak gerekirse, çözümlerim tükendi, bana mesaj at.

Umarım Eğitilebilirliğimden keyif almışsınızdır! Yaptıysanız lütfen yorum bırakın.

En iyisi, Nick

Önerilen: