Mundarija:

POT va ATTINY85: 3 qadam yordamida LED ranglarini o'zgartiring
POT va ATTINY85: 3 qadam yordamida LED ranglarini o'zgartiring

Video: POT va ATTINY85: 3 qadam yordamida LED ranglarini o'zgartiring

Video: POT va ATTINY85: 3 qadam yordamida LED ranglarini o'zgartiring
Video: Автомобильный генератор для генератора с самовозбуждением с использованием ДИОДА 2024, Iyul
Anonim
POT va ATTINY85 yordamida LED ranglarini o'zgartiring
POT va ATTINY85 yordamida LED ranglarini o'zgartiring
POT va ATTINY85 yordamida LED ranglarini o'zgartiring
POT va ATTINY85 yordamida LED ranglarini o'zgartiring
POT va ATTINY85 yordamida LED ranglarini o'zgartiring
POT va ATTINY85 yordamida LED ranglarini o'zgartiring

Ushbu loyihada biz ATTINY85 yordamida LEDdagi ranglarni o'zgartirish uchun potentsiometrdan (POT) foydalanamiz.

Ba'zi ta'riflar -

Potentsiometr - bu kichik vintli / burilish mexanizmiga ega qurilma, u har xil elektr qarshiligini chiqaradi. Siz yuqoridagi izohli rasmdan ko'rishingiz mumkinki, POTda 3 ta pin bor, ya'ni +, - va chiqish. Quvvat manbai + va - pinlarini mos ravishda vcc va erga ulash orqali quvvatlanadi. POT vintini burish paytida chiqish qarshiligi o'zgaradi va LEDning pasayishi yoki intensivligining oshishiga olib keladi.. Boshqacha aytganda, bu o'zgaruvchan qarshilik. Ular uy yoritgichlari kabi narsalarda ishlatiladi.

LED - bu kichik yorug'lik, lekin elektr toki o'tganda ham yonadi. Bunday holda, biz 3 pinli, bitta tuproqli (o'rta) va ikkita pinli, yashil va qizil rangda ko'rsatiladigan ko'p rangli LEDni ishlatamiz.

ATTINY85-bu Arduino kabi dasturlash mumkin bo'lgan kichik mikrochip.

Umumiy nuqtai - POTdan chiqish ATTINY85 ga ulangan. POT vintini aylantirganda, 0 dan 255 gacha bo'lgan farq sifatida qarshilik farqi chiqariladi. ATTINY buni o'lchashi va POT qarshiligining qiymatiga qarab har xil harakatlarni bajarishi mumkin. Bunday holda, biz uni LEDga ulanishni quyidagicha dasturlashtirdik.

Agar raqam 170 dan katta bo'lsa, LEDni Yashil rangga o'tkazing.

Agar raqam 170 dan kam bo'lsa, lekin 85 dan katta bo'lsa, LEDni RED ga o'zgartiring.

agar raqam 85 dan kam bo'lsa, Yashil va qizil rangdagi LEDni yoqing, bu to'q sariq rangga olib keladi.

BOM

1 x 3 pinli LED 1 x ATTINY 85

1 x POT (B100K)

1 x non paneli va kabellar

1 ta quvvat manbai.

1 -qadam: ATTINY85 dasturlash

ATTINY85-ni dasturlash bo'yicha, iltimos, mening oldingi ko'rsatmamga qarang-https://www.instructables.com/id/15-Dollar-Attiny8…

Kod quyida ko'rsatilgan. Shuni ta'kidlash kerakki, ikkita ATTINY pimi, PB3, jismoniy 2, PB2, jismoniy pin 7, raqamli rejimda, rang o'zgarishini amalga oshirish uchun LEDga ulangan. ATTINY pin PB4, 3 -jismoniy pin, POTga analog rejimda ulangan, ya'ni u 0 dan 254 gacha bo'lgan qiymatlarni o'qishi mumkin. Men Internetda topilgan kodni moslashtirdim, shuning uchun men bu ishni tan olaman. -

Void initADC () {// *** // *** ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** ============= ================================================= ============================= // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]* [8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) //* ** (PCINT4/XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/ DI/SDA/AIN0/OC0A/OC1A/AREF/PCINT0) // *** // pb4 - POT uchun kirish // pb3 ledli pin 1 // pb2 ledli pin 3 // ATTINY 85 chastotasi ichki 8 MGts da o'rnatilgan/* bu funksiya ADC ni ishga tushiradi

ADC Prescaler haqida eslatmalar:

ADC Prescaler ADC kirish chastotasi 50 - 200 kHz oralig'ida bo'lishi kerak.

Qo'shimcha ma'lumot olish uchun 17.13.2 "ADCSRA - ADC nazorati va statuslar reestri A" 17.13.2 bo'limidagi 17.5 "ADC Prescaler tanlovlari" jadvaliga qarang (ATtiny25/45/85 to'liq ma'lumotlar varag'ining 140 va 141 -sahifalari, Rev. 2586M -AVR – 07/ 10)

Har xil soat tezligi uchun oldindan hisoblagich qiymatlari

Soat mavjud Prescaler qiymatlari --------------------------------------- 1 MGts 8 (125 kHz), 16 (62,5 kHz) 4 MGts 32 (125 kHz), 64 (62,5 kHz) 8 MGts 64 (125 kHz), 128 (62,5 kHz) 16 MGts 128 (125 kHz)

Quyidagi misolda 8 MGts da ishlaydigan mcu uchun prescaler 128 o'rnatilgan

(oldindan hisoblagichni o'rnatish uchun ma'lumotlar jadvalini mos bit qiymatlari uchun tekshiring) */

// 8 bitli aniqlik

// chapga siljish natijasini yoqish uchun ADLARni 1 ga sozlang (faqat ADC9.. ADC2 bitlari mavjud) // keyin 8 bitli natijalar uchun ADCHni o'qish kifoya (256 qiymat) DDRB | = (1 << PB3); // Pin chiqish sifatida o'rnatiladi. DDRB | = (1 << PB2); // Pin chiqish sifatida o'rnatiladi. ADMUX = (1 << ADLAR) | // chapga siljish natijasi (0 << REFS1) | // Qayta sozlash. VCC ga kuchlanish, bit 1 (0 << REFS0) | // Qayta sozlash. VCC ga kuchlanish, bit 0 (0 << MUX3) | // kirish uchun ADC2 dan foydalaning (PB4), MUX bit 3 (0 << MUX2) | // kirish uchun ADC2 dan foydalaning (PB4), MUX bit 2 (1 << MUX1) | // kirish uchun ADC2 dan foydalaning (PB4), MUX bit 1 (0 << MUX0); // kirish uchun ADC2 dan foydalaning (PB4), MUX bit 0

ADCSRA =

(1 << ADEN) | // ADCni yoqish (1 << ADPS2) | // oldindan hisoblagichni 64, bit 2 ga sozlang (1 << ADPS1) | // oldindan hisoblagichni 64 ga sozlang, bit 1 (0 << ADPS0); // oldindan hisoblagichni 64 ga sozlang, bit 0}

int main (bekor)

{initADC ();

vaqt (1)

{

ADCSRA | = (1 << ADSC); // ADC o'lchashni boshlash (ADCSRA & (1 << ADSC)); // konvertatsiya tugashini kuting

agar (ADCH> 170)

{PORTB | = (1 << PB3); // PIN -kod HIGH -ga o'rnatildi. PORTB | = (1 << PB2); // PIN -kod HIGH -ga o'rnatildi. } else if (ADCH 85) {PORTB | = (1 << PB3); // PIN -kod HIGH -ga o'rnatildi. PORTB & = ~ (1 << PB2); // PIN -kod past

} boshqa {

PORTB | = (1 << PB2); // PIN -kod HIGH -ga o'rnatildi. PORTB & = ~ (1 << PB3); // PIN -kod past

}

}

qaytarish 0;

}

2 -qadam: O'chirish

O'chirish
O'chirish

ATTINY pinlari

PB3, jismoniy pin 2 - ulangan LED pin 1

PB4, jismoniy pin 3, o'rta pin POT ga ulangan

GND, jismoniy pin 4, manfiy temir yo'l - quvvat manbaiga ulangan

PB2, jismoniy pin 7 - ulangan LED pin 3

VCC, jismoniy pin 8, musbat temir yo'l - quvvat manbaiga ulangan

POT

tegishli relslarga ulangan pos va neg pin - quvvat manbai.

LED

manfiy temir yo'lga ulangan o'rta pin - quvvat manbai

Men 3 va 3,3 voltli quvvat manbalarini sinab ko'rdim va ikkalasi ham ishladi.

3 -qadam: Xulosa

Xulosa
Xulosa

ATTINY85 -ning analog va raqamli rejim o'rtasida harakat qilish qobiliyati juda kuchli va uni turli xil ilovalarda, masalan, ishlatish mumkin. o'zgaruvchan tezlikli motorlarni haydash va musiqiy notalar yaratish. Men buni kelgusi ko'rsatmalarni o'rganib chiqaman. Umid qilamanki, siz buni foydali deb topdingiz.

Tavsiya: