Სარჩევი:

სიკაშკაშის კონტროლი, არდუინო (ანიმაციებით): 7 ნაბიჯი
სიკაშკაშის კონტროლი, არდუინო (ანიმაციებით): 7 ნაბიჯი

ვიდეო: სიკაშკაშის კონტროლი, არდუინო (ანიმაციებით): 7 ნაბიჯი

ვიდეო: სიკაშკაშის კონტროლი, არდუინო (ანიმაციებით): 7 ნაბიჯი
ვიდეო: 1. რა არის Arduino? როგორ მუშაობს კომპიუტერი? 2024, ნოემბერი
Anonim
Image
Image

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

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

თუ იცნობთ led და პოტენციომეტრებს, შეგიძლიათ გამოტოვოთ 1 და 2 სექციები.

ნაბიჯი 1: LED- ების შესახებ

LED- ების შესახებ
LED- ების შესახებ

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

ძაბვა და მიმდინარე

LED- ის მოთხოვნილი ძაბვა მერყეობს 2.2 ვ -დან 3.2 ვოლტამდე მისი ფერის მიხედვით. მათი ამჟამინდელი რეიტინგი ჩვეულებრივ 20mA. იმისათვის, რომ შეზღუდოს დენი და თავიდან აიცილოს LED- ის გადახურება, აუცილებელია თითოეულ LED- ზე სერიულად გამოიყენოთ რეზისტორი. მე ვურჩევ დაახლოებით 300 ohms.

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

ნაბიჯი 2: პოტენციომეტრი

პოტენციომეტრი
პოტენციომეტრი

არდუინოს თვალსაზრისით, პოტენომეტრი არის სენსორი. "სენსორი" ეხება ნებისმიერ გარე მოწყობილობას, რომელიც შეყვანის ქინძისთავებთან დაკავშირებისას შეიძლება შეიგრძნოს არდუინომ. ჩვენ ვაპირებთ გამოვიყენოთ არტუინოსთან დაკავშირებული პოტენომეტრი, LED- ის სიკაშკაშის გასაკონტროლებლად. პოტენომეტრს ხანდახან ძაბვის გამყოფსაც უწოდებენ, რაც მე მგონი უკეთესი აღწერაა. დიაგრამა მარცხნივ ზემოთ მიუთითებს ძაბვის გამყოფის პრინციპზე. ამ მაგალითში, რეზისტორი დაკავშირებულია მიწასთან ერთ ბოლოში და ინახება, ენერგიის წყაროს საშუალებით 5 ვ -მდე მეორე ბოლოში. თუ სლაიდერი გადაადგილებულია რეზისტორის გასწვრივ, ის იქნება 0 ვ ძაბვაზე მარცხენა ბოლოს, 5 ვ მარჯვენა მხარეს. ნებისმიერ სხვა პოზიციაზე ის იქნება 0v და 5v შორის. გზის ნახევარზე, მაგალითად, ის იქნება 2.5 ვ. თუ ჩვენ განვაახლებთ განლაგებას, როგორც ეს მოცემულია ზემოთ მარჯვნივ, მაშინ ეს წარმოადგენს მბრუნავი პოტენომეტრის მოქმედებას.

ნაბიჯი 3: წრე

წრე
წრე

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

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

Arduino– ს აქვს მხოლოდ ციფრული გამომავალი ქინძისთავები. თუმცა ის ქინძისთავები, რომელთა გვერდით არის tilde (), ახდენს ანალოგური გამოსვლის სიმულაციას, რომელიც შესაფერისია Led– ის სიკაშკაშის გასაკონტროლებლად. ამ პროცესს ეწოდება პულსის სიგანის მოდულაცია (PWM) და აიხსნება შემდეგი ანიმაციის საშუალებით, ნაბიჯი 4.

ნაბიჯი 4: PWM

PWM, პულსის სიგანის მოდულაცია

როგორც უკვე აღვნიშნეთ, ტილდას ქინძისთავები, „~“მათ გვერდით არის PWM ქინძისთავები. იმის გამო, რომ ქინძისთავები არის ციფრული, ისინი შეიძლება იყოს მხოლოდ 0v ან 5v, თუმცა PWM– ით ისინი შეიძლება გამოყენებულ იქნას LED- ის დაბინდვისთვის ან ძრავის სიჩქარის გასაკონტროლებლად. ისინი ამას აკეთებენ LED– ით 5 ვ მიწოდებით, მაგრამ 0–5 ვ – მდე 500 ჰც სიხშირით (წამში 500 – ჯერ) და პულსის თითოეული 0 ვ და 5 ვ ელემენტის ხანგრძლივობის გაჭიმვით ან შემცირებით. როგორც LED ხედავს უფრო ხანგრძლივ 5 ვ პულსს, ვიდრე 0 ვ პულსი, მაშინ ის უფრო ნათელი ხდება. ჩვენს პროგრამაში ჩვენ ვიყენებთ analogueWrite () ფუნქციას PWM "კვადრატული ტალღის" გამოსასვლელად. მას აქვს 256 ნამატი, ნულოვანი იძლევა 0% სამუშაო ციკლს და 255 იძლევა 100% "მოვალეობის ციკლს" ანუ უწყვეტ 5 ვოლტს. ამრიგად, 127 იძლევა 50% სამუშაო ციკლს, ნახევარ დროს 0v- ზე და ნახევარ დროს 5v. ზემოთ მოყვანილი ანიმაცია გვიჩვენებს, თუ როგორ ხდება ეს სამუშაო ციკლი 100% –მდე გადაჭიმული, მაშინ led ხდება უფრო ნათელი.

ნაბიჯი 5: პროგრამა (ARDUINO SKETCH)

Image
Image

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

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

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

პროგრამაში არის ერთი ფუნქცია, რომელსაც ვფიქრობ, რომ მეტი ახსნა სჭირდება: ხაზზე 14 გამოიყენება "რუქის" ფუნქცია. არსებობს განმარტება მისი მიზნის შესახებ შემდეგში, მე –6 ნაბიჯში

ნაბიჯი 6: MAP

ჩვენ გვაქვს პოტენომეტრი, რომელიც დაკავშირებულია ანალოგიურ პინთან. პოტენომეტრის ძაბვა მერყეობს 0 ვ -დან 5 ვ -მდე. ეს დიაპაზონი დარეგისტრირებულია პროცესორში 1024 ნაბიჯით. როდესაც მნიშვნელობის შეყვანა გამოიყენება PWM ჩართული ციფრული პინის მეშვეობით გამომავალი შესაქმნელად, ეს დიაპაზონი უნდა იყოს ასახული ციფრული პინის გამომავალი დიაპაზონში. ამას აქვს 255 ზრდა. რუქის ფუნქცია გამოიყენება ამ მიზნით და იძლევა გამომავალს, რომელიც არის შეყვანის პროპორციული.

ზემოთ მოყვანილი ვიდეო ამას ასახავს.

ნაბიჯი 7: ანიმაციური არდუინო

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

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

გირჩევთ: