Სარჩევი:

როგორ ავაშენოთ განათებული უკულელე !: 21 ნაბიჯი
როგორ ავაშენოთ განათებული უკულელე !: 21 ნაბიჯი

ვიდეო: როგორ ავაშენოთ განათებული უკულელე !: 21 ნაბიჯი

ვიდეო: როგორ ავაშენოთ განათებული უკულელე !: 21 ნაბიჯი
ვიდეო: როგორ დავაკარგვინე გოგოს ქალიშვილობა- პირადი ისტორია.#2 2024, ივლისი
Anonim
Image
Image
შეადგინეთ გეგმა
შეადგინეთ გეგმა

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

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

დასრულებული uke ტექნიკის მახასიათებლები:

  1. Arduino MICRO ინტერფეისით LED სტრიქონზე, ჩვენებაზე და შეყვანის მოწყობილობაზე.
  2. 48 ინდივიდუალურად პროგრამირებადი სრული ფერის LED- ები
  3. OLED ეკრანი
  4. მბრუნავი კოდირება მომხმარებლის შეყვანისთვის
  5. USB ინტერფეისი გარე ენერგიისა და Arduino პროგრამირებისთვის

Uke პროგრამულ უზრუნველყოფას აქვს:

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

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

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

ნაბიჯი 1: შეადგინეთ გეგმა

შეადგინეთ გეგმა
შეადგინეთ გეგმა

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

Fretboard– ის დიზაინის შექმნისას, ჩვენ უნდა გამოვთვალოთ PCB– ისა და LED– ების ჩასაშენებლად საჭირო სისქის ზრდა (და არ დაგავიწყდეთ პასიური კომპონენტები), მაგრამ არა იმდენად, რომ LED– ები ძალიან შორს იყოს fretboard– ის ზედაპირიდან.

LED დაბეჭდილი მიკროსქემის დაფა (PCB) შექმნილია როგორც მარტივი 2 ფენის დაფა. ეს ბევრს ეხმარება LED სტრიქონის ხელით შეკრებაში და უზრუნველყოფს მექანიკურ სიმტკიცეს (ეს არის ბოჭკოვანი და ეპოქსიდური) უკულელის კისერზე. დავიწყე განლაგება Eagle– ში, მაგრამ დამთავრდა Altium Designer– ის გამოყენებით დაფის ზომის შეზღუდვის გამო. Altium სქემატური და PCB ფაილები აქ არის.

ნაკრები fretboard იყო მხოლოდ 0.125 დუიმი სისქის. ასე რომ, თუ ვივარაუდებთ 0.062 ინჩის სისქის PCB- ს და დავუშვებთ დამატებით 0.062 დიუმს LED- ებისთვის, ეს იმას ნიშნავს, რომ ჩვენ უნდა მოვაჭრათ ბევრი რამ (როგორც ყველაფერში) fretboard– დან. კომპენსაციისთვის ჩვენ შეგვიძლია ნაწილობრივ დავჭრათ ჯიბეები LED- ებისთვის fretboard– ში შესაბამისი ჯიბით PCB– სთვის, ან ჩვენ შეგვიძლია შევცვალოთ მთელი fretboard (ვარიანტი, რომელთანაც მივედი) ლუთერ მერკანტილის საერთაშორისო (LMII) სქელი ვერსიით., რომლებიც დასაწყებად 0.25 ინჩია.

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

საინჟინრო საგნები (იგნორირება თუ გინდა):

სხვათა შორის, ეს ნამდვილად არ კომპრომეტირებას ახდენს კისრის სიმტკიცეზე იმდენად. PCB მასალა ბევრად უფრო მკაცრია ვიდრე ორიგინალური ხის დაფა (Mahogany modulus: 10.6 GPa წინააღმდეგ FR4 მოდული: 24 GPa), პლუს რადგან ჩვენ ვაშენებთ უკულელს, არ არსებობს სიმებიანი ძაბვის უზარმაზარი რაოდენობა, რომელიც სხვაგვარად შეიძლება დამახინჯდეს (ირონია ან დამახინჯება) კისერი.

ერთი ძალიან საინტერესო მოსაზრება (რომელიც ალბათ მაინც უნდა გამოვთვალო) არის ის, რაც ხდება ტემპერატურაზე. ზოგადად ხისთვის, მარცვლეულის პარალელურად, გაფართოების თერმული კოეფიციენტი უხეშად არის 3 x 10^-6/K, ხოლო FR4– ისთვის არის 14 × 10^−6/K. ამრიგად, საკმაოდ მნიშვნელოვანი განსხვავებაა. შეშფოთება ისაა, რომ ტემპერატურის ცვალებადობისას კისერზე იქმნება დაძაბულობა, რაც თავის მხრივ ალაგებს სიმებს. ეს არის ის, რისი ანაზღაურებაც შესაძლებელია ნეიტრალური ღერძის მოპირდაპირე მხარეს მსგავსი ფენის გამოყენებით ან FR4- ის მაქსიმალურად მიახლოებით ნეიტრალურ ღერძთან. მაგრამ ეს დარჩება 2.0 … რაღაც მოდელირება და შეფასება.

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

ნაბიჯების მონახაზი შემდეგია:

  1. შეაგროვეთ მასალები
  2. მიიღეთ საჭირო ინსტრუმენტები
  3. Mill კისრის განთავსება სქელი fretboard
  4. დაფქვიფეთ დაფაზე, რათა გააკეთოთ ხვრელები საჭირო ადგილას და შექმნათ ჯიბეები დაფისა და LED- ებისთვის
  5. მიიღეთ და ააშენეთ PCB, რომელსაც აქვს LED- ები
  6. უკულელეს კორპუსში გააფართოვოს წვდომის ხვრელები OLED ეკრანისთვის, მბრუნავი კოდირებისთვის და წვდომის პანელისთვის
  7. გააკეთეთ საფარის ფირფიტები
  8. მიამაგრეთ მავთულები PCB; დააკავშირეთ და შეამოწმეთ ელექტრონიკა
  9. მიამაგრეთ კისერი უკულელეს სხეულზე
  10. გაბურღეთ წვდომის დასაჭერი PCB მავთულის სხეულში გადასასვლელად
  11. PCB და fretboard გასწორება და წებო კისერზე
  12. გაათანაბრეთ დაფის კიდეები კისერზე (ამოიღეთ ზედმეტი მასალა)
  13. დააინსტალირეთ უხეში მავთულები
  14. წაისვით ნიღაბი და წაუსვით უკულელს
  15. გასწორება და მიმაგრება ხიდი
  16. დააინსტალირეთ ელექტრონიკა და შეამოწმეთ.
  17. დააინსტალირეთ ტიუნერები და გააფორმეთ ინსტრუმენტი
  18. პროგრამირება Uke კონტროლერი
  19. გააოცეთ მსოფლიო თქვენი უკულელეს საოცრებით!

ნაბიჯი 2: მასალების შეგროვება

ჩვენი მასალების სია ასე გამოიყურება:

  1. უკულელის ნაკრები - მე გამოვიყენე გრიზლის კონცერტის ნაკრების ნაკრები (გრიზლი უკეს ნაკრები ამაზონში), მაგრამ ეს უნდა შეწყდეს. ზიმო აკეთებს მსგავს მოდელს (Zimo Uke Kit @ Amazon), რომელიც, როგორც ჩანს, საქმეს შეასრულებს
  2. უკულელე fretboard, წინასწარ slotted (LMII უკე Fingerboards). ისინი დაალაგებენ fretboard თქვენს სასწორს, რაც დაზოგავს არეულობას
  3. ეპოქსიდური - ფრეტბორდის კისერზე შესაკრავად. მე ავირჩიე ეპოქსია, რადგან ის თავსებადია PCB მასალასთან. ეძებეთ რაღაც მინიმუმ 60 წუთიანი სამუშაო ცხოვრებით. არ გამოიყენოთ 5 წუთიანი ტიპები, თქვენ გჭირდებათ დრო კორექტირებისთვის
  4. Fret მავთულები - ასევე ხელმისაწვდომია LMII– დან
  5. პერსონალური PCB - Altium ფაილები აქ არის. მე ავირჩიე ნორმალური FR4 ტიპის მასალა. Flex (polyimide) დაფები იქნება საინტერესო (თუ უფრო ძვირი) ალტერნატივა, რადგან ისინი შეიძლება იყოს ბევრად თხელი
  6. 48x Neopixel (SK6812) ები. ხელმისაწვდომია Adafruit და Digikey– დან
  7. 48x 0.1uF 0402 ქუდი - უფრო დიდი მისაღებია, მაგრამ თქვენ უნდა ნახოთ განლაგება
  8. დამაკავშირებელი მავთული - მინიმუმ 4 -დან 6 -მდე ფერი დაბნეულობის თავიდან ასაცილებლად, მე ვიყენებდი ძირითადად 28 ლიანდაგის მავთულს. უყურეთ DC ვარდნას LED დენის კავშირებზე (ორივე VCC და GROUND … ეს დენი უნდა დაუბრუნდეს წყაროს!)
  9. მბრუნავი კოდირება-PEC16-4220F-S0024
  10. ლამაზი ხის სახელური - მბრუნავი კოდირებისთვის (მე მივიღე ჩემი LMII– დან)
  11. OLED დისპლეი - 4D სისტემიდან OLED მონიტორები
  12. გარე USB ბატარეა - ყოველთვის იაფია, პლუს შეგიძლიათ სათადარიგო ნაწილების ტარება!
  13. არდუინო მიკრო
  14. ფურცელი სპილენძი - ფირფიტის გასაკეთებლად არდუინოსა და ეკრანის ჩასატარებლად
  15. სხვადასხვა სახარჯო მასალები, მათ შორის: ქვიშა, ურეთანის საფარი, ყურძნის ჩხირები, რეზინის ზოლები, შედუღება, ნაკადი, ჯაგრისები, ორმხრივი ლენტი (მე მომწონს UHC ფირზე 3 მ -ით) და პატარა სპილენძის ხრახნები (ფირფიტისთვის)
  16. სურვილისამებრ უკულელეს გაუმჯობესება - უკეთესი ტიუნერები, უკეთესი სიმები, უკეთესი კაკალი და უნაგირი, ჩამონტაჟება თუ გინდათ გამოავლინოთ თქვენი უფრო მაღალი უნარი)

ნაბიჯი 3: მიიღეთ საჭირო ინსტრუმენტები

ადრე თუ გვიან თქვენ მოგიწევთ მიიღოთ ან მიიღოთ წვდომა შემდეგზე:

ჩვენი ინსტრუმენტების სია მოიცავს:

  1. საღარავი მანქანა - სასურველია CNC, მაგრამ თქვენ შეიძლება როუტერითაც კი გაუმკლავდეთ და ბევრი იღბალი გქონდეთ. მე გამოვიყენე კომბინირებული CNC წისქვილი/როუტერი
  2. როუტერის ბიტი - სასურველია კარბიდი. როუტერის ბიტები არჩეულია ბოლო წისქვილზე, რადგან ჩვენ ვამუშავებთ ხეს და არა ლითონს
  3. დამჭერები - ბევრი მათგანი. ძირითადად საჭიროა ნაწილების ჩასატარებლად წებოვნებისას
  4. Soldering რკინის - პატარა წვერი ზედაპირზე mount soldering
  5. მიკროსკოპი ან გამადიდებელი - შეგიძლიათ შეაერთოთ მხოლოდ თვალით, მაგრამ მე ამას არ გირჩევთ, მინიმუმ 10 ჯერ
  6. პინცეტი (ნაწილების დასაყენებლად)
  7. მოსაწყენი ინსტრუმენტები (იხილეთ შესაბამისი ინსტრუმენტები LMII– ზე აქ, მაგრამ მე გამოვიყენე ის, რაც სახლში მქონდა და გავაკეთე; ჩაქუჩები, ფაილები და საჭრელები)
  8. ხელნაკეთი ინსტრუმენტები, როგორიცაა ხის ნაჭრები, ხრახნები, რბილი დარტყმა ან ნესტიანი ჩაქუჩი (მოსაწყობად) და ა.
  9. აბრაზიული - ქვიშის სხვადასხვა ნაჭერი

ჩვენი პროგრამული ინსტრუმენტები მოიცავს (ზოგი არჩევითია თქვენი ბიუჯეტის/გამჭრიახობის მიხედვით):

  1. Arduino პროგრამული უზრუნველყოფა
  2. უკულელეს საწყისი კოდი (https://github.com/conrad26/Ukulele)
  3. PCB განლაგების პაკეტი - მე გამოვიყენე Altium რადგან უფასო ვერსია Eagle არ უჭერდა მხარს იმ დაფის ზომას რაც მინდოდა. Altium არის სრულად გამორჩეული განლაგების პაკეტი და ნამდვილად არ არის მოყვარულთა ფასების დიაპაზონში. მე შევიტანე გერბერის ფაილები ჩემს საიტზე პროტოტიპისთვის, მაგრამ ეს აუცილებლად საჭიროებს განახლებას
  4. 3D მოდელირების პროგრამა - მე გამოვიყენე SolidWorks, მაგრამ ერთი უფასო ალტერნატივაა FreeCAD (https://www.freecadweb.org/)
  5. CAM პროგრამული უზრუნველყოფა - ისევე როგორც FeatureCAM Autodesk– დან NC წისქვილის ფაილის შესაქმნელად.

კომბინაცია 3D ნაბიჯი ფაილი ექსპორტი Altium ერთად 3D მოდელი fretboard აღმოფხვრის ბევრი სირთულე, რათა დავრწმუნდეთ, რომ ყველაფერი შეესაბამება, მაგრამ ეს არ არის მოთხოვნა. ფრთხილად განლაგება მიაღწევს იგივე შედეგს.

ახლა, როდესაც ჩვენ ვიცით, რისი გაკეთება გვინდა და რა გვჭირდება, მოდით ავაშენოთ უკულელე.

ნაბიჯი 4: კისრის წისქვილზე უფრო სქელი დაფის დასაყენებლად

Mill კისრის განსახლება სქელი Fretboard
Mill კისრის განსახლება სქელი Fretboard

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

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

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

ნაბიჯი 5: მიიღეთ და ააშენეთ PCB, რომელსაც აქვს LED- ები

მიიღეთ და ააშენეთ PCB, რომელსაც აქვს LED- ები
მიიღეთ და ააშენეთ PCB, რომელსაც აქვს LED- ები
მიიღეთ და ააშენეთ PCB, რომელსაც აქვს LED- ები
მიიღეთ და ააშენეთ PCB, რომელსაც აქვს LED- ები

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

Fretboard დიზაინი ემყარება WS2812B LED- ების გარშემო. მე გადავწყვიტე მხოლოდ fretboard– ის პირველი ოქტავა (48 LED !!). თითოეული LED შეიძლება ჩაითვალოს ერთ ბიტად ცვლის რეგისტრში. ცვლის რეგისტრი არის 800 კჰც სიხშირით. მე გამოვიყენე ადაფრუტის ბიბლიოთეკა (იხილეთ პროგრამირების განყოფილება), რომ საქმე სწრაფად დამეწყო.

მე დავიწყე დიზაინი Eagle– ში, მაგრამ დაფის ზომა შემოიფარგლება 4 x 5 ინჩით, ამიტომ მომიწია (ან უფრო სწორად, მე ავირჩიე) ალტიუმზე გადასვლა. მე ვიყენებ ალტიუმს სამსახურში, ასე რომ სინამდვილეში, ამან უფრო სწრაფად გამიკეთა საქმე. Altium პროექტი, სქემატური და pcb ფაილები (და ბიბლიოთეკის ნაწილები) ჩემს საიტზეა. დაფა ტრაპეციული ფორმისაა და დაახლოებით 10 ინჩი სიგრძის. მე ვფიქრობ, რომ მე უნდა შევეცადო კონტურის შეკუმშვა კიდევ უფრო მეტად (მომდევნო ტრიალი!) შეკრება არ იყო ცუდი, მაგრამ თუ ამის საშუალება გაქვთ, მე ნამდვილად გირჩევთ ღირსეულ გამაგრილებელ რკინას (JBC Soldering Irons) და კარგ მიკროსკოპს. დიახ, მე გაფუჭებული ვარ და არა, მე არ მაქვს ასეთი ნივთები ჩემს ლაბორატორიაში. მე ვარ იაფი.

მე მქონდა დაფები დამზადებული Sunstone- ში. $ 129 ორი დაფისთვის. გარანტია ერთი კვირის განმავლობაში. თუმცა, ნუ იდარდებთ გადაზიდვაზე. მე არ შევამჩნიე, რომ მე ვიყენებდი UPS- ს და მე დაველოდე დამატებით კვირას, სანამ ჩემი დაფები ჩამოვიდოდნენ. შეკრების საერთო დრო იყო დაახლოებით 2 საათი (98 ნაწილი).

ნაბიჯი 6: Mill Fretboard

Image
Image
წისქვილის შესასვლელი ხვრელები უკულელის სხეულში
წისქვილის შესასვლელი ხვრელები უკულელის სხეულში

ჩვენ გვჭირდება ფრეტბორდის დაფქვა, რათა საჭირო ადგილებში მოხდეს ხვრელები და შევქმნათ ჯიბეები დაფისა და LED- ებისთვის.

მე შევქმენი დასრულებული ფრედბორდის 3D მოდელი Solidworks– ში და შევქმენი CNC დაფქვის რუტინა FeatureCAM– ის გამოყენებით.

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

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

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

ნაბიჯი 7: წისქვილის შესასვლელი ხვრელები უკულელის სხეულში

წისქვილის შესასვლელი ხვრელები უკულელის სხეულში
წისქვილის შესასვლელი ხვრელები უკულელის სხეულში

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

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

ნაბიჯი 8: გააკეთეთ საფარის ფირფიტები

გააკეთეთ საფარის ფირფიტები
გააკეთეთ საფარის ფირფიტები
გააკეთეთ საფარის ფირფიტები
გააკეთეთ საფარის ფირფიტები
გააკეთეთ საფარის ფირფიტები
გააკეთეთ საფარის ფირფიტები

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

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

მე ოთხი პატარა სპილენძის ხის ხრახნი გამოვიყენე, რომ სპილენძის შესასვლელი პანელი ადგილზე მეჭირა.

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

ნაბიჯი 9: მიამაგრეთ მავთულები PCB; შეაერთეთ და გამოსცადეთ ელექტრონიკა

Image
Image
მიამაგრეთ კისერი უკულელეს სხეულზე
მიამაგრეთ კისერი უკულელეს სხეულზე

ჯერ სამუდამოდ ნუ მიამაგრებთ ელექტრონიკას. მიამაგრეთ მავთულები PCB– ზე, დარწმუნდით, რომ დატოვებთ საკმარისად ნაოჭებს წვდომის ხვრელის გასასვლელად. ეს საბოლოოდ უნდა იყოს მუდმივად მიმაგრებული Arduino MICRO დაფაზე (ფოტოებზე ნაჩვენებია Arduino UNO, რომელიც მე გამოვიყენე კოდის შემუშავებისთვის)

ნაბიჯი 10: მიამაგრეთ კისერი უკულელის სხეულზე

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

ნაბიჯი 11: გაბურღეთ წვდომის ხვრელი, რათა გაიაროთ PCB მავთულები სხეულში

გაბურღეთ წვდომის ხვრელი PCB მავთულის გადასატანად სხეულში
გაბურღეთ წვდომის ხვრელი PCB მავთულის გადასატანად სხეულში

მას შემდეგ, რაც წებო გაშრება, გაბურღეთ ~ 1/4 (10 მმ) ხვრელი კუთხით, რათა დაუშვათ PCB– დან მავთულები უკულელეს სხეულში. დარწმუნდით, რომ არ დააზიანოთ ხმის დაფა.

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

კიდევ ერთი საცდელი მორგება ამ ეტაპზე არ დააზარალებს.

ნაბიჯი 12: PCB და Fretboard- ის გასწორება და წებო კისერზე

PCB და Fretboard კისერზე გასწორება და წებო
PCB და Fretboard კისერზე გასწორება და წებო

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

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

გამოიყენეთ ეპოქსიდი მინიმუმ 60 წუთის სამუშაო ცხოვრებით … თქვენ დაგჭირდებათ ეს ყველაფერი.

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

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

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

ნაბიჯი 13: გაათანაბრეთ Fretboard Edges კისერზე და დაამატეთ Fret Wires

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

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

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

ნაბიჯი 14: წაისვით ნიღაბი და წაისვით უკულელეზე

ნიღაბი დაფაზე (არ დასრულდება) და ხიდის წებოვნების არე და დაიწყეთ დასრულების გამოყენება.

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

ყოველთვის უკეთესია იმის გაგება, თუ რატომ აკეთებ რაღაცას, ვიდრე ბრმად მიჰყევი მითითებებს.

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

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

Გააკეთე დავალება.

ნაბიჯი 15: გასწორება და მიმაგრება ხიდი

გასწორება და მიმაგრება ხიდი
გასწორება და მიმაგრება ხიდი

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

ნაბიჯი 16: დააინსტალირეთ ელექტრონიკა და ტესტი

დააინსტალირეთ ელექტრონიკა და ტესტი
დააინსტალირეთ ელექტრონიკა და ტესტი

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

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

ნაბიჯი 17: დააინსტალირეთ ტიუნერები და გააფორმეთ ინსტრუმენტი

Image
Image
უკის პროგრამირება
უკის პროგრამირება

თქვენ ასევე დაგჭირდებათ მწუხარების გასწორება და ცოტათი თამაში კონფიგურაციით, მაგრამ რატომ ინერვიულოთ ახლა, როდესაც ასე ახლოს ხართ დასასრულთან?

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

ნაბიჯი 18: უკის პროგრამირება

Arduino– ს საბოლოო კოდი არის Github– ზე. კოდში არის რამდენიმე ხაზი მომავალი გაუმჯობესების მხარდასაჭერად (მაგალითად, მეტრონომის ფუნქცია და ეკრანზე "სლაიდერი" (ინტერფეისის ელემენტი, რომელიც სლაიდერს ჰგავს)

ეს კოდი იყენებს Rotary Encoder ბიბლიოთეკას (Rotary Encoder Arduino ბიბლიოთეკა), რომ გაუმკლავდეს მომხმარებლის შეყვანას Rotary Encoder– დან.

ის ასევე იყენებს Adafruit Neopixel ბიბლიოთეკას და აქ განთავსებულ მაგალითს. თეატრისა და ცისარტყელას რეჟიმები ბიბლიოთეკით მოწოდებული მაგალითებიდან არის მიღებული. (იხ. strandtest.ino).

ჩვენების დრაივერი უზრუნველყოფილია 4D სისტემით და ნაპოვნია Github– ზე აქ.

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

თანდართული დიაგრამა გვიჩვენებს fretboard LED ადგილმდებარეობებს და როგორ არის დაკავშირებული ისინი. LED 0 მდებარეობს ზედა მარჯვენა კუთხეში.

ნაბიჯი 19: როგორ გამოვხატოთ აკორდი

როგორ გამოვაჩინოთ აკორდი
როგორ გამოვაჩინოთ აკორდი

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

მე გამოვიყენე "GCEA" აღნიშვნა აკორდების შესანახად (მაგ. "A" არის "2100"). აკორდები წინასწარ არის გათვლილი თითოეული ძირეული ნოტისთვის და ინახება ცვლადში, რომელიც შეესაბამება აკორდის ხარისხს. (მაშასადამე, ძირითადი, ინახება მასივის "majorChords" პირველ ადგილას, შესაბამისი "2100").

char* majorChords = {"2100 / n", "3211 / n", "4322 / n", "0003 / n", "1114 / n", "2220 / n", "3331 / n", " 4442 / n "," 2010 / n "," 3121 / n "," 0232 / n "," 5343 / n "};

გაითვალისწინეთ, რომ რადგან ეს არის ტექსტური სტრიქონი, თითოეულ ციფრს ასევე შეუძლია ასახავდეს ექვსკუთხა მნიშვნელობას 9 -ზე მეტი fret პოზიციებისთვის. ანუ, A და B წარმოადგენენ LED- ებს 10 და 11. პირველი პოზიციის აკორდებისთვის ეს არ იყო პრობლემა) რა

LED სტრიქონი მავთულხლართულია სიგრძით 12 რიგებში (ოქტავა) თითოეული სტრიქონის გასწვრივ (დაწყებული A სტრიქონით), 12 -ის შემდგომი გაშვება იწყება შემდეგი სტრიქონის პირველ ფრეტზე (იხ. დიაგრამა მე -18 ნაბიჯში). ეს მნიშვნელოვანია ალგორითმისთვის, რათა დადგინდეს რომელი ნათურები უნდა ჩართოს მოცემულ აკორდზე. ეს ნიშნავს, რომ პიქსელები 0 -დან 11 -მდე არის A სტრიქონის LED- ები, 12 -დან 23 -მდე E სიმებიანი LED- ები და ასე შემდეგ. A = "2100" -ის გაანალიზებისას (ინახება სტრიქონის სახით, კოდში არის ასევე null ტერმინატორი), ჩვენ განვმარტავთ მას შემდეგნაირად: A სტრიქონზე პიქსელი არ არის განათებული და არც E სტრიქონზე, პიქსელი 0 (fret 1) C სტრიქონზე განათებულია და pixel 1 (fret 2) G სტრიქონზე. გაითვალისწინეთ, რომ "0" გამორთულია და არა პირველი LED. გაყვანილობის საფუძველზე, ჩვენ გვინდა LED- ების 24 და 37 -ის განათება. აკორდის ჩვენების კოდი ნაჩვენებია ქვემოთ.

for (int i = 0; i <4; i ++) {if (int (აკორდი - '0')) {// ალგორითმი აკორდის სიმებიანი int led lednumber = int (აკორდი - '0') + (3 - ი) * 12 - 1; // იხილეთ ზემოთ განხილვა, (3-i) არის ინდექსის strip.setPixelColor უკუქცევა (ledNumber, 0, 125, 125); // setPixelColor (ledNumber, წითელი მნიშვნელობა, მწვანე მნიშვნელობა, ლურჯი მნიშვნელობა)}}

თუ განცხადება ამოწმებს, არის თუ არა გამორთული. თუ ეს ასე არ არის, ის იღებს ascii მნიშვნელობას პერსონაჟს, აკორდს და გამოაკლებს ascii მნიშვნელობას "0" - მდე, რათა ledNumber აინთოს.

ზოლები არის Adafruit_NeoPixel კლასის მაგალითი. SetPixelColor ფუნქცია ადგენს გამოთვლილ პიქსელის ფერს (ამ შემთხვევაში დაფიქსირებულია (0, 125, 125).

ნაბიჯი 20: როგორ აჩვენოთ გადახვევის შეტყობინება

როგორ აჩვენოთ გადახვევის შეტყობინება
როგორ აჩვენოთ გადახვევის შეტყობინება

ასე რომ, ჩვენ გვაქვს 12 x 4 მასივი LED- ები … რატომ არ ვაქცევთ მას რაიმე სხვა შემთხვევითი შუქის გარდა!

პირველი საკითხი ის არის, რომ ეკრანის სიმაღლე (4) საკმაოდ შეზღუდულია უკეზე სტრიქონების რაოდენობის გამო. ჰორიზონტალური გადახვევა ძირითადად გაუგებარი იქნებოდა, მაგრამ ვერტიკალურ ორიენტაციაში ჩვენ შეგვიძლია მხარი დავუჭიროთ 4 x 5 სიმბოლოს ვერტიკალურად.

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

სირთულე ის იყო, რომ არ იყო სტანდარტული 4 x 5 სიმბოლო. მე თვითონ გავაკეთე თანდართული ცხრილის გამოყენებით. მე მივანიჭე თითოეული სტრიქონი ერთ ექვსკუთხედ მნიშვნელობას (4 ბიტი, რომელიც წარმოადგენს პიქსელის ჩართვას ან გამორთვას). ხუთი ექვს ექვს მნიშვნელობის კომბინაცია წარმოადგენს სიმბოლოს (მაგ. "0" არის 0x69996).

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

ნაჩვენები სტრიქონი შეიცავს სიმებიანი ცვლადს, შეტყობინებას.

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

ბუფერი იტვირთება შემდეგი სიმბოლოთი, როდესაც გამომავალი ინდექსი (მაჩვენებელი) მიაღწევს სიმბოლოების ზღვარს (outputPointer 5, 11 ან 17).

ბუფერის ჩატვირთვისას, ჩვენ ვიღებთ პირველ შეტყობინებას "შეტყობინებაში", როგორც ASCII მნიშვნელობას და გამოვაკლებთ 48 -ს, რომ მივიღოთ ინდექსი asciiFont მასივში. ამ ინდექსის ღირებულება ინახება კოდირებული ჩარტში.

შეტყობინების გადატანილი პირველი ნაწილი შეესაბამება LED- ებს 47, 35, 23 და 11 (ეკრანის ბოლოში). ასე რომ, ნულოვანი რიცხვისთვის 0x0F999F, F (მარცხენა ერთი) გადაინაცვლებს პირველში, 9 წამში და ასე შემდეგ.

შემდეგი პერსონაჟი იტვირთება თითოეული ნიბის ნიღბით და მარჯვნივ გადატანით. ზემოთ მოყვანილი მაგალითისთვის ალგორითმი იძლევა (0x0F999F & 0xF00000) >> 20, შემდეგ (0x0F999F & 0x0F0000) >> 16 და ა.შ.

int ინდექსი; if (outputPointer == 17 || outputPointer == 5 || outputPointer == 11) {char displayChar = message.charAt (messagePointer); // აიღეთ შეტყობინების პირველი სიმბოლო გრძელი კოდირებულიChar = asciiFont [displayChar - 48]; if (displayChar == 32) კოდირებული Char = 0x000000; messageBuffer [bytePointer+5] = ბაიტი ((კოდირებული Char & 0xF00000) >> 20); // ნიღბავს ყველაფერს, გარდა ბოლო ნაკაწრისა და გადააქვს იგი 20 -ით (და ასე შემდეგ) // ამან უნდა დააყენოს ერთი ნაკაწრი მეხსიერების ადგილმდებარეობის შესახებ // ექვსივე წარმოადგენს სიმბოლოზე messageBuffer [bytePointer+2] = ბაიტი ((კოდირებული Char & 0x000F00) >> 8); messageBuffer [bytePointer+1] = ბაიტი ((კოდირებული Char & 0x0000F0) >> 4); messageBuffer [bytePointer] = ბაიტი ((კოდირებული Char & 0x00000F)); if (bytePointer == 0) {// ამუშავებს მარყუჟს bytePointer bytePointer = 12; } else {bytePointer -= 6; // ჩვენ ვავსებთ ქვემოდან ზემოდან; შენიშვნა: საჭიროა გადახედოთ ამ ნაბიჯის გადახედვას, რომ გაადვილოს თუ არა} if (messagePointer == message.length ()-1) {// გაუმკლავდეს მარყუჟს შეტყობინების messagePointer = 0; } else {messagePointer += 1; // შემდეგ სიმბოლოზე გადასვლა}}

მას შემდეგ, რაც ბუფერი დატვირთულია, ხდება საკითხი თვალყურის დევნებისა, სადაც არის გამომავალი მაჩვენებელი და ჩატვირთვა LED სტრიქონი სწორი 48 ბიტით (მიმდინარე 4 და წინა 44). როგორც უკვე აღვნიშნეთ, ზოლები არის NeoPixel კლასის მაგალითი და setPixelColor ადგენს თითოეული პიქსელის ფერს (RGB). ჩვენების () ფუნქცია ცვლის ჩვენების მნიშვნელობებს LED სტრიქონზე.

// მარყუჟი რომ მუდმივად გადაიტანოს ბუფერი

// მინდა გამოვწერო მთელი ზოლები თითოეულ მარყუჟში, მხოლოდ საწყისი მდებარეობა იცვლება (int row = 12; row> 0; row--) {index = outputPointer + (12-row); if (ინდექსი> 17) ინდექსი = outputPointer+(12-row) -18; // მარყუჟი თუ 17-ზე მეტია (int სვეტი = 4; სვეტი> 0; სვეტი--) {strip.setPixelColor (uint16_t (12*(სვეტი -1)+(მწკრივი -1)), uint8_t (RedLED*(bitRead (messageBuffer [ინდექსი], სვეტი -1))), uint8_t (GreenLED*(bitRead (messageBuffer [index], column-1)))), uint8_t (BlueLED*(bitRead (messageBuffer [index], column-1))))); // თითოეულ ადგილას აანთეთ LED თუ ბიტი არის ერთი}} // outputPointer მიუთითებს ჩვენების სტრიქონში მიმდინარე ყველაზე დაბალ ბაიტზე, თუ (outputPointer == 0) outputPointer = 17; else outputPointer -= 1; ზოლები. ჩვენება (); }

ნაბიჯი 21: გააოცეთ მსოფლიო თქვენი უკულელის სიამაყით

Image
Image

უკულელეს საბოლოო პროტოტიპს დაახლოებით 6 თვე დასჭირდა გაშვება და გაჩერება.

ბევრი ახალი ტექნოლოგიის შესასწავლად და შესაძლოა ხის და მუსიკის თეორიის ჩატვირთვა!

რა უნდა გავაკეთოთ შემდეგი ვერსიისთვის?

  1. მოიშორეთ ეკრანი და მბრუნავი კოდირება. შეცვალეთ ისინი არდუინოზე დამაგრებული Bluetooth მოდულით. აკონტროლეთ იგი დისტანციურად ტელეფონის ან ტაბლეტის გამოყენებით. ყველაფერი უკეთესია Bluetooth– ით.
  2. დისტანციურად განაახლეთ აკორდის შაბლონები რეალურ დროში. რაღაც საუკეთესოდ დარჩა აპლიკაციისთვის.
  3. LED საფარები. ახლანდელი ვერსია არაფერს აკეთებს იმისთვის, რომ არ დაუშვას იარაღი LED ხვრელებში. მეგობარმა გააკეთა რამოდენიმე პატარა ლინზა, მაგრამ მე ვერასდროს ვხვდებოდი როგორ დამემტკიცებინა ისინი ადგილზე.
  4. ალტერნატიული ფრეტბორდის მასალები, შესაძლოა რაღაც ნათელია, სანამ ფრეტები იკავებენ.
  5. მეტი შუქი! აღმოფხვრა ტექსტის შეზღუდვა მეტი "რიგის" დამატებით. ეს მართლაც შეზღუდვაა, რომელიც გამოწვეულია ფრეტბორდის ზომით და LED სხეულებით.

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

დიდი მადლობა, რომ აქამდე მიაღწიეთ! მაჰალო!

გირჩევთ: