Mundarija:
- 1 -qadam: dasturiy ta'minotda puls kengligi modulyatsiyasi
- 2 -qadam: Uskuna va kerakli komponentlar
- 3 -qadam: Qolgan dasturiy ta'minot va natija
Video: Bir nechta elektron shamlar: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Elektron shamlar Instructables -da ko'p marta joylashtirilgan, shuning uchun nima uchun?
Uyda menda LED yoritgichli va kichik batareyali yarim shaffof Rojdestvo uylari bor. Ba'zi uylarda sham effektli LEDlar, ba'zilari esa yonib turgan LEDlar mavjud. Kichik batareyalar nisbatan tez bo'shashadi va men hamma uylarda sham effektiga ega bo'lishni xohlaganim uchun uni PIC loyihasi qilishga qaror qildim. Albatta, siz uni Arduino loyihasiga aylantira olasiz.
Xo'sh, bu elektron sham nimasi bilan ajralib turadi? PIC va Arduino -ning bortida LED yordamida sham effektini yaratish uchun ishlatilishi mumkin bo'lgan Pulse Width Modulation (PWM) uskunasi bor, lekin menimcha, bitta boshqaruvchi yordamida 5 ta mustaqil elektron shamga ega bo'lishni xohlardim, lekin u yo'q buni men bilaman. Men foydalangan yechim - bu beshta mustaqil PWM signalini to'liq dasturiy ta'minotda yaratish.
1 -qadam: dasturiy ta'minotda puls kengligi modulyatsiyasi
Puls kengligi modulyatsiyasi bir necha bor tasvirlangan, masalan. ushbu Arduino maqolasida:
PIC va Arduino -da maxsus PWM uskunalari bor, bu PWM signalini ishlab chiqarishni osonlashtiradi. Agar biz dasturiy ta'minotda bir yoki bir nechta PWM signallarini yaratmoqchi bo'lsak, bizga ikkita taymer kerak:
- PWM chastotasini yaratish uchun ishlatiladigan bitta taymer
- PWM ish aylanishini yaratish uchun ishlatiladigan bitta taymer
Ikkala taymer ham tugatgandan so'ng ishlab chiqaradi va to'xtatadi, shuning uchun PWM signalini boshqarish to'liq uzilishlar bilan amalga oshiriladi. PWM chastotasi uchun men PIC ning taymerini 0 ishlataman va uning to'lib ketishiga yo'l qo'yaman. 8 MGts chastotali ichki osilatorli soat va 64 ga teng bo'lgan formulalar: Fosc / 4/256/64 = 2.000.000 / 256/64 = 122 Gts yoki 8, 2 ms. Chastotani etarlicha yuqori bo'lishi kerak, shunda inson ko'zlari uni aniqlay olmaydi. Buning uchun 122 Gts chastotasi etarli. Taymerni to'xtatish tartibi bajaradigan yagona narsa - bu yangi PWM tsikli uchun ish aylanishini nusxalash va barcha LEDlarni yoqish. Bu 5 ta LEDni mustaqil ravishda bajaradi.
PWM ish aylanishini boshqarish uchun taymerning qiymati sham effektini qanday yaratganimizga bog'liq. Men o'zimning yondashuvimda LEDning yorqinligini oshirish uchun ish tsiklini 3 ga oshirish va LEDning yorqinligini kamaytirish uchun uni 25 ga kamaytirish orqali simulyatsiya qilaman. Shu tarzda siz shamga o'xshash effekt olasiz. Men minimal 3 qiymatidan foydalanganim uchun, bitta bayt bilan to'liq ish tsiklini boshqarish uchun qadamlar soni 255/3 = 85. Bu shuni anglatadiki, PWM ish tsikli taymerining chastotasi 85 marta chastotada ishlashi kerak. PWM chastota taymerlari 85 * 122 = 10.370 Gts.
PWM ish tsikli uchun men PICning 2 -taymeridan foydalanaman. Bu avtomatik qayta yuklanadigan taymer va u quyidagi formuladan foydalanadi: Davr = (Qayta yuklash + 1) * 4 * Tosc * Taymer2 oldindan o'lchash qiymati. 191 -ni qayta yuklash va 1 -ni oldindan o'lchash bilan biz (191 + 1) * 4 * 1/8000.000 * 1 = 96 bizni yoki 10.416 Gtsni olamiz. PWM ish tsikli ish vaqtining o'tganligini tekshiradi va ish aylanishi tugagan LEDni o'chiradi. Agar ish tsikli o'tmagan bo'lsa, u ish tsikli hisoblagichini 3 ga kamaytiradi va tartibni tugatadi. Bu barcha LEDlar uchun mustaqil ravishda amalga oshiriladi. Mening holimda, bu uzilish tartibi taxminan 25 bizni oladi va har 96 bizni chaqirgani uchun, protsessorning 26% dasturiy ta'minotdagi PWM ish aylanishini boshqarishda ishlatiladi.
2 -qadam: Uskuna va kerakli komponentlar
Sxematik diagramma yakuniy natijani ko'rsatadi. Garchi men faqat 5 ta LEDni mustaqil boshqargan bo'lsam -da, men boshqa 5 ta LEDdan biri bilan birga ishlaydigan 6 -chi LEDni qo'shdim. PIC ikkita LEDni bitta port piniga ulab bo'lmagani uchun men tranzistor qo'shdim. Elektronika 6 volt / 100 mA shahar adapteri bilan oziqlanadi va barqaror 5 voltli past kuchlanishli regulyatordan foydalanadi.
Ushbu loyiha uchun sizga quyidagi komponentlar kerak bo'ladi:
- 1 PIC mikrokontroller 12F615
- 2 ta sopol kondansatör: 2 * 100nF
- Rezistorlar: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
- 6 to'q sariq yoki sariq LED, yuqori nashrida
- 1 BC557 tranzistorli yoki unga tenglashtirilgan
- 1 elektrolitik kondansatör 100 uF / 16 V
- 1 past tushish kuchlanish regulyatori LP2950Z
Siz sxemani non taxtasida qurishingiz mumkin va rasmda ko'rinib turganidek, ko'p joy talab qilmaydi.
3 -qadam: Qolgan dasturiy ta'minot va natija
Dasturning qolgan qismi asosiy halqa hisoblanadi. Asosiy tsikl ish tsiklini tasodifiy sozlash orqali LEDlarning yorqinligini oshiradi yoki kamaytiradi. Biz faqat 3 ga va 25 ga kamayish bilan oshirganimiz uchun, biz pasayishlar o'sish tez -tez sodir bo'lmasligiga ishonch hosil qilishimiz kerak.
Men hech qanday kutubxonadan foydalanmaganim uchun, chiziqli teskari aloqa smenali yordamida tasodifiy generator yaratishim kerak edi, qarang:
uz.wikipedia.org/wiki/Linear-feedback_shif…
Sham effektiga PWM ish aylanishining qanchalik tez o'zgarishi ta'sir qiladi, shuning uchun asosiy tsikl taxminan 10 ms kechikishni ishlatadi. Bu vaqtni sham effektini ehtiyojlaringizga moslashtirish uchun sozlashingiz mumkin.
Qo'shilgan videoda natijani ko'rsatadi, bu erda men effektni yaxshilash uchun LEDning ustki qopqog'ini ishlatganman.
Men JALni ushbu loyiha uchun dasturlash tili sifatida ishlatardim va manba faylini biriktirdim.
Buni ko'rsatmali qilishdan zavqlaning va sizning reaktsiyalaringiz va natijalaringizni kutamiz.
Tavsiya:
Photoshop 2020 yordamida bir nechta rasmlarning fonini olib tashlang: 5 qadam
Photoshop 2020 yordamida bir nechta rasmlarning fonini olib tashlang: rasmning fonini olib tashlash hozir juda oson! Oddiy skript yordamida bir nechta (ommaviy) tasvirlar fonini olib tashlash uchun Adobe Photoshop 2020 -dan qanday foydalanish kerak
Arduino Connect bir nechta I2C qurilmalari: 6 qadam
Arduino Connect bir nechta I2C qurilmalari: Ushbu qo'llanmada biz bir nechta modullarni arduino -ga I2C ulanishi bilan ulashni o'rganamiz. Videoni tomosha qiling! Bizning misolimizda 4 ta OLED -displeydan foydalanamiz, lekin siz boshqa I2C modullaridan foydalanishingiz mumkin/ Agar xohlasangiz, sensorlar. Eslatma: 4 ta OLED displeyi
Bir nechta oddiy komponentlar, DIY elektron klaviatura: 6 qadam
Bir nechta oddiy komponentlar, DIY va elektron klaviatura: 555 taymer 1 Tugma × 81 100nF kondansatör batareya
Shaxsiy "shamlar" bilan yoritilgan Chanukah kozok: 7 qadam (rasmlar bilan)
Individual "shamlar" bilan yoritilgan Chanukah kozok: uning bayram bayrami mavsumi va bu yil siz menorali sviter bilan partiyaning yorqin yulduzi bo'lishingiz mumkin! Bu Internetda va hunarmandchilik do'konida osongina topiladigan nisbatan arzon materiallardan foydalangan holda tikilgan sxemasi. Bundan ham yaxshiroq
Bir nechta mikrokontroldan bir nechta LEDni qanday chiqarish mumkin: 6 qadam (rasmlar bilan)
Bir nechta mikroto'lqinli pinlardan qanday qilib ko'p LEDlarni haydash mumkin: Ko'pgina mikrokontrolderlarning uch holatida (+V, GND yoki "yuqori impedansli") mavjudligidan foydalanib, siz N pinli N*(N-1) LEDlarni boshqarishingiz mumkin. Shunday qilib, PIC12Fxxx yoki ATtiny11 kabi 8pinli mikrokontroller beshta mavjud 20 ta LEDni boshqarishi mumkin