Სარჩევი:

RGB LED კუბი Bluetooth აპლიკაციით + ანიმაცია შემქმნელი: 14 ნაბიჯი (სურათებით)
RGB LED კუბი Bluetooth აპლიკაციით + ანიმაცია შემქმნელი: 14 ნაბიჯი (სურათებით)

ვიდეო: RGB LED კუბი Bluetooth აპლიკაციით + ანიმაცია შემქმნელი: 14 ნაბიჯი (სურათებით)

ვიდეო: RGB LED კუბი Bluetooth აპლიკაციით + ანიმაცია შემქმნელი: 14 ნაბიჯი (სურათებით)
ვიდეო: Arduino Compatible Led Cube RGB 8x8x8 Palta Style 2024, ივლისი
Anonim
RGB LED კუბი Bluetooth აპლიკაციით + AnimationCreator
RGB LED კუბი Bluetooth აპლიკაციით + AnimationCreator

ეს არის გასაგები, თუ როგორ უნდა ავაშენოთ 6x6x6 RGB LED (საერთო ანოდები) კუბი, რომელსაც აკონტროლებს Bluetooth აპლიკაცია Arduino Nano– ს გამოყენებით. მთელი ნაგებობა ადვილად ადაპტირებადია ვთქვათ 4x4x4 ან 8x8x8 კუბიზე. ეს პროექტი შთაგონებულია GreatScott– ით. მე გადავწყვიტე წასვლა უფრო დახვეწილი მშენებლობისთვის უფრო დიდი leds (8 მმ) გამოყენებით, ნაკლები მანძილით + Bluetooth კომუნიკაციის დამატებით, რაც ამარტივებს ახალი ფუნქციების დამატებას და ასევე ამატებს პროგრამის შექმნის შესაძლებლობას კუბის გასაკონტროლებლად. ეს ასევე მაძლევს საშუალებას მაგ. კოდირება გველის თამაში (მე -3 საჩვენებელი ვიდეო ბოლოს). ამას გარდა დავამატე აუდიო ვიზუალიზატორის რეჟიმი, რომელიც კუბს საშუალებას აძლევს ვიზუალიზაცია გაუკეთოს AUX შეყვანის მაგ. მუსიკა MSGEQ7 გამოყენებით (აჩვენეთ ვიდეო ბოლოს). გარდა ამისა, მე დავწერე AnimationCreator პროგრამა Java– ში, მარტივად გამოსაყენებელი ინტერფეისით, რათა შევქმნათ და შეცვალონ ანიმაციები, ასე რომ ნებისმიერს შეუძლია შექმნას პერსონალური ანიმაციები ძალიან სწრაფად. ასე რომ, Sketch + Bluetooth აპლიკაცია უზრუნველყოფს ჩარჩოს ნებისმიერი LED Cube კონფიგურაციისთვის და ანიმაციის შემქმნელთან ერთად თქვენ არ გჭირდებათ ფიქრი პერსონალური ანიმაციების განხორციელებაზე.

ბმულები Arduino Sketch და Bluetooth აპლიკაციაზე:

RGBCube_Arduino ესკიზი (Github)+ანიმაციის შემქმნელი.ჯარი

Cubo Bluetooth აპლიკაცია (Github)

ნაწილების სია კუბისთვის:

  • 216x RGB LED (საერთო ანოდი) (8 მმ) (AliExpress / Ebay)-> 6x6x6 = 216
  • Ribbon Cable (1m 40Pin უნდა იყოს საკმარისი) (AliExpress / Ebay / Amazon)
  • ქალი და მამაკაცი სათაურები (თითოეული მინიმუმ 4x40pin) (AliExpress / Ebay / Amazon)
  • დაკონსერვებული სპილენძი / ვერცხლის მავთული 0.8 მმ (eter 25 მეტრი) (AliExpress / Ebay / Amazon)
  • შემცირების მილაკი (AliExpress / Ebay / Amazon)

ნაწილების სია საკონტროლო დაფებისთვის:

  • 7 x TLC5940 LED დრაივერი (Ebay / AliExpress)
  • 6 x IRF 9540 P-Channel MOSFET (Amazon / Ebay / AliExpress)
  • 8 x 10 uF კონდენსატორები (Amazon / Ebay / AliExpress)
  • 3 x 1000 uF კონდენსატორები (Amazon / Ebay / AliExpress)
  • 14x 2.2kOhm რეზისტორები (Amazon / Ebay / AliExpress)
  • 1 x 1kOhm რეზისტორი (Amazon / Ebay / AliExpress)
  • 7 x 28pin IC სოკეტი (Amazon / Ebay / AliExpress)
  • 1 x Arduino Nano (Amazon / Ebay / AliExpress)
  • 1 x 1N4001 დიოდი (ნებისმიერი ჩვეულებრივი დიოდი) (Amazon / Ebay / AliExpress)
  • 8 x 0.1uF კონდენსატორები (Ebay)
  • 1 x DC Jack PCB Mount (Amazon / Ebay / AliExpress)
  • 1 x HC-05 Bluetooth მოდული (Amazon / Ebay / AliExpress)

ნაბიჯი 1: თეორია

თეორია
თეორია

თუ თქვენ არ ხართ დაინტერესებული მულტიპლექსირების თეორიით, გადადით მე –2 საფეხურზე რეალური მშენებლობის დასაწყებად

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

კუბის ტვინი არის არდუინო ნანო. ის უზრუნველყოფს საკმარის I/O ურთიერთქმედებას გამოყენებული LED დრაივერებთან, ასევე Bluetooth კავშირის დამყარებას HC-05 მოდულთან და საკონტროლო სხვა ტექნიკასთან. თუ თქვენ დაათვალიერეთ LED კუბის სხვა ნაგებობები, თქვენ იცით, რომ ადამიანების უმეტესობა იყენებს უბრალო Shift რეგისტრებს ინდივიდუალური LED- ების ფერის სიკაშკაშის მნიშვნელობების შესანახად. ეს სტრუქტურა არ იყენებს Shift რეგისტრებს, არამედ ეგრეთწოდებულ "TLC5940" LED დრაივერებს. როგორც მოგვიანებით ვნახავთ, ეს დაზოგავს უამრავ დროს და ასევე ტონა დამატებით ტექნიკას (მაგ. რეზისტორებს).

კუბის კონტროლის ძირითადი ფუნქცია იყენებს მულტიპლექსს. ამ შემთხვევაში ჩვენ ვამრავლებთ კუბის 6 ფენას, ანუ ფენის ყველა LED- ის ყველა ანოდი (+) ერთმანეთთან არის დაკავშირებული, ხოლო ერთი და იმავე სვეტის ყველა LED- ის ცალკეული კათოდები დაკავშირებულია ბოლოში. ეს ნიშნავს, რომ თუ გსურთ LED- ის განათება x = 1, y = 2, z = 3, ფერი: მწვანე თქვენ უნდა უზრუნველყოთ 5V შრე 3 -ის ანოდზე და დააკავშიროთ GND სვეტის კათოდს, რომელიც შეესაბამება მწვანე პინი x = 1, y = 2. სინამდვილეში, დროის ერთ მომენტში, კუბის მხოლოდ ერთი ფენა არის ჩართული, მაგრამ როგორც მოგვიანებით იხილავთ კოდექსში, ჩვენ ისე სწრაფად ვთიშავთ და ვუშვებთ ცალკეულ ფენებს, რომ ჩვენი თვალით ფიქრობს, რომ მთელი კუბი ჩართულია რა

გასაკონტროლებლად, როგორიცაა სიკაშკაშე, ანიმაცია და ასე შემდეგ, ჩვენ ვიყენებთ HC-05 Bluetooth მოდულს, რომელიც დაკავშირებულია არდუინო ნანოსთან. ძალიან მარტივია მოდულის გამოყენება Arduino– სთან ერთად, რადგან თქვენ გჭირდებათ მხოლოდ 4 პინიანი კავშირი და შეგიძლიათ მარტივად დააკავშიროთ მოდული Arduino– ს ნაგულისხმევი სერიული კომუნიკაციის საშუალებით. ამ ინსტრუქციის დასასრულს თქვენ მიხვდებით, რამდენად ადვილია თქვენი საკუთარი Bluetooth პროგრამის დაწერა კუბის გასაკონტროლებლად.

ᲨᲔᲜᲘᲨᲕᲜᲐ

Arduino მიკროსქემის ჩემს სქემატურ სურათში თქვენ ასევე შეგიძლიათ ნახოთ მცირე სქემა MSGEQ7 ჩიპტო პროცესის აუდიო შეყვანის ინტერფეისისათვის, ეს აბსოლუტურად არ არის საჭირო ფაქტობრივი კუბისთვის და არის მხოლოდ დამატებითი ფუნქცია, რაც მე დავამატე, ამიტომ თქვენ შეგიძლიათ უბრალოდ იგნორირება მოახდინოთ "MSGEQ7" - ით

ნაბიჯი 2: აპარატურა: LED Cube Build

აპარატურა: LED Cube Build
აპარატურა: LED Cube Build
აპარატურა: LED Cube Build
აპარატურა: LED Cube Build
აპარატურა: LED Cube Build
აპარატურა: LED Cube Build

მოდით შევხედოთ როგორ ავაშენოთ კუბი თავად, სანამ არდუინო ნანოს გარშემო საკონტროლო წრეზე ვისაუბრებთ.

კუბის კონსტრუქციის ნაწილების სია:

  • 216x RGB LED (საერთო ანოდი) (AliExpress / Ebay)-> 6x6x6 = 216
  • Ribbon Cable (1m 40Pin უნდა იყოს საკმარისი) (AliExpress / Ebay / Amazon)
  • ქალი და მამაკაცი სათაურები (მინიმუმ 4x40pin) (AliExpress / Ebay / Amazon)
  • დაკონსერვებული სპილენძი / ვერცხლის მავთული 0.8 მმ (eter 25 მეტრი) (AliExpress / Ebay / Amazon)
  • შემცირების მილაკი (AliExpress / Ebay / Amazon)

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

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

ნაბიჯი 3: LED რიგები

LED რიგები
LED რიგები
LED რიგები
LED რიგები
LED რიგები
LED რიგები

სანამ ჩვენ შევძლებთ LED- ების შესაბამის რიგებში შეყვანას, ჩვენ გვჭირდება წარმართვა და მოჭრა.

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

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

სანამ ბალიშებს ჭრილობთ და მოხრით, როგორც ეს ნაჩვენებია სურათზე 2 და 3, დარწმუნდით, რომ ლიდერების ორიენტაცია შეესაბამება სურათს 1 (ლურჯი ზედა მარცხნივ, შემდეგ მწვანე, შემდეგ ანოდი + მარჯვნივ, და ისევ წითელი დარჩა). წრეში, რომელიც თქვენ მოხარეთ ლიდერებში, უნდა ჰქონდეს საკმაოდ დიდი დიამეტრი, რომ მოერგოს დაკონსერვებული სპილენძის მავთულს (0.8 მმ). ეს ნაბიჯი მნიშვნელოვნად ამარტივებს LED- ების ლამაზად შეკვრას.

ახლა, როდესაც ყველა LED არის მომზადებული, ჩვენ გვსურს მათი შეკრება 6 რიგში, სადაც ანოდები (+) დაკავშირებულია:

  1. ააშენეთ პატარა ჯიგარი, როგორც ჩანს მე –6 სურათზე, გაბურღეთ 6 ხვრელი (დიამეტრი 0.8 მმ), მანძილი 2.5 სმ შემდეგ ხვრელამდე. ეს გვაძლევს საშუალებას ერთდროულად ჩავდოთ 6 LED ები ჯიგში
  2. ანოდების დასაკავშირებლად ჩვენ გვჭირდება სწორი დაკონსერვებული სპილენძის მავთულის ნაჭერი ~ 16 სმ სიგრძის (გარკვეული დამატებითი ზღვარით). იმისათვის, რომ მავთული იყოს ლამაზი და სწორი, შეგიძლიათ დააკავშიროთ მავთულის ერთი ბოლო მაგ. ელექტრო საბურღზე, მაგიდაზე ერთდროულად დააჭიროთ დაახლოებით 2 მ მავთული, შემდეგ კი დაიჭირეთ საბურღი ისე, რომ მავთული გაჭიმული და მჭიდროა და ძალა აქვს საბურღიზე რამდენიმე წამის განმავლობაში მავთულის გასწორებით ძალიან სწრაფად. ამის შემდეგ თქვენ შეგიძლიათ გაჭრათ მავთული ზუსტად იქ, სადაც დააფიქსირეთ ნაჭერი. თქვენ ასევე შეგიძლიათ გამოიყენოთ ორი ქამარი და გამკაცრდეს მავთულის პატარა ნაჭრები ერთდროულად, მაგრამ ეს გაცილებით დამღლელია
  3. მას შემდეგ, რაც თქვენ გაქვთ 16 სმ სიგრძის მავთულები, თქვენ ატარებთ მათ LED– ის ანოდის (+) ხვრელებში და შეაერთეთ ანოდის ქინძისთავები მავთულზე (სურათი 7)

მთელი კუბისთვის დაგვჭირდება 6x6 = 36 ამ LED რიგები

ნაბიჯი 4: ფენის შეკრება

ფენის შეკრება
ფენის შეკრება
ფენის შეკრება
ფენის შეკრება
ფენის შეკრება
ფენის შეკრება

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

ფრთხილად იყავით, რომ ამ ნაბიჯს დიდი დრო და მოთმინება სჭირდება ამის სწორად გასაკეთებლად, ჯამში თქვენ მოგიწევთ დაახლოებით 1000 შედუღების სახსრის შედუღება მშენებლობისთვის, ასე რომ მიიღეთ დრო!

LED კედლის ასაშენებლად:

  1. ჟიგისთვის: ჩვენ გვჭირდება ხის ნაჭერი 6 მოჩუქურთმებული ხაზით, რომ მოთავსდეს 6 რიგები ერთმანეთის ზემოთ კედლის ასაშენებლად. თქვენ შეგიძლიათ ნახოთ თავსატეხი სურათზე 2 (მანძილი მწკრივებს შორის: 2.5 სმ)
  2. თქვენ მოათავსებთ LED– ების 6 სტრიქონს მოჩუქურთმებებში, ანოდის მავთულით ქვემოთ მოჩუქურთმებულ ხაზზე, ისე რომ 3 კათოდური (R, G, B) იყოს ზემოთ
  3. ერთმანეთზე მაღლა განლაგებული კათოდების დასაკავშირებლად (იხ. სურათი 2) ჩვენ გვჭირდება კიდევ ერთი მავთული (ასე რომ, ჩვენ კვლავ გვაქვს 6 სვეტი x 3 კათოდი x 6 კედელი = 108 დაკონსერვებული მავთულის ნაჭრები, როგორც აღწერილია ბოლო საფეხურზე (2.) (იგივე სიგრძე ასევე))
  4. გადაიტანეთ მავთულის ნაჭრები სვეტის ქვედა ნაწილიდან კათოდების ხვრელებში ზედა მწკრივში და მიამაგრეთ მავთული ადგილზე თითოეულ LED- ზე

თქვენ ამას აკეთებთ 6 -ჯერ, რომ მიიღოთ LED- ების 6 კედელი.

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

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

განაგრძეთ იგივე გააკეთეთ დანარჩენი LED კედლებით, მაგრამ გახსოვდეთ, რომ კედლების ანოდები ყოველთვის ერთი და იგივე მიმართულებით დგას. (სურათ 3 -ში კედლის ყველა ანოდი მარცხნივ არის)

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

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

LED მძღოლის დაფა
LED მძღოლის დაფა
LED მძღოლის დაფა
LED მძღოლის დაფა
LED მძღოლის დაფა
LED მძღოლის დაფა

ნაწილები LED მძღოლის დაფისთვის:

  • 7 x TLC 5940
  • 6/7 x 10 uF კონდენსატორები
  • 2 x 1000 uF კონდენსატორები
  • 7x 2.2kOhm რეზისტორები
  • 7 x 28pin IC სოკეტი
  • 7 x 0.1uF კონდენსატორები
  • ლენტი კაბელი

გადავიდეთ საკონტროლო სქემებზე, მოდით, პირველ რიგში შევხედოთ LED Driver დაფას. როგორც უკვე აღვნიშნეთ, ჩვენ გვჭირდება 7 TLC5940, რომელიც დაკავშირებულია არდუინო ნანოსთან. TLC5940– ის ყველა ჩიპი არის მიჯაჭვული, რაც ნიშნავს რომ დრაივერების ყველა საკონტროლო პინები ერთმანეთთან არის დაკავშირებული (მაგ. პირველი TLC– ის BLANK pin უკავშირდება მეორე, მესამე, მეოთხე,… TLC– ს BLANK– ს) და ყველა დაკავშირებულია Arduinowith– თან. იგივე მავთულები, სერიალის გარდა, რომელშიც პირველად არის დაკავშირებული Arduino ციფრული პინიდან პირველ TLC– სთან, შემდეგ ამ პირველი TLC– ის Serial Out pin უკავშირდება მეორე TLC– ის SIN პინს და ასე შემდეგ (იხ. სურათი 4)…

ასე რომ, TLC დაფის სქემა საკმაოდ მარტივია, როგორც ხედავთ თანდართულ სქემაში.

(თუკი გსურთ დაფის გადახტომა ნაბიჯი 8 -ზე)

მე ასევე დავამატე სქემატური სქემა სქემატურში, რომელიც შეიცავს პინ ლეიბლებს და ასევე GIMP.xcf ფაილებს ფენებით ყველა Control Pin კავშირისთვის.

დაიწყეთ ყველა IC სოკეტის შედუღებით ადგილზე, შემდეგ დაამატეთ 100nF კონდენსატორები თითოეულ TLC- ში, რასაც მოყვება 2.2kOhm რეზისტორები IREFand GND და 7 პინიანი სათაური ზედა მარჯვენა კუთხეში.. ამის შემდეგ შეგიძლიათ უბრალოდ მიყევით.xcf ფაილს დაწყებული "SIN ფენით" Gimp ფაილში, რომელიც აჩვენებს თუ როგორ უნდა დააკავშიროთ მძღოლების სერიული IN/OUT ქინძისთავები ლენტი კაბელების გამოყენებით, შემდეგ ჩართოთ CLK ფენა GIMP- ში და ასე შემდეგ. დარწმუნდით, რომ თქვენ გაქვთ კარგი კავშირები + და - ქინძისთავებით სათაურთან ზედა მარჯვენა კუთხეში დანარჩენი სქემა უნდა იყოს თვითგამოხსნილი, მაგრამ დარწმუნდით, რომ დაფაზე დაამატებთ საკმარისად 1000uF და 10uF კონდენსატორებს. თქვენ ათავსებთ მათ

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

ნაბიჯი 7: Arduino + Bluetooth კონტროლის დაფა

Arduino + Bluetooth კონტროლის დაფა
Arduino + Bluetooth კონტროლის დაფა

ნაწილები საკონტროლო საბჭოსთვის:

  • 6 x IRF 9540 P-Channel MOSFET
  • 1 x 10 uF კონდენსატორები
  • 1 x 1000 uF კონდენსატორები
  • 7 x 2.2kOhm რეზისტორები
  • 1 x 1kOhm რეზისტორი
  • 2 x 14 ქინძისთავის სათაური
  • 1 x არდუინო ნანო
  • 1 x 1N4001 დიოდი
  • 1 x 0.1uF კონდენსატორები
  • 1 x DC ჯეკ PCB მთა
  • 1 x HC-05 Bluetooth მოდული
  • 1 x 3.5 მმ აუდიო ჯეკი

Arduino– ს კონტროლის საბჭო ძირითადად ასრულებს მულტიპლექსს, ასევე უზრუნველყოფს LED დრაივერის დაფის სათაურის ანალოგი.

შედუღება პერფორდზე:

  1. მოათავსეთ ორი ქალი Pin სათაური, რათა იმოქმედოს როგორც Arduino– ს დაფის შუაში.
  2. განათავსეთ 6 MOSFET ზედიზედ ერთმანეთის გვერდით Arduino– ს მარჯვენა მხარეს (გვერდი ანალოგური ქინძისთავებით) და დაამატეთ 2.2kOhm რეზისტორი პირველ და ბოლო პინებს შორის.
  3. ახლა მოათავსეთ 6 პინიანი სათაური MOSFET– ების წინ (მწკრივის შუა ნაწილი) და დააკავშირეთ FET– ების 6 DRAIN (შუა პინი) სათაურთან და FET– ის GATE (მარცხენა პინი) შესაბამის Arduino ანალოგიურ ქინძისთავებთან რა
  4. შემდეგი, შეაერთეთ 7pin სათაური LEDDriver კავშირისთვის Arduino– ს მეორე მხარეს, დატოვეთ ადგილი კაბელებისთვის და შეაერთეთ ყველა კავშირი Arduino– დან pin header– მდე.
  5. დაამატეთ რამდენიმე კონდენსატორი (1-2 1000uF, 1 10uF, 100nF არდუინოს გვერდით) შესაძლო დრენაჟისთვის.
  6. შეაერთეთ 4 პინიანი სათაური Arduino– ს უკანა მხარეს HC-05 მოდულისთვის და გააკეთეთ 4 კავშირი VCC, RX, TX, GND და არ დაგავიწყდეთ ძაბვის გამყოფის გაკეთება HC-05– ის RX პინიდან და Arduino– ს TX პინი (იხ. აქ)
  7. მოათავსეთ DC ჯეკი დაფის ნებისმიერ კიდეზე გადამრთველით გვერდით და დააკავშირეთ გადამრთველის მარჯვენა პინი DC DC ჯეკის + პინთან
  8. დაბოლოს, გააკეთეთ ყველა საჭირო დენის კავშირი DC ჯეკის GND პინიდან და გადამრთველის მარჯვენა პინიდან არდუინოში, MOSFET– ში, კონდენსატორებსა და HC-05– ში, როგორც ეს მოცემულია სქემატურ რეჟიმში. დაიმახსოვრეთ, რომ დაამატოთ დიოდი, რომელიც მხოლოდ VCC pin- ის დენის გადაცემას იძლევა Arduinos 5V პინში და არა სხვაგვარად. (ეს იცავს Arduino– ს USB კავშირის საშუალებით პროგრამირებისას)

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

ნუ დაგავიწყდებათ, რომ გააკეთოთ კიდევ ერთი 7 პინიანი ლენტიანი კაბელი მამაკაცის სათაურებით თითოეულ მხარეს არდუინოს დაფის დრაივერის დაფასთან დასაკავშირებლად

ნაბიჯი 8: სურვილისამებრ: მიკროსქემის დაფების ამოკვეთა

სურვილისამებრ: მიკროსქემის დაფების ამოკვეთა
სურვილისამებრ: მიკროსქემის დაფების ამოკვეთა
სურვილისამებრ: მიკროსქემის დაფების ამოკვეთა
სურვილისამებრ: მიკროსქემის დაფების ამოკვეთა
სურვილისამებრ: მიკროსქემის დაფების ამოკვეთა
სურვილისამებრ: მიკროსქემის დაფების ამოკვეთა

ასე რომ, თუ არ მოგწონთ ბევრი კაბელის შედუღება, რა თქმა უნდა, თქვენ ასევე შეგიძლიათ ამოიღოთ საჭირო PCB, თუ ამას გირჩევნიათ.

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

თანდართულ. Zip- ში შეგიძლიათ იხილოთ როგორც BOARD ფაილი, ასევე SCHEMATIC ფაილი.

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

სქემატური მოიცავს MSGEQ7 მახასიათებელს, რომლის უბრალოდ გამოტოვება შეგიძლიათ.pdf სქემატური ეკრანის ანაბეჭდში სქემატური მონაკვეთის წაშლით "(MSGEQ7)".

ნაბიჯი 9: კუბის დაკავშირება

კუბის დაკავშირება
კუბის დაკავშირება
კუბის დაკავშირება
კუბის დაკავშირება
კუბის დაკავშირება
კუბის დაკავშირება

კუბის ყველა ნაწილის დასაკავშირებლად, დაიწყეთ 7 პინიანი კაბელის ჩართვა Arduino დაფაზე და დრაივერის დაფაზე (დარწმუნდით, რომ ორიენტაცია სწორია!). შემდეგი შეაერთეთ HC05 მოდული 4 Pin სათაურში და დაუკავშირეთ კვების ბლოკი, თუ გამოყოფილია.

კუბის 7x16 პინის სათაურები რომ დააკავშიროთ, დარწმუნდით, რომ დაიწყეთ პირველი TLC– ით (ის, რომლის SIN პინი დაკავშირებულია არდუინოსთან პირდაპირ). იპოვნეთ სწორი 16 პინიანი კაბელი კუბიდან და შეაერთეთ იგი პირველი TLC– ის სათაურში (დარწმუნდით, რომ კათოდური Nr.0 კაბელი უკავშირდება პირველ TLC OUT0 პინს!). გააგრძელეთ და დაუკავშირეთ სხვა 16 პინიანი კაბელები შესაბამის TLC სათაურებს სწორი თანმიმდევრობით.

დაბოლოს, მაგრამ არანაკლებ მნიშვნელოვანია, დააკავშიროთ 6Pin კაბელი კვანძიდან ანოდებისათვის 6Pin სათაურთან საკონტროლო დაფაზე MOSFET– ების გვერდით.

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

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

ნაბიჯი 10: პროგრამული უზრუნველყოფა: მულტიპლექსირების ციკლი

პროგრამული უზრუნველყოფა: მულტიპლექსირების ციკლი
პროგრამული უზრუნველყოფა: მულტიპლექსირების ციკლი

თეორიულად, Arduino მუდმივად ასრულებს შემდეგ ციკლს:

  1. თუ LayerDuration გავიდა, ჩატვირთეთ შემდეგი ფენის ღირებულებები TLC– ში, გამორთეთ მიმდინარე ფენა, ჩართეთ შემდეგი ფენა, გადააყენეთ LayerDuration, მიანიჭეთ ახალი ღირებულებები TLC– ებს
  2. თუ FrameDuration გავიდა, ჩატვირთეთ მიმდინარე ანიმაციის ახალი ჩარჩო ყველა LED- ისა და ფერის მნიშვნელობების შენახვით ValueLed ბუფერში, გადატვირთეთ FrameDuration
  3. თუ Bluetooth მონაცემები ხელმისაწვდომია, უპასუხეთ მათ (შეცვალეთ ანიმაცია, სიკაშკაშე,…) (დამატებითი ინფორმაცია მოგვიანებით)

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

რაც უფრო სწრაფად ჩართავთ/გამორთავთ ფენებს, მით მეტ "ჩარჩოს" მიიღებთ. ასეთი 6x6x6 RGB LED კუბისთვის მე მივხვდი, რომ ფენის ხანგრძლივობა 1700 microSec. საკმარისად კარგია, რომ ციმციმდეს მინიმუმამდე და უნდა დარჩეს ამ მნიშვნელობით. FrameDuration აკონტროლებს ანიმაციის სიჩქარეს, ასე რომ ის შეიძლება შეიცვალოს სხვადასხვა ანიმაციისთვის.

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

ნაბიჯი 11: პერსონალური ანიმაციები

პერსონალური ანიმაციები
პერსონალური ანიმაციები
პერსონალური ანიმაციები
პერსონალური ანიმაციები

ანიმაციის განსახორციელებლად ჩვენ უნდა დავაყენოთ ValueLed ბუფერი იმ მნიშვნელობებზე, რომლებიც ჩვენ გვსურს შემდეგი ჩარჩოსთვის ყოველ ჯერზე FrameDuration გავიდა. ჩვენ ამას ვაკეთებთ მაკრო ფუნქციის გამოძახებით "SETLED (x, y, z, COLOR, Brightness)"

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

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

void randomLedsFull () {

for (uint8_t j = 0; j <CUBE_SIZE; j ++) {for (uint8_t x = 0; x <CUBE_SIZE; x ++) {for (uint8_t y = 0; y <CUBE_SIZE; y ++) {uint8_t rand = random8 (3); მითითებული (x, y, j, rand, maxBright); }}}}

ეს მეთოდი ეწოდება ყოველ ჯერზე FrameDuration გავიდა და შერჩეულია გადართვის საქმის ბრძანებიდან მარყუჟში (). თუ თქვენ წერთ ახალ ანიმაციებს, შეგიძლიათ დაამატოთ ისინი უბრალოდ გადართვის შემთხვევაში.

ნაბიჯი 12: დამატებითი: AnimationCreator

დამატებითი: AnimationCreator
დამატებითი: AnimationCreator

მე დამატებით დავწერე AnimationCreator JavaFX და Java3D გამოყენებით.

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

თქვენ შეგიძლიათ შექმნათ, შეცვალოთ, გადაარქვათ და დააკონფიგურიროთ ანიმაციები 4x4x4, 6x6x6 ან 8x8x8 LED კუბებისთვის

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

გარდა ამისა, ანიმაციის სიმულაციისთვის შეგიძლიათ დააჭიროთ ღილაკს "3D View", რომელიც ხსნის სხვა ფანჯარას კუბის Java3D მოდელით. თქვენ შეგიძლიათ გადაატრიალოთ კამერა მაუსის მარცხენა ღილაკის დაჭერისას (დააჭირეთ R– ს კამერის გადასატვირთად). ანიმაციის დაკვრა/პაუზისათვის დააჭირეთ P კლავიშს, გადატვირთეთ ანიმაციის დარტყმა Q. TextField ქვემოთ "View 3D" კონტონის ქვემოთ FrameTime, ანუ თქვენი ანიმაციის სიჩქარე.

როდესაც დაასრულებთ ანიმაციას დაასახელეთ სახელი და დააჭირეთ ფაილი> შენახვა როგორც… და შეინახეთ ანიმაცია იმავე საქაღალდეში, როგორც Cubo_Control.ino Sketch.

ესკიზში ახალი ანიმაციის ჩასართავად გახსენით Cubo_Control.ino და დაამატეთ შემდეგი კოდი ესკიზის თავზე:

#ჩართეთ "RGBit.h" // შეცვალეთ

გადაახვიეთ ქვემოთ BTEvent ()-მდე და დაამატეთ შემთხვევის განცხადება ანიმაციის გადართვის შემთხვევაში

გადართვა (curAnim) {

… შემთხვევა 10: ანიმაცია = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; შესვენება; შემთხვევა 11: // თქვენი ახალი ანიმაცია ანიმაცია = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; შესვენება; }

ნაბიჯი 13: Bluetooth აპლიკაცია

Bluetooth აპლიკაცია
Bluetooth აპლიკაცია

კუბის რეალურად გასაკონტროლებლად, HC-05 მოდულის წყალობით, საკმაოდ მარტივია Bluetooth პროგრამის შექმნა თქვენი ტელეფონის კუბთან დასაკავშირებლად.

აპლიკაციის ბმული: Github

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

  • დაიწყეთ აპლიკაცია, ის მოგთხოვთ ჩართოთ Bluetooth
  • დააჭირეთ ღილაკს "ძებნა" და გამოჩნდება ხელმისაწვდომი Bluetooth კავშირების სია. ამოიცანით HC-05 მოდული კუბიდან და დააწკაპუნეთ მასზე.
  • თუ შეცდომაა კუბთან დაკავშირებისას, სცადეთ ხელით დააწყვილოთ HC-05 მოდული Bluetooth პარამეტრებში
  • პროგრამის დაკავშირებისთანავე გადადის საკონტროლო ეკრანზე და დამყარებულია Bluetooth კავშირი

კონტროლი

  • სიჩქარე და სიკაშკაშე: შეცვალეთ სლაიდერის მნიშვნელობები ანიმაციის დასაჩქარებლად/შენელებისთვის ან სიკაშკაშის შესაცვლელად
  • ანიმაციები: დააწკაპუნეთ ღილაკზე ანიმაციის შესაცვლელად, სტანდარტულად ანიმაციები მარყუჟდება (ზემოდან მარცხნიდან დაწყებული ღილაკი შეესაბამება currAnim- ს)
  • ტექსტის გადახვევა: დააწკაპუნეთ ღილაკზე "ტექსტი", რომელიც იხსნება დიალოგში, რათა შეიტანოს ტექსტი, რომელიც გადავა კუბში
  • ბრძანება: თქვენ შეგიძლიათ შეიყვანოთ ბრძანებები ხელით Command TextField– ით (სინტაქსისთვის გადახედეთ Cubo_Control.ino– ს BTEvent () მეთოდს)
  • გველი: კლასიკური გველის თამაში (წითელი: ვაშლი, მწვანე: გველის თავი, ლურჯი: შემოგეპაროთ კუდი) (კონტროლი: 4 მიმართულების ღილაკი, ზემოთ და ქვემოთ ხდება ტელეფონის წინ გადაწევა (ზემოთ) ან უკან (ქვემოთ))
  • აუდიო ვიზუალიზატორი: MSGEQ7 გამოიყენება 6 აუდიო შემსრულებლის ვიზუალიზაციისთვის AUX ჯეკიდან (ღილაკი ანიმაციისთვის 7)

ნაბიჯი 14: ვიტრინა

გირჩევთ: