არსებობს ინფორმაციის მრავალფეროვნება ადამიანისგან მიკროკონტროლერზე ან კომპიუტერზე გადასაცემად და ერთ-ერთი მათგანი იყენებს ჯოისტიკას. ვნახოთ, როგორ დავაკავშიროთ ანალოგური ჯოისტიკი ორი ღერძით და ღილაკით Arduino- ს.
Ეს აუცილებელია
- - არდუინო;
- - ორი ღერძი ჯოისტიკი;
- - 3 რეზისტორი, რომელთა ნომინალური ღირებულებაა 220 ომი;
- - 1 RGB ან 3 ჩვეულებრივი LED.
ინსტრუქციები
Ნაბიჯი 1
ჯოისტიკი არის მოსახერხებელი და ადვილად გამოსაყენებელი მოწყობილობა ინფორმაციის გადასაცემად. არსებობს ჯოისტიკების ტიპის დიდი რაოდენობა თავისუფლების ხარისხის რაოდენობის, მითითებების წაკითხვის პრინციპისა და გამოყენებული ტექნოლოგიების თვალსაზრისით. ჯოისტიკებს ყველაზე ხშირად იყენებენ ნებისმიერი მექანიზმის, კონტროლირებადი მოდელების, რობოტების მოძრაობის გასაკონტროლებლად. ანალოგური ჯოისტიკი, რომელსაც დღეს გადავხედავთ, არის სახელური, რომელიც ერთვის ბურთის სახსარს ორი ორმხრივი პერპენდიკულარული ღერძით. Knob დახრისას, ღერძი ბრუნავს პოტენციოტრის მოძრავ კონტაქტს, რის გამოც იცვლება ძაბვა მის გამოსვლაზე. ასევე, ანალოგურ ჯოისტიკას აქვს ტაქტის ღილაკი, რომელიც ჩართულია სახელურს ვერტიკალურად დაჭერისას.
ნაბიჯი 2
დააკავშირეთ ჯოისტიკი ქვემოთ მოცემული დიაგრამის შესაბამისად. დააკავშირეთ ჯოისტიკის ანალოგური გამომავალი X და Y Arduino- ს ანალოგურ საშუალებებთან A1 და A2, SW ღილაკის გამომავალი ციფრული შეყვანით 8. ჯოისტიკი იკვებება +5 ვ ძაბვით.
ნაბიჯი 3
იმისათვის, რომ ნათლად დავინახოთ როგორ მუშაობს ჯოისტიკი, მოდით დავწეროთ ეს ესკიზი. მოდით განვაცხადოთ ქინძისთავები, დავაყენოთ მათთვის მოქმედი რეჟიმები. გაითვალისწინეთ, რომ კონფიგურაციის () პროცედურაში, ჩვენ დააყენეთ switchPin შეყვანა მაღალ დონეზე. ეს საშუალებას იძლევა ჩაშენებული გამყვანი რეზისტორი ამ პორტზე. თუ არ ჩართავთ, მაშინ როდესაც ჯოისტიკის ღილაკს არ დააჭერთ, Arduino– ს მე –8 პორტი ჰაერში გაეკიდება და პიკაპებს იჭერს. ეს გამოიწვევს არასასურველ, ქაოტურ ცრუ პოზიტივებს.
მარყუჟის () პროცედურის დროს, ჩვენ მუდმივად ვკითხულობთ ღილაკის მდგომარეობას და ვაჩვენებთ მას LED– ს საშუალებით გამომავალი 13 – ზე. SwitchPin– ის შეყვანის გამო, LED მუდმივად ჩართულია, ხოლო ღილაკის დაჭერისას ის ითიშება და არა პირიქით.
შემდეგ, ჩვენ ვკითხულობთ ჯოისტიკის ორი პოტენციოტრის კითხვას - X და Y ღერძების გამოსვლას. Arduino– ს აქვს 10 ბიტიანი ADC, ამიტომ ჯოისტიკიდან წაკითხული მნიშვნელობები 0 – დან 1023 – მდეა. ჯოისტიკის შუა მდგომარეობაში, როგორც ილუსტრაციაზე ხედავთ, მნიშვნელობები 500 რეგიონში დაახლოებით დიაპაზონის შუა რიცხვებშია.
ნაბიჯი 4
ჩვეულებრივ ჯოისტიკას იყენებენ ელექტროძრავების გასაკონტროლებლად. მაგრამ რატომ არ გამოიყენოთ იგი, მაგალითად, LED- ის სიკაშკაშის გასაკონტროლებლად? მოდით დავაკავშიროთ RGB LED (ან სამი ჩვეულებრივი LED) Arduino ციფრული პორტების 9, 10 და 11 ზემოთ მოცემული სქემის მიხედვით, არ უნდა დაგვავიწყდეს რეზისტორების შესახებ.
ნაბიჯი 5
ჩვენ შევცვლით შესაბამისი ფერის სიკაშკაშეს ღერძების გასწვრივ ჯოისტიკის პოზიციის შეცვლისას, როგორც ეს ნაჩვენებია ნახატზე. იმის გამო, რომ ჯოისტიკი შეიძლება ზუსტად არ იყოს ორიენტირებული მწარმოებლის მიერ და არ ჰქონდეს მასშტაბის შუაში არა 512 – ზე, არამედ 490 – დან 525 – მდე, LED შეიძლება ოდნავ ანთდეს მაშინაც კი, როდესაც ჯოისტიკი ნეიტრალურ მდგომარეობაშია თუ გსურთ, რომ ის მთლიანად გამორთული იყოს, გააკეთეთ შესაბამისი ცვლილებები პროგრამაში.
ნაბიჯი 6
ზემოთ მოცემული დიაგრამის საფუძველზე, ჩვენ დავწერთ Arduino– ს კონტროლის ესკიზს RGB LED– ის სიკაშკაშე ჯოისტიკის გამოყენებით.
პირველ რიგში, ჩვენ გამოვაცხადებთ ქინძისთავების და ორი ცვლადის - ledOn და prevSw შესაბამისობას ღილაკთან მუშაობისთვის. დაყენების () პროცედურის დროს, მიამაგრეთ ფუნქციები ქინძისთავებს და ციფრულიWrite (swPin, HIGH) ბრძანებით დააჭირეთ დაწევის რეზისტორი ღილაკის პინს.
მარყუჟში () განვსაზღვრავთ ჯოისტიკის ღილაკის დაჭერას. როდესაც ღილაკს დააჭერთ, ჩვენ ვრთავთ ოპერაციულ რეჟიმებს "ფანრის" და "ფერადი მუსიკის" რეჟიმებს შორის.
FreeMode () რეჟიმში, LED- ების სიკაშკაშე კონტროლდება ჯოისტიკის დახრით სხვადასხვა მიმართულებით: რაც უფრო ძლიერია დახრა ღერძის გასწვრივ, მით უფრო ნათელია შესაბამისი ფერი. უფრო მეტიც, მნიშვნელობების ტრანსფორმაციას იღებს რუქის ფუნქცია (მნიშვნელობა, ქვემოდან, ზემოდან, დაბლა, ქვემოთ). რუქა () ფუნქცია გადასცემს გაზომულ მნიშვნელობებს (დაბალი, მაღალიდან) ჯოისტიკის ღერძების გასწვრივ სასურველ სიკაშკაშის დიაპაზონში (დაბალზე, მაღალზე).იგივე შეგიძლიათ გააკეთოთ ჩვეულებრივი არითმეტიკული მოქმედებებით, მაგრამ ეს აღნიშვნა გაცილებით მოკლეა.
DiscoMode () რეჟიმში სამი ფერი მონაცვლეობით იძენს სიკაშკაშეს და ითიშება. ღილაკზე დაჭერისას მარყუჟის გასვლის საშუალება რომ გვქონდეს, ჩვენ ვამოწმებთ თითოეულ განმეორებას, რომ დააჭირეთ ღილაკს.
ნაბიჯი 7
შედეგი არის სამ ფერადი RGB LED- ისგან დამზადებული ფანარი, რომლის თითოეული ფერის სიკაშკაშე დაყენებულია ჯოისტიკის გამოყენებით. როდესაც ღილაკს დააჭირებთ, გააქტიურებულია "ფერადი მუსიკის" რეჟიმი. მიუხედავად იმისა, რომ მე მას ვიყენებ, პირიქით, როგორც ღამის შუქი.
ამრიგად, ჩვენ ვისწავლეთ, თუ როგორ უნდა დაუკავშირდეს ანალოგური ორი ღერძიანი ჯოისტიკი ღილაკით არდუინოსთან და წავიკითხოთ კითხვა მისგან. შეგიძლიათ იფიქროთ და დანერგოთ ჯოისტიკის უფრო საინტერესო გამოყენება, ვიდრე ჩვენი მაგალითი.