მოდით გაერკვნენ, რა დგას PWM აბრევიატურა, როგორ მუშაობს, რისთვის არის ის და როგორ შეგვიძლია გამოვიყენოთ იგი Arduino- სთან მუშაობისას.
აუცილებელია
- - არდუინო;
- - სინათლის დიოდი;
- - რეზისტორი 200 ომ წინააღმდეგობით;
- - კომპიუტერი.
ინსტრუქციები
Ნაბიჯი 1
Arduino ციფრულ პინებს მხოლოდ ორი მნიშვნელობის მიცემა შეუძლიათ: ლოგიკა 0 (დაბალი) და ლოგიკა 1 (მაღალი). ამიტომ ისინი ციფრულია. მაგრამ Arduino– ს აქვს”სპეციალური” დასკვნები, რომლებიც PWM– ით არის განსაზღვრული. ისინი ზოგჯერ აღინიშნება ტალღოვანი ხაზით " ან შემოხაზული ან როგორღაც გამოირჩევიან სხვებისგან. PWM ნიშნავს "პულსის სიგანის მოდულაციას" ან პულსის სიგანის მოდულაციას, PWM.
პულსის სიგანეზე მოდულირებული სიგნალი არის მუდმივი სიხშირის პულსის სიგნალი, მაგრამ ცვლადი მოვალეობის ციკლი (პულსის ხანგრძლივობის შეფარდება მისი განმეორების პერიოდთან). იმის გამო, რომ ბუნებაში უმეტეს ფიზიკურ პროცესებს აქვს გარკვეული ინერცია, ძაბვის მკვეთრი ვარდნა 1-დან 0-მდე გამარტივდება და მიიღებს გარკვეულ საშუალო მნიშვნელობას. მოვალეობის ციკლის დაყენებით, შეგიძლიათ შეცვალოთ საშუალო ძაბვა PWM გამომავალზე.
თუ მოვალეობაა 100%, მაშინ Arduino– ს ციფრული გამომავალი დროის განმავლობაში იქნება "1" ან 5 ვოლტიანი ლოგიკური ძაბვა. თუ მოვალეობის ციკლი დააყენეთ 50% -ზე, მაშინ გამოსვლის დროს დროის ნახევარი იქნება ლოგიკური "1", ხოლო ნახევარი - ლოგიკური "0", ხოლო საშუალო ძაბვა იქნება 2.5 ვოლტი. Და ასე შემდეგ.
პროგრამაში მოვალეობის ციკლი დგინდება არა როგორც პროცენტი, არამედ რიცხვი 0-დან 255-მდე. მაგალითად, ბრძანება "analogWrite (10, 64)" მიკროკონტროლერს ეუბნება გაგზავნოს სიგნალი 25-ე მოვალეობის ციკლით. ციფრული PWM გამომავალი # 10.
პულსის სიგანის მოდულაციის ფუნქციით არდუინოს ქინძისთავები მუშაობს დაახლოებით 500 ჰერცი სიხშირით. ეს ნიშნავს, რომ პულსის გამეორების პერიოდი დაახლოებით 2 მილიწამია, რაც იზომება ფიგურაში მწვანე ვერტიკალური დარტყმებით.
გამოდის, რომ ციფრული გამომავალი ანალოგის სიგნალის სიმულაცია შეგვიძლია! საინტერესოა, არა?
როგორ გამოვიყენოთ ეს? ბევრი პროგრამაა! მაგალითად, ეს არის LED სიკაშკაშის კონტროლი, ძრავის სიჩქარის კონტროლი, ტრანზისტორი დენის კონტროლი, piezo emitter– დან ხმის მოპოვება …
ნაბიჯი 2
მოდით გავეცნოთ ყველაზე ძირითად მაგალითს - PWM– ის გამოყენებით LED– ს სიკაშკაშის კონტროლი. მოდით შევადგინოთ კლასიკური სქემა.
ნაბიჯი 3
მოდით გავხსნათ "Fade" ესკიზი მაგალითებიდან: File -> Samples -> 01. Basics -> Fade.
ნაბიჯი 4
მოდით, ცოტა შევცვალოთ და ჩავტვირთოთ Arduino მეხსიერებაში.
ნაბიჯი 5
ჩვენ ჩართავთ ენერგიას. LED თანდათან იზრდება სიკაშკაშში და შემდეგ თანდათან მცირდება. ჩვენ ანალოგიური სიგნალი მივუთითეთ ციფრულ გამომავალზე პულსის სიგანის მოდულაციის გამოყენებით.