Kirish: Arduino 101 asoslari Eliesalame
-qadam: AnalogRead() va AnalogWrite()
Download 329 Kb.
|
2-amaliyot barno
4-qadam: AnalogRead() va AnalogWrite()
Ushbu misolda men analogRead() va analogWrite() ikkita bayonotidan foydalanishni ko'rsataman. Men foydalanayotgan eskiz ReadAnalogVoltage deb ataladi, uni File/Examples/01.Basics dan yuklash mumkin va analogwrite() ni namoyish qilish uchun bir necha qator qo‘shdim. Sizga Arduino, potansiyometr, LED va bir nechta o'tish simlari kerak bo'ladi. Potansiyometrning o'rta pinini Arduino-dagi A0 (analog 0) piniga, so'ngra + ve-ni Arduino-dagi 5v ga va -ve-ni Arduino-dagi GND ga ulang. Va LEDning + va simini Arduino-dagi D5 ga va -ve simini GND ga ulang. Ushbu Sketchda A0 pinining qiymati ketma-ket monitorda chop etiladi va bir vaqtning o'zida biz potansiyometrni aylantirganimizda LEDning yorqinligi o'zgaradi. Eskiz : int LEDpin = 5; //raqamli pin 5 ga LED ulangan bekor o'rnatish() { Serial.begin(9600); // sekundiga 9600 bit tezlikda ketma-ket aloqani ishga tushiring pinMode (LEDpin, OUTPUT); // 5-pindagi pin rejimini OUTPUT ga o'rnating } void loop() { int sensorValue = analogRead(A0); // 0 analog pinidagi kirishni o'qing float kuchlanish = sensorValue * (5.0 / 1023.0); // Analog ko'rsatkichni o'zgartiring (0 - 1023 gacha) kuchlanishga (0 - 5V) analogWrite (LEDpin, kuchlanish); //Kuchlanish qiymatini LED piniga qo'llang Serial.println(kuchlanish); // o'qigan qiymatni chop eting: } Keling, eskizni ajratamiz: int LEDpin = 5; Bu LEDpin deb nomlangan int tipidagi o'zgaruvchi bo'lib, Arduino-da 5-pinda LED mavjudligini bildiradi. bekor o'rnatish() { Serial.begin(9600); pinMode (LEDpin, OUTPUT); } Serial.begin(9600): Seriyali monitorni soniyasiga 9600 bod tezlikda ishga tushiradi pinMode(LEDpin, OUTPUT): Arduino-dagi 5-pinning pin rejimini OUTPUT ga o'rnatadi. void loop() { int sensorValue = analogRead(A0); float kuchlanish = sensorValue * (5.0 / 1023.0); analogWrite (LEDpin, kuchlanish); Serial.println(kuchlanish); } analogRead(): Birinchi qator int tipidagi sensorValue deb nomlangan yangi mahalliy o'zgaruvchini e'lon qiladi va biz Arduino'da A0 analog pinidan o'qigan qiymatga tayinlanadi. Raqamli pinlar 1 va 0 ni o'qishi va yozishi mumkin, ammo Arduino'dagi analog pinlar 0 dan 1023 gacha bo'lgan qiymatlarni o'qishi va yozishi mumkin. Ikkinchi qatorda kuchlanish deb ataladigan float turidagi yangi o'zgaruvchi (o'nli kasrlar bilan) kiritiladi, bu yangi mahalliy o'zgaruvchining qiymati sensorValue*(5.0/1023.0). Endi biz o'zgaruvchining qiymatini matematik tenglama yordamida manipulyatsiya qilish mumkinligini ko'rishimiz mumkin. Analog pinlar 0 dan 1023 gacha natijalar berganligi sababli, biz bu qiymatni 0 dan 5 voltgacha bo'lgan voltga aylantirmoqchimiz. Shunday qilib, biz sensorValue-da olgan qiymatni olamiz va uni 5.0/1023.0 ga ko'paytiramiz, bu bizga 0 dan 5 voltgacha bo'lgan qiymatni beradi. Misol: Agar biz potensiometrni yarmiga aylantirsak, analog ko'rsatkich 512 bo'ladi. Keyin bu qiymatni sensorValue ga 512 belgilaymiz. Kodga ko'ra float kuchlanish = sensorvalue*(5.0/1023.0) keyin kuchlanish = 512* (5.0/1023.0) = 2.50 volt analogWrite(): ushbu iboradan foydalanib, yuqoridagi misoldan foydalanib, pinga yangi qiymat yozishimiz mumkin, LEDpin qiymati kuchlanishini belgilash, agar kuchlanish yetarli bo'lsa, LEDni quvvatlantiradi. Serial.println(): bu ketma-ket monitordagi kuchlanish qiymatini chop etadi. Men ishlatgan LED kuchlanish 1,3 voltga yetganda zaif yonadi Maslahat qo'shishSavol beringIzohYuklab oling Download 329 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling