Სარჩევი:

დინამიური LED განათების კონტროლერი ხელოვნებისთვის: 16 ნაბიჯი (სურათებით)
დინამიური LED განათების კონტროლერი ხელოვნებისთვის: 16 ნაბიჯი (სურათებით)

ვიდეო: დინამიური LED განათების კონტროლერი ხელოვნებისთვის: 16 ნაბიჯი (სურათებით)

ვიდეო: დინამიური LED განათების კონტროლერი ხელოვნებისთვის: 16 ნაბიჯი (სურათებით)
ვიდეო: მუშაობს დინამიური LED შემობრუნების სიგნალი Peugeot-ში 2 წუთის ინსტალაციაში 2024, ივლისი
Anonim
Image
Image

შესავალი:

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

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

ჩვენ ასევე დავწერეთ შესაბამისი ინსტრუქცია ჩრდილების ყუთისა და ჩარჩოს შესაქმნელად. შეამოწმეთ აქ:

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

ნაბიჯი 1: მასალები:

  • WS2812 LED- ების სიმები
  • Arduino Pro Mini 328 - 5V/16 MHz
  • FTDI მეგობრის USB ინტერფეისი
  • USB A to MiniB კაბელი FTDI– სთვის
  • 4700 μf კონდენსატორი
  • 5v კვების ბლოკი 5.5 x 2.1 კონექტორით
  • კვების ბლოკი 5.5 x 2.1
  • ტერმინალის ბლოკი
  • პროტოტიპის მიკროსქემის დაფა
  • ღილაკი
  • პოტენციომეტრი
  • ინდიკატორი LED
  • რეზისტორები
  • ლენტი კაბელი
  • სათაური მამაკაცი
  • სათაური ქალი

ნაბიჯი 2: რესურსები:

  • არდუინო; ინტერაქტიული განვითარების გარემო (IDE)
  • ადაფრუტის ნეოპიქსელის ბიბლიოთეკა
  • NeoPixel გაკვეთილი
  • Strandtest მაგალითი პროგრამა
  • FastLED ბიბლიოთეკა
  • FastLED ბმულები და დოკუმენტაცია
  • FastLED ფორუმი
  • ჩვენი განათების ესკიზები

ნაბიჯი 3: კონტროლერის მიმოხილვა:

კონტროლერის მიმოხილვა
კონტროლერის მიმოხილვა
კონტროლერის მიმოხილვა
კონტროლერის მიმოხილვა

სქემა საკმაოდ მარტივია და ასეა. ჩვენ შევქმენით ჩვენი კონტროლერები სურათის ჩარჩოში ჩასადებად. მიკროსქემის ზომები არის 2.25”x 1.3” x 0.5”. სურვილისამებრ ტიუნერი აშენდა ცალკეულ მიკროსქემის დაფაზე, ლენტის კაბელის კონექტორით. ეს სურათები აჩვენებს ჩვენს დასრულებულ პროექტს.

ჩვენ გვინდა, რომ ჩვენი კონტროლერი მოვათავსოთ სურათის ჩარჩოში, ამიტომ ავირჩიეთ Arduino pro mini 5v მისი მცირე ზომის, ღირებულებისა და 5 ვ გამომავალი სიმძლავრისთვის. 5 ვ ელექტროენერგიის საჭირო ზომა იქნება დამოკიდებული იმაზე, თუ რამდენი LED და მათი მაქსიმალური სიკაშკაშე თქვენს პროექტში. ჩვენი პროექტები ყველა მუშაობდა 3 ამპერზე ნაკლებზე და ზოგი იყო 1 -ზე ნაკლები. არსებობს რამდენიმე სახის მიმართვადი ფერის LED- ები. ჩვენ დავიწყეთ WS2812 გაყიდული Adafruit– ის მიერ, როგორც მათი ერთ – ერთი „NeoPixel“პროდუქტი. ეს ჩვენთვის მუშაობდა და ჩვენ სხვა LED- ები არ გვაქვს შესწავლილი. ჩვენი პროექტების უმეტესობამ გამოიყენა 60 LED თითო მეტრზე. ჯერჯერობით ჩვენი პროექტები 145 -მდე LED- მდე იყო.

არჩევითი ტიუნერი:

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

ნაბიჯი 4: შენობის კონტროლერი:

შენობის კონტროლერი
შენობის კონტროლერი

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

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

ნაბიჯი 5:

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

ახლა, მოდით შევკრიბოთ იგი ისე, რომ ის მოერგოს ჩრდილის ყუთის ჩარჩოს. ჩარჩო არის 3/4 "სისქის, ასე რომ ჩვენ გვაქვს კონტროლერის სიმაღლის ლიმიტი 1/2". ჩვენ გავაკეთეთ სამონტაჟო ფირფიტები, ვიწრო ვინირის გამაგრების ორი ნაჭერი მარცვლეულით ერთმანეთზე პერპენდიკულარულად, რათა შეზღუდოს გადახრა. კომპონენტები განლაგებულია ისე, რომ დენის ჯეკი იყოს ჩარჩოს ცენტრში. დენის ჯეკის ხვრელი მოჭრილი იყო საიუველირო ხერხის საშუალებით და გამოტანილი იყო შესაფერისად. შემდეგ კომპონენტები მავთულხლართამდეა დამონტაჟებული. სოკეტი ეპოქსიდურ ადგილას არის წებოვანი. ორმხრივი მუდმივი ქაფის სამონტაჟო სკვერები გამოიყენება ხრახნიანი ტერმინალისა და არდუინოს ქვეშ. ცხელი დნობის წებო ასევე გამოიყენება არდუინოს შესანარჩუნებლად, ისევე როგორც კონდენსატორისთვის.

ნაბიჯი 6: არჩევითი ტიუნერის შექმნა:

შენობის არჩევითი ტიუნერი
შენობის არჩევითი ტიუნერი
შენობის არჩევითი ტიუნერი
შენობის არჩევითი ტიუნერი
შენობის არჩევითი ტიუნერი
შენობის არჩევითი ტიუნერი

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

ეს სურათები აჩვენებს ტიუნერის დამზადებას. მე დავფარე ზურგი "გორილას" ლენტით. რომელიც ინახავს ლენტის კაბელს სტაბილურად და ასევე ლამაზი სახელურით.

ნაბიჯი 7: პროგრამირების კონტროლერის მიმოხილვა:

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

Adafruit– მა და FastLED– მა გამოაქვეყნეს ორი დიდი ბიბლიოთეკა, რათა Arduinos– მ შეძლოს გააკონტროლოს მრავალი სახის მიმართვადი LED- ები. ჩვენ ვიყენებთ ორივე ბიბლიოთეკას სხვადასხვა პროექტში. ჩვენ გირჩევთ ასევე წაიკითხოთ ამ ბიბლიოთეკების ზოგიერთი რესურსი და შეისწავლოთ მათი ზოგიერთი პროგრამის მაგალითი.

ჩვენი პროგრამების Github საცავი ჩამოთვლილია ზემოთ "რესურსებში". გაითვალისწინეთ, რომ ჩვენ შორს ვართ Arduino პროგრამირების ოსტატისგან, ასე რომ გასაუმჯობესებლად ბევრი ადგილია. მოგერიდებათ მიუთითოთ საკითხები და ხელი შეუწყოთ გაუმჯობესებას.

ნაბიჯი 8: პროგრამირების კონტროლერის მაგალითი Ripple:

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

"ChangeBright ()" ფუნქცია გაზრდის სინათლის შუქის სიკაშკაშეს "თავდასხმის" დროს, შეინარჩუნებს მას მუდმივ "შენარჩუნების" დროს, შემდეგ ქრება "გაფუჭების" დროს.

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

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

ნაბიჯი 9: პროგრამირების კონტროლერის მაგალითი გამთენიისას დაღამებამდე:

Image
Image

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

ჩვენ მივედით კონვენციაზე, რომ დავიწყოთ ჩვენი LED ზოლები ზედა მარცხენა კუთხეში. ეს ხდის LED ადგილმდებარეობის ნუმერაციას ცოტა უხერხულ ამ ნაწილში. ჩარჩოს გარშემო არის 86 LED. გარიჟრაჟი ანათებს მარცხენა მხარეს, რომელიც გადადის 62 -დან 85 -მდე. შემდეგ ზემოდან მარცხნიდან მარჯვნივ მარჯვნივ არის 0 -დან 43 -მდე.

ეს პროგრამა არ შეიცავს "Tuner" შეყვანის სქემის გამოყენების შესაძლებლობას.

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

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

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

ნაბიჯი 10: პროგრამირების კონტროლერის მაგალითი წვიმის ტყე:

შემდეგი პროექტი, რომელსაც მე აღვწერ, არის ჯული-ენ გასპერის "წვიმის ტყე". ეს არის უფრო დიდი ქსოვილის ხელოვნების ნიმუში, რომელსაც აქვს ბევრი სიღრმე. აქ ჩვენ გამოვიყენეთ ჩრდილის ყუთი დაახლოებით 4.4 დიუმიანი სიღრმით. განათების კონცეფცია არის ფონური შუქის დონეები, რომლებიც დაბლაა დაბლა და დროდადრო ზემოდან ფოთლებს მოციმციმე შუქი ანათებს. კონცეფცია მსგავსია Ripple– ს, მაგრამ სინათლის შახტები არ მოძრაობენ. და განსხვავებით ტალღისაგან, სადაც სიკაშკაშე შეუფერხებლად იცვლება, აქ ციმციმის სიკაშკაშე უნდა იცვლებოდეს. ჩვენ შევქმენით 40 ბაიტიანი მასივი სახელწოდებით flicker_b2. ჩვენ აღმოვაჩინეთ, რომ ვიზუალური ეფექტი კარგია, თუ ჩვენ ვიყენებთ ერთსა და იმავე შაბლონს ციმციმის ყველა ადგილისთვის. ჩვენ შევქმენით ციმციმის 5 ადგილი. ვიზუალური ეფექტის განხილვისას აღმოვაჩინეთ, რომ ერთი ციმციმა უნდა იყოს ბევრად უფრო ფართო ვიდრე სხვა. ჩვენ გამოვიყენეთ fill_gradient_RGB () ფუნქცია, რომ გავაცილოთ ის 20 -მდე LED- ზე. თითოეული ციმციმა დამოუკიდებელია და იწყება შემთხვევით. თითოეული ციმციმის ალბათობა შეიძლება დადგინდეს.

ფონის ფერი უნდა იყოს დაყენებული და აღდგენილი, როდესაც ციმციმა არ არის უფრო ნათელი ვიდრე ფონი.

ამ ნაწილისთვის ჩვენ გამოვიყენეთ FastLED ბიბლიოთეკა. ამ პროგრამაში #define TUNING გამოიყენება იმის დასადგენად, არის თუ არა ტუნინგის დაფა ჩართული, ის უნდა იყოს 0 როცა ტიუნერის დაფა არ არის ჩართული. წინააღმდეგ შემთხვევაში კონტროლერი მგრძნობიარეა სტატიკური ელექტროენერგიისა და პოლტერგეისტების მიმართ. შემდგენელი მოიცავს მხოლოდ პროგრამის სეგმენტებს, რომლებიც იყენებენ "ტიუნერს", როდესაც ეს ცვლადი არის 1.

ნაბიჯი 11: პროგრამირების კონტროლერის მაგალითი ქარიშხალი:

კიდევ ერთი პროექტი იყო ფოტოს განათება მაიკ ბეკის სახელწოდებით "ქარიშხალი". სურათი ქარიშხლის ღრუბელია. ჩვენ ვიყენებთ FastLED ბიბლიოთეკას და არ ვგულისხმობთ რეგულირების შესაძლებლობას. განათების კონცეფცია არის ფონური შუქი, ელვისებური ციმციმები შემთხვევით გამოჩნდება ღრუბლის გარშემო სამ წერტილში. თითოეულ ადგილას განათება გამოწვეულია სამი LED- ით. ამ LED- ებს შორის სივრცე განსხვავებულია თითოეული ადგილისთვის. ამ სამი LED- ების სიკაშკაშე განისაზღვრება სამი 30 ბაიტიანი მასივებით. სიკაშკაშის თანმიმდევრობა სამ მასივში იძლევა ცვალებადობას და აშკარა მოძრაობას სამ LED- ზე. მოძრაობის მიმართულება და საერთო სიკაშკაშე შეირჩევა თითოეული ადგილისთვის. თითოეულ ადგილას განათების ხანგრძლივობა მორგებულია სიკაშკაშის მნიშვნელობების განახლებას შორის დროის შეფერხებით. ელვისებურ დარტყმებს შორის არის შემთხვევითი დროის შეფერხება 0.2 -დან 10.4 წამამდე. სამი დარტყმის ადგილიდან რომელია ასევე შემთხვევითი, ღრუბლის თავზე 19% შანსი, ქვედა მარჯვენა 45% და მარცხენა მხარეს 36% შანსი.

ნაბიჯი 12: პროგრამირების კონტროლერის მაგალითები Macaw და Nordic Tree:

ცალი დანა ნიუმანის "Macaw" და ჟანი ჰოლტის "Nordic Tree" იყენებენ განათების ფერს, რათა შეცვალონ ნაწილის ფერი. დანას დახატვის შემთხვევაში დიდი მაკა, ფრინველის განწყობა იცვლება მხიარულიდან მუქარისკენ, რაც დამოკიდებულია ფრინველის მიმდებარე სინათლის ფერიდან. ეს ორი პროგრამა თითქმის იდენტურია. ჩვენ ვიყენებთ Adafruit NeoPixel ბიბლიოთეკას და ტუნინგის დაფის შესაძლებლობა ამ პროგრამებშია. ეს პროგრამები ადაპტირებულია TheaterChaseRainbow () ფუნქციით Adafruit_NeoPixel/მაგალითები/Strandtest.ino (გადმოწერილია 7/29/2015)

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

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

ნაბიჯი 13: პროგრამირების კონტროლერის მაგალითები Copperhead:

ჯანი ჰოლტის "სპილენძის თავი" იყენებს განათების ცვალებადობას, რათა გაზარდოს გარე განცდა და ცვალებადობა გველის თვალშისაცემი. პროგრამირება შუქის ტალღებს ფარავს განათების ფონზე.

ამ პროგრამისთვის ჩვენ გამოვიყენეთ FastLED ბიბლიოთეკა და ჩვენი ტიუნერის სქემა განვითარებისათვის.

ფონის ფერი დადგენილია 10 წერტილში ჩარჩოს გარშემო და ფუნქცია fill_gradient () გამოიყენება ფერებს შორის შეუფერხებლად გადასვლისთვის.

ხილვის ციკლის დასაწყისში ფონი მუქდება და ფერი ცისფერზე გადადის კოსინუსის მრუდის გამოყენებით დროთა განმავლობაში და setBrightness () ფუნქცია.

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

ნაბიჯი 14: პროგრამირების კონტროლერის მაგალითები შავი Doodle:

Image
Image

ჯანი ჰოლტის "შავი დუდლი" იკვლევს შავი ვინილის ანარეკლებს.

ეს პროგრამა ასევე იყენებს FastLED ბიბლიოთეკას და შეუძლია მიიღოს შეყვანის tuning circuit.

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

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

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

ნაბიჯი 15: დარეგულირების ფუნქციების დაპროგრამება:

RainForest პროგრამაში ჩვენ შეგვიძლია ჩართოთ tuning ფუნქცია "#define TUNING 1" და მიამაგრეთ tuning input panel მისი ლენტი კაბელის გამოყენებით. ჩვენ ასევე უნდა დავადგინოთ ის პარამეტრები, რომლისთვისაც LED იქნება ჩართული tuning. მაგალითად, მოდით შევცვალოთ LED- ები 61 – დან 73 – მდე პოზიციამდე. ჩვენ ვიყენებთ #განსაზღვრეთ START_TUNE 61 და #განსაზღვრეთ END_TUNE 73. თქვენი დანარჩენი ესკიზი არ უნდა აყენებდეს LED- ებს რეგულირების დიაპაზონში, წინააღმდეგ შემთხვევაში თქვენ ვერ ნახავთ თქვენს კორექტირებას. ახლა გაუშვით ესკიზი და აჩვენეთ სერიული მონიტორი. პროგრამის რეგულირების ნაწილს აქვს 4 მდგომარეობა [ელფერი, გაჯერება, მნიშვნელობა და სიკაშკაშე]. ტონი არის ფერადი ბორბალი 0 = წითელი და 255 ცისფერი თითქმის წითელი. ამჟამინდელი მდგომარეობა უნდა იყოს დაბეჭდილი სერიულ მონიტორზე, ხოლო ინდიკატორის ინდიკატორი ააციმციმებს მდგომარეობის საჩვენებლად (ერთი მოციმციმე არის ელფერი, ორი მოციმციმე არის გაჯერება და სხვა). მნიშვნელობა არის სინათლის ინტენსივობა, ხოლო სიკაშკაშე არის შემცირების ფაქტორი, რომელიც გამოიყენება LED- ების ინტენსივობის ყველა მნიშვნელობაზე. სრული სიკაშკაშისათვის დააყენეთ მნიშვნელობა = 255 და სიკაშკაშე = 255. დააჭირეთ ღილაკს მდგომარეობის გადასატანად. როდესაც თქვენ ხართ მდგომარეობაზე, გსურთ შეცვალოთ ღილაკი. პროგრამა იგნორირებას უკეთებს ღილაკს მანამ, სანამ ის არ გადაუხვევს INHIBIT_LEVEL- ზე მეტს.ეს თავიდან აიცილებს სხვა სახელმწიფოებში მნიშვნელობების შეცვლას, როდესაც მათ შემოივლიან ციკლში. მაგალითი შეგიძლიათ დაიწყოთ ელფერით და მიიღოთ სასურველი ფერი, შემდეგ გადაიტანეთ მნიშვნელობაზე და შეცვალეთ თქვენთვის სასურველი სიკაშკაშის საპოვნელად.

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

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

ვიმედოვნებთ, რომ ეს სასწავლო დაგეხმარებათ თქვენი პროექტის განხორციელებაში.

ნაბიჯი 16: დანარჩენი ამბავი:

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

გირჩევთ: