Mundarija:

LEDni potentsiometr yordamida Arduino Uno R3 bilan boshqarish: 6 qadam
LEDni potentsiometr yordamida Arduino Uno R3 bilan boshqarish: 6 qadam

Video: LEDni potentsiometr yordamida Arduino Uno R3 bilan boshqarish: 6 qadam

Video: LEDni potentsiometr yordamida Arduino Uno R3 bilan boshqarish: 6 qadam
Video: Lesson 29: Car-7 Controlling SunFounder Smart Car using Remote Controller | Robojax 2024, Iyul
Anonim
LEDni potentsiometr yordamida Arduino Uno R3 yordamida boshqarish
LEDni potentsiometr yordamida Arduino Uno R3 yordamida boshqarish

Ilgari, biz yangi dasturiy ta'minotni bilish ma'rifatli bo'lishi mumkin bo'lgan ma'lumotlarni boshqaruv paneliga yuborish uchun Serial Monitor -dan foydalanganmiz. Bu darsda, LEDning yorqinligini potentsiometr yordamida qanday o'zgartirish va uning o'zgarishini ko'rish uchun ketma -ket monitorda potentsiometr ma'lumotlarini olishni ko'rib chiqamiz.

1 -qadam: komponentlar

- Arduino Uno taxtasi * 1

- USB kabeli * 1

- Rezistor (220Ω) * 1

- LED * 1

- Potansiyometr * 1

- Non paneli * 1

- o'tish simlari

2 -qadam: printsip

Chiziqli potentsiometr analog elektron komponent hisoblanadi. Xo'sh, analog va raqamli qiymat o'rtasidagi farq nima? Oddiy qilib aytganda, raqamli yoqish/o'chirish, yuqori/past darajadagi faqat ikkita holat, ya'ni 0 yoki 1. Lekin analog signallarning ma'lumot holati chiziqli, masalan, 1 dan 1000 gacha; aniq raqamni ko'rsatish o'rniga vaqt o'tishi bilan signal qiymati o'zgaradi. Analog signallarga yorug'lik intensivligi, namlik, harorat va boshqalar kiradi.

3 -qadam: sxematik diagramma

Sxematik diagramma
Sxematik diagramma

4 -qadam: protseduralar

Protseduralar
Protseduralar
Protseduralar
Protseduralar

Bu tajribada potentsiometr sifatida ishlatiladi

kuchlanish bo'luvchi, ya'ni qurilmalarni uning uchta pimiga ulash. Potentsiometrning o'rta pinini A0 piniga ulang va qolgan ikkita pinni mos ravishda 5V va GND ga ulang. Shuning uchun potentsiometrning kuchlanishi 0-5V ni tashkil qiladi. Potensiometr tugmachasini aylantiring, shunda A0 pinidagi kuchlanish o'zgaradi. Keyin bu kuchlanishni boshqaruv panelidagi AD konvertori bilan raqamli qiymatga (0-1024) aylantiring. Dasturlash orqali biz boshqaruv panelidagi LEDning yorqinligini boshqarish uchun konvertatsiya qilingan raqamli qiymatdan foydalanishimiz mumkin.

1 -qadam:

Zanjirni yarating.

2 -qadam:

Kodni https://github.com/primerobotics/Arduino saytidan yuklab oling

3 -qadam:

Eskizni Arduino Uno taxtasiga yuklang

Kodni boshqaruv paneliga yuklash uchun Yuklash belgisini bosing.

Agar oynaning pastki qismida "Yuklandi" tugmasi paydo bo'lsa, bu eskiz muvaffaqiyatli yuklanganligini bildiradi.

Potansiyometr milini aylantiring va siz LED o'zgarishini ko'rishingiz kerak.

Agar siz tegishli qiymat o'zgarishlarini tekshirmoqchi bo'lsangiz, Serial monitorni oching va potentsiometr tugmachasining aylanishi bilan oynadagi ma'lumotlar o'zgaradi. Bu tajribani xohlaganingizcha boshqalarga ham o'zgartirish mumkin. Masalan, LED yonib -o'chib turadigan vaqt oralig'ini boshqarish uchun potansiometrdan foydalaning.

5 -qadam: kod

// Potentsiometr tomonidan boshqariladi

// aylantirish

potansiyometrning o'qi va siz LED o'zgarishini ko'rishingiz kerak.

// Veb -sayt: www.primerobotics.in

/******************************************/

const

int analogPin = 0; // analog kirish pimi biriktiriladi

const

int ledPin = 9; // LED biriktiriladi

int

inputValue = 0; // sensordan keladigan qiymatni saqlash uchun o'zgaruvchi

int

outputValue = 0; // o'zgaruvchi chiqish qiymatini saqlash uchun

/******************************************/

bo'sh

sozlash()

{

Serial.begin (9600); // serialni o'rnating

aloqa uzatish tezligi 9600

}

/******************************************/

bo'sh

pastadir ()

{

inputValue = analogRead (analogPin); // o'qing

potentsiometrdan olingan qiymat

Serial.print ("Kirish:"); // chop etish

"Kiritish"

Serial.println (inputValue); // chop etish

inputValue

outputValue = xarita (inputValue, 0, 1023, 0, 255); // 0-1023 ni 0 dan 255 gacha bo'lgan sonlar soniga mutanosib aylantirish

Serial.print ("Chiqish:"); // chop etish

"Chiqish"

Serial.println (outputValue); // chop etish

chiqishValue

analogWrite (ledPin, outputValue); // aylantiring

Chiqish qiymatiga qarab LED yonadi

kechikish (1000);

}

/*******************************************/

Tavsiya: