Სარჩევი:

შექმენით თქვენი საკუთარი POV ჩვენება: 3 ნაბიჯი
შექმენით თქვენი საკუთარი POV ჩვენება: 3 ნაბიჯი

ვიდეო: შექმენით თქვენი საკუთარი POV ჩვენება: 3 ნაბიჯი

ვიდეო: შექმენით თქვენი საკუთარი POV ჩვენება: 3 ნაბიჯი
ვიდეო: რა იქნება პორტალი 3 2024, ნოემბერი
Anonim
შექმენით თქვენი საკუთარი POV ჩვენება
შექმენით თქვენი საკუთარი POV ჩვენება

ხედვის აღქმა (POV) ან ხედვის გამძლეობა (მას აქვს რამდენიმე ვარიაცია) არის ადამიანის მხედველობის საინტერესო ფენომენი, რომელიც ხდება მაშინ, როდესაც ობიექტის ვიზუალური აღქმა არ წყდება, მიუხედავად ობიექტის პოზიციის შეცვლისა. ადამიანები ხედავენ გამოსახულებას წამების ფრაქციების ინტერვალებით; ეს სურათები ინახება ტვინში ძალიან მოკლე დროში (მყისიერად). ამ ფენომენის მაგალითია, როდესაც თქვენ აკვირდებით განათების წყაროს, როგორიცაა LED- ები ან ნათურები, ჩართული და შემობრუნებული. ჩვენი ხედვა მოტყუებულია იმაში, რომ მბრუნავი შუქი სინამდვილეში უწყვეტი წრეა, ისევე როგორც უწყვეტი წრე, რომელიც წარმოიქმნება თვითმფრინავზე მბრუნავი პროპელერისგან. POV გამოიყენება მრავალი წლის განმავლობაში, დაწყებული გიფოსკოპით, ჩვენი ხედვის სხვადასხვა სახის ილუზიებისა და ანიმაციების შესაქმნელად; ის ხშირად გამოიყენება შეტყობინებებისა და ანიმაციების ჩვენებაზე LED- ების გამოყენებით, მათი დაწნული 2D ან 3D სახით სხვადასხვა სახის შეტყობინებებისათვის. ამ აპლიკაციის შენიშვნის მიზანია შეიმუშაოს და წარმოაჩინოს, თუ როგორ მუშაობს ხედვის აღქმა მშენებარე ეკრანზე სიტყვის „SILEGO“დაწერის გზით და მოგაწოდოთ იდეები, რომლებიც დაგეხმარებათ მომავალში უფრო რთული დიზაინის შექმნის პროცესში. ამ პროექტისთვის ჩვენ გამოვიყენეთ Dialog GreenPAK ™ SLG46880, თავისი სოკეტის ნაკრებით, რომელიც საშუალებას აძლევს ამ პროტოტიპს ადვილად დაუკავშირდეს ყველა გარე კომპონენტს კაბელების გამოყენებით. უფრო დიდი GreenPAK– ის გამოყენება ზოგადი დანიშნულების POV დისპლეების შესაქმნელად ძალიან მომგებიანია მისი მძლავრი კომპონენტების გამო, როგორიცაა ASM ქვესისტემები, რაც საშუალებას მოგცემთ დაბეჭდოთ ნებისმიერი სახის ნიმუში ეკრანზე. ეს პროგრამა აჩვენებს საბოლოო შედეგს SLG46880 გამოყენებით.

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

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

სქემატიკა
სქემატიკა

ეს POV ჩვენების მაგალითი მიზნად ისახავს ფიგურა 1 -ში ნაჩვენებ 2D ტიპს, რომელსაც აქვს თერთმეტი LED- ების მასივი (თითოეულს აქვს რეზისტენტული დენი მარეგულირებელი), რომელიც პირდაპირ დაკავშირებულია GreenPAK CMIC- ის სხვადასხვა GPO ქინძისთავებთან. მიკროსქემის პროტოტიპი და შედუღებულია PCB დაფაზე. ეკრანისთვის გამოყენებული კვების ბლოკი არის 9 V 10 A L1022 ტუტე ბატარეა, რომელიც დაკავშირებულია ძაბვის მარეგულირებელ მიკროსქემთან LM7805V გამოყენებით, რომელიც გამოდის 5 ვ. გარდა იმისა, რომ ეკრანი ბრუნავს, საჭიროა DC ძრავა საკმარისი სიმტკიცით საკონტროლო წრე ერთვის მორგებულ სტენდს. ამ შემთხვევაში გამოიყენებოდა 12 ვ ძრავა, რომელიც დაკავშირებულია მთავარ გადამრთველთან და გამორთული დენის წყაროს, რომელიც გამოსცემს ძაბვის სხვადასხვა დონეს მბრუნავი გადამრთველის საშუალებით, რაც საშუალებას აძლევს ძრავას ბრუნავს რამდენიმე სიჩქარით.

ნაბიჯი 2: GreenPAK დიზაინი

GreenPAK დიზაინი
GreenPAK დიზაინი
GreenPAK დიზაინი
GreenPAK დიზაინი
GreenPAK დიზაინი
GreenPAK დიზაინი
GreenPAK დიზაინი
GreenPAK დიზაინი

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

12-შტატიანი ASM Macrocell

Mac დინამიური მეხსიერება (DM) მაკროცელი

● F (1) გამოთვლა მაკროცელი

● სახელმწიფო დამოუკიდებელი კომპონენტები

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

ცხრილი 1 გვიჩვენებს, თუ როგორ უკავშირდება დიზაინში არსებული თითოეული მდგომარეობა ასოებს სიტყვაში "SILEGO". ეს კავშირშია LED კონფიგურაციასთან, რომელიც ნაჩვენებია სურათ 2 -ში.

როგორც ხედავთ, ყველა მდგომარეობა ერთად შესრულებული სხვადასხვა დროს აღწევს სიტყვის სრულ სტრუქტურას, სურათი 3 გვიჩვენებს, თუ როგორ არის დაკავშირებული/დაკავშირებული სახელმწიფოები. ყველა მდგომარეობის გადასვლა არის მილიწამში, ხოლო ფიგურა 2 -ის დიაგრამაში თითოეული სვეტი წარმოადგენს ერთ მილიწამს (1 ms). ზოგიერთი მდგომარეობა გრძელდება 3 ms, 4 ms და სხვა, საკმარისად დიდხანს ძრავის მინიმალური სიჩქარით, რომელიც გამოიყენება ვიდეო დემონსტრაციისთვის დაახლოებით 460 RPM– ზე.

მნიშვნელოვანია გავითვალისწინოთ და გავზომოთ ძრავის სიჩქარე, რათა ვიცოდეთ და გამოვთვალოთ დრო ზოგადი დანიშნულების დიზაინზე. ამ გზით შეტყობინება შეიძლება სინქრონიზებული იყოს ძრავის სიჩქარესთან, რითაც ჩანს ადამიანის თვალით. სხვა მოსაზრება იმისა, რომ მდგომარეობების გადასვლა ნაკლებად შესამჩნევი და ნათელია ჩვენი ხედვისთვის, არის ძრავის სიჩქარის გაზრდა 1000 RPM– ზე მეტი და მდგომარეობის დრო დადგენილია მიკროწამების რიგით, რათა შეტყობინება შეუმჩნეველი იყოს. თქვენ შეიძლება ჰკითხოთ საკუთარ თავს, როგორ მოახდინეთ ძრავის სიჩქარის სინქრონიზაცია შეტყობინების ან ანიმაციის სიჩქარესთან? ეს მიიღწევა რამდენიმე მარტივი ფორმულის საშუალებით. თუ თქვენ გაქვთ ძრავის სიჩქარე 1000 RPM, რომ იცოდეთ რამდენი დრო სჭირდება DC ძრავას წამში რევოლუციისთვის, მაშინ:

სიხშირე = 1000 RPM / 60 = 16.67 Hz პერიოდი = 1 / 16.67 Hz = 59.99 ms

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

თუ, მაგალითად, გსურთ, რომ შეტყობინებამ დაფაროს ეკრანის სივრცის 40 %, მაშინ:

შეტყობინების ზომა = (პერიოდი * 40 %) / 100 % = (59.99 ms * 40 %) / 100 % = 24 ms

ეს ნიშნავს, რომ შეტყობინება ნაჩვენები იქნება 24 ms თითოეული შემობრუნებისთვის, ასე რომ ცარიელი სივრცე ან დანარჩენი სივრცე რიგრიგობით (თუ თქვენ არ აჩვენებთ რამეს შეტყობინების შემდეგ), უნდა იყოს:

ცარიელი სივრცე = პერიოდი - შეტყობინების ზომა = 59.99 ms - 24 ms = 35.99 ms

დაბოლოს, თუ თქვენ გჭირდებათ შეტყობინების ჩვენება პერიოდის იმ 40% -ში, თქვენ უნდა იცოდეთ რამდენი მდგომარეობა და გადასვლა დასჭირდება შეტყობინებას მოსალოდნელი შეტყობინების დასაწერად, მაგალითად, თუ შეტყობინებას აქვს ოცი (20) გადასვლა, მაშინ:

ერთი სახელმწიფო პერიოდი = შეტყობინების ზომა / 20 = 24 ms / 20 = 1.2 ms.

ასე რომ, თითოეული მდგომარეობა უნდა გაგრძელდეს 1.2 ms, რომ შეტყობინება სწორად აჩვენოს. რასაკვირველია, თქვენ შეამჩნევთ, რომ პირველი დიზაინის უმეტესობა არ არის სრულყოფილი, ასე რომ თქვენ შეიძლება შეცვალოთ ზოგიერთი პარამეტრი ფიზიკური ტესტირების დროს დიზაინის გასაუმჯობესებლად. ჩვენ გამოვიყენეთ Dynamic Memory (DM) Macrocells სახელმწიფო გადასვლების გასაადვილებლად. ოთხი DM ბლოკიდან ორს აქვს მატრიცის კავშირი, რათა მათ შეეძლოთ ბლოკებთან ურთიერთქმედება ASM ქვესისტემის გარეთ. თითოეულ DM Macrocell– ს შეიძლება ჰქონდეს 6 - მდე განსხვავებული კონფიგურაცია, რომელიც შეიძლება გამოყენებულ იქნას სხვადასხვა მდგომარეობაში. DM ბლოკები გამოიყენება ამ დიზაინში ASM– ის გადასვლისკენ ერთი მდგომარეობიდან მეორეზე. მაგალითად სილეგოს [3] მდგომარეობა ორჯერ მეორდება გადასვლებზე; მას უნდა ჩაწეროს დიდი და დიდი ასო „მე“, რომელსაც აქვს იგივე შაბლონი, მაგრამ ის ჯერ სილეგოში უნდა წავიდეს [4], რომ დაწეროს ზედა „მე“შუა ნიმუში, შემდეგ კი როდესაც სილეგო [3] მეორედ არის შესრულებული, ის უნდა გადავიდეს შეტყობინების გარეშე, გააგრძელოს დანარჩენი გადასვლები. როგორ არის შესაძლებელი სილეგოს [3] სილეგოსთან უსასრულო მარყუჟში ჩავარდნა [4]? ეს მარტივია, არის რამდენიმე LUT, რომლებიც კონფიგურირებულია როგორც SR Flip Flops, რომელიც ეუბნება სილეგოს [3] არ აირჩიოს სილეგო [4] უსასრულოდ, მაგრამ მეორედ აირჩიოს შეტყობინების გარეშე მდგომარეობა. SR Flip Flops- ის გამოყენება უსასრულო მარყუჟების თავიდან ასაცილებლად, როდესაც რომელიმე მდგომარეობა განმეორდება, არის ამ პრობლემის გადაჭრის შესანიშნავი გზა და მოითხოვს მხოლოდ 3 ბიტიან LUT კონფიგურაციას, როგორც ეს ნაჩვენებია ფიგურაში 4 და სურათი 5. ეს პროცესი ხდება ერთდროულად ASM გამომუშავება აიძულებს სილეგოს [3] სილეგოზე გადასვლას [4], ასე რომ, შემდეგ ჯერზე, როდესაც სახელმწიფო მანქანა შეასრულებს სილეგოს [3], მას ეცნობება, რომ აირჩიოს არ არის შეტყობინების მდგომარეობა პროცესის გასაგრძელებლად.

კიდევ ერთი ASM ბლოკი, რომელიც გამოსადეგი იყო ამ პროექტისათვის არის F (1) გამოთვლითი მაკროცელი. F (1) შეუძლია შეასრულოს კონკრეტული ბრძანებების სია სასურველი მონაცემების წასაკითხად, შესანახად, დასამუშავებლად და გამოსატანად. მას შეუძლია ერთდროულად 1 ბიტიანი მანიპულირება. ამ პროექტში F (1) ბლოკი გამოიყენებოდა რამდენიმე LUT- ის გასაკონტროლებლად და ბიტების წასაკითხად და გამოსაყვანად და მდგომარეობების გასააქტიურებლად (მაგალითად, სილეგოში [1] სილეგოს გასააქტიურებლად [2]).

დიაგრამა 1 -ის ცხრილი განმარტავს, თუ როგორ არის მიმართული თითოეული LED- ები theGreenPAK– ის GPO ქინძისთავებზე; დაკავშირებული ფიზიკური ქინძისთავები მიმართულია ASM გამომავალი RAM მატრიცაში, როგორც ეს ნაჩვენებია ცხრილში 2.

როგორც ხედავთ ცხრილში 2, ჩიპის თითოეული პინი მიმართული იყო ASM– ის ცალკეულ გამოსავალზე; ASMOUTPUT 1 – ს აქვს რვა (8) გამოსავალი, რომლებიც ყველა პირდაპირ არის დაკავშირებული გარე GPO– ს გარდა OUT 4. ASM OUTPUT 0– ს აქვს ოთხი (4) გამოსავალი, სადაც OUT 0 და OUT 1 პირდაპირ კავშირშია შესაბამისად PIN 4 – თან და PIN 16 – თან შესაბამისად; OUT 2 გამოიყენება LUT5 და LUT6 Silego [5] და Silego [9] მდგომარეობების გადასაყენებლად და ბოლოს OUT 3 გამოიყენება LUT6 სილეგო [4] –სა და Silego [7] –ზე დასაყენებლად. ASM nRESET არ არის ჩართული ამ დიზაინში, ამიტომ ის უბრალოდ იძულებულია HIGH იყოს დაკავშირებული VDD– თან. ამ პროექტს დაემატა ზედა და ქვედა LED- ები დამატებითი ანიმაციის გასაკეთებლად, სანამ "SILEGO" გამოჩნდება. ეს ანიმაცია არის რამდენიმე სტრიქონი, რომელიც დროთა განმავლობაში მოძრაობს ძრავის მოძრაობით. ეს სტრიქონები თეთრი LED- ებია, ხოლო ასოების დასაწერად წითელი. ამ ანიმაციის მისაღწევად ჩვენ გამოვიყენეთ GreenPAK– ის PGEN და CNT0. PGEN არის შაბლონების გენერატორი, რომელიც გამოდის მომდევნო ბიტს მის მასივში ყოველი საათის კიდეზე. ჩვენ დავყავით ძრავის შემობრუნების პერიოდი 16 ნაწილად და შედეგი დავადგინეთ CNT0 გამომავალი პერიოდისთვის. PGEN– ში დაპროგრამებული ნიმუში ნაჩვენებია ფიგურა 6 – ში.

ნაბიჯი 3: შედეგები

შედეგები
შედეგები

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

ამ პროექტში წარმოდგენილი ხედვის ჩვენების აღქმა შეიქმნა Dialog GreenPAK SLG46880- ის გამოყენებით, როგორც მთავარი კონტროლერი. ჩვენ ვაჩვენეთ, რომ დიზაინი მუშაობს სიტყვის "SILEGO" დაწერით LED- ების გამოყენებით. ზოგიერთი გაუმჯობესება, რაც შეიძლება განხორციელდეს დიზაინში, მოიცავს:

Multiple მრავალჯერადი GreenPAK– ების გამოყენება, რათა გაზარდოს სახელმწიფო შეტყობინებების შესაძლებლობა უფრო გრძელი შეტყობინების ან ანიმაციის დასაბეჭდად.

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

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

გირჩევთ: