Feb 9, 2014

პროექტი <-DVC->

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

პროექტის განვითარების ფარგლებში იდეების მოწოდება შეგიძლიათ ქვემოთ - კომენტარებში, ან მეილის გამოყენებით - Giorgi.jambazishvilI@gmail.com

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

დავიწყებ აღწერით, რომელიც მთლიანად მოიცავს იმ ასორტიმენტს, რომელიც ძირითად როლს თამაშობს ამ მოწყობილობაში.


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

 

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


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


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


5) კარგი უნარი და ბაზა C/C++, მაგრამ მაინც უფრო C ში, რადგან C++ იდან კლასებს არ ვიყენებ და შეუძლებელიცაა ესეთ პატარა პროცესორში ამ ყველაფრის ჩადება


მუშაობის მთავარი პრინციპი ის არის, რომ თუ დავიწყებთ ხელიდან და გავუყვებით USB შესაერთებლამდე ვნახავთ, რომ ყველაფერი საკმაოდ ჭკვიანურად არის მოწყობილი. ხელიდან გამოდის 5 ხაზი, რომელიდანაც 2 ემსახურება VCC სა და GND (+3.3V და 0V). კიდევ ორი - SDA და SCL (TWI ინტერფეისი) და ერთიც მაუსის ღილაკებისათვის. თავიდან შეიძლება უცნაურად მოგეჩვენოთ როგორ ხდება ორი ღილაკის ინფორმაციის გადაცემა ერთი ხაზით, მაგრამ უფრო უცნაურად ის მოგეჩვენებათ, რომ გითხრათ, რომ ამ ერთი ხაზის გამოყენებით შესაძლებელია ხელზე 50 დან 200 მდე ღილაკი მოვითავსო ხელზე და ისე გამოვიყენო ისინი, როგორც მომინდება. ეს ყველაფერი კი უბრალო ანალოგური პინის (მიკრო პროცესორზე), პროგრამისა და წინაღობების დამსახურებაა.

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

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


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

გიორგი ჯამბაზიშვილი (G.J)
















No comments:

Post a Comment