Mündəricat:

Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin: 3 addım
Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin: 3 addım

Video: Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin: 3 addım

Video: Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin: 3 addım
Video: Использование карты Micro SD и регистрация данных с Arduino | Пошаговый курс Arduino, урок 106 2024, Iyul
Anonim
Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin
Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin
Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin
Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin
Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin
Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin

Bu layihədə ATTINY85 istifadə edərək LED -də rəngləri dəyişdirmək üçün potensiometrdən (POT) istifadə edirik.

Bəzi təriflər -

Potansiyometr, kiçik bir vida / dönmə mexanizmi olan bir cihazdır ki, açıldıqda fərqli elektrik müqavimətləri verir. Yuxarıdakı əlavə edilmiş şəkildən görə bilərsiniz ki, POT -un 3 sancağı var, yəni +, - və çıxışı. POT, + və - pinlərini müvafiq olaraq bir enerji təchizatı üzərində vcc və yerə bağlayaraq işləyir. POT vidası döndükcə çıxış müqaviməti dəyişir və LED -in intensivliyinin azalmasına və ya artmasına səbəb olur.. Başqa sözlə, dəyişən bir rezistordur. Ev işığı dimmerləri kimi şeylərdə istifadə olunur.

LED - Bu elektrik cərəyanı keçsə də işıq saçan kiçik bir işıqdır. Bu vəziyyətdə, tetiklendiğinde sırasıyla yaşıl və qırmızı göstərən 3 sancaq, bir torpaq (orta) və iki pin olan çox rəngli bir LED istifadə edəcəyik.

ATTINY85-bu Arduino kimi proqramlaşdıra biləcəyiniz kiçik bir ucuz mikro çipdir.

Baxış - POT -dan çıxış ATTINY85 -ə bağlıdır. POT vidası döndükcə 0 ilə 255 arasında bir fərq müqaviməti çıxır. ATTINY bunu ölçə və POT müqavimətinin dəyərindən asılı olaraq fərqli hərəkətlər edə bilər. Bu vəziyyətdə, LED -ə qoşulmaq üçün aşağıdakı kimi proqramlaşdırdıq.

Nömrə 170 -dən çox olarsa, LED -i YEŞİL -ə dəyişin.

Nömrə 170 -dən az, lakin 85 -dən çox olarsa, LED -i QIRMIZI -ya dəyişin.

sayı 85 -dən azdırsa, narıncı ilə nəticələnən LED YAŞIL VƏ QIRMIZI yandırın.

BOM

1 x 3 pin LED 1 x ATTINY 85

1 x POT (B100K)

1 x çörək taxtası və kabellər

1 enerji təchizatı.

Addım 1: ATTINY85 proqramlaşdırılması

ATTINY85-in proqramlaşdırılması baxımından zəhmət olmasa əvvəlki göstərişlərimə baxın-https://www.instructables.com/id/15-Dollar-Attiny8…

Kod aşağıda göstərilmişdir. Diqqət yetirməli bəzi məqamlar, rəng dəyişikliyini həyata keçirmək üçün iki ATTINY sancağının, PB3, fiziki pin 2, PB2, fiziki pin 7 -nin rəqəmsal rejimdə LED -ə bağlı olmasıdır. ATTINY pin PB4, fiziki pin 3, analoq rejimdə POT -a qoşulur, yəni 0 ilə 254 arasında olan dəyərləri oxuya bilər. İnternetdə tapdığım kodu özəlləşdirdiyim üçün bu işi qəbul edirəm. -

etibarsız initADC () {// *** // *** ATtiny25/45/85 Pinout: // *** 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 // pb3 led pin 1 // pb2 led pin 3 // Daxili 8 MHz -də ATTINY 85 tezliyi üçün giriş/* bu funksiya ADC -ni işə salır

ADC Prescaler Qeydləri:

ADC Prescaler, ADC giriş tezliyinin 50 - 200kHz arasında olması üçün qurulmalıdır.

Ətraflı məlumat üçün 17.13.2 "ADCSRA - ADC Nəzarət və Status Reyti A" bölməsindəki 17.5 "ADC Prescaler Seçimləri" nə baxın (tam ATtiny25/45/85 məlumat cədvəlində 140 və 141 səhifələr, Rev. 2586M -AVR – 07/ 10)

Müxtəlif saat sürətləri üçün etibarlı prescaler dəyərləri

Saat Mövcud prescaler dəyərləri --------------------------------------- 1 MHz 8 (125kHz), 16 (62.5kHz) 4 MHz 32 (125kHz), 64 (62.5kHz) 8 MHz 64 (125kHz), 128 (62.5kHz) 16 MHz 128 (125kHz)

Aşağıdakı nümunə, 8MHz -də işləyən mcu üçün prescaler'ı 128 olaraq təyin etdi

(prescaler qurmaq üçün uyğun bit dəyərləri üçün məlumat cədvəlini yoxlayın) */

// 8 bitlik qətnamə

// Sol sürüşmə nəticəsini aktivləşdirmək üçün ADLAR-ı 1 olaraq təyin edin (yalnız ADC9.. ADC2 bitləri mövcuddur) // o zaman 8 bitlik nəticələr (256 dəyər) üçün ADCH oxumaq kifayətdir DDRB | = (1 << PB3); // Pin çıxış olaraq təyin olunur. DDRB | = (1 << PB2); // Pin çıxış olaraq təyin olunur. ADMUX = (1 << ADLAR) | // sol sürüşmə nəticəsi (0 << REFS1) | // refer təyin edir. gərginlik VCC, bit 1 (0 << REFS0) | // refer təyin edir. gərginlik VCC, bit 0 (0 << MUX3) | // giriş üçün ADC2 istifadə edin (PB4), MUX bit 3 (0 << MUX2) | // giriş (PB4), MUX bit 2 (1 << MUX1) üçün ADC2 istifadə edin | // giriş (PB4), MUX bit 1 (0 << MUX0) üçün ADC2 istifadə edin; // giriş üçün ADC2 istifadə edin (PB4), MUX bit 0

ADCSRA =

(1 << ADEN) | // ADC -ni aktiv edin (1 << ADPS2) | // prescaler 64, bit 2 (1 << ADPS1) | // prescaler'ı 64, bit 1 (0 << ADPS0) olaraq təyin edin; // prescaler 64, bit 0} olaraq təyin edin

int main (boş)

{initADC ();

vaxt (1)

{

ADCSRA | = (1 << ADSC); // ADC ölçməsinə başlayın (ADCSRA & (1 << ADSC)); // dönüşümün tamamlanmasını gözləyin

əgər (ADCH> 170)

{PORTB | = (1 << PB3); // Pin YÜKSƏK olaraq təyin edildi. PORTB | = (1 << PB2); // Pin YÜKSƏK olaraq təyin edildi. } else if (ADCH 85) {PORTB | = (1 << PB3); // Pin YÜKSƏK olaraq təyin edildi. PORTB & = ~ (1 << PB2); // Pin LOW olaraq təyin edildi

} başqa {

PORTB | = (1 << PB2); // Pin YÜKSƏK olaraq təyin edildi. PORTB & = ~ (1 << PB3); // Pin LOW olaraq təyin edildi

}

}

qaytarma 0;

}

Addım 2: Dövrə

Dövrə
Dövrə

ATTINY sancaqlar

PB3, fiziki pin 2 - bağlı LED pin 1

PB4, fiziki pin 3, orta pin POT -a bağlıdır

GND, fiziki pin 4, mənfi dəmir yolu - enerji təchizatına bağlıdır

PB2, fiziki pin 7 - bağlı LED pin 3

VCC, fiziki pin 8, müsbət dəmir yolu - enerji təchizatına bağlıdır

POT

müvafiq relslərə qoşulmuş pos və neg pin - enerji təchizatı.

LED

Mənfi dəmir yolu ilə birləşdirilmiş orta pin - enerji təchizatı

3 və 3.3 voltluq bir enerji təchizatı istifadə edərək sınadım və hər ikisi də işlədim.

Addım 3: Nəticə

Nəticə
Nəticə

ATTINY85 -in analoq və rəqəmsal rejim arasında hərəkət etmə qabiliyyəti çox güclüdür və bir çox fərqli tətbiqdə istifadə edilə bilər. dəyişən sürətli motorları idarə etmək və musiqi notları yaratmaq. Gələcək təlimatlarda bunu araşdıracağam. Ümid edirəm bunu faydalı hesab etdiniz.

Tövsiyə: