Სარჩევი:

სადღესასწაულო ორნამენტი PCB: 3 ნაბიჯი (სურათებით)
სადღესასწაულო ორნამენტი PCB: 3 ნაბიჯი (სურათებით)

ვიდეო: სადღესასწაულო ორნამენტი PCB: 3 ნაბიჯი (სურათებით)

ვიდეო: სადღესასწაულო ორნამენტი PCB: 3 ნაბიჯი (სურათებით)
ვიდეო: სადღესასწაულო თმის ვარცხნილობა ორ წუთში 2024, დეკემბერი
Anonim
სადღესასწაულო ორნამენტი PCB
სადღესასწაულო ორნამენტი PCB
სადღესასწაულო ორნამენტი PCB
სადღესასწაულო ორნამენტი PCB
სადღესასწაულო ორნამენტი PCB
სადღესასწაულო ორნამენტი PCB

Გამარჯობა ყველას!

წელიწადის ის დრო და საჩუქრების გაცვლის სეზონი თითქმის ჩვენზეა. მე პირადად მსიამოვნებს ნივთების დამზადება და მათი გაზიარება ოჯახთან ერთად. წელს მე გადავწყვიტე სადღესასწაულო ორნამენტების გაკეთება Atting85 და ზოგიერთი WS2812C 2020 LED- ების გამოყენებით. ორნამენტს აქვს დაახლოებით 80 მმ დიამეტრი, ამიტომ მისი გონივრული ზომის ორნამენტია ხისათვის. თუ თქვენ არ ხართ ხის ადამიანი, იცით რა, ის ასევე ქმნის შესანიშნავი სამაგიდო ორნამენტს. WS2812C 2020 LED- ები წარმოუდგენლად კაშკაშა პატარა შეცდომებია, ასე რომ არ ინერვიულოთ იმაზე, რომ ძალიან დაბნეულია ჰაჰა. მე გამოვცადე იგი 3.3 ვოლტზე მიმდინარე მოხმარებით 0.013 ამპერით, მაშინ 5 ვოლტზე მიმდინარე მოხმარება იყო 0.023 ამპერი. თქვენ შეგიძლიათ ჩართოთ ეს დაფა პირდაპირი 5 ვოლტით უკანა მხარეს ან მიკრო USB კონექტორის საშუალებით უკანა მხარეს. შემიძლია ეს ჩავრთო ჩემს ლეპტოპში და დავამუშაო. ასევე არსებობს უკანა მხარეს მისი ძალაუფლების სხვა წყაროებით მაქსიმუმ 30 ვოლტი, მაგრამ ეს ენდობა მონაცემთა ფურცელს 78L05 5V მარეგულირებლისთვის, მე მას ასე შორს არ მივიღებ.

გთხოვთ, წაიკითხოთ მთელი სახელმძღვანელო, სანამ ამას შექმნით. ისწავლეთ ჩემი შეცდომებისგან, დამიჯერეთ, მე ჩვეულებრივ ბევრს ვიღებ და შემიძლია გავუზიარო ჩემი სიბრძნის მარგალიტი.

თუ თქვენ დაინტერესებული ხართ ყიდვით წინასწარ დამზადებული PCB ან უბრალოდ PCB ეწვიეთ ჩემს tindie მაღაზიას.

მარაგები

დავიწყოთ ყველა იმ ხელსაწყოთი, რაც დაგჭირდებათ ერთი ამ ორნამენტის შესაქმნელად. ეს არის რეალურად ჩემი ერთ -ერთი იმ რამდენიმე პროექტიდან, რომელიც არ საჭიროებს მნიშვნელოვან რაოდენობის ინსტრუმენტებს, რაც თქვენთვის შესანიშნავია!

ინსტრუმენტები

- გამათბობელი იარაღი (პირველადი იარაღი)/გასაყიდი რკინა (შეცდომის გამოსწორება)

- ESD პინცეტი

- იზოპროპილის სპირტი

- SMT შაბლონი (რეკომენდირებულია)

- გამდნარი პასტა (მე ვიყენებ დაბალ ტემპერატურაზე ტყვიისგან თავისუფალი გამაგრების პასტას, რომელიც იყიდება ამაზონზე)

მარაგები

- x10 WS2812 2020 ები

- x1 Attiny85 მიკროკონტროლი

- x11 0.1uf 0603 კონდენსატორები

- x1 0.1uf 0402 კონდენსატორი (თქვენ შეგიძლიათ თავი დააღწიოთ 0603 ქუდით)

- x1 SMD მიკრო USB კონექტორი

- x1 1.5K Ohm რეზისტორი

- x1 4.7uf 0805 კონდენსატორი

- x1 78L05 5V რეგულატორი

- x1 SOD123 დიოდი (მე გამოვიყენე მავთული, როგორც შემცვლელი, რადგან ეს არ არის საჭირო, მაგრამ დამავიწყდა მისი ამოღება დაფის დიზაინის შექმნისას)

- x2 SOD323 დიოდები

- x2 66.5 Ohm რეზისტორები (თქვენ ასევე შეგიძლიათ გამოიყენოთ x2 24 -Ohm რეზისტორები აქაც, მე მჯერა, რომ ნებისმიერი შესატყვისი წყვილი რეალურად გააკეთებს - ნუ ციტირებთ ჩემგან)

სურვილისამებრ

- x1 24 Ohm რეზისტორი

- x1 30 Ohm რეზისტორი

(ესენია ძაბვის გამყოფისთვის, თუ თქვენ გინდათ გაზომოთ დაბალი ძაბვის მონიტორის შეყვანის ძაბვა - მხოლოდ ვარიანტი)

ნაბიჯი 1: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება

შეკრების პროცესი საკმაოდ სწორია. დარწმუნდით, რომ ნაწილებს სწორად ორიენტირებთ და არ უნდა შეგექმნათ პრობლემები. თქვენ იცით რა, თუ თქვენ ჩემნაირი ხართ და აბსოლუტურად არაფერი მუშაობს პირველად… ფაქტიურად არაფერი, მე ვგეგმავ პრობლემების მოგვარების ნაბიჯებს ბოლოს.

ჯერ უპირველეს ყოვლისა, თქვენ დაგჭირდებათ ეს შაბლონი … მე დავამატე 1: 1 მასშტაბის PCB PDF ფაილი, ასე რომ თქვენ შეგიძლიათ რასტრული გახადოთ იგი თქვენს საკუთარ ლაზერულ საჭრელზე. თუ თქვენ გჭირდებათ ერთი მოჭრა თქვენთვის, მომწერეთ მეც ამას გავაკეთებ. წინააღმდეგ შემთხვევაში, ეს ხელით გაგიკეთებთ ერთ გამოცდილ ბადას $ $.

თუ თქვენ გაქვთ PCB– ების დამზადების გამოცდილება, ეს არის ის, სადაც თქვენ გააგრძელებთ და დაიცავს თქვენს შაბლონს, გაავრცელეთ თქვენი solder paste bla bla bla თქვენ მიიღებთ მას. მათთვის, ვისაც არასოდეს გაუკეთებია ეს, არ ინერვიულოთ, უყურეთ youtube ვიდეოს ან ორს. დარწმუნდით, რომ თქვენი განლაგება სრულყოფილია, სანამ გამზადებთ პასტას და ადუღებთ ლიმონის წვნიანს.

ფრთხილად ამოიღეთ თქვენი შაბლონი და დავიწყოთ ნაწილების განთავსება !!

დააკვირდით ჩემს ყურადღებით დახატულ სურათს თქვენთვის, შესრულებული სიყვარულით და სათუთი მოვლით.

- მუქი მეწამული = 0.1uf 0603

- ლურჯი = დიოდები

- ცაცხვი მწვანე = 4.7 uf 0805 (შეიძლება გამოყენებულ იქნას 0603, ალბათ)

- მეწამული = მავთულის ხიდი

- ვარდისფერი = ძაბვის გამყოფი რეზისტორები

- წითელი = WS2812C ები (დააკვირდით მათ ორიენტაციას, მუქი ნაწილი იქნება ბოლოში)

- ყვითელი = 78L05 5V რეგულატორი 100mA

გსურთ იცოდეთ რისთვის არის განკუთვნილი სხვა ყვითელი მარკირება? Დარწმუნებული ხარ? კარგად … ეს არის შეცდომა კარგი! მე დააყენა freakin ადგილზე მეშვეობით სიგნალი კვალი, ფაქტიურად smack dab შუა შუა OK. რატომ … მე არ ვიცი.

მე ვბრუნდები. მას შემდეგ, რაც საათობით მტკივნეულად ვიშორებდი თმას, მივხვდი ჩემს შეცდომას. მისი გამოსწორების მიზნით, მე არა მხოლოდ უნდა გამეღვიძებინა მიწა, არამედ გამეკეთებინა წარმოუდგენლად პატარა ხვრელი დაფაზე და შემეერთებინა სიგნალის კვალი მცირე მავთულით. მე გამოვიყენე თხევადი ელექტრული ლენტი ჩემი შეცდომის დასაფიქსირებლად და დასაფარავად. თქვენ არ შეგიძლიათ ნახოთ იგი კარგად ერთხელ დაფარული მადლობა ღმერთს.

ამასაც გამოვასწორებ, თუ ჩემგან დაფას შეიძენთ, ასე რომ არ ინერვიულოთ.

ნაბიჯი 2: კოდირება

კოდირება
კოდირება
კოდირება
კოდირება

ასე რომ, სანამ ამას შევქმნიდი, ვფიქრობდი: "ოჰ პატარა WS2812 LED- ები, მათ უნდა გამოიყენონ იგივე კოდი, როგორც WS2812b- ს, ეს იქნება გასეირნება პარკში!" არასწორია

ეს არ იყენებს იმავე დროს, როგორც WS2812b LED- ები, ასე რომ არის სასწავლო მოსახვევი ან მთა, რაც დამოკიდებულია კომფორტზე კოდირებისას.

მცირეოდენი "Oh $ hit" მომენტის შემდეგ, მე ვიპოვე ეს ბლოგი ჯოშ ლევინის მიერ. ასე რომ იყვირე მას, რომ დამეხმარა ამის გარკვევაში. მე გამოვიყენე მისი კოდის მნიშვნელოვანი რაოდენობა და შევცვალე ის ამ დაფებთან მუშაობისთვის. შეამოწმეთ მისი ბლოგი, თუ გსურთ გაიგოთ როგორ მუშაობს ეს კოდი. კოდი, რომელიც მე გამოვაქვეყნე, ცისარტყელას გავლენას ახდენს. შესაძლებელია ასე რომ გააკეთეთ მყარი ფერები, თუ ეს თქვენია.

ერთი უმნიშვნელო რამ არის ის, რომ მე არ შემიძლია გაერკვნენ, თუ როგორ უნდა დაბნელდეს ეს LED- ები, რადგან ისინი მართლაც კაშკაშაა. იქნებ ვინმემ დატოვოს კომენტარი და დამეხმაროს.

#ჩათვლით #განსაზღვრეთ PIXELS 3000 #განსაზღვრეთ PIXEL_PORT PORTB #განსაზღვრეთ PIXEL_DDR DDRB #განსაზღვრეთ PIXEL_BIT 0 #განსაზღვრეთ T1H 700 #განსაზღვრეთ T1L 320 #განსაზღვრეთ T0H 320 #განსაზღვრეთ T0L 700 #განსაზღვრეთ_ხალხები #000 #განსაზღვრეთ NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #განსაზღვრეთ 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 ":: [პორტი]" მე "(_SFR_IO_ADDR (PIXEL_PORT)), [bit]" I "(PIXEL_BIT), [onCycles]" I "(NS_TO_CYCLES (T1H) - 2), [offCycles]" I "(NS_TO_CYCLES (T1L) - 2));

} სხვა {

asm არასტაბილური ("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 ":: [პორტი]" 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 (ხელმოუწერელი char byte) {for (unsigned char bit = 0; bit <8; bit ++) {sendBit (bitRead (byte, 7)); ბაიტი << = 1; }}

void ledsetup () {

bitSet (PIXEL_DDR, PIXEL_BIT); }

inline void sendPixel (ხელმოუწერელი char r, unsigned char g, unsigned char b) {

sendByte (გ); // ნეოპიქსელს სურს ფერები მწვანე, შემდეგ წითელი, შემდეგ ლურჯი შეკვეთის sendByte (r); sendByte (ბ); }

ბათილი ჩვენება () {

_ დაგვიანებით_us ((RES / 1000UL) + 1); // დამრგვალება ვინაიდან შეფერხება უნდა იყოს _ სულ ცოტა ხნის განმავლობაში (ძალიან მოკლე შეიძლება არ იმუშაოს, ძალიან დიდხანს არ არის პრობლემა)}

void showColor (ხელმოუწერელი char r, unsigned char g, unsigned char b) {

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

8;

ხელმოუწერელი char ნაბიჯი = currentPixelHue & 0xff; გადართვა (ფაზა) {შემთხვევა 0: sendPixel (~ ნაბიჯი, ნაბიჯი, 0); შესვენება; საქმე 1: sendPixel (0, ~ ნაბიჯი, ნაბიჯი); შესვენება;

შემთხვევა 2:

sendPixel (ნაბიჯი, 0, ~ ნაბიჯი); შესვენება; } currentPixelHue+= pixelAdvance; } sei (); ჩვენება (); firstPixelHue += frameAdvance; }}

void setup () {

ledsetup (); }

ბათილი მარყუჟი () {

rainbowCycle (1000, 10, 10); დაბრუნების; }

ნაბიჯი 3: ყველაფერი შესრულებულია

Ყველაფერი შესრულებულია
Ყველაფერი შესრულებულია
Ყველაფერი შესრულებულია
Ყველაფერი შესრულებულია
Ყველაფერი შესრულებულია
Ყველაფერი შესრულებულია

ვიმედოვნებთ, რომ ამ ეტაპზე ყველაფერი მუშაობს, მაგრამ თუ არა, მოდით დავასრულოთ პრობლემების მოგვარება.

1. დაფა არ არის აღიარებული არდუინოს მიერ - დარწმუნდით, რომ თქვენ გაქვთ Digispark ბიბლიოთეკა და თქვენ კითხულობთ როგორ გამოიყენოთ Digispark დაფები.

2. კოდი არ იტვირთება - თქვენ უნდა დააჭიროთ ატვირთვას და შემდეგ ჩართოთ მოდული კომპიუტერში, მუნჯი ვიცი, მაგრამ ასე მუშაობს.

3. დაფა ჯერ კიდევ არ მუშაობს - დარწმუნდით, რომ თქვენი მიკრო USB კაბელი იძლევა მონაცემებს, ისევე როგორც ენერგიას, არა ყველა კაბელი. თქვენ შეგიძლიათ წარმოიდგინოთ, რომ მე ეს რთული გზით გავიგე.

4. ჯერ კიდევ არაფერი - თქვენი დიოდები შეიძლება იყოს უკან - შეამოწმეთ მულტიმეტრით სწორი ორიენტაციისთვის.

5. უცნაური მოციმციმე LED- ები - ან ეს არის კოდის პრობლემა, ან რომელიმე თქვენი led არ არის სათანადოდ მჯდომი სიგნალის ბალიშზე.

6. ბოლო 3 LED- ები არეულია - აჰ! თქვენ შეხვდით ჩემს დიზაინის შეცდომას. დარწმუნდით, რომ გრუნტი გაბურღულია - სიგნალსა და მიწას შორის მულტიმეტრის უწყვეტობის შემოწმება. შემდეგ დარწმუნდით, რომ თქვენი ხიდის მავთული ასევე იზოლირებულია მიწიდან.

7. ჯერ კიდევ გატეხილია - მე გულწრფელად ვარ გამოსავლების გარეშე, მომწერეთ.

კარგად, ვიმედოვნებ, რომ ისიამოვნეთ ჩემი ინსტრუქციით! გთხოვთ დატოვეთ კომენტარი თუ გააკეთეთ.

საუკეთესო, ნიკა

გირჩევთ: