Orodha ya maudhui:

Fifisha LED ndani na nje: 3 Hatua
Fifisha LED ndani na nje: 3 Hatua

Video: Fifisha LED ndani na nje: 3 Hatua

Video: Fifisha LED ndani na nje: 3 Hatua
Video: Автомобильный генератор для генератора с самовозбуждением с использованием ДИОДА 2024, Julai
Anonim
Fifisha LED ndani na nje
Fifisha LED ndani na nje

Hatua zifuatazo ni majaribio ya kuonyesha jinsi LED zinavyofanya kazi. Wanaonyesha jinsi ya kupunguza taa ya LED kwa kiwango sawa na jinsi ya kuifuta ndani na nje.

Utahitaji:

  • Arduino (nilitumia duo)
  • Bodi ya mkate
  • 5 mm nyekundu ya LED
  • 330 ist Resistor (Sio muhimu 330-560 Ω itafanya kazi.)
  • 22 Kupima Waya Mkali wa Kuunganisha

Sehemu zinazohitajika kwa majaribio haya zimejumuishwa katika vifaa vyote vya kuanza vya Arduino.

Hatua ya 1: Moduli ya Pulse Imefafanuliwa

Moduli ya Pulse Imefafanuliwa
Moduli ya Pulse Imefafanuliwa
Moduli ya Pulse Imefafanuliwa
Moduli ya Pulse Imefafanuliwa
Moduli ya Pulse Imefafanuliwa
Moduli ya Pulse Imefafanuliwa

LEDs kila wakati huendesha kwa voltage moja bila kujali mwangaza. Mwangaza umedhamiriwa na oscillator ya wimbi la mraba na muda wa voltage ambayo iko juu huamua mwangaza. Hii inaitwa Pulse Width Modulation (PWM). Hii inadhibitiwa na Arduino analogWrite (pin, n) kazi ambapo n ina thamani kutoka 0 hadi 255. AnalogWrite () hutoa PWM, sio analog ya kweli. Ikiwa n = 2 LED itakuwa mkali mara mbili kuliko n = 1. Mwangaza siku zote huongezeka mara mbili wakati n maradufu. Kwa hivyo n = 255 itakuwa mkali mara mbili kuliko n = 128.

Thamani ya n mara nyingi huonyeshwa kama asilimia inayoitwa mzunguko wa ushuru. Picha zinaonyesha athari za oscilloscope kwa mizunguko ya ushuru ya 25, 50 na 75%.

Hatua ya 2: Un-hata Kupunguza

Kupunguza-hata
Kupunguza-hata
Kupunguza-hata
Kupunguza-hata

Jenga mzunguko kama kwenye mchoro. Hii ni kama mzunguko wa kupepesa LED. Inatumia pini 9 kwa sababu unahitaji kutumia pini iliyowezeshwa na PWM.

Nakili / Bandika mchoro hapa chini kwenye Arduino IDE na uiendeshe.

Utagundua kuwa mwangaza wa LED ndio hupunguza polepole. Inapokaribia kufifia itakuwa inazidi kupungua haraka sana.

kuanzisha batili ()

{pinMode (9, OUTPUT); } kitanzi batili () {int pin = 9; kwa (int i = 255; i> -1; i--) {Anwani Andika (pini, i); kuchelewesha (10); } kwa (int i = 0; i <256; i ++) {analogWrite (pin, i); kuchelewesha (10); }}

}

Hatua inayofuata inaonyesha jinsi ya kuipunguza LED kwa kiwango cha kila wakati, na kwa moja kwa taarifa.

Hatua ya 3: Juu na chini kwa moja kwa ()

Ili taa ipungue kwa kiwango cha mara kwa mara ucheleweshaji () lazima uongezeke kwa kiwango cha ufafanuzi kwa sababu nusu ya mzunguko wa ushuru utazalisha mwangaza nusu kila wakati. Mawazo yangu ya kwanza ilikuwa kujaribu kutumia map () kazi lakini ni sawa.

Mstari:

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

mahesabu ya mraba inverse ya mwangaza kuamua urefu wa kuchelewa.

Nakili / Bandika mchoro hapa chini kwenye Arduino IDE na utaona kuwa LED itapungua na kutoka kwa kiwango cha kila wakati.

kuanzisha batili ()

{pinMode (9, OUTPUT); } kitanzi batili () {int x = 1; pini = 9; kwa (int i = 0; i> -1; i = i + x) {int d = (16-i / 16) ^ 2; AnalogWrite (pini, i); kuchelewesha (d); ikiwa (i == 255) x = -1; // kubadili mwelekeo kwenye kilele}}

Ilipendekeza: