Mundarija:
- 1 -qadam: Puls kengligi modulyatsiyasi
- 2 -qadam: LED va rezistor
- 3-qadam: teng bo'lmagan karartma
- 4 -qadam: 4 -qadam: Yuqoriga va pastga (bitta) va teng darajada
Video: RaspberryPi: LEDni o'chirish va o'chirish: 4 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Quyidagi qadamlar LEDlarning qanday ishlashini ko'rsatish uchun tajribalardir. Ular LEDni qanday tezlikda o'chirish va uni qanday o'chirish va o'chirishni ko'rsatadi.
Sizga kerak bo'ladi:
- RaspberryPi (men eski Pi-dan foydalandim, mening Pi-3 ishlatilmoqda, lekin har qanday Pi ishlaydi.)
- Non paneli
- 5 mm qizil LED
- 330 Ω qarshilik (muhim emas 220-560 Ω ishlaydi.)
- O'rnatish simlari
Men Adafruit-dan foydalangan Pi-poshnachi kerak emas, lekin bu non taxtasini osonlashtiradi.
WiringPi - bu RaspberryPi -ni C dasturlash uchun kutubxonalar to'plami, yuklab olish, o'rnatish va ishlatish bo'yicha ko'rsatmalar https://www.wiringpi.com/ saytida joylashgan.
WiringPi-ni o'rnatish uchun ushbu sahifadagi ko'rsatmalarga amal qiling:
Simlar ro'yxatini olish uchun PIN kod raqamlari buyruq satriga gpio o'qishni kiriting.
Raspian wiringPi yangi versiyalarida sukut bo'yicha o'rnatiladi.
1 -qadam: Puls kengligi modulyatsiyasi
LEDlar yorqinligidan qat'iy nazar har doim bir xil kuchlanishda ishlaydi. Yorqinligi kvadrat to'lqinli osilator bilan aniqlanadi va kuchlanish yuqori bo'lgan vaqt yorqinlikni aniqlaydi. Bunga puls kengligi modulyatsiyasi (PWM) deyiladi. Bu wiringPi pwmWrite (pin, n) funktsiyasi tomonidan boshqariladi, bu erda n qiymati 0 dan 255 gacha. Agar n = 2 bo'lsa, LED n = 1dan ikki barobar yorqinroq bo'ladi. Yorug'lik har doim ikki baravar ko'payadi. Shunday qilib, n = 255 n = 128dan ikki barobar yorqinroq bo'ladi.
N ning qiymati ko'pincha ish tsikli deb ataladigan foiz sifatida ifodalanadi. Rasmlarda 25, 50 va 75% ish tsikllari uchun osiloskop izlari ko'rsatilgan.
2 -qadam: LED va rezistor
Bu shart emas, lekin ulardan bir nechtasiga ega bo'lsang, non taxta yasashni ancha osonlashtirishi mumkin.
LEDni qisqa svetodiodiga rezistorni lehimlang. 220-560 Ohm qarshilikdan foydalaning.
3-qadam: teng bo'lmagan karartma
Diagrammadagi kabi sxemani yarating. Bu xuddi LEDni o'chirish sxemasiga o'xshaydi. U wiringPi pin 1 dan foydalanadi, chunki siz PWM yoqilgan pinni ishlatishingiz kerak. Dasturni tuzing va ishga tushiring. Ko'ryapsizmi, LED qanchalik yorug 'bo'lsa, shuncha sekin pasayadi. Eng xiralashgan joyga yaqinlashganda, u juda tez xiralashadi.
/******************************************************************
* Kompilyatsiya: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Ijro et: sudo./fade1 * * Boshqa pin raqamlari, agar boshqacha ko'rsatilmagan bo'lsa. ************************************************ ****************/ #include int main () {wiringPiSetup (); // wiringPi pinMode (1, PWM_OUTPUT) orqali sozlash zarur; // pwmSetMode (PWM_MODE_MS); // Mark/Space rejimi int i; while (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); kechikish (10); } uchun (i = 0; i <256; i ++) {pwmWrite (1, i); kechikish (10); }}}
Keyingi qadam, LEDni doimiy tezlikda qanday o'chirishni ko'rsatib beradi.
4 -qadam: 4 -qadam: Yuqoriga va pastga (bitta) va teng darajada
LEDning doimiy tezlikda xiralashishi uchun kechikish () ekspansional tezlikda oshishi kerak, chunki ish tsiklining yarmi har doim yorqinlikning yarmini beradi.
Chiziq:
int d = (16-i/16)^2;
kechikish uzunligini aniqlash uchun yorqinlikning teskari kvadratini hisoblab chiqadi. Ushbu dasturni kompilyatsiya qiling va ishga tushiring, shunda siz LED doimiy tezlik bilan o'chadi va o'chadi.
/******************************************************************
* Kompilyatsiya: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Ijro et: sudo./fade2 * * Boshqa pin raqamlari, agar boshqacha ko'rsatilmagan bo'lsa. ************************************************ ****************/ #include int main () {wiringPiSetup (); // wiringPi pinMode (1, PWM_OUTPUT) talab qiladigan sozlash; // pwmSetMode (PWM_MODE_MS); // Belgilash/Bo'shliq rejimi (1) {int i; int x = 1; uchun (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // pwmWrite indeksining teskari kvadratini hisoblang (1, i); kechikish (d); agar (i == 255) x = -1; // tepalik yo'nalishini o'zgartirish}}}
Tavsiya:
LEDni kir bilan yoqing: 10 qadam (rasmlar bilan)
Kirni LED bilan yoqing: bu men zavqlangan tajriba edi! Balki sizga nusxa ko'chirish qiziq tuyuladimi? Menga " Yer batareyasi " uzoq muddatga. Galvanik batareyadan ko'ra, haqiqiy Yer batareyasi bo'lish uchun qurilma
Atollic TrueStudio-LEDni STM32L100 yordamida 4 tugmachasini bosib LEDni yoqing: 4 qadam
STM32L100 yordamida tugmachani bosib LEDni Atollic TrueStudio-ni yoqing: STM32-ning ushbu qo'llanmasida men sizga STM32L100-ning GPIO pinini qanday o'qish kerakligi haqida aytib beraman, shuning uchun men bortda Led porlashni o'rnataman. bosish tugmachasini bosish
Miya / aqlni boshqarishning 3 ta ajoyib loyihasi Arduino va Neurosky bilan LedStrip LEDni yoritadi: 6 qadam (rasmlar bilan)
3 AJINA / MINDni boshqarishning ajoyib loyihalari LedStrip LED chiroqlari Arduino va Neurosky bilan: Siz hech o'ylab, chiroqlarni yoqishni yoki o'chirishni xohlaganmisiz? Yoki RGB svetodiodining rangiga qarab, siz qanchalik stressda ekanligingizni bilmoqchimisiz? Bu yo'riqnomalarga amal qilib, biz nima qilayotganimizni his qilishimiz mumkin
LEDni o'chirish va o'chirish: 3 qadam
LEDni o'chirish va o'chirish: Quyidagi qadamlar LEDlarning qanday ishlashini ko'rsatadigan tajribalardir. Ular LEDni qanday tezlikda kamaytirish va uni qanday o'chirish va o'chirishni tasvirlab berishadi. Sizga kerak bo'ladi: Arduino (men duet ishlatardim) Breadboard 5 mm qizil LED 330 Ω Qarshilik
Bitta kalit va Visuino bilan 3 ta LEDni almashtirish: 9 qadam (rasmlar bilan)
Bitta kalit va Visuino yordamida 3 ta LEDni almashtirish: Bu loyiha men sinab ko'rmoqchi bo'lgan tajribadan kelib chiqdi, men dollar kupyuralari va xavfsizlik cheklarining turli qismlarini ko'rish uchun qancha UV nurlari kerakligini ko'rishni xohladim. Men bu binoni portlatib yubordim va bu ko'rsatmalarni bu erda bo'lishishni xohladim