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

Гялалзсан лааны гүүр: 6 алхам (зурагтай)
Гялалзсан лааны гүүр: 6 алхам (зурагтай)

Видео: Гялалзсан лааны гүүр: 6 алхам (зурагтай)

Видео: Гялалзсан лааны гүүр: 6 алхам (зурагтай)
Видео: Pororo-той холбоотой эвгүй зүйлс & Сонирхолтой баримтууд 2024, Арваннэгдүгээр
Anonim
Image
Image

Энэхүү зааварчилгаа нь статик гэрэлтэй энгийн лааны гүүрийг гэрэл гялалзах, анивчих, долгионы хэв маяг, юу ч үгүй эцэс төгсгөлгүй сайхан сэтгэлийн гэрэл болгон хэрхэн яаж гэрэлтүүлэхийг харуулж байна. Би Христийн Мэндэлсний Баярын дараах борлуулалтаас лааны гүүрийг 8 еврогоор худалдаж авсан. Энэ нь 7 ширхэг LED гэрэл, зарим нь 33 В 3 Вт ханын адаптертай. Энэ нь тод, дулаан цагаан өнгөөр гэрэлтдэг бөгөөд лаа анивчихын тулд би Arduino -ийг тавихад энэ төсөлд хамгийн тохиромжтой байх болно. Хамгийн алдартай Arduino бол Arduino Uno юм. Энэ төсөлд би Arduino Mega 2560 ашиглах болно.

Би 30 В -ийн цахилгаан хангамжийг таслах гэж байгаа бөгөөд гар утсанд зориулагдсан энгийн 5 В -ийн цахилгаан банкийг цахилгаан хангамж болгон ашиглах болно.

Цахилгаан банкуудын талаар мэдэх нэг сайн зүйл бол дотоод хэлхээтэй бөгөөд батерейг 3.7 В -оос 5 В болгож хувиргадаг. Энэ процесс нь бага зэрэг хүч хэрэглэдэг тул хэрэв ашиглаагүй бол цахилгаан банк өөрөө унтардаг. Хэрэв цахилгаан банкийг Arduino дээр суурилсан DIY хэрэгслүүдэд ашигладаг бол гаджет нь эрчим хүч хэмнэх горимд ороод хэдхэн минутын дараа дахин эхлүүлж чадахгүй. Энэ нь цахилгаан банкийг хаах болно. Энэхүү гэрэлтдэг лааны гүүр нь унтах горимгүй байдаг. Цахилгааны кабелийг татаж авах хүртэл тасралтгүй эрчим хүч хэрэглэж, цахилгаан банкийг идэвхтэй байлгадаг.

Видео нь лааны гүүрийг статик горимд, бүрэн анивчиж байгааг харуулж байна. Бүрэн анивчих нь нүдийг үнэхээр ядаргаатай болгодог бол видео нь түүнийг бага зэрэг толийлгож өгдөг. Кабелийг огтлох, шинэ холболтыг гагнах, зарим бүрэлдэхүүн хэсгүүдийг оруулах зэрэг тоног төхөөрөмжийг зассны дараа Arduino -д код бичих замаар хүссэн бүх гэрлийн загварыг бий болгоно. Энэхүү зааварт миний оруулсан загварууд нь:

  • Жинхэнэ лаа дуурайдаг 4 өөр анивчдаг гэрэл
  • 2 өөр анивчих (өөрөөр хэлбэл статик гэрэл санамсаргүй анивчих)
  • 2 өөр долгионы хэв маяг
  • энгийн статик гэрэл

Загварыг солих нь хэрэглэгчийн интерфэйсийн ганц элемент болох товчлуураар хийгддэг. Илүү олон загвар хүсч, илүү их тохируулахыг хүсэх тусам илүү олон товчлуур, товчлуурыг нэмж оруулах шаардлагатай болдог. Гэхдээ гоо үзэсгэлэн нь энгийн байдалд оршдог. Сонгож болох загваруудын тоог бага байлга. Тоног төхөөрөмжид олон хяналт оруулах замаар бус харин кодлох, турших явцад хамгийн сайн тохиргоог сонгоорой.

Хангамж

  • 7 чийдэн бүхий 1 ширхэг LED лааны гүүр. Энэ нь батерей эсвэл хананд холбох тэжээлийн эх үүсвэртэй, бага хүчдэлтэй DC загвар бөгөөд 110-240 В хувьсах гүйдлийг 6-30 В тогтмол гүйдэл болгон хувиргадаг эсэхийг шалгаарай. Тиймээс лааны гүүрийг хакердах нь туйлын аюулгүй юм.
  • 1 Arduino Mega (өөр ямар ч микроконтроллер хийх болно, та үүнийг програмчилж чадах эсэхээ шалгаарай)
  • 1 загвар талхны самбар
  • холбогч утас болон бусад утас
  • гагнуурын хэрэгсэл
  • мултиметр
  • 7 эсэргүүцэл, 120 Ω
  • 1 товчлуур (та оронд нь Arduino дээр суулгасан товчлуурыг хэрхэн ашиглахыг харуулах болно)
  • Дарлингтоны транзистор IC нь 7 транзистортой, ULN2803AP хийх болно (Хэрэв та Arduino Uno эсвэл Meaga ашигладаг бол танд энэ үнэхээр хэрэггүй болно)
  • 5 В хүчдэлийн банк нь гар утсанд зориулагдсан болно

Алхам 1: Олсон зүйлээ шалгаарай

Авсан зүйлээ шалгаарай
Авсан зүйлээ шалгаарай
Юу авснаа шалга
Юу авснаа шалга

LED тус бүр ямар хүчдэл дээр ажилладаг, хичнээн их гүйдэл дамждаг болохыг олж мэдээрэй.

  1. Лааны гүүрний доод хэсгийг нээнэ үү. Нэг лаа руу явдаг хоёр утсыг олоорой.
  2. Зэс утсыг огтлохгүйгээр зэс утсыг харуулсан кабелийн тусгаарлагчийг хуулж ав.
  3. Гэрлээ асаагаад (тайвшир, энэ нь хэдхэн вольт байна) илэрсэн зэс утсан дээрх хүчдэлийг хэмжинэ.
  4. Хэмжих цэгүүдийн аль нэгэнд кабелийг хайчилж ав (энэ үед гэрэл унтарна), хоёр үзүүрээс тусгаарлагчийг (3 - 4 мм) хуулж ав. Дамжиж буй гүйдлийг хэмжинэ. Та юу хийх вэ гэвэл та мультиметрээр зүссэн кабелийг дахин холбож, бүх гүйдэл нь таны мултиметрээр дамжих бөгөөд энэ нь одоогийн хэмжээг хэлж өгнө.

Миний уншлага

Нэг лааны дээрх хүчдэл (3 -р алхам): 3.1 В.

Лааны гүүрний тэжээлийн эх үүсвэр нь 33 В байсан тул долоон удаа 3.1 V нь ердөө 21.7 V. Зарим лаа дээр нэмэлт эсэргүүцэл байх ёстой гэдгийг анхаарна уу. Хэрэв би лааны хүчдэлийг хэмжсэн бол энэ нь ойролцоогоор 11 В байх ёстой байсан.

Лаа асах үед урсах урсгал (4 -р алхам): 19 мА

Би бүх хүчийг 5 В 2 А батерейгаар тэжээх гэж байна. Лааны хувьд би хүчдэлийг 5 В -оос 3 В хүртэл бууруулах хэрэгтэй. 19 мА гүйдэлтэй үед 2 В хүчдэлийг бууруулдаг резистор хэрэгтэй.

2 V / 0.019 A = 105 Ω

Эрчим хүчийг зайлуулах нь:

2 V * 19 мА = 38 мВт

Энэ нь ач холбогдолгүй юм. Илүү их зүйл резисторыг өөрөө үлээж болно. Гэсэн хэдий ч 105 Ω эсэргүүцэлгүй бол би LED -ийг үлээж болно. Би 100 Ω ба 120 Ω эсэргүүцэлтэй. Би 120 with -тай явдаг. Энэ нь илүү их хамгаалалт өгдөг.

7 лаа бүгдийг нь 3 В хүчдэлээр туршиж үзэхэд зөвхөн нэг бүдэг гэрэлтэй, ердөө л 0.8 мА гүйдэг нэг лааг эс тооцвол тод гэрэл гарчээ. Энэ бол нэмэлт эсэргүүцэлтэй миний лаа байв. Бусад лаа огт эсэргүүцэгчгүй байсан нь тогтоогджээ. Лааны лааны суурь дээр ашигладаг LED гэрэл нь ердөө 3 Вт зориулагдсан! Нэмэлт резистор бүхий лаа бага зэргийн хүчирхийлэл ашиглан нээх ёстой байсан ч юу ч эвдсэнгүй. Резисторыг хуванцар лааны чийдэнгийн доторх жижиг LED -ийн доороос олжээ. Би үүнийг задалж, утсыг дахин зарах хэрэгтэй болсон. Гагнуурын төмөр угсрахад ашиглаж байсан халуун цавуугаа дулаацуулснаас хойш энэ нь жаахан эмх замбараагүй байлаа.

Би одоо ямар хүчдэл ашиглаж байгаагаас үл хамааран хүчдэлийг 3 В хүртэл бууруулж, 19 мА дамжуулах ёстой гэдгийг мэдэж байна.

Хэрэв би LED технологийг илүү сайн мэддэг байсан бол ашиглаж буй LED -ийн төрлийг таньж, 3 В хүчдэл хэрэгтэй гэдгийг мэдэх байсан.

Алхам 2: Зарим гагнуур

Зарим гагнуур
Зарим гагнуур
Зарим гагнуур
Зарим гагнуур

Энэ алхамаар би 5 лааны бүх эерэг (+) утсыг нэг утсаар холбодог. Дараа нь би лаа бүрт тусдаа сөрөг (-) утас нэмнэ. LED гэрэл нь зөвхөн '+' ба '-' зөв явахад л асдаг. Лаа тус бүрээс зөвхөн хоёр ижил кабелийн үзүүртэй тул аль нь '+', аль нь '-' болохыг шалгах хэрэгтэй. Үүний тулд танд 3 вольтын тэжээлийн эх үүсвэр хэрэгтэй. Надад хоёр AAA батерейг багтаасан жижиг зайны багц байсан. 3 В -ийн зоосны батерей нь туршилтанд маш сайн ажилладаг.

Лааны гүүр нь Ардуино ба гүүр хооронд ажиллахын тулд 8 кабель хэрэгтэй. Хэрэв та 8 тусгаарлагдсан утастай кабель олвол маш сайн байх болно. Нэг утас нь 120 мА багтаамжтай байх ёстой, үлдсэн хэсэг нь хамгийн ихдээ 20 мА байна. Би 4 давхар утастай кабель ашиглахаар шийдсэн.

Эхний зураг нь лааны бүх '+' утсыг холбохын тулд би нэг нийтлэг утсыг хэрхэн бэлдсэнийг харуулж байна. Лаа бүрийн нийтлэг утасны тусгаарлагчийг хуулж ав. Хамтарсан хэсэг бүрт агшилтын тусгаарлагч хоолой (зураг дээрх шар тууз) нэмж, нийтлэг кабелийн зөв цэг дээр байрлуулна. Лаа бүрээс '+' утсыг холбоос руу нь гагнаж, үений агшилтын хоолойгоор хучиж, агшаана. Мэдээжийн хэрэг, энгийн наалдамхай соронзон хальс нь сайн, эцэст нь бүх зүйлийг хамрах болно.

Хоёрдахь зураг нь лаа бүрт шаардлагатай '-' утсыг харуулав. Нийтлэг '+' утас нь Arduino -ийн 5 В зүү рүү шууд ордог (эсвэл талхны самбараар дамждаг). '-' утас бүр өөрийн транзисторын зүү рүү очдог (дахин, талхны самбараар дамжуулж магадгүй).

Arduino -ийг ихэвчлэн прототип хийх самбар гэж нэрлэдэг. Талхны самбар нь прототип хийхэд ашигладаг зүйл юм. Энэхүү зааварчилгаанд миний тайлбарласан зүйл бол прототип юм. Би үүнийг гоёмсог хуванцар хайрцганд нуусан, гоёмсог гялалзсан бүтээгдэхүүн болгохгүй. Прототипээс дараагийн түвшинд авбал талхны самбарыг хэвлэмэл хэлхээний самбар, гагнасан эд ангиудаар сольж, Arduino -г энгийн микроконтроллерийн чипээр солино гэсэн үг юм (үнэндээ ийм чип бол Arduino -ийн тархи юм). Мөн бүх зүйл хуванцар хайрцагт эсвэл эвдэрсэн лааны гүүрний дотор байх ёстой.

Алхам 3: Холболтууд

Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд

Энэ хуудаснаас авсан Arduinos -ийн тухай:

  • Оролт/гаралтын зүү тутамд хамгийн их гүйдэл: 40мА
  • Бүх оролт/гаралтын голуудын нийлбэр гүйдэл: 200мА

Миний лаа бүр 3 м -ийн хүчээр 19 мА зурдаг бөгөөд долоон ширхэг нь 133 мА байна. Тиймээс би тэдгээрийг гаралтын тээглүүрээс шууд тэжээж чадна. Гэсэн хэдий ч надад дарлингтоны транзисторын нөөц сэлбэг хэрэгсэл байгаа. Тэгээд яагаад болохгүй гэж гэж бодсон. Миний хэлхээ нь үүнийг зөв хийдэг: өгөгдлийн зүү нь зөвхөн дохио өгөх зориулалттай бөгөөд хүч чадлын хувьд биш юм. Үүний оронд би LED гэрлийг асаахын тулд Arduino дээрх 5 В зүү ашигладаг. Туршилт хийх үед би зөөврийн компьютерээ Arduino -тэй холбосон байна. Бүх зүйл 5 Вт өгдөг USB зөөврийн компьютерээс тэжээгддэг. Arduino Mega нь өөрийн гэсэн гал хамгаалагчтай бөгөөд компьютераа хамгаалахын тулд 500 мА -д үлддэг. Миний лаа хамгийн ихдээ 133 мА зурдаг. Arduino үүнээс хамаагүй бага байх магадлалтай. Зөөврийн компьютерээр ажилладаг бүх зүйл сайн ажилладаг тул Arduino -ийн USB портод холбогдсон 5 В -ийн батерейны багцыг ашиглах нь зүгээр юм.

D3 - D9 өгөгдлийн зүү IC ULN2803APGCN руу очно. LED нь 3 В -т ажилладаг бөгөөд чийдэн бүрийг 5 В -ийн эх үүсвэрт, дараа нь 120 Ω эсэргүүцэлтэй холбодог. Цаашлаад IC -ийн дарлингтон транзистороор дамжуулан хэлхээг газартай холбосон IC -ийн нэг суваг.

Хэрэглэгчийн зарим үйлдлийг идэвхжүүлэхийн тулд товчлуурыг хэлхээнд нэмнэ. Лааны гүүр нь хэрэглэгчийн сонгож болох цөөн хэдэн програмтай байж болно.

Хэлхээний товчлуур нь RESET ба GND -тэй холбогддог. Дахин тохируулах товчлуур яг үүнийг хийдэг. Би бүх зүйлийг хуванцар хайрцагт хийдэггүй тул програмыг хянахын тулд Arduino дээрх дахин тохируулах товчийг ашиглаж байна. Зургийн дагуу товчлуур нэмэх нь самбарыг дахин тохируулах товч шиг ажиллах болно. Хөтөлбөрийг ажиллуулахдаа хамгийн сүүлд ямар гэрлийн програм ашигласныг санаж ажилладаг. Тиймээс дахин тохируулах бүр нь дараагийн гэрлийн програм руу шилжих болно.

Энэ зургууд нь шинэ кабелиуд гүүрнээс хэрхэн гарч байгааг, би транзистор IC ба резисторыг талхны тавцан дээр хэрхэн тавьсан, холбогч утаснууд Arduino Mega -тай хэрхэн холбогдож байгааг харуулсан болно. Би эрэгтэй, эрэгтэй 4 холбогч утсыг 8 ширхэг хагас утас болгон хайчилж, лааны гүүрээс гарч буй 8 кабель руу гагнав. Ийм байдлаар би кабелийг талхны тавцанд наалдуулж чадна.

Транзисторгүй өөр хувилбар

Өмнөх алхамд би лааны нийтлэг '+' утсыг бэлдэж, транзистор IC-ээр дамжуулж газарт дамжуулдаг '-' утсыг салгасан. Нэг өгөгдлийн зүү өндөр болоход харгалзах '-' утас нь транзистор болон LED гэрлээр дамжин газарддаг.

'-' утсыг Arduino-ийн өгөгдлийн зүү рүү шууд холбох нь бас үр дүнтэй байх болно, гэхдээ өгөгдлийн тээглүүр хичнээн их гүйдэлд тэсвэртэй болохыг үргэлж санаарай! Энэ арга нь миний хөтөлбөрт өөрчлөлт оруулах шаардлагатай болно. Лаа асаахын тулд өгөгдлийн тээглүүр бага байх шаардлагатай болно. Миний програмыг байгаагаар нь ашиглахын тулд лаа дээр '+' ба '-' сэлгэх хэрэгтэй. Arduino дээрх GND руу явдаг лааны нийтлэг '-' утастай байх. Тусдаа утаснууд нь лааны '+' утас ба Arduino -ийн өгөгдлийн зүү хооронд ажилладаг.

Алхам 4: Хөнгөн програмууд

Дараагийн алхамд танилцуулж буй миний хөтөлбөр 9 гэрлийн програмаар дамждаг. Товчлуурыг дарахад гэрэл нэг секундын турш харанхуйлах бөгөөд дараа нь дараах гэрлийн програм эхэлнэ. Хөтөлбөрүүд дараах байдалтай байна.

  1. Хүчтэй чичиргээ. Лаа санамсаргүй байдлаар анивчина. Тэднийг ойроос нь ширтэхэд энэ нь үнэхээр ядаргаатай харагддаг, гэхдээ алсаас, хүйтэн жавартай дээврийн цонхны цаанаас сайхан харагдаж магадгүй юм. Гэсэн хэдий ч танай хөрш галын бригадыг дуудаж болно.
  2. Зөөлөн анивчих. Маш сайн харагдаж байна. Ноороггүй өрөөнд байгаа жинхэнэ лаа шиг.
  3. Янз бүрийн анивчина. Лаа 30 секундын зайтай хүчтэй, зөөлөн анивчих хооронд ээлжлэн солигддог.
  4. Янз бүрийн анивчина. №3 шиг, гэхдээ лаа бүр 30 -аас 60 секундын хооронд өөр өөр хурдтай байдаг.
  5. Хурдан гялалзах. Лаа нь статик бүдэг түвшинд гэрэлтэж, санамсаргүй байдлаар гялалздаг. Дунджаар секунд тутамд нэг удаа анивчдаг.
  6. Удаан гялалзах. 5 -р шиг, гэхдээ хамаагүй удаан хурдтай.
  7. Дээд талын лаагаас доод хүртэл хурдан долгион хийнэ.
  8. Дээд талын лаагаас доош хүртэл удаан долгион.
  9. Статик тод гэрэл. Би үүнийг оруулах ёстой байсан, анхны функцээс салахыг хүсээгүй.

Алхам 5: Код

/*

FLICKERING CANDLE BRIDGE */ // горимын хувьсагчийг төлөвт байлгах // зарлах _attribute _ ((хэсэг (". Noinit"))) гарын үсэг зураагүй int горимоор // төлөвийг хадгалахын тулд зарлана. // Дахин тохируулсны дараа програм эхлэхэд санах ойн энэ хэсэг нь эхлээгүй боловч дахин тохируулахаас өмнө байсан // утгыг хадгална. // програмыг анх ажиллуулахдаа санамсаргүй утгыг агуулдаг. / * * Лааны анги нь анивчдаг лааны гэрлийн түвшинг тооцоолоход шаардлагатай бүх зүйлийг агуулдаг. */ ангийн лаа {хувийн: урт хугацааны дээд хугацаа; урт хугацаа; урт maxlite; урт минлит; урт дундаж; урт оригинал цаг; гарал үүслийн урт хугацаа; урт оригмаклит; урт оригминлит; урт оригманлит; урт deltamaxtime; Deltamintime урт; урт дельтамакслит; урт дельтаминлит; урт дельтаманлит; урт цоорхой; урт тэгш байдал; урт хугацааны эхлэл; урт зорилт; хөвөх фактор; урт хугацааны зорилтот хугацаа; эхлэх урт хугацаа; удаан хугацааны саатал; хүчингүй шинэ зорилт (хүчингүй); урт хугацааны зорилго (хүчингүй); нийтийн: лаа (урт дэвсгэр, урт мит, урт мал, урт миль, урт мел, урт eo); урт түвшний мэдлэг (хүчингүй); void initlfo (урт дельтамат, урт дельтамит, урт дельтамал, урт дельтамил, урт дельтаман, урт хурд); хүчингүй setlfo (хүчингүй); }; лаа:: лаа (урт дэвсгэр, урт мит, урт мал, урт миль, урт мел, урт eo): maxtime (дэвсгэр), mintime (mit), maxlite (mal), minlite (миль), meanlite (mel), тэгш (eo), origmaxtime (дэвсгэр), origmintime (mit), origmaxlite (mal), origminlite (mil), origmeanlite (mel) {target = meanlite; шинэ зорилт (); } / * * levelnow () нь лаа яг одоо байх ёстой гэрлийн түвшинг буцаана. * Функц нь шинэ санамсаргүй гэрлийн түвшинг тодорхойлж, * энэ түвшинд хүрэхийн тулд шаардагдах хугацааг тодорхойлдог. Өөрчлөлт нь шугаман бус * боловч сигмойн муруйн дагуу хийгддэг. Шинэ * түвшинг тодорхойлох цаг болоогүй байхад функц нь гэрлийн түвшинг буцааж өгдөг. */ урт лаа:: levelnow (хүчингүй) {урт тусламж, одоо; хөвөх t1, t2; одоо = millis (); if (now> = targettime) {help = target; шинэ зорилт (); буцах тусламж; } else {// help = target * (millis () - starttime) / deltatime + start * (targettime - millis ()) / deltatime; t1 = float (targettime - now) / deltatime; t2 = 1. - t1; // Энэ бол sigmoid тооцооны тусламж = t1*t1*t1*start + t1*t1*t2*start*3 + t1*t2*t2*target*3 + t2*t2*t2*target; буцах тусламж; }} void candle:: newtarget (void) {урт нийлбэр; нийлбэр = 0; for (long i = 0; i <evenout; i ++) sum+= onetarget (); эхлэх = зорилтот; зорилтот = нийлбэр / тэгш байдал; эхлэх цаг = millis (); зорилтот цаг = эхлэх цаг + санамсаргүй (mintime, maxtime); deltatime = зорилтот цаг - эхлэх цаг; } урт лаа:: onetarget (void) {if (random (0, 10) lastcheck + 100) {lastcheck = now; / * * "Миллисекундийн дараа" гялалзах алго: * Хурдны дараа шалгаж эхэлнэ / 2 миллисекунд * Хэрэв ханш 10000 мс байвал 5000 мс -ийн хугацаанд зоосыг 50 удаа эргүүлэв. * 1/50 = 0.02 * If random (10000) starttime + rate / 2) {if (random (rate) targettime) return lowlite; буцах (эхлэх - lowlite) * (targettime - одоо) / (targettime - эхлэх цаг) + lowlite; } void twinkler:: twink (void) {starttime = millis (); зорилтот цаг = санамсаргүй (mintime, maxtime) + эхлэх цаг; эхлэх = санамсаргүй (minlite, maxlite); } void setup () {int led; // Ид шидийн горимын хувьсагчийг уншина уу, энэ нь хамгийн сүүлд ямар гэрлийн програм ажиллуулсныг // хэлж, // нэмэгдүүлж, халих тохиолдолд тэг болгож тохируулна уу. горим ++; горим %= 9; // Энэ нь ямар ч үнэ цэнийг авч үздэг // Arduino // энэ програмыг анх удаа ажиллуулж байсан. / * * ЧУХАЛ ТАЙЛБАР * ============ * * * Энэ програмын хийх гол зүйл бол ХОУХ * дохиог LED гэрэлд гаргах явдал юм. Энд би 3 -оос 9 хүртэлх зүүг * гаралтын горимд тохируулсан. Arduino Mega2560 дээр эдгээр тээглүүрүүд ХОУХ -ны дохиог маш сайн гаргадаг. Хэрэв танд өөр Arduino байгаа бол * ямар зүү (хэдэн ширхэг) ашиглаж болохыг шалгаарай. Хэрэв та Arduino * нь хангалттай техник хангамжийн PWM тээглүүрээр хангаж чадахгүй бол PWM програм хангамжийг ашиглахын тулд та кодыг үргэлж * дахин бичиж болно. * */ pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT); pinMode (6, OUTPUT); pinMode (7, OUTPUT); pinMode (8, OUTPUT); pinMode (9, OUTPUT); pinMode (LED_BUILTIN, OUTPUT); analogWrite (LED_BUILTIN, 0); // Arduino лаа *лаазны ядаргаатай улаан гэрлийг унтраана уу [7]; // гялалзсан лаа ашиглахдаа бэлдэх, гялалзах *гэрэлтэх [7]; // гялалзсан лаа ашиглахад бэлтгэ … if (mode == 8) {for (int i = 3; i <10; i ++) analogWrite (i, 255); байхад (үнэн); // Энэ програмыг ажиллуулах бүртээ // тохируулах товчлуурыг дарах хүртэл // ийм төрлийн төгсгөлгүй давталт руу ордог. } if (mode <2) // анивчдаг {long maxtime_; урт mintime_; урт maxlite_; урт минлит_; урт дундаж утга_; урт тэгш_; хэрэв (горим == 0) {maxtime_ = 250; mintime_ = 50; maxlite_ = 256; minlite_ = 0; дундаж утга = 128; тэгш_ = 1; } if (mode == 1) {maxtime_ = 400; mintime_ = 150; maxlite_ = 256; minlite_ = 100; дундаж утга = 200; тэгш_ = 1; } for (int i = 0; i <7; i ++) {can = new candle (maxtime_, mintime_, maxlite_, minlite_, Meanlite_, even_); } while (үнэн) // Лаа асаах төгсгөлгүй давталт {for (int i = 0; i levelnow ()); }} if (mode <4) // lfo гялалзсан хэсэгт нэмсэн {if (mode == 2) // lfo (30 s) бүх лааны хувьд {for (int i = 0; i initlfo (75, 50, 0), 50, 36, 30000);}} if (mode == 3) // lfo: s for the candles {for (int i = 0; i initlfo (75, 50, 0, 50, 36, 20000); чадах [1]-> initlfo (75, 50, 0, 50, 36, 25000); чадах [2]-> initlfo (75, 50, 0, 50, 36, 30000); чадах [3]-> initlfo (75, 50, 0, 50, 36, 35000); чадах [4]-> initlfo (75, 40, 0, 50, 36, 40000); чадах [5]-> initlfo (75, 30, 0, 50, 26, 45000); can [6]-> initlfo (75, 20, 0, 50, 16, 50000); can [7]-> initlfo (75, 10, 0, 50, 6, 55000);} while (үнэн) // lfo {урт lastclock = 0; for (int i = 0; i levelnow ()); хэрэв (millis ()> lastclock + 4000) {lastclock = millis (); (int i = 0; i setlfo ();}}} if (mode <6) // гялалзсан лаа {int speedo; if (mode == 4) speedo = 6000; else speedo = 22000; for (int i = 0); i <7; i ++) twink = new twinkler (300, 295, 255, 250, speedo); while (true) {for (int i = 0; i levelnow ()); }} // Долгион. // Энэ хэсэг нь хоорондоо зөрчилдөж буй хувьсагчийн нэр байхгүй эсэхийг шалгахын тулд зөвхөн буржгар хаалтнаас эхэлдэг. // Хаалтанд өөр шаардлага байхгүй, // горимын утгыг шалгах шаардлагагүй.{int lolite = 2; int hilite = 255; int mean; int ampl; float fasedelta = 2.5; хөвөх үе; int elong; хөвөх фактор; урт хугацаа; дундаж = (лолит + хилит) / 2; ampl = hilite - дундаж; хэрэв (горим == 6) хугацаа = 1500; өөр хугацаа = 3500; Фактор = 6.28318530718 / хугацаа; while (true) {fase = phactor * (millis () % period); elong = дундаж + ampl * sin (үндсэн); analogWrite (7, урт); analogWrite (9, урт); fase = phactor * ((millis () + period / 4) % period); elong = дундаж + ampl * sin (үндсэн); analogWrite (3, урт); analogWrite (8, урт); fase = phactor * ((millis () + period / 2) % period); elong = дундаж + ampl * sin (үндсэн); analogWrite (4, урт); analogWrite (5, урт); fase = phactor * ((millis () + 3 * period / 4) % period); elong = дундаж + ampl * sin (үндсэн); analogWrite (6, урт); } // Лааны утсыг Arduino -той холбохдоо // Би тэднийг хольж, хэзээ ч эмх цэгцэнд оруулаагүй. // Захиалга нь долгионы хэв маягийг бий болгоход чухал ач холбогдолтой тул би энэ жижиг хүснэгтийг надад зориулж бичсэн: // // Лаа# гүүрэн дээр: 2 3 5 4 7 6 1 // Arduino дээрх өгөгдлийн зүү: 3 4 5 6 7 8 9}} void loop () {// Хөнгөн програм бүр өөрийн хязгааргүй давталт байдаг тул // би бүх давталтуудыг begin () хэсэгт // бичээд энэ давталт () хэсэгт юу ч үлдээгээгүй. }

Алхам 6: ХБХ -ийн тухай

Ледүүд 3 В хүчдэлтэй байхад л гэрэлтдэг. Зөвхөн 1.5 В хүчдэлийг ашигладаг ч тэд огт асдаггүй. LED чийдэн нь улайсдаг гэрлийн нэгэн адил бүдгэрч буй хүчдэлд сайнаар бүдгэрдэггүй. Үүний оронд тэдгээрийг бүрэн хүчдэлээр асааж, дараа нь унтрааж байх ёстой. Секундэд 50 удаа ийм зүйл тохиолдоход тэд 50 % -ийн гэрэлтүүлгээр их, бага хэмжээгээр сайхан гэрэлтдэг. Хэрэв тэд зөвхөн 5 мс, 15 мс унтраалттай байхыг зөвшөөрвөл тэд 25 % -ийн тод гэрлээр гэрэлтэж магадгүй юм. Энэхүү техник нь LED гэрлийг бүдэг болгодог. Энэ техникийг импульсийн өргөн модуляци буюу ХОУХ гэж нэрлэдэг. Arduino шиг микроконтроллер нь ихэвчлэн өгөгдлийн тээглүүртэй бөгөөд асаах/унтраах дохиог илгээдэг. Зарим өгөгдлийн зүү нь ХОУХ -ны чадавхийг бий болгосон. Гэхдээ хэрэв ХОУХ -д суурилуулсан тээглүүр хангалтгүй байгаа бол "програм хангамжийн ХОУХ -ны зүү" үүсгэхийн тулд тусгай зориулалтын програмчлалын санг ашиглах боломжтой байдаг.

Миний төсөлд би Arduino Mega2560 -ийг ашигласан бөгөөд энэ нь 3 - 9 -р зүү дээр тоног төхөөрөмжийн ХОУХ -тэй байдаг. Хэрэв та Arduino UNO ашигладаг бол танд зөвхөн ХОУХ -ны 6 зүү байна. Энэ тохиолдолд, хэрэв танд 7 -р (эсвэл түүнээс дээш) лаа хэрэгтэй бол би эндээс олж болох Бретт Хагманы ХОУХ -ны номын санг санал болгож болно.

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