
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50

მე ვთამაშობ Assetto Corsa– ს ჩემს Xbox 360 კონტროლერთან ერთად. სამწუხაროდ, საჭე ანალოგური ჯოხით არის ძალიან მოუხერხებელი და მე არ მაქვს ადგილი საჭის დასაყენებლად. მე შევეცადე მეფიქრა იმაზე, თუ როგორ შემეძლო გამეყენებინა მართვის უკეთესი მექანიზმი კონტროლერში, როდესაც მომივიდა აზრად რომ შემეძლო მთელი კონტროლერი გამომეყენებინა საჭედ.
ანალოგიურ ჯოხს აქვს ორი პოტენომეტრი. ერთი ზომავს ვერტიკალურ მოძრაობას, მეორე კი ჰორიზონტალურ მოძრაობას. ის ათავსებს 1.6 ვ -ს თითოეულში და ზომავს გამწმენდზე წარმოქმნილ ძაბვას, რათა დადგინდეს რამდენად გადავიდა ჯოხი. ეს ნიშნავს, რომ შესაძლებელია ჯოხის მოძრაობის გაკონტროლება კონკრეტული ძაბვის საწმენდი ძაფის მიწოდებით. (მეტი ინფორმაცია აქ:
ეს რეჟიმი იყენებს Arduino– ს, რომ გამოთვალოს კუთხე ამაჩქარებლის მაჩვენებლებისგან და გადააკეთოს იგი ჯოხის ანალოგიურ მოძრაობაზე DAC– ის საშუალებით. ამიტომ, ის უნდა იმუშაოს ნებისმიერ თამაშთან, რომელიც იყენებს ანალოგიურ ჯოხს შესასვლელად.
ნაბიჯი 1: დაგჭირდებათ:
ინსტრუმენტები:
- გასაყიდი რკინა
- Solder
- Solder sucker/ლენტები
- მავთულის სტრიპტიზიორი
- Screwdriver, შესაძლოა Torx ერთი დამოკიდებულია ხრახნები თქვენს კონტროლერი (ჩემი არის crosshead)
- წებო (სასურველია არ იყოს სუპერ ძლიერი წებო, რათა შემდგომში დაიშალოს)
- USB სერიული ადაპტერი Arduino– ს დასაპროგრამებლად
მასალები:
- Xbox 360 კონტროლერი (duh!)
- Arduino Pro Mini (ან კლონი) (სასურველია 3.3V. თუ იყენებთ 5V ვერსიას, თქვენ ალბათ დაგჭირდებათ ძაბვის გაზრდის გადამყვანი)
- MPU-6050 გიროსკოპი/ამაჩქარებელი
- MCP4725 DAC (ორი თუ გსურთ გააკონტროლოთ ორივე ღერძი)
- რამდენიმე თხელი მავთული
- პურის დაფა, ასე რომ თქვენ შეგიძლიათ შეამოწმოთ ყველაფერი შედუღებამდე (სურვილისამებრ, მაგრამ რეკომენდირებულია)
ნაბიჯი 2: გამოყავით კონტროლერი



არის შვიდი ხრახნი, რომელიც უნდა ამოიღოთ. ექვსი მათგანი აშკარაა, მაგრამ მეშვიდე არის სტიკერის უკან. მე ვთვლი, რომ მისი ამოღება გააუქმებს თქვენს გარანტიას, ასე რომ გააგრძელეთ თქვენივე რისკით. ბევრი სახელმძღვანელო ამბობს, რომ თქვენ გჭირდებათ Torx screwdriver, მაგრამ ჩემი არის crosshead, ასე რომ შეამოწმეთ თქვენი კონტროლერი.
ამის შემდეგ, ფრთხილად ამოიღეთ უკანა საფარი. თუ წინა მხარეს გაუშვებთ, ღილაკები გადმოიფრქვევა და ალბათ მთელ ოთახში გაივლის. აწიეთ იგი ქვემოდან. შემდეგ გამორთეთ ორი ვიბრაციის ძრავა. (ის, ვისაც მცირე წონა აქვს, მარცხნივ უნდა იყოს, ხოლო ის, ვისაც დიდი წონა აქვს მარჯვნივ) ამოიღეთ PCB და ამოიღეთ რეზინის თავსახური ანალოგიურ ჩხირებზე. ისინი უბრალოდ იშლებიან.
შემდეგი არის მარცხენა ანალოგური ჯოხის ამოღება ისე, რომ ის არ ჩაერიოს ჩვენს შეყვანაში, მაგრამ მარცხენა გამომწვევი მექანიზმი გზაზეა. მისი ამოღების მიზნით, თქვენ უნდა ჩამოაშოროთ სამი ქინძისთავი პოტენომეტრიდან დაფის წინა მხრიდან, შემდეგ ამოიღოთ მექანიზმი PCB– დან.
შემდეგი, გააცივეთ 14 ქინძისთავი, რომელსაც ეჭირა მარცხენა ანალოგური ჯოხი. შემდეგ ამოიღეთ ჯოხი.
ნაბიჯი 3: მიამაგრეთ კომპონენტები ადგილზე


თქვენ შეამჩნევთ, რომ საკმაოდ დიდი მანძილია PCB- ის უკანა ნაწილსა და კორპუსს შორის. ეს შესაძლებელს ხდის ყველა აპარატურის მოთავსებას საქმეში არაფრის ამოღების გარეშე.
მე მხოლოდ მოგვიანებით მივხვდი, მაგრამ ეს კარგი დრო იქნებოდა Arduino– ზე გადატვირთვის ღილაკის გასაშლელად. თუ არა, ის დააჭერს საქმის უკანა ნაწილს და გამოიწვევს პროექტს მუშაობას, თუ ერთ -ერთ ხრახნს ძალიან დააჭიმებთ მისი ხელახალი აწყობისას.
თითოეული PCB- ის უკანა ნაწილზე დავამატე წვრილი ბარათი, რათა გამეკეთებინა იგი, შემდეგ დავამატე კონტროლერის PCB- ზე. მე არ მინდოდა წებოს გამოყენება, მაგრამ უკეთესი გზა ვერ მოვიფიქრე.
სურათის პოზიციები არის საუკეთესო კომბინაცია, რაც მე ვიპოვე. არდუინო არის მარცხნივ, ზღვარი გადატვირთვის ღილაკით პლასტმასის ნაჭერზე მარჯვენა გამშვები მექანიზმიდან, მეორე მხარეს მავთულის ქვეშ და კუთხით რაც შეიძლება ახლოს თეთრ კონექტორთან. საქმეში არის უმნიშვნელო ამობურცულობა, მაგრამ უკეთესი ადგილი ვერ ვიპოვე.
ამაჩქარებელი არის მავთულის მარჯვნივ. ის უნდა იყოს რაც შეიძლება ბრტყელი და სწორი, წინააღმდეგ შემთხვევაში შეიძლება დაგჭირდეს მოგვიანებით კოდის დაწერა კომპენსაციის ანაზღაურების მიზნით. გაითვალისწინეთ, რომ კორპუსის უკანა მხარეს არის პლასტმასის რამდენიმე ნაჭერი, რომელთა თავიდან აცილებაც ფრთხილად უნდა იყოთ. აღმოვაჩინე, რომ თქვენ შეგიძლიათ რაიმე წებოვანი და ფერადი, როგორიც არის პომადა, პლასტმასის ამობურცულ ნაჭრებზე, შემდეგ კი უკანა საფარი დადოთ, რომ ნახოთ სად ტოვებს კვალი.
DAC (ები) ქვედა მარცხენა კუთხეშია. აქ არის საკმარისი დაშორება ორი DAC– ის დასაყენებლად, ერთი მეორეზე, თუ გსურთ გააკონტროლოთ ორივე ღერძი. თქვენ არ გჭირდებათ მათი წებო. ისინი დარჩებიან იქ, სადაც არიან მხოლოდ შედუღებული კავშირებით. თუ თქვენ მათ შორის აკავშირებთ ბარათს, დარწმუნდით, რომ გაჭერით ბარათი ისე, რომ იქონიოთ წვდომა SCL, SDA, VCC და GND, რადგან თქვენ იქნებით მათზე წვდომა ორივე მხრიდან.
თუ თქვენ იყენებთ ორ DAC– ს, არ უნდა დაგვავიწყდეს, რომ შეცვალოთ მისამართების ჯუმპერი და გამორთოთ ერთ – ერთ მათგანზე გამომავალი რეზისტორები, როგორც ეს აღწერილია აქ: https://learn.sparkfun.com/tutorials/mcp4725-digital-to-analog -კონვერტორი-დაკავშირება-სახელმძღვანელო
ნაბიჯი 4: შეაერთეთ მავთულები



ახლა თქვენ უნდა დააკავშიროთ ყველაფერი. VCC, GND, SDA და SCL ყველა 2/3 მოწყობილობიდან უნდა იყოს დაკავშირებული VCC, GND, A4 და A5 არდუინოსთან შესაბამისად. DACs არის ყველაზე რთული ნაწილი. თუ თქვენ გაქვთ ორი, თქვენ უნდა დააკავშიროთ ისინი ერთმანეთთან, ხოლო სადმე გასვლისას შეგიძლიათ დაუკავშიროთ დენი და ხაზები ამაჩქარებელს, ხოლო OUT მავთულები ცალკე.
OUT pin DAC– ზე უნდა იყოს დაკავშირებული კონტროლერის PCB– ის პინთან, რომელიც ანალოგური ჯოხის შუა ჰორიზონტალური პოტენომეტრის პინზე იყო. ანუ, სადაც იყო ანალოგური ჯოხი, ზემოდან არის სამი ქინძისთავი. შეაერთეთ იგი შუა ნაწილთან. თუ თქვენ გაქვთ სხვა DAC, შეაერთეთ იგი ვერტიკალურ პოტენომეტრის პინთან (რიგი მარცხნივ) ანალოგიურად. ტრიგერის შეცვლისას უკნიდან ქინძისთავებამდე ვერ მიხვალთ, ასე რომ თქვენ უნდა გაიაროთ მავთული დაფის წინა მხარეს. არსებობს წრიული პლასტიკური "კედელი" ანალოგური ჯოხის არეალის ირგვლივ, მაგრამ საბედნიეროდ მასში არის მოსახერხებელი უფსკრული, რომლის საშუალებითაც შეგიძლიათ მავთულის გავლა. დარწმუნდით, რომ მავთულები არ შეაფერხებს ხრახნიან ჩარჩოს საქმის წინა ნაწილზე.
ჩემი თავდაპირველი გეგმა იყო არდუინოს ჩართვა 5V- ით USB კაბელიდან RAW პინთან დაკავშირებული, მაგრამ როდესაც ვცადე, არ გამოვიდა. არდუინომ არაფერი გაუშვა და არდუინოც და კონტროლერიც რამდენიმე წამის შემდეგ გამორთეს. თუმცა, აღმოვაჩინე, რომ არის მუდმივი 3.3V გამომავალი დაფა წინა დაფაზე შავი პერიფერიული ბუდის მახლობლად, სავარაუდოდ პერიფერიული მოწყობილობების კვებისათვის. მუშაობს როგორც VCC- თან, ასევე RAW- თან, მაგრამ მე ავირჩიე VCC, რადგან ეს უკვე სწორი ძაბვაა და რადგანაც ის მაძლევს საშუალებას შევაერთო ის VCC მავთულხლართზე DAC- ზე, რომელიც უკვე დაფის ბოლოშია და დაზოგავს მავთულს.
იცოდეთ, რომ ბევრი პლასტმასის ნაწილია ამოღებული ქეისიდან, რომლის გარშემოც უნდა იმუშაოთ, მაგრამ თუ მავთულხლართებს მიამაგრებთ, მხოლოდ ერთხელ უნდა იდარდოთ მათზე.
ამ ყველაფრის აღწერა ძნელია სიტყვებით, ამიტომ მე ჩავრთე სურათები და უხეში დიაგრამა.
ნაბიჯი 5: დაარეგულირეთ Arduino
ახლა თქვენ უნდა დაპროგრამდეთ Arduino. ეს მოითხოვს USB კაბელის კონტროლერზე გადატანას, რათა შეძლოთ Arduino– ს სერიულ პინებზე წვდომა. მე ჩავრთე გამოყენებული კოდი. ის მოითხოვს Adafruit MCP4725 ბიბლიოთეკას, რომელიც შეგიძლიათ იხილოთ აქ:
როგორც არის, კოდი გაძლევთ საშუალებას გაიაროთ ანალოგური ჯოხის მოძრაობის მთელი დიაპაზონი თანაბრად გადაადგილებით კონტროლერი 90 გრადუსით მარცხნივ 90 გრადუსით მარჯვნივ და შეინახეთ იგი შუაში ბრტყელი დაჭერით.
ის იღებს მაკონტროლებლის კუთხეს X ღერძის გ-ძალის შებრუნებული ტანგენციის გამოთვლით Z ღერძის გ-ძალაზე. ეს ნიშნავს, რომ ის მუშაობს, თუ კონტროლერი არის ვერტიკალური, ბრტყელი ან რაიმე კუთხე შორის. (მეტი ინფორმაცია აქ:
ის მუშაობს ჩემს კონტროლერზე, მაგრამ სხვა კონტროლერებს შეიძლება დასჭირდეთ განსხვავებული ძაბვა, რაც მას უთანასწორობიდან აყენებს. მე ვფიქრობ, რომ ძაბვის დიაპაზონის საპოვნელად საუკეთესო საშუალებაა ცდა და შეცდომა. ბევრი თამაში გაჩვენებთ სლაიდერს ანალოგური ჯოხის მოძრაობისთვის, მაგრამ მოძრაობის დასადგენად ყველაზე ზუსტი გზა არის jstest Linux– ზე. (https://wiki.archlinux.org/index.php/Gamepad#Joystick_API) ის გაძლევთ რიცხვს -32, 767 და 32, 767 შორის, ვიდრე გრაფიკული, ასე რომ თქვენ ზუსტად იცით სად არის ჯოხი. შეაერთეთ როგორც კონტროლერი, ასევე Arduino USB სერიული ადაპტერი, ჩატვირთეთ jstest და სცადეთ DAC- ის განსხვავებული მნიშვნელობები, სანამ დიაპაზონის ზედა და ქვედა არ მიაღწევთ და თითოეული მათგანის ჩანაწერი გააკეთეთ. ჩემთვის ეს იყო 1, 593 - 382.
განსაკუთრებით საინტერესოა სტრიქონი 36:
dacvalue = (კონტროლერი + 2.5617859169446084418) / 0.0025942135867793503208 + 0.5;
დაუყოვნებლივ არ არის ნათელი, რას აკეთებს. უბრალოდ, ის იღებს კონტროლერის კუთხეს (იზომება რადიანებით და 7 1.57-დან ~ -1.57-მდე) და გადააქცევს მას მნიშვნელობას 1, 593 და 382 შორის DAC- სთვის. თუ თქვენ გაქვთ სხვა DAC დიაპაზონი, თქვენ უნდა შეცვალოთ ეს ხაზი.
სტრიქონი შეიძლება დაიწეროს შემდეგნაირად:
dacvalue = (კონტროლერი +) / + 0.5;
რიცხვებთან ერთად და თქვენ უნდა შეცვალოთ. უდრის კონტროლერის კუთხის დიაპაზონს (pi) გაყოფილი DAC მნიშვნელობების საერთო დიაპაზონზე. (დიაპაზონის ზედა მინუს დიაპაზონის ქვედა ნაწილი) ეს მიგიყვანთ ძაბვის შეცვლამდე, თუმცა შედეგები იქნება თქვენთვის სასურველი დიაპაზონის მიღმა. ამიტომაც გჭირდება. უდრის გამრავლებული დიაპაზონის ქვედა ნაწილს პლუს კონტროლერის მოძრაობის დიაპაზონის ნახევარი. (pi / 2) მოძრაობის დიაპაზონის ნახევრის დამატება დარწმუნებულია, რომ ის არ არის უარყოფითი რიცხვი, ხოლო დიაპაზონის ქვედა ნაწილზე გამრავლებული დარწმუნებულია, რომ ის სინქრონიზებულია თქვენთვის სასურველ დიაპაზონთან.
ათწილადის რიცხვზე გადაყვანისას C ++ არ მრგვალდება. ის წყვეტს ათწილადს, ასე რომ 9.9 ხდება 9. ბოლოს 0.5 -ის დამატება დარწმუნებულია, რომ ნახევარზე მეტი არაფერი გადადის მომდევნო რიცხვზე, ასე რომ ის მრგვალდება.
მას შემდეგ რაც ატვირთეთ თქვენი პროგრამა, დარწმუნდით, რომ ის მუშაობს jstest– ით.
ნაბიჯი 6: შეაერთეთ კონტროლერი
დააბრუნეთ კონტროლერი ისე, როგორც თქვენ ამოიღეთ, მინუს მარცხენა ანალოგური ჯოხის გამოკლებით. ახლა უნდა იმუშაოს. მე ვხედავ, რომ შესამჩნევი შეფერხება არ არის და ეს ბევრად უკეთესია, ვიდრე ანალოგური ჯოხის გამოყენება. რადგან ის იყენებს ამაჩქარებელს, მასზე გავლენას ახდენს უეცარი მოძრაობები, მაგრამ თქვენ უნდა გაიაროთ თქვენი გზის შესამჩნევად.
ნაბიჯი 7: შესაძლო გაუმჯობესება
არის რამოდენიმე გაუმჯობესება, რისი გაკეთებაც შესაძლებელია. Ესენი მოიცავს:
- ნაკლებად რთული მაგნიტური მავთულის გამოყენება
- ყველაფერი ამოიღეთ ერთ PCB- ზე, რომელიც შექმნილია კონტროლერის შემთხვევაში
- მარცხენა ანალოგური ჯოხის მიმაგრება და ფეხების დაკავშირება არდუინოს ანალოგიურ საშუალებებთან, რათა მათი გამოყენება მოხდეს არდუინოს დასარეგულირებლად
- უკაბელო კონტროლერის უკანა ნაწილის მიღება და პროექტის ბატარეის განყოფილებაში ჩადება (ამას USB კაბელისთვის ხვრელის გაჭრა დასჭირდება)
გირჩევთ:
ორივე რეჟიმი ESP8266 (AP და კლიენტის რეჟიმი): 3 ნაბიჯი

ორივე რეჟიმი ESP8266 (AP და კლიენტის რეჟიმი): წინა სტატიაში მე გავაკეთე ტუტორიალი, თუ როგორ უნდა დააყენოთ რეჟიმი ESP8266– ზე, რომელიც არის როგორც წვდომის წერტილი ან wifi სადგური და როგორც wifi კლიენტი. ამ სტატიაში მე გაჩვენებთ როგორ დააყენეთ ESP8266 რეჟიმი ორივე რეჟიმში. ანუ, ამ რეჟიმში ESP8266– ს შეუძლია
ამაჩქარებელი თამაშის კონტროლერი: 8 ნაბიჯი

ამაჩქარებელი თამაშის კონტროლერი: Voorlopige Text
ჩვეულებრივი დისტანციური მართვის ნაკრები გადაკეთდა ოთხარხიანი RC სათამაშო დისტანციური მართვის საშუალებით: 4 ნაბიჯი

ჩვეულებრივი დისტანციური მართვის ნაკრები გადაკეთდა ოთხარხიანი RC სათამაშო დისტანციური მართვის საშუალებით: 62 将 通用 遥控 采用 62 62 62 62 62 62改造 方法 非常 简单. 只需 准备 一些 瓦楞纸 板, 然后 按照 视频 教程 完成 这个 电子 项目 并 为 您 服务. 玩具 车船 提供 远程 无线 控制
მაღალი ბრუნვის მართვის მექანიზმი მართლაც დიდი დისტანციური მართვის სათამაშოებისთვის: 5 ნაბიჯი

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

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