Агуулгын хүснэгт:

LED оруулах ба унтраах: 3 алхам
LED оруулах ба унтраах: 3 алхам

Видео: LED оруулах ба унтраах: 3 алхам

Видео: LED оруулах ба унтраах: 3 алхам
Видео: КАК НАСТРОИТЬ L4D2 2024, Долдугаар сарын
Anonim
LED оруулах ба унтраах
LED оруулах ба унтраах

Дараахь алхамууд нь LED хэрхэн ажилладагийг харуулах туршилтууд юм. Тэд LED -ийг хэрхэн жигд хурдаар бүдгэрүүлж, хэрхэн яаж унтрааж, унтрааж болохыг харуулжээ.

Танд хэрэгтэй болно:

  • Ардуино (би хос ашигладаг байсан)
  • Талхны самбар
  • 5 мм улаан LED
  • 330 Ω Эсэргүүцэл (330-560 critical чухал биш болно.)
  • 22 хэмжигч хатуу холбох утас

Эдгээр туршилтанд шаардагдах эд ангиудыг Arduino -ийн бүх стартап хэрэгсэлд оруулсан болно.

Алхам 1: Импульсийн модуляцийг тайлбарлав

Импульсийн модуляцийг тайлбарлав
Импульсийн модуляцийг тайлбарлав
Импульсийн модуляцийг тайлбарлав
Импульсийн модуляцийг тайлбарлав
Импульсийн модуляцийг тайлбарлав
Импульсийн модуляцийг тайлбарлав

LED нь тод байдлаас үл хамааран үргэлж ижил хүчдэлд ажилладаг. Гэрэл нь квадрат долгионы осциллятороор тодорхойлогддог бөгөөд хүчдэл өндөр байх хугацааг тод байдлыг тодорхойлдог. Үүнийг Pulse Width Modulation (PWM) гэж нэрлэдэг. Үүнийг Arduino analogWrite (pin, n) функц хянадаг бөгөөд n нь 0 -ээс 255 хүртэлх утгатай байдаг. AnalogWrite () нь жинхэнэ аналог биш харин PWM гаргадаг. Хэрэв n = 2 бол LED нь n = 1 -ээс 2 дахин их гэрэлтдэг. N нь хоёр дахин нэмэгдэхэд гэрэл үргэлж хоёр дахин нэмэгддэг. Тиймээс n = 255 нь n = 128 -аас хоёр дахин илүү гэрэл гэгээтэй байх болно.

N -ийн утгыг ихэвчлэн үүргийн мөчлөг гэж нэрлэдэг хувиар илэрхийлдэг. Зураг дээр 25, 50, 75% -ийн ажлын мөчлөгийн осциллографын ул мөрийг харуулав.

Алхам 2: Бүр тэгш бус болгох

Бүр жигд бус болгох
Бүр жигд бус болгох
Бүр жигд бус болгох
Бүр жигд бус болгох

Диаграм дээрх шиг схемийг бүтээ. Энэ нь яг л LED анивчих хэлхээтэй адил юм. Энэ нь 9 -р зүүг ашигладаг, учир нь та ХОУХ -ны идэвхжүүлсэн зүү ашиглах хэрэгтэй.

Доорх нооргийг Arduino IDE руу хуулж/оруулаад ажиллуулна уу.

LED нь илүү гэрэл гэгээтэй байх тусам аажмаар багасч байгааг та анзаарах болно. Хамгийн бүдэгрэх дөхөх тусам маш хурдан бүдэгрэх болно.

хүчингүй тохиргоо ()

{pinMode (9, OUTPUT); } void loop () {int pin = 9; for (int i = 255; i> -1; i--) {analogWrite (pin, i); саатал (10); } (int i = 0; i <256; i ++) {analogWrite (pin, i); саатал (10); }}

}

Дараагийн алхам нь LED -ийг тогтмол хурдаар хэрхэн яаж бүдгэрүүлэхийг харуулах болно.

Алхам 3: Дээш ба доош нэг дор ()

LED нь тогтмол хурдаар бүдэгрэхийн тулд ажлын мөчлөгийн тэн хагас нь үргэлж гэрэл гэгээтэй байх тул хоцролт () нь экспоненциал хурдаар нэмэгдэх ёстой. Миний анхны бодол бол map () функцийг ашиглахыг оролдох явдал байсан боловч энэ нь шугаман байна.

Шугам:

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

саатлын уртыг тодорхойлохын тулд гэрэлтүүлгийн урвуу квадратыг тооцоолно.

Доорх ноорогыг Arduino IDE руу хуулж/буулгаснаар LED нь тогтмол хурдаар унтарч унах болно.

хүчингүй тохиргоо ()

{pinMode (9, OUTPUT); } void loop () {int x = 1; int pin = 9; for (int i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; analogWrite (pin, i); саатал (d); хэрэв (i == 255) x = -1; // чиглэлээ оргилдоо шилжүүлэх}}

Зөвлөмж болгож буй: