Სარჩევი:

PWM ESP32 - ჩამქრალი LED PWM– ით ESP 32 – ზე Arduino IDE– ით: 6 ნაბიჯი
PWM ESP32 - ჩამქრალი LED PWM– ით ESP 32 – ზე Arduino IDE– ით: 6 ნაბიჯი

ვიდეო: PWM ESP32 - ჩამქრალი LED PWM– ით ESP 32 – ზე Arduino IDE– ით: 6 ნაბიჯი

ვიდეო: PWM ESP32 - ჩამქრალი LED PWM– ით ESP 32 – ზე Arduino IDE– ით: 6 ნაბიჯი
ვიდეო: ESP32 Tutorial 5 - LED Fade, control brightness of an LED -ESP32 IoT Learnig kit 2024, ნოემბერი
Anonim
PWM ESP32 | ჩამქრალი LED PWM– ით ESP 32 – ით Arduino IDE– ით
PWM ESP32 | ჩამქრალი LED PWM– ით ESP 32 – ით Arduino IDE– ით

ამ ინსტრუქციებში ჩვენ ვნახავთ როგორ წარმოქმნას PWM სიგნალები ESP32– ით Arduino IDE– ს გამოყენებით და PWM ძირითადად გამოიყენება ნებისმიერი MCU– დან ანალოგური გამომუშავების შესაქმნელად და ეს ანალოგური გამომუშავება შეიძლება იყოს 0V– დან 3.3V– მდე (esp32– ის შემთხვევაში) და 0V– დან 5V (arduino uno- ს შემთხვევაში) და ეს PWM სიგნალები (ანალოგური გამომავალი) გამოიყენება LED- ის დაბინდვისათვის (ცვლადი გამომუშავება, სხვადასხვა სიკაშკაშის მქონე LED- ის განათება).

ნაბიჯი 1: ის, რაც გჭირდებათ

ნივთები რაც თქვენ გჭირდებათ
ნივთები რაც თქვენ გჭირდებათ
ნივთები რაც თქვენ გჭირდებათ
ნივთები რაც თქვენ გჭირდებათ
ნივთები რაც თქვენ გჭირდებათ
ნივთები რაც თქვენ გჭირდებათ

ამ გაკვეთილისთვის დაგჭირდებათ შემდეგი საგნები: ESP32

220 ohm რეზისტორები

ფერი led

პურის დაფა

რამდენიმე მხტუნავი

ნაბიჯი 2: PWM– ის გაგება ESP32– ზე

PWM– ის გაგება ESP32– ზე
PWM– ის გაგება ESP32– ზე

ESP32– ს აქვს 16 არხი PWM კონტროლერი და ეს 16 არხი დამოუკიდებელია და მათი დამოუკიდებლად კონფიგურაცია შესაძლებელია სხვადასხვა მოთხოვნების მქონე PWM სიგნალების მისაღებად. კოდისა და მთელი პროცესის გავლის წინ უნდა იცოდეთ შემდეგი რამ: >> არსებობს 16 (0 -დან 15) pwm არხები ESP32- ში. თქვენ უნდა აირჩიოთ თქვენი PWM არხი. >> ამის შემდეგ ჩვენ უნდა შევარჩიოთ სიხშირე PWM– სთვის, ჩვენ შეგვიძლია წავიდეთ 5000 ჰც – მდე. >> აქ ჩვენ გვაქვს გარჩევადობა 1 – დან 16 ბიტიამდე ESP32– ში, მაგრამ ამ გაკვეთილისთვის ჩვენ წავალთ მხოლოდ 8 ბიტზე რაც იმას ნიშნავს, რომ სიკაშკაშე კონტროლდება 0 -დან 255 -მდე მნიშვნელობებით. >> თქვენ უნდა დააყენოთ LED PWM– ისთვის, რომ გამოიყენოთ შემდეგი კოდის ხაზი და მასში უნდა აღინიშნოს ledchannel– ის შესახებ (ჩვენ ვიყენებთ 0 არხს ESP32) თქვენ იყენებთ PWM– სთვის და სიხშირე არის PWM– ის სიხშირე (ჩვენ ვიყენებთ 5000 ჰც) და თქვენ იყენებთ (ჩვენ ვიყენებთ 8 ბიტიანი გარჩევადობით).ledcSetup (ledChannel, freq, resolution); ღირებულებები ჩვენს შემთხვევაში: = 5000; const int ledChannel = 0; const int გარჩევადობა = 8; >> შემდეგ მიუთითეთ რომელი LED პინი გჭირდებათ შემდეგი ბრძანების გამოყენებით: ledcAttachPin (ledPin, ledChannel);- აქ ledPin არის pin no. რომელსაც ჩვენ ვიყენებთ & ledChannel არის არხი, რომელიც ჩვენ უნდა შევარჩიოთ PWM.5. დაბოლოს, LED სიკაშკაშის გასაკონტროლებლად PWM გამოყენებით, თქვენ იყენებთ შემდეგ ფუნქციას: >> კოდის მთავარი მნიშვნელოვანი ნაწილი იქნება შემდეგი ბრძანება, რომელიც ჩაწერს ანალოგიურ გამომავალს LED პინზე: ledcWrite (ledChannel, dutycycle); ეს ზემოთ მითითებული ბრძანება საჭიროებს 'ledChannel' & 'dutyCycle', სადაც არხი არის არხის ნომერი, რომელსაც ჩვენ ვიყენებთ და მოვალეობის ციკლი არის მნიშვნელობა, რომელსაც ჩვენ ვწერთ LED pin- ის გამომავალზე.

ნაბიჯი 3: კავშირები

კავშირები
კავშირები

კავშირის ნაწილი ძალიან ადვილია. თქვენ უნდა დაუკავშიროთ LED რეზისტორს GPIO16- თან, როგორც ეს ნაჩვენებია სკამატიკებში.

ნაბიჯი 4: დააინსტალირეთ ESP32 დაფები Arduino IDE– ში

დააინსტალირეთ ESP32 დაფები Arduino IDE– ში
დააინსტალირეთ ESP32 დაფები Arduino IDE– ში

დარწმუნდით, რომ თქვენ გაქვთ Arduino IDE თქვენს კომპიუტერში და დაინსტალირებული გაქვთ ESP32 დაფები თქვენს Arduino IDE– ში, და თუ ეს ასე არ არის, მიჰყევით ჩემს ქვემოთ მოცემულ ინსტრუქციას, რომ დააინსტალიროთ.:

ნაბიჯი 5: კოდი

კოდი
კოდი

გთხოვთ დააკოპირეთ შემდეგი კოდი და ატვირთეთ თქვენს ESP32- ში: // LED pinconst int ledPin = 16 ნომერი; // 16 შეესაბამება GPIO16 // პარამეტრი PWM თვისებებს // მიამაგრეთ არხი GPIO- ს გასაკონტროლებლად ledcAttachPin (ledPin, ledChannel);} void loop () {// გაზარდეთ LED სიკაშკაშე for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// LED- ის შეცვლა სიკაშკაშე PWM ledcWrite– ით (ledChannel, dutyCycle); დაგვიანება (15); } // შეამცირეთ LED სიკაშკაშე for (int dutyCycle = 255; dutyCycle> = 0; dutyCycle-) {// LED სიკაშკაშის შეცვლა PWM ledcWrite (ledChannel, dutyCycle); დაგვიანება (15); }}

ნაბიჯი 6: PWM ფუნქციონირების ტესტირება

PWM ფუნქციონირების ტესტირება
PWM ფუნქციონირების ტესტირება

კოდის ატვირთვის შემდეგ თქვენ დაინახავთ თქვენი LED- ების ინტენსივობის ცვლილებას, რაც მიგვიყვანს ამ ინსტრუქციის ბოლომდე. გაერთეთ PWM გამოყენებით ESP32 თქვენს პროექტებში.

გირჩევთ: