Jump to content
Sign in to follow this  
m3sk4lit0

მორბენალი ვირტუალური 3D სტრიქონი

Recommended Posts

Running 3D TEXT

fd102d85a1fb.jpg

როგორც სურათიდან ჩანს, მოწყობილობის მბრუნავ ღერძზე ვერტიკალურად განლაგებულია 16 ცალი ორი განსხვავებული ფერის შუქდიოდები, ყვითელი და წითელი. ღერძი ბრუნავს ცენტრის გარშემო დაახლოებით 24 ბრუნი წამში(1440 ბრუნი წუთში) სიჩქარით, რაც აუცილებელია იმისთვის, რომ ადამიანის თვალმა კადრების მონაცვლეობა უწყვეტად აღიქვას. თითოეული შუქდიოდი შემოწერს წრეწირს რომლის სიგრძეა 77 სმ. თავად 1 შუქდიოდის თავაკის დიამეტრია დაახლოებით 6მმ, რაც ნიშნავს, რომ მისი წრეწირზე ბრუნვისას მას შეუძლია 128(77/0,6) სხვადასხვა მდებარეობის დაკავება. იმისთვის, რომ მივიღოთ უწყვეტი გამოსახულება დიოდის წრეზე ბრუნვის დროს, საჭიროა მისი ჩართვა საჭირო დროს, საჭირო პოზიციაზე და საჭირო დაყოვნებით. შუქდიოდი წრეწირს შემოწერს 41,6 მილიწამში (1/24), ხოლო წრეწირზე მოძრაობისას პოზიციას შეიცვლის ყოველ დაახლოებით 300 მიკროწამში (41,6/127), ამ 300 მიკროწამის განმავლობაშიც იგი რაღაც პერიოდი ჩართული უნდა იყოს, შემდეგ გაითიშოს და დაელოდოს ახალ პოზიციას და შესაბამის ჩართვის ბრძანებას. შუქდიოდების სამართავად გამოყენებულია Atmel ფირმის ATmega8 მიკროკონტროლერი, რომელიც თავად მბრუნავ ღერძზე ჯდება. მოწყობილობა იკვებება 12 ვოლტით, და ძრავამდე ჩართული სქემა საშუალებას გვაძლევს ხელით ვარეგულიროთ ძრავის ბრუნვათ რიცხვი(ეს აუცილებელი ხდება, რადგან მუშაობისას დეტალები თბება და თუმცა მცირედით მაგრამ მაინც იცვლება ბრუნვათა რიცხვი). ალბათ გაგიჩნდათ კითხვა, როგორ გავაგებინოთ კონტროლერს ჩვენთვის სასურველი ტექსტი რომ გამოიტანოს?

ამისთვის მე C#_შ დავწერე ორი პროგრამა 3D Runstring Symbol Calculator და 3D Runstring Text Generator.

30616ff8b1e1.png

3D Runstring Symbol Calculator - პროგრამა შედგება 40 მწვანე კუბიკისგან, რომლებზე დაწკაპუნებითაც იგი წითლდება. ამ მეთოდით შეგვიძლია გამოვსახოთ სასურველი ასო, ციფრი ან სიმბოლო და ღილაკზე Calculate დაჭერით პროგრამა დააგენერირებს ორობითი ან თეხვსმეტობითი რიცხვებისგან შემდგარ 5 ელემენტიან მასივს. ეს ელემენტები შემდგომ გამოიყენება მიკროკონტროლერის დასაპროგრამებლად სასურველი სიმბოლოს გამოსასახად.

b00df3fe95d9.jpg

3D Runstring Text Generator - ეს პროგრამა გავაკეთე იმისთვის, რომ საჭირო ტექსტის შესაბამისი მასივის გენერირებისთვის საჭირო არ ყოფილიყო თვითოეული სიმბოლოს ხელით შედგენა. პროგრამა შესაბამის კოდში გადაიყვანს ტექსტს, რომელიც შედგება ინგლისური ანბანის ყველა ასოსგან (a-z, A-Z), ქართული ასოსგან(ა-ჰ), ციფრებისგან(0-9) და სიმბოლოებისგან > < : ; . , “ ? / | _ - ) ( * & ^ % $ # !

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

ვიდეოს ლინკები :

 

ზემოთ ნაჩვენებია მოწობილობის მუშაობის და ჩვენთვის სასურველი ინფორმაციის გამოტანის ძირითადი პრინციპები. როგორც ვხედავთ, სხვადასხვა ტექსტის გამოსატანად საჭირო ხდება კონტროლერის თავიდან დაპროგრამება, რაც გარკვეულ პრობლემას გვიქმნის მის გამოყენებაში. დადგა კონტროლერში კომპიუტერიდან დისტანციურად ინფორმაციის შეცვლის საკითხი. ამისათვის კონტროლერს აქვს UART მოწყობილობა რომელიც იგივე პროტოკოლით მუშაობს რაც აქვს კომპიუტერის RS232 და RS485. იმისათვის, რომ გამოვიყენოთ USB პორტი, არსებობს USB to RS232/ USB to UART კონვერტერები. მაგრამ ასეთი მიერთება სადენების საშუალებით შეუძლებელია. ამ პრობლემის მოგვარების ერთ-ერთი მეთოდი არის მარტივი სქემის აწყობა 555 ტაიმერზე, რომელიც უერთდება კომპიუტერის UART გამოსასვლელს და მასზე მიერთებული ინფრაწითელი დიოდი წინსწარ განსაზღვრული სიხშირით ასხივებს TX გამოსასვლელზე ჩაწერილ შესაბამის ინფორმაციას. ჩვენი მბრუნავი მოწყობილობის მმართველ კონტროლერზე მიერთებული გვაქვს ინფრაწითელი მიმღები, რომელიც იგივე სიხშირეზე მუშაობს რა სიხშირითაც გადმოვცემთ ჩვენს უნფორმაციას. ინფრაწითელი მიმღების Vout პინი მიერთებულია კონტროლერის RX პინზე და ამრიგად ხდება კომპიუტერიდან ინფორმაციის უსადენოდ გადაცემა უსადენოდ. ამ მეთოდს ორი მინუსი აქვს:არ შეგვიძლია ინფფორმაციის მაღალი სიჩქარით და დიდ მანძილზე გადაცემა. ასევე არსებობბს ინფორმაციის დამახინჯების საშიშროება. ეს პრობლემა რომ მოვაგვაროთ, შეგვიძლია გამოვიყენოთ მეორე მეთოდი, რომელიც გულისხმობს ინფორმაციის გადაცემს რადიო ტალღებით. ასეთი ერთ-ერთი მზა მოდული არის APC220

 

ეს მოდული მუშაობს UART ინტერფეისით, ინფორმაციის  გადაცემის რადიუსი არის 1200 მეტრი, ინფორმაციას გადასცემს მაღალი სიჩქარით და უშეცდომოდ. კომპლექტში არის 3 ნაწილი: USB to UART კონვერტერი, რადიო გადამცემი რომელიც კონვერტერს უერთდება და მიმღები, რომელიც ჩვენი მოწყობილობის კონტროლერთან ერთდება.

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×