Mündəricat:
Video: Bir POT və ATTINY85 istifadə edərək LED rənglərini dəyişdirin: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
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ə
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ə
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ə:
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: 4 addım
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: Salam, mən Rithikəm. Telefonunuzdan istifadə edərək internetə nəzarət edən bir led quracağıq. Arduino IDE və Blynk kimi proqramlardan istifadə edəcəyik. Bu çox sadədir və uğur qazansanız istədiyiniz qədər elektron komponenti idarə edə bilərsiniz
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək Sürətləndirməni izləyin: Sürətləndirmə sonsuzdur, düşünürəm ki, Fizikanın bəzi qanunlarına görə. Sahilə çıxan ən sürətli məxluq, bir anda ən yüksək sürətindən istifadə edərək ovunu tutur
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow - Arduino IDE -dən istifadə edərək M5stack M5stick C -dən istifadə edərək Neopixel Ws2812 -də Göy qurşağının Çalışması: 5 addım
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow | Arduino IDE istifadə edərək M5stack M5stick C istifadə edərək Neopixel Ws2812 üzərində Göy qurşağı çalıştırın: Salam uşaqlar bu təlimatlarda Arduino IDE ilə m5stack m5stick-C inkişaf lövhəsi ilə neopixel ws2812 LED və ya led şerit və ya led matris və ya led üzük istifadə etməyi öyrənəcəyik. onunla bir göy qurşağı nümunəsi
AVR mikro nəzarətçisi. Bir düyməni istifadə edərək LED -i dəyişdirin. Push Button Debouncing .: 4 Addım
AVR mikro nəzarətçisi. Bir düyməni istifadə edərək LED -i dəyişdirin. Push Button Debouncing .: Bu bölmədə, ATMega328PU üçün üç LED -in vəziyyətini bir düymənin açarına uyğun olaraq dəyişdirmək üçün C proqramının necə hazırlanacağını öyrənəcəyik. Ayrıca, 'Switch Bounce' probleminin həllini araşdırdıq. Həmişə olduğu kimi, biz