Სარჩევი:
ვიდეო: 28BYJ-48 სტეპერიანი კუთხოვანი პოზიციური კონტროლი Arduino და ანალოგური ჯოისტიკი: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ეს არის 28BYJ-48 სტეპერიანი ძრავის კონტროლის სქემა, რომელიც მე შემუშავდა გამოსაყენებლად ჩემი ბოლო წლის სადისერტაციო პროექტის ფარგლებში. მე არ მინახავს ეს ადრე, ასე მეგონა ატვირთავდი იმას, რაც აღმოვაჩინე. ვიმედოვნებთ, რომ ეს დაეხმარება სხვას იქ!
კოდი ძირითადად საშუალებას აძლევს სტეპერ ძრავას "გადაწეროს" ანალოგური ჯოისტიკის კუთხის პოზიცია, ანუ თუ ჯოისტიკს წინ მიიწევთ, ძრავა მიემართება "ჩრდილოეთისაკენ". დააყენეთ ჯოისტიკი დასავლეთისკენ, ძრავა ბრუნავს წერტილისკენ იმავე მიმართულებით.
ჩემი განხორციელებისათვის მე მოვითხოვე, რომ თუ ჯოისტიკი გაუშვეს, ანუ არ აქვს კუთხური პოზიცია, ძრავა ბრუნდება "სახლის" მიმართულებით. სახლის მიმართულება აღმოსავლეთისაკენ არის მიმართული, ხოლო ძრავა (ან იჯარით ნებისმიერი მაჩვენებელი / მოწყობილობა, რომელიც მიამაგრეთ გამომავალ ლილვზე!) ასევე უნდა იყოს მიმართული ამ მიმართულებით, როდესაც ის ჩართულია.
მარაგები
არდუინო უნო ან მსგავსი
პურის დაფა და ჯუმბერის მავთულის შერჩევა (მამაკაცი მამაკაცი, მამაკაცი ქალი)
5V კვების ბლოკი
ჯოისტიკების ანალოგი
28BYJ-48 სტეპერიანი ძრავა და ULN2003 სტეპერიანი მძღოლი
კალამი, ქაღალდი და ბლუ-ტაკი (ან ნებისმიერი სხვა მაჩვენებელი მოწყობილობა ძრავაზე დასამაგრებლად!)
ნაბიჯი 1: ნაბიჯი 1: დაყენება
შეაერთეთ სტეპერიანი ძრავა სტეპერ დრაივერთან და შეაერთეთ ქინძისთავები შემდეგნაირად:
IN1 - Arduino pin 8
IN2 - Arduino pin 9
IN3 - Arduino pin 10
IN4 - Arduino pin 11
შეაერთეთ თქვენი 5 ვ ელექტროენერგიის მიწოდება თქვენს პურის დაფაზე და შეუერთეთ ULN2003 5 ვ შეყვანის მიწოდების რელსებს. დააკავშირეთ სახმელეთო რკინიგზა მიწაზე თქვენს არდუინოზე.
ჯოისტიკისთვის დააკავშირეთ შემდეგნაირად:
გადართვა pin - Arduino pin 2
X ღერძი - Arduino A0 (ანალოგი 0 -ში)
Y ღერძი - Arduino A1
+5V - Arduino 5V გამომავალი
GND - Arduino GND
საბოლოოდ დააკავშირეთ თქვენი პურის დაფის საფუძველი სხვა Arduino GND პინთან
ნაბიჯი 2: ნაბიჯი 2: კოდის ახსნა
მე ჩავრთე Arduino– ს სრული კოდი, რომ გადმოწეროთ და გამოიყენოთ. მაგრამ ყველაფერს გავაკეთებ იმისთვის, რომ ავხსნა აქ შესაბამისი ნაწილები.
ამ კოდის მიღმა არსებული თეორია მდგომარეობს იმაში, რომ ჯოისტიკით დაკავებული სივრცე დაყოფილია გრაფიკად, 0, 0 ცენტრში. თუმცა ჯოისტიკის შეყვანა არის ცენტრში (დაახლ.) 512, ამიტომ ამ ორი ფუნქციის დასაძლევად გამოიყენება X და Y ღერძებიდან წაკითხული მნიშვნელობის "ნულამდე". ენერგიის წყაროს მიხედვით, რომელსაც თქვენ იყენებთ, შეიძლება დაგჭირდეთ ZeroX და ZeroY ფუნქციების მნიშვნელობების შეცვლა ისე, რომ თქვენი ჯოისტიკი დასვენებისას იძლევა 0 -ს საიმედო მაჩვენებელს.
როდესაც X, Y მნიშვნელობები იკითხება, ისინი პირველად გარდაიქმნება რადიანად math.h ბიბლიოთეკაში atan2 () ფუნქციის გამოყენებით. ამ ფუნქციის ახსნა ამ ინსტრუქციის ფარგლებს მიღმაა, მაგრამ გთხოვთ გადახედოთ მას - ეს გეომეტრიის საკმაოდ მარტივი ხრიკია!
დაბოლოს, რომ გავადვილოთ ცხოვრება ჩვენთვის, ვინც ვმუშაობდით ხარისხში და არა რადიში, atan2 () - ით გაანგარიშებული რადი მნიშვნელობა გარდაიქმნება ხარისხად.
მარყუჟის ზედა ნაწილში არის კოდის მცირე ფრაგმენტი, რომელიც საშუალებას გაძლევთ დააჭიროთ ჯოისტიკზე მომენტალურ ღილაკს "სახლის" მდებარეობის გადასატანად. ეს წარმოუდგენლად სასარგებლო იყო კოდის ტესტირებისას, მაგრამ მე დავტოვე ის, როგორც ვხედავ, როგორ შეიძლება ის სასარგებლო იყოს ზოგიერთ შემთხვევაში.
ახლა გადადით კოდის მთავარ ნაწილზე! ჩვენ ვიწყებთ ჯოისტიკის X კითხვით, Y კოორდინატებს ორჯერ გამოყოფს 10ms დაგვიანებით და შემდეგ ვამოწმებთ, რომ ისინი ერთნაირია - აღმოვაჩინე, რომ ჯოისტიკი ხანდახან გამოსცემს სპორადულ კითხვებს და ეს უმნიშვნელო შეფერხება საკმარისი იყო იმისთვის, რომ შეჩერებულიყო ძრავის ბრუნვა ამ საფუძველზე რა ეს არის ასევე საკმაოდ მოკლე შეფერხება, რომ არ ჩანს ხელი შეუშალოს განზრახ შეყვანას.
დანარჩენი კოდი საკმაოდ გასაგებია და მე ყველაფერი გავაკეთე ამის დასადასტურებლად; IF განცხადებების სერია ადარებს ჯოისტიკის ამჟამინდელ კუთხეს ძრავის კუთხესთან და ამძრავს ძრავას ამ კუთხით. 28BYJ-48 აქვს 5.689 საფეხური თითო ხარისხზე, ამიტომ ჩვენ ვამრავლებთ საჭირო მოძრაობას ამ ერთი შეხედვით უცნაურ რიცხვზე!
კოდის ერთი ნაწილი, რომელიც მოითხოვს ყველაზე მეტად ახსნას, არის ის, რასაც მე ვუწოდე "გადაფარვის საქმე". იმ ჯოისტიკზე და ძრავაზე იყო მაგ. +175 ° და ჯოისტიკი შემდგომში გადავიდა -175 ° –ზე (მოძრაობა მხოლოდ 10 ° ჯოისტიკზე, დასავლეთიდან ჩრდილოეთიდან დასავლეთის სამხრეთით), ძრავა გადაადგილდება არასწორი მიმართულებით 350 ° –ით! ამის აღსაწერად დაიწერა სპეციალური შემთხვევა.
შეფუთვა იწყება შემოწმებით, რომ ძრავას და ჯოისტიკს აქვთ საპირისპირო ნიშნები, ანუ ძრავა დადებითია და ჯოისტიკი უარყოფითი, ან პირიქით. ის ასევე ამოწმებს, რომ ჯოისტიკისა და ძრავის აბსოლუტური (ანუ პოზიტიური მნიშვნელობების) ჯამი 180 ° –ზე მეტია.
თუ ორივე ეს განცხადება მართალია, მაშინ ფუნქცია ამოწმებს საჭიროა თუ არა ძრავას საათის ისრის მიმართულებით მოძრაობა (ძრავის მნიშვნელობა უარყოფითია) თუ საათის ისრის საწინააღმდეგოდ (თუ ძრავის მნიშვნელობა დადებითია).
საავტომობილო კუთხისა და ჯოისტიკების კუთხის აბსოლუტური მნიშვნელობები ჯამდება და გამოაკლება 360 ° –ს გადაადგილების მანძილის დასადგენად. დაბოლოს, ძრავის კუთხე (რომელიც ახლა ასახავს ჯოისტიკის კუთხეს) განახლებულია, როგორც ასეთი.
ნაბიჯი 3: დასრულდა
ასე რომ, ყველაფერი რაც თქვენ გჭირდებათ არის ატვირთოთ კოდი თქვენს არდუინოში და გაუშვით! იხილეთ ვიდეო ზემოთ კარგი იდეისათვის, თუ როგორ მუშაობს პროექტი. ეს სასარგებლო იქნება კამერის გიმბალებისთვის, რობოტული მკლავებისთვის და მრავალი სხვა პროგრამისთვის!
თუ თქვენ იყენებთ კოდს, გთხოვთ შემატყობინოთ, და თუ ხედავთ სადმე, სადაც კოდის გაუმჯობესება შესაძლებელია, სიამოვნებით მოვისმენდი თქვენს გამოხმაურებას.
გირჩევთ:
რობოტის მკლავის კონტროლი TLV493D, ჯოისტიკი და არდუინო: 3 ნაბიჯი
რობოტის მკლავის კონტროლი TLV493D, Joystick And, Arduino: ალტერნატიული კონტროლერი თქვენი რობოტისთვის TLV493D სენსორით, მაგნიტური სენსორი თავისუფლების 3 გრადუსით (x, y, z) ამით თქვენ შეძლებთ გააკონტროლოთ თქვენი ახალი პროექტები I2C კომუნიკაციით თქვენს მიკროკონტროლერები და ელექტრონული დაფა, რომელიც Bast P
როგორ წავიკითხოთ მრავალი ანალოგური მნიშვნელობა ერთი ანალოგური პინის გამოყენებით: 6 ნაბიჯი (სურათებით)
როგორ წავიკითხოთ მრავალი ანალოგური მნიშვნელობა ერთი ანალოგური პინის გამოყენებით: ამ გაკვეთილში მე ვაპირებ გაჩვენოთ როგორ წაიკითხოთ მრავალი ანალოგური მნიშვნელობა მხოლოდ ერთი ანალოგური შეყვანის პინის გამოყენებით
ანალოგური ჯოისტიკი #HMS2018: 8 ნაბიჯი
ანალოგური ჯოისტიკი #HMS2018: დაგჭირდებათ ერთი Elegoo Uno R3 adruino, ერთი Elegoo ჯოისტიკის მოდული და 5 ქალი და მამაკაცი DuPoint მავთულები
სტეპერიანი ძრავა კონტროლირებადი სტეპერიანი ძრავი - სტეპერ მოტორი როგორც მბრუნავი კოდირება: 11 ნაბიჯი (სურათებით)
სტეპერიანი ძრავა კონტროლირებადი სტეპერიანი ძრავი | სტეპერი ძრავა როგორც მბრუნავი კოდირება: გაქვთ რამდენიმე სტეპერიანი ძრავა გარშემო და გინდათ რამის გაკეთება? ამ ინსტრუქციაში, მოდით გამოვიყენოთ სტეპერიანი ძრავა, როგორც მბრუნავი კოდირება, რომ გავაკონტროლოთ სხვა სტეპერიანი ძრავის პოზიცია Arduino მიკროკონტროლერის გამოყენებით. ასე რომ, ყოველგვარი გაჭიანურების გარეშე, მოდი განვიხილოთ
PSP როგორც კომპიუტერის ჯოისტიკი და შემდეგ თქვენი კომპიუტერის კონტროლი PSP– ით: 5 ნაბიჯი (სურათებით)
PSP როგორც კომპიუტერის ჯოისტიკი და შემდეგ თქვენი კომპიუტერის კონტროლი PSP– ით: თქვენ შეგიძლიათ ბევრი მაგარი რამ გააკეთოთ PSP homebrew– ით და ამ სასწავლო ინსტრუქციაში მე გასწავლით თუ როგორ გამოიყენოთ თქვენი PSP როგორც ჯოისტიკი თამაშების სათამაშოდ, მაგრამ ასევე არსებობს პროგრამა, რომელიც საშუალებას გაძლევთ გამოიყენოთ თქვენი ჯოისტიკი, როგორც თქვენი მაუსი. აქ არის დედა