Სარჩევი:

მარტივი LED სადღესასწაულო სინათლის ჩვენება: ოსტატები ზამთარში - WS2812B LED ზოლები FastLED და Arduino სამეურვეო: 6 ნაბიჯი
მარტივი LED სადღესასწაულო სინათლის ჩვენება: ოსტატები ზამთარში - WS2812B LED ზოლები FastLED და Arduino სამეურვეო: 6 ნაბიჯი

ვიდეო: მარტივი LED სადღესასწაულო სინათლის ჩვენება: ოსტატები ზამთარში - WS2812B LED ზოლები FastLED და Arduino სამეურვეო: 6 ნაბიჯი

ვიდეო: მარტივი LED სადღესასწაულო სინათლის ჩვენება: ოსტატები ზამთარში - WS2812B LED ზოლები FastLED და Arduino სამეურვეო: 6 ნაბიჯი
ვიდეო: Marvel's Spider-man: Miles Morales (ფილმი) 2024, ნოემბერი
Anonim
Image
Image

მე შევიმუშავე და დავპროგრამე ეს სადღესასწაულო სინათლის ჩვენება სადმე საჩვენებლად. მე გამოვიყენე ერთი WS2812B led ზოლი, პიქსელის სიმკვრივით 30 პიქსელი/ მეტრი. მას შემდეგ, რაც მე 5 მეტრს ვიყენებდი, სულ მქონდა 150 LED. მე ვინახავ კოდს ისე, რომ ვინმეს, ვინც ახალი WS2812B LED ზოლების გამოყენებით შეძლებს ადვილად დაიცვას კოდი. ეს ასევე ნიშნავს იმას, რომ თუ იყენებთ პიქსელების სხვადასხვა რაოდენობას, დრო გამორთული იქნება, ასე რომ თქვენ უნდა დაიმახსოვროთ 150 LED. ასევე, მარტივად რომ ვთქვათ, მუსიკალურ სისტემას საერთოდ არ მართავს არდუინო. პროგრამის დასაწყისში, არის 3 ციმციმა მწვანე და 1 ციმციმება წითელი, შემდეგ იწყება რეალური შუქის ჩვენება. ვინაიდან თქვენ უნდა დაიწყოთ მუსიკა ხელით, ეს საწყისი ციმციმები მოგცემთ მითითებას როდის უნდა დაიწყოთ მუსიკის დაკვრა. ქვემოთ ჩავრთე კოდი. მოგერიდებათ დაამატოთ ან შეცვალოთ ეს კოდი არაკომერციული მიზნებისთვის.

მარაგები

- WS2812B LED ზოლები

- არდუინო

- მავთულები

- 5V 10A კვების ბლოკი | თუ თქვენ იყენებთ ერთზე მეტ ზოლს, თქვენ უნდა გამოიყენოთ უფრო დიდი კვების წყარო. თითოეული პიქსელი იყენებს 60mA, ასე რომ 150 პიქსელი * 60mA = 9A. თქვენს ელექტრომომარაგებას უნდა შეეძლოს გაუმკლავდეს ამას, თუ აპირებთ გამოიყენოთ თეთრი ფერის სრული სიკაშკაშე. თქვენ უნდა გამოიყენოთ 5V დენის წყარო, თუ იყენებთ 5V LED ზოლებს და თუ იყენებთ 12V LED ზოლებს, თქვენ უნდა გამოიყენოთ 12V კვების წყარო, მაგრამ ასევე გამოიყენოთ 12-5V კონვერტორი 5V Arduino– ს ენერგიაზე.

ნაბიჯი 1: ჩამოტვირთეთ FastLED ბიბლიოთეკა

განსაზღვრეთ რამდენიმე ცვლადი
განსაზღვრეთ რამდენიმე ცვლადი

თუ ჯერ არ გაქვთ გადმოტვირთული FastLED ბიბლიოთეკა, ჩამოტვირთეთ უახლესი ვერსია github.com/FastLED/FastLED/releases

ჩამოტვირთეთ FastLED ბიბლიოთეკა და გადაიტანეთ იგი თქვენს Arduino ბიბლიოთეკების საქაღალდეში. არ შეცვალოთ ამ საქაღალდის სახელი. Arduino IDE– ში გადადით Sketch, Include Library და შემდეგ დაამატეთ. ZIP ბიბლიოთეკა. აირჩიეთ FastLED საქაღალდე.

ბიბლიოთეკის შექმნის შემდეგ შეიყვანეთ ხაზი #მოიცავს ეს ხაზი ეუბნება პროგრამას, რომ თქვენ იყენებთ ამ ბიბლიოთეკას.

ნაბიჯი 2: განსაზღვრეთ რამდენიმე ცვლადი

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

სტრიქონი #განსაზღვრეთ NUM_LEDS 150 არის იქ, სადაც აყენებთ გამოყენებული პიქსელების რაოდენობას. ამ შემთხვევაში, ეს იქნება 150.

ხაზი #განსაზღვრეთ DATA_PIN 5 არის ის ადგილი, სადაც განათავსეთ ციფრული პინი, რომელთანაც დაუკავშირეთ მონაცემთა მავთული.

ხაზი #განსაზღვრეთ სიკაშკაშე 255 არის იქ, სადაც განათავსებთ სიკაშკაშეს 0-255 მასშტაბებიდან, 255 არის ყველაზე ნათელი.

ნაბიჯი 3: კოდის დაყენების განყოფილება

კოდის დაყენების განყოფილება
კოდის დაყენების განყოფილება

დაყენების განყოფილებაში არის 2 წამიანი დაყოვნება და ხაზი

FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip);

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

FastLED.setBrightness (max_bright); set_max_power_in_volts_and_milliamps (5, 8000);

შეზღუდოს ენერგიის მოხმარება LED ზოლები. ეს არის საოცარი თვისება FastLED ბიბლიოთეკიდან. ნომერი 5 არის ძაბვა, რომელიც ჩვენ გამოვიყენეთ, ხოლო რიცხვი 8000 არის მაქსიმალური დენი, რომელსაც LED ზოლს შეუძლია გამოიყენოს mA. მიზანშეწონილია გამოიყენოთ კვების ბლოკის შესაძლებლობების მხოლოდ 80% სიცოცხლის გახანგრძლივების მიზნით. ვინაიდან მე მაქვს 10 ა ელექტროენერგიის წყარო, 0.8*10 = 8A, ან 8000mA.

ნაბიჯი 4: მარყუჟის განყოფილება | აკა, კოდის მაგარი ნაწილი

მარყუჟის განყოფილება | აკა, კოდის მაგარი ნაწილი
მარყუჟის განყოფილება | აკა, კოდის მაგარი ნაწილი
მარყუჟის განყოფილება | აკა, კოდის მაგარი ნაწილი
მარყუჟის განყოფილება | აკა, კოდის მაგარი ნაწილი

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

ნაბიჯი 5: გაყვანილობა

გაყვანილობა
გაყვანილობა

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

ნაბიჯი 6: LED ზოლის დაყენება

მე დავაყენე ჩემი LED ზოლები ფანჯრის შიგნით, უბრალოდ შეხებით. თუმცა, არსებობს მრავალი სხვა გზა, რომლითაც შეგიძლიათ დააინსტალიროთ თქვენი LED ზოლები. თქვენ შეგიძლიათ გამოიყენოთ ალუმინის არხი, როგორიცაა https://tinyurl.com/s2km4v3, რომ განათავსოთ ზოლები თქვენს სახურავზე. თუ თქვენ აყენებთ თქვენს LED ზოლებს გარეთ, გირჩევთ გამოიყენოთ ip65 ზოლები, თუ იყენებთ ალუმინის არხს, რადგან ისინი ნახევრად წყალგაუმტარია და უფრო თხელია, ვიდრე 1p67, რომელიც შეიძლება არ მოერგოს ზოგიერთ არხს. თუ თქვენ აპირებთ ამის დამონტაჟებას არხის გარეშე, გამოიყენეთ ip67 ზოლები, რომლებიც პრაქტიკულად წყალგაუმტარია. იმისათვის, რომ კუთხე შემოიაროთ, როგორიც არის თქვენი სახურავის მწვერვალებზე, იდეალურად უნდა გაჭრათ ზოლები და გამოიყენოთ მავთულები კუთხის გასავლელად. თქვენ შეიძლება შეძლოთ ზოლის მოკეცვა, მაგრამ ფრთხილად იყავით რამდენად მოხრით მათ, რადგან ადვილია LED- ის ამობურცულობა.

გირჩევთ: