Pagkupas ng isang LED ON / OFF - Mga Pangunahing Kaalaman sa Arduino

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Tinalakay ng post ang isang pangunahing pagpapaandar ng Arduino kung saan natututunan namin ang proseso ng pagkupas ng isang LED ON / OFF sa pamamagitan ng ilang pangunahing pagpapatupad ng code.

Lumilikha ng isang Kumukupas na Epekto

Nakikita namin kung paano gamitin ang isang function na analogwrite () upang maipatupad ang isang kumukupas na ON / OFF ng isang LED. Isinasama ng pagpapaandar ang mga pulso ng PWM sa isang pinout para sa pagkamit ng iminungkahing pagkilos na pagkupas sa konektadong LED.



Kailangan ng Hardware

Kasama ang iyong Arduino, ang iba pang mga materyales tulad ng isang breadboard, isang LED at isang 220 ohm, 1/4 wat resistor ay kinakailangan para sa eksperimento.

Ang Circuit

Ang mga hakbang na kasangkot para sa ipinanukalang LED ON / OFF na pagkupas sa isang Arduino ay ang mga sumusunod:



1. Ikabit ang mas mahabang terminal ng LED sa digital output pin # 9 sa pamamagitan ng 220 ohm resistor sa serye, habang ang cathode o ang mas maikling terminal ng LED na may direktang lupa o ang negatibong supply rail.

Ang Code

Sa sandaling ang pin # 9 ng board ay isinama bilang positibong pin na LED, ang pag-andar ng setup () ay maaaring iwanang nag-iisa at hindi na kailangan ng anumang karagdagang pagpapatakbo.

Ang pangunahing bahagi ng code ng loop sa anyo ng analogwrite () ay nangangailangan ng ilang pagkilala: Ang unang pagtugon sa pagpapaandar tungkol sa kung aling pin ang gagamitin para sa pagsusulat, at ang pangalawa ay ang halaga ng PWM na matutukoy.

Para sa pagpapasimula ng isang kumukupas na ON / OFF na epekto sa konektadong LED, ang PWM ay maaaring patuloy na magkakaiba-iba mula sa zero hanggang maximum o hanggang 255 at sa kabaligtaran, pagkumpleto ng buong solong siklo ng operasyon.

Ipinapakita ng code sa ibaba ang lakas ng PWM na tinutukoy sa pamamagitan ng isang variable na pinangalanan bilang ningning. Gayundin ang mga pagtaas nito sa pamamagitan ng variable fadeAmount sa loop.

Sa isang sitwasyon kung saan ang ningning ay nasa matinding mga halaga (alinman sa 0 o 255), mga senyas na kumupas

halaga upang maging negatibo.

Ibig sabihin kung ipagpalagay na ang fadeAmount ay 5, nagbabago ito sa -5, at 5 kung sakaling ito ay itinakda ng isang 55. Sa mga susunod na yugto sa loop ang mga pagbabagong ito ay nagreresulta ng ningning upang mag-iba rin ang kurso ng pagkilos.

Ang pag-andar na analoguewrite () ay nagdudulot ng mabilis na pagbabago sa mga halagang PWM, na ang pagkaantala sa pagtatapos ng sketch ay kumokontrol sa pagkupas ng bilis.
Maaari kang mag-eksperimento sa mga halaga ng pagkaantala upang siyasatin ang mga pagbabagong nagawa sa programa.
/ *
Kumupas

Ipinapakita ng halimbawang ito kung paano mag-fade isang LED sa pin 9
gamit ang pagpapaandar ng analogWrite ().

Ang halimbawang code na ito ay nasa pampublikong domain.
* /

int led = 9 // ang pin na nakakabit ang LED
int brightness = 0 // kung gaano ilaw ang LED
int fadeAmount = 5 // kung gaano karaming mga puntos upang mawala ang LED sa pamamagitan ng

// ang gawain sa pag-setup ay tumatakbo nang isang beses kapag pinindot mo ang pag-reset:
walang bisa ang pag-setup () {
// ideklara ang pin 9 na isang output:
pinMode (led, OUTPUT)
}

// ang gawain ng loop ay tumatakbo nang paulit-ulit magpakailanman:
void loop () {
// itakda ang ningning ng pin 9:
analogWrite (humantong, ningning)

// baguhin ang ningning para sa susunod sa pamamagitan ng loop:
ningning = ningning + kumupasAmount

// baligtarin ang direksyon ng pagkupas sa mga dulo ng fade:
kung (ningning == 0 || ningning == 255) {
fadeAmount = -fadeAmount
}
// maghintay para sa 30 milliseconds upang makita ang dimming effect
antala (30)
}




Nakaraan: 110V Compact LED Tubelight Circuit Susunod: Mataas na Boltahe, Mataas na Kasalukuyang Transistor TIP150 / TIP151 / TIP152 Datasheet