2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
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
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
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:
MIDI -ni Teclado -ga o'zgartiring: 8 qadam
MIDI -ni Teclado -ga o'tkazish: MIDI -ni yangilash: men hech kimni bilmasligim kerak, lekin men hech kimga ishonmayman. funktsiyani o'rnatish
18650 LiPo batareyasi bilan Android Tab batareyasini osongina o'zgartiring: 5 qadam
18650 LiPo batareyasi bilan Android Tab batareyasini osongina o'zgartiring: Bu ko'rsatmada biz 18650 LiPo batareyasi bilan batareyasi o'lgan eski Android Tab -ni qanday o'zgartirish kerakligini ko'rib chiqamiz. Ogohlantirishlar: LiPo (Lityum Polimer) batareyalari, agar ehtiyot chorasi ko'rilmasa, yonish/portlash bilan mashhur. Lityum bilan ishlash
Arduino g'isht ranglarini ajratish loyihasi: 5 qadam
Arduino g'isht ranglarini ajratish loyihasi: Arduino qo'llanmasida biz o'yinchoq g'ishtim ranglarini Arduino va TCS3200 rang sensori yordamida aniqlashni o'rganamiz. Qo'shimcha ma'lumot olish uchun quyida yozma qo'llanmani o'qishingiz mumkin. Materiallar: Arduino Leonardo x 1TCS3200 x 1 Ko'p karton 180 Servo
O'zingizning rangingizni o'zgartiring LED zavodini o'stiring!: 9 qadam
O'zingizning rangingiz o'zgaradigan LED o'simlikni o'stiring!: Ushbu ko'rsatmada men sizga o'zingizning LED -zavodingizni oddiy materiallardan qanday o'stirishni o'rgataman
Led -ni klaviaturadan o'zgartiring: 5 qadam
Led -ni klaviaturadan o'zgartiring: bu sizning klaviaturangiz bilan ishlashning yana bir oson, lekin ajoyib loyihasi. Ehtimol siz klaviaturadagi yashil LEDlardan charchadingiz va boshqa rangni xohlaysizmi? Yoki siz klaviaturadagi har bir LED uchun boshqa rangni xohlaysizmi? Bu ko'rsatma