Ishdan maqsad: Virtual Breadboard dasturida Potensiometrni xarakatlantirish orqali yonayotgan yorug‘lik diodining sonini o‘zgartirish
Potentsiometr o'zgaruvchan kuchlanishni ajratuvchi vositadir. Potentsiometrlar juda ko'p o'lcham va shakllarda bo'ladi, ammo ularning barchasi uchta pinga ega . Potentsiometrning qiymati ekstremal terminallar orasidagi qarshilikni aniqlaydi, u o'zgarmaydi, o'lchovni burish orqali biz o'rta va ekstremal terminallar orasidagi qarshilikni 0 dan potansiyometrning nominal qiymatiga yoki nominaldan nolga o'zgartiramiz.Ushbu qo'llanmada biz Arduino analog kirishidan foydalanamiz va potentsiometrning analog sensor sifatida qanday ishlashini ko'rib chiqamiz va 8 LED shkalasi yordamida analog sensor ko'rsatkichlarini ko'rsatamiz.
Analog ma'lumotlarni olish uchunArduino analog konvertatsiya qilish uchun 10-bitli A/D konvertor bilan jihozlangan analog kirishlarga ega. ADC ning aniqligi rezolyutsiya bilan belgilanadi. 10-bitli ADC analog signalni 210 xil qiymatga bo'lishi mumkinligini anglatadi. Shuning uchun, Arduino 0 dan 1023 gacha bo'lgan 210=1024 analog qiymatlarni belgilashi mumkin. Voltaj mos yozuvlar maksimal kuchlanishni belgilaydi, uning qiymati ADC ning 1023 qiymatiga mos keladi. Pimdagi 0 V da ADC 0 ni qaytaradi, kuchlanish mos yozuvi 1023 ni qaytaradi. Malumot kuchlanishini o'zgartirish mumkin bo'lsa-da, biz 5 V moslamadan foydalanamiz.
Biz potentsiometr ulangan Arduino-ning analog kirishini o'qiymiz va uning qiymatini 8 LED shkalasida ko'rsatamiz. Agar Potentsiometrning qarshiligi (birinchi va o'rta pin o'rtasida) 0 bo'lsa, u holda LEDlarning hech biri yonmaydi, potansiyometrning maksimal qarshiligida barcha 8 ta LED yonadi.
Ushbu loyiha uchun sizga Arduino to'plamlarining har biriga kiritilgan quyidagi qismlar kerak bo'ladi :
Arduino Uno;
USB kabeli;
prototiplash taxtasi;
"Ota-ota" simlari - 15 dona;
Rezistorlar 220 Ohm - 8 dona;
LEDlar - 8 dona;
Potansiyometr.
Yuqorida keltirilgan detallarni Tinkercad online platformasida quyidagi rasmdagi kabi yig’ib olamiz,
Setup() pastki dasturida biz LED ulanish pinlarini chiqish sifatida sozlaymiz
const int pinsled[8]={5,6,7,8,9,10,11,12};
for(int i=0;i<8;i++)
{
// LED ulanish pinlarini chiqish sifatida sozlash
pinMode(pinsled[i],OUTPUT);
digitalWrite(pinsled[i],LOW);
}
Asosiy dastur tsiklida biz A0 analog kirishini (potentsiometrning o'rta chiqishini ulash uchun kirish) so'raymiz va xaritadan foydalanib analog ma'lumotlarni (0 - 1023) LEDlarning (0 - 8) masshtab ma'lumotlariga o'lchaymiz. ) funktsiyasini tanlang va mos keladigan LEDlarni yoqing.
valpot = analogRead (POT); // Potentsiometr ma'lumotlarini o'qing
// qiymatni 0-8
oraliqgacha masshtablash countleds=map(valpot,0,1023,0,8);
// shkaladagi barlar sonini yonadi countled
for(int i=0;i<8;i++)
{
if(i<="" b="">
digitalWrite(pinsled[i],HIGH) ;
else // LED shkalasini o'chiring
digitalWrite(pinsled[i],LOW);
}
Keling, Arduino IDE-da yangi eskiz yaratamiz, unga 1-listdagi kodni qo'shamiz va eskizni Arduino taxtasiga yuklaymiz. Eslatib o'tamiz, Arduino IDE sozlamalarida siz plata turini (Arduino UNO) va plataga ulanish portini tanlashingiz kerak.
const int POT=0; // Potentsiometrni ulash uchun analog kirish A0
int valpot = 0; // Potentsiometrning qiymatini saqlash uchun
o'zgaruvchi
// LED shkalasini ulash uchun pinlar ro'yxati
const int pinsled[8]={4,5,6,7,8,9,10,11};
int soni = 0; // masshtab qiymatini saqlash uchun o'zgaruvchi
void setup()
{
for(int i=0;i<10;i++)
{
// Masshtabli ulanish pinlarini chiqish sifatida sozlash
pinMode(pinsled[i],OUTPUT);
digitalWrite(pinsled[i],LOW);
}
}
void loop()
{
valpot = analogRead(POT); // Potentsiometr ma'lumotlarini
o'qing
// qiymatni 0-8 oraliqgacha masshtablash
countleds=map(valpot,0,1023,0,8);
// countled ga teng LEDlar sonini yoqing
for(int i=0;i<8;i++)
{
if(i(pinsled[i],HIGH);
else // LED shkalasini o'chiring
digitalWrite(pinsled[i],LOW);
}
}
Yuklashdan so'ng biz potansiyometr tugmachasini aylantiramiz va LEDlarning shkalasi bo'yicha qiymatning o'zgarishini kuzatamiz:
Yuqoridagi rasmda potensiometr yarim holatgacha buralgan bunda ko’k diodlarning 3 donasi yonib turibdi. Qolgan qizil diodlat o’chik holatda.
Pastdagi rasmda esa potensiometr to’liq holatga buralgan bun barcha diodlar yonib turibdi.
IV
RGB-yorug‘lik diodi. Impuls kengligining modulyatsiyasi.
Strukturaviy tarzda, uch rangli LED umumiy korpusga o'rnatilgan 3 rangli LED yoki aniqrog'i, bitta matritsaga birlashtirilgan 3 ta kristalldir. Quyidagi rasmda o'rnatilgan RGB LEDning mikrografi ko'rsatilgan. Suratdagi rangli kvadratlar asosiy ranglarning kristallaridir.
Turlari
Boshqarish sxemalarining turli xil variantlariga moslashish uchun RGB diodlari bir nechta modifikatsiyada ishlab chiqariladi:
Umumiy katod versiyasi
Umumiy anodli versiya
Umumiy anod yoki katod yo'q, oltita simli
Birinchi holda, LED anodlarga qo'llaniladigan musbat polarit signallari, ikkinchi holda, katodlarga qo'llaniladigan salbiy impulslar bilan boshqariladi. Bajarishning uchinchi modifikatsiyasi har qanday kommutatsiya opsiyalariga imkon beradi va odatda SMD komponenti sifatida ishlab chiqariladi.