Laboratoriya ishi № 10.
Potansiometrni ishga tushirish orqali yoritilgan diodlar sonini o‘zgartiring.
Laboratoriya ishining maqsadi: yorug‘lik diodlari bilan potentsiometrdan
foydalanishni o‘rganish.
Laboratoriyaning nazariy qismi.
Modelni yig‘ish uchun bizga quyidagilar kerak:
1. Arduino Uno;
2. USB kabeli;
3. Prototiplash taxtasi;
4. "papa -papa" simlari - 15 dona;
5. Rezistorlar 220 Ohm - 8 dona;
6. LEDlar - 8 dona;
7. Potansiometr.
Potentsiometr - o‘zgaruvchan kuchlanish bo‘luvchi. Potentsiometrlar har xil
o‘lcham va shakllarda bo‘ladi, lekin ularning hammasida uchta chiziq bor.
Potansiyometrning qiymati ekstremal terminallar orasidagi qarshilikni aniqlaydi, u
o‘zgarmaydi, o‘lchovni burab, biz o‘rta va o‘ta terminallar orasidagi qarshilikni 0
dan potentsiometr qiymatiga yoki qiymatdan nolga o‘zgartiramiz.
Ushbu qo‘llanmada biz Arduino analog kiritishidan foydalanamiz va
potentsiometrning analog sensori sifatida ishlashini ko‘rib chiqamiz va 8 sensorli
LED o‘lchagich yordamida analog sensorlar o‘qilishini namoyish etamiz.
Analog ma'lumotlarni olish uchun Arduino analogli konvertatsiya qilish
uchun 10-bitli A / D konvertori bilan jihozlangan analog kirishlarga ega. ADP
aniqligi rezolyutsiya bilan belgilanadi. 10-bit degani, ADP analog signalni 210 xil
qiymatga ajratishi mumkin. Shuning uchun, Arduino 210 dan 1024 gacha analog
qiymatlarni belgilashi mumkin, 0 dan 1023 gacha. Yo‘naltiruvchi kuchlanish
maksimal kuchlanishni aniqlaydi, uning qiymati 1023 ADP qiymatiga to‘g‘ri keladi.
0V pin bilan ADP 0, mos yozuvlar zo‘riqishida 1023. Qaytish kuchlanishni
o‘zgartirish mumkin bo‘lsa -da, biz 5V mos yozuvlardan foydalanamiz.
Shunday qilib, loyihaning tavsifidan boshlaylik. Arduinoga ulangan sakkizta
LED bir qatorda joylashtirilgan. Biz potentsiometr ulangan Arduino analogli
kirishini o‘qiymiz va uning qiymatini 8 LED o‘lchagichida ko‘rsatamiz. Agar
potansiyometrning qarshiligi (birinchi va o‘rta terminal orasidagi) 0 bo‘lsa, u holda
LEDlar yonmaydi, potansiyometrning maksimal qarshiligida 8 ta LED yonadi.
int potPin = A0;
int led1Pin = 13;
int led2Pin = 12;
int led3Pin = 8;
int led4Pin = 7;
int led5Pin = 2;
void setup()
{
pinMode(potPin, INPUT);
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
pinMode(led4Pin, OUTPUT);
pinMode(led5Pin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int potMeasure = analogRead(A0);
Serial.println(potMeasure);
if(potMeasure < 128)
{
digitalWrite(led1Pin, HIGH);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
digitalWrite(led4Pin, LOW);
digitalWrite(led5Pin, LOW);
}
else if(potMeasure < 256)
{
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, HIGH);
digitalWrite(led3Pin, LOW);
digitalWrite(led4Pin, LOW);
digitalWrite(led5Pin, LOW);
}
else if(potMeasure < 512)
{
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, HIGH);
digitalWrite(led4Pin, LOW);
digitalWrite(led5Pin, LOW);
}
else if(potMeasure < 768)
{
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
digitalWrite(led4Pin, HIGH);
digitalWrite(led5Pin, LOW);
}
else if(potMeasure < 1024)
{
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
digitalWrite(led4Pin, LOW);
digitalWrite(led5Pin, HIGH);
}
}
|