Բովանդակություն:

Մարել և անջատել LED- ը ՝ 3 քայլ
Մարել և անջատել LED- ը ՝ 3 քայլ

Video: Մարել և անջատել LED- ը ՝ 3 քայլ

Video: Մարել և անջատել LED- ը ՝ 3 քայլ
Video: 3 in 1 ZigBee ջերմաստիճանի, խոնավության և լույսի սենսոր LCD էկրանով 2024, Նոյեմբեր
Anonim
Մարել և անջատել LED- ը
Մարել և անջատել LED- ը

Հետևյալ քայլերը փորձեր են ՝ լուսաբանելու համար, թե ինչպես են աշխատում LED- ները: Նրանք ցույց են տալիս, թե ինչպես կարելի է լուսադիոդն իջեցնել հավասարաչափ և ինչպես մարել այն ներսից և դրսից:

Ձեզ հարկավոր կլինի.

  • Arduino (ես օգտագործել եմ դուետ)
  • Breadboard
  • 5 մմ կարմիր LED
  • 330 Ω դիմադրություն (ոչ կարևոր 330-560 Ω կաշխատի):
  • 22 Gauge Solid Hookup Wire

Այս փորձերի համար անհրաժեշտ մասերը ներառված են Arduino ստարտափի բոլոր փաթեթներում:

Քայլ 1. Բացատրվում է զարկերակի մոդուլյացիան

Բացատրվում է զարկերակային մոդուլյացիան
Բացատրվում է զարկերակային մոդուլյացիան
Բացատրվում է զարկերակային մոդուլյացիան
Բացատրվում է զարկերակային մոդուլյացիան
Բացատրվում է զարկերակային մոդուլյացիան
Բացատրվում է զարկերակային մոդուլյացիան

LED- ները միշտ աշխատում են նույն լարման տակ `անկախ պայծառությունից: Պայծառությունը որոշվում է քառակուսի ալիքի տատանումով և այն ժամանակը, երբ լարումը բարձր է, որոշում է պայծառությունը: Սա կոչվում է Pulse Width Modulation (PWM): Սա վերահսկվում է Arduino analogWrite (pin, n) գործառույթով, որտեղ n- ն 0 -ից 255 արժեք ունի: analogWrite () - ը թողարկում է PWM, ոչ իրական անալոգ: Եթե n = 2 LED- ն երկու անգամ ավելի պայծառ կլինի, քան n = 1: Պայծառությունը միշտ կրկնապատկվում է, երբ n- ը կրկնապատկվում է: Այսպիսով, n = 255 կլինի երկու անգամ ավելի պայծառ, քան n = 128:

N- ի արժեքը հաճախ արտահայտվում է որպես տոկոս, որը կոչվում է աշխատանքային ցիկլ: Նկարները ցույց են տալիս օսլիլոսկոպի հետքեր 25, 50 և 75% աշխատանքային ցիկլերի համար:

Քայլ 2: Անհամաչափ լուսավորություն

Un-even Dimming
Un-even Dimming
Un-even Dimming
Un-even Dimming

Կառուցեք սխեման, ինչպես գծապատկերում: Սա ճիշտ այնպես, ինչպես LED- ն թարթելու միացումն է: Այն օգտագործում է 9 -րդ կապը, քանի որ անհրաժեշտ է օգտագործել PWM- ով միացված քորոց:

Պատճենեք/տեղադրեք ներքևի ուրվագիծը Arduino IDE- ում և գործարկեք այն:

Դուք կնկատեք, որ լուսադիոդն ավելի պայծառ է այնքան դանդաղ է մարում: Ամենամոտին մոտենալուն պես, այն շատ արագ կդառնա ավելի մռայլ:

դատարկ կարգավորում ()

{pinMode (9, OUTPUT); } void loop () {int pin = 9; համար (int i = 255; i> -1; i--) {analogWrite (pin, i); ուշացում (10); } համար (int i = 0; i <256; i ++) {analogWrite (pin, i); ուշացում (10); }}

}

Հաջորդ քայլը ցույց է տալիս, թե ինչպես կարելի է լուսարձակել LED- ն հաստատուն արագությամբ, իսկ մեկում `հայտարարության համար:

Քայլ 3: Վեր և վար մեկում մեկի համար ()

Որպեսզի LED- ն մշտական արագությամբ մթնի, ուշացումը () պետք է մեծանա էքսպոնենցիալ արագությամբ, քանի որ աշխատանքային ցիկլի կեսը միշտ կստանա պայծառության կեսը: Իմ առաջին միտքն այն էր, որ փորձեի օգտագործել քարտեզ () գործառույթը, բայց այն գծային է:

Գիծը:

int d = (16-i/16)^2;

հաշվարկում է պայծառության հակադարձ քառակուսին `որոշելու հետաձգման երկարությունը:

Պատճենեք/տեղադրեք ներքևի ուրվագիծը Arduino IDE- ի մեջ և կտեսնեք, որ LED- ը կխամրի և դուրս կգա հաստատուն արագությամբ:

դատարկ կարգավորում ()

{pinMode (9, OUTPUT); } void loop () {int x = 1; int pin = 9; (int i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; analogWrite (pin, i); ուշացում (դ); եթե (i == 255) x = -1; // փոխել ուղղությունը գագաթնակետին}}

Խորհուրդ ենք տալիս: