Სარჩევი:

მოძრავი კონტროლერი: 8 ნაბიჯი
მოძრავი კონტროლერი: 8 ნაბიჯი

ვიდეო: მოძრავი კონტროლერი: 8 ნაბიჯი

ვიდეო: მოძრავი კონტროლერი: 8 ნაბიჯი
ვიდეო: როგორ მუშაობს წყლის წნევის შეცვლა 2024, ივლისი
Anonim
გადასვლის კონტროლერი
გადასვლის კონტროლერი
გადასვლის კონტროლერი
გადასვლის კონტროლერი
გადასვლის კონტროლერი
გადასვლის კონტროლერი

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

რატომ არ უნდა გააკეთოთ საკუთარი ხელით კონტროლერი?

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

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

ფონი:

მე გადავწყვიტე ამ პროექტის განხორციელება მალსახმობი კლავიატურის შექმნის შემდეგ. Arduino კლავიატურის ბიბლიოთეკის შესწავლისას და მალსახმობების შემუშავებისას, რამდენიმე სატესტო ღილაკს ვუკავშირებ WASD- ს. მან მაშინვე დაიწყო მუშაობა ჩემს კომპიუტერულ თამაშებთან და რამაც ბორბლები მოაბრუნა. დაახლოებით იმავე დროს მე ამოიწურა ადგილი ტელეფონზე აუდიო წიგნებისთვის და ვიხილე როგორ გამოვიყენო USB ფლეშ დრაივი ჩემს ტელეფონში, რადგან ჩემი მოდელი არ იძლევა microSD ბარათებს. სწორედ მაშინ გავიგე OTG– ს შესახებ. OTG იყენებს თქვენი ტელეფონის ბატარეის დატენვას მასთან დაკავშირებული მოწყობილობის დასატენად. ეს მოიცავს კლავიატურებს, თაგვებს და ფლეშ დრაივებს რამდენიმე დასახელებისათვის. ტელეფონს შეუძლია 5V მოწყობილობების ჩართვა და გამოიცნოს რა სჭირდება arduino მიკრო მუშაობას? ეს იყო ზეცაში გაკეთებული მატჩი.

მარაგები

არდუინო მიკრო

პროტოტიპის დაფა

12 x 6 მმ ღილაკები (მე გამოვიყენე კლასიკური breadboard ტაქტილური მომენტალური გადამრთველები)

Soldering რკინის და Solder

3D პრინტერი

გადაადგილებისას (OTG) კაბელი; მე ჩემი გავაკეთე

მიკრო USB დატენვის კაბელი

ნაბიჯი 1: დიზაინი

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

მინდოდა, რომ ჩემი კონტროლერი ყოფილიყო პორტატული და შეეთავაზებინა ყველა ღილაკი, რაც მე მჭირდება სუპერ ნინტენდოს ეპოქამდე თამაშებისთვის. ეს ნიშნავს, რომ მე მჭირდება 12 ღილაკი. ოთხი მიმართულებით (d-pad) და რვა A, B, X, Y, Start, Select, Left Trigger და Right Trigger. მე ასევე მქონდა დამატებითი მოთხოვნა, რომ მინდოდა სიმეტრიული ყოფილიყო, ასე რომ მე შემეძლო მისი თამაში ერთი ხელის გამოყენებით. ეს დამატებითი მოთხოვნა შეიძლება უცნაურად ჟღერდეს, მაგრამ რაღაც კონტექსტისთვის უნდა აღვნიშნო, რომ ბოლო დროს მე რეგულარულად ვხვდები მძინარე ბავშვს და მხოლოდ ერთი ხელით ვიყენებ ჩემს თამაშს შეზღუდულ დროს.

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

ნაბიჯი 2: დაბეჭდეთ თქვენი შემოქმედება

დაბეჭდე შენი შემოქმედება!
დაბეჭდე შენი შემოქმედება!

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

ნაბიჯი 3: თქვენი პროტოტიპის დაფის მომზადება

თქვენი პროტოტიპის დაფის მომზადება
თქვენი პროტოტიპის დაფის მომზადება
თქვენი პროტოტიპის დაფის მომზადება
თქვენი პროტოტიპის დაფის მომზადება

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

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

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

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

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

ნაბიჯი 4: სურვილისამებრ: გააფორმეთ თქვენი კონტროლერის საცხოვრებელი

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

ნაბიჯი 5: საბოლოო შეკრება

დასკვნითი ასამბლეა
დასკვნითი ასამბლეა

ახლა დროა ჩადოთ ყველა თქვენი ღილაკი და დასრულებული პროტოტიპის დაფა საცხოვრებელში. მე გამოვიყენე #4-24 x 1/2 ფურცელი ლითონის ხრახნები ჩემი დიზაინისთვის. ისინი ასრულებენ საქმეს, მაგრამ არ ჯდება ისე, როგორც მე მინდა.

ნაბიჯი 6: დაპროგრამეთ თქვენი არდუინო

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

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

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

#მოიცავს #მოიცავს "კლავიატურას.ჰ" #განსაზღვრა NUM_BUTTONS 12 const uint8_t BUTTON_PINS [NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // მარცხენა მხარი = 'q' // მარჯვენა მხარი = 'w' // აირჩიეთ = 'rshift '// დაწყება =' შეყვანა '// up =' გასაღები: up '// ქვემოთ =' გასაღები: ქვემოთ '// მარცხენა =' გასაღები: მარცხენა '// მარჯვენა =' გასაღები: მარჯვნივ 'const char BUTTON_KEYS [NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; Bounce * ღილაკები = ახალი Bounce [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {buttons .attach (BUTTON_PINS , INPUT_PULLUP); ღილაკები . შუალედი (25); } // კლავიატურაზე კონტროლის ინიციალიზაცია: Keyboard.begin (); } void loop () {// შეამოწმეთ შეიცვალა თუ არა მნიშვნელობა (int i = 0; i <NUM_BUTTONS; i ++) {ღილაკები . განახლება (); if (ღილაკები . დაეცა ()) {Keyboard.press (BUTTON_KEYS ); } if (ღილაკები .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

ნაბიჯი 7: ითამაშეთ თქვენი თამაშები

ითამაშეთ თქვენი თამაშები!
ითამაშეთ თქვენი თამაშები!

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

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

ნაბიჯი 8: გაკვეთილები

CAD:

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

ღილაკები:

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

შედუღება:

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

გირჩევთ: