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

Нууцлаг ханын цаг: 27 алхам (зурагтай)
Нууцлаг ханын цаг: 27 алхам (зурагтай)

Видео: Нууцлаг ханын цаг: 27 алхам (зурагтай)

Видео: Нууцлаг ханын цаг: 27 алхам (зурагтай)
Видео: Сүнс гэж үнэхээр байдаг уу? 2024, Долдугаар сарын
Anonim
Cryptic хананы цаг
Cryptic хананы цаг

Цаг хугацаа өнгөрөх нь бидний хянах боломжгүй зүйл юм. Хэрэв бид унтаж, сэрүүн, уйтгартай эсвэл сүй тавьсан бол энэ нь ижил хэмжээгээр тохиолддог. Одоогийн үйл явдлуудын хувьд цаг хугацаа өнгөрөх болно гэдгийг санах нь чухал юм. Бид цаг хугацаа өнгөрөхийг хүлээж байхад цаг хугацаа өнгөрөхөд илүү сэтгэл татам болгодог зүйлийг хийж яагаад болохгүй гэж.

Энэхүү цагийг Германы Берлин хотоос олдсон Mengenlehreuhr -аас санаа авч бүтээсэн бөгөөд яг ийм байдлаар уншиж болно. Яг анхных шигээ гэрэлтсэн, өнгөт талбайн тусламжтайгаар цагийг зааж өгдөг.

Энэ нь 52 "оронтой" бүсийг гэрэлтүүлдэг 96 LED -тэй. Анхны хувилбараас ялгаатай нь хэвтээ баарны байрлалын оронд секундын цагираг агуулсан дугуй хэлбэртэй загвартай. Гаднах зурвас нь дунд цэгийн хамт секундыг, дараагийн хоёр хамтлаг нь минут, эцсийн дотоод зурвас нь цагийг заана.

Хэрэв танд гар дээр хэдэн ширхэг хаягдал материал, нэмэлт цаг байгаа бол энэ цагийг ашиглан үүнийг харуулах зүйл хийж болохгүй гэж!

Хэрэв би үүнийг дахин хийх юм бол энэ төсөлд хэд хэдэн өөрчлөлт оруулах болно. Нэгдүгээрт, би хүрээ, LED самбарыг хар биш цагаан өнгөөр будна. Энэ нь урд талын том линзээр илүү их гэрэл тусгах болно. Би бас LED оруулахыг эцэс хүртэл хүлээх болно. Надад самбарыг эрт дуусгах шаардлагатай байсан тул код бичихэд надад тусалж чадна. Ийм зүйл байхгүй тул эхлээд үүнийг хэрхэн уншиж сурцгаая!

Зураг
Зураг

Алхам 1: Цагийг хэрхэн унших вэ

Цагийг дотоод тойргоос гадна хүртэл уншдаг. Дөрвөн талбарын дотоод цагираг нь тус бүр таван бүтэн цагийг, хоёр дахь цагиргийн хажуугаар дөрвөн талбарыг тус тусад нь нэг бүтэн цагаар илэрхийлж, цагийн утгыг 24 цагийн форматаар харуулдаг. Гурав дахь бөгж нь арван таван талбараас бүрдэх бөгөөд энэ нь тус бүр таван бүтэн минут, дараагийн цагираг нь өөр дөрвөн талбартай бөгөөд тус бүр нэг минутийг тэмдэглэдэг. Эцэст нь 29 талбарын гадна талын цагираг нь тэгш секундийг илэрхийлж, голд нь гэрэл анивчсанаар сондгой (асах үед) эсвэл тэгш тоогоор (асахгүй үед) секундийг илэрхийлнэ.

Зураг
Зураг

Жишээлбэл, дээрх зураг нь таван цагийн цифрүүдийн 1, нэг цагийн цифрүүдийн 3, таван минутын цифрүүдийн 8, нэг минутын цифрүүдийн 4, хоёр хоёр оронтой тоонуудын дунд, хоёр дахь дунд цифрүүдийн 23 нь ассан байна.

1x5 + 3x1: 8x5 + 4x1: 23x2 + 1x1 = 8:44:47 = 8:44:47 AM

Зураг
Зураг

Дээр үзүүлсэн цаг: 3x5 + 0x1: 3x5 + 2x1: 5x2 + 1x1 = 15:17:11 = 3:17:11 PM

Зураг
Зураг

Дээр үзүүлсэн цаг: 3x5 + 2x1: 3x5 + 3x1: 16x2 + 1x1 = 17:18:33 = 5:18:33 PM

Алхам 2: багаж хэрэгсэл, материал

Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал

Электроникийн материал:

  • Ардуино Нано
  • Бодит цагийн цаг
  • Хаягдах LED
  • Цахилгаан залгуур
  • Цахилгаан кабель
  • USB цахилгаан залгуур
  • Хөнгөн хамааралтай резистор ба тэнцвэртэй эсэргүүцэл (хэрэв та шөнө бүдгэрүүлэхийг хүсч байвал)
  • Утас

Мод боловсруулах материал:

  • 3/4 инч фанер
  • Нимгэн фанер
  • Хаягдал мод (би 2х4 хэмжээтэй байсан боловч өтгөн мод бас ажиллах болно)
  • Будаг
  • Нийлэг 30 х 36 инч хэмжээтэй хуудас (орон нутгийн гэр ахуйн дэлгүүрээс олдсон)
  • Цонхны өнгө
  • Цонхны будаг түрхэх шингэн (би хүүхдийн шампуньтай хольсон усыг шүршигч саванд хийсэн)
  • Windex
  • Махны цаас
  • Шураг
  • Шүршигч наалдамхай
  • Цавуу
  • Цавуу мод

Хэрэгсэл:

  • Шугам
  • Както хутга
  • Тууз
  • Хоёр талт соронзон хальс
  • Луужин
  • Тойрог хайчлах төхөөрөмж
  • Jigsaw
  • Bandsaw
  • Спиндер Сандер
  • Палм Сандер
  • Диск Сандер
  • Чиглүүлэгчийн хүснэгт
  • Awl
  • Өрөмдлөгийн ба өрөмдлөгийн/жолооч нар
  • Хавчаар
  • Гагнуурын төмөр
  • Гагнуур
  • Утас хуулагч

Алхам 3: Загваруудыг угсрах

Загваруудыг цуглуулах
Загваруудыг цуглуулах
Загваруудыг цуглуулах
Загваруудыг цуглуулах

Том хэмжээний загварыг Adobe Reader дээрх зурагт хуудасны тохиргоог ашиглан хэвлээрэй. Цаас бүрийн ирмэгийг хайчилж, туузаар наа. Босоо, хэвтээ ба диагональ шугамууд нь загварыг доторлогоо хийхэд тусална. Эдгээр хуудсууд нь эмх замбараагүй болсон тохиолдолд эмх цэгцтэй байлгахад туслах жижиг тоотой байдаг.

Шаардлагатай бүх загвар, файлыг 26 -р алхамаас олж болно.

Алхам 4: Зүссэн тойрог

Барзгар огтлох тойрог
Барзгар огтлох тойрог
Барзгар огтлох тойрог
Барзгар огтлох тойрог

Хоёр загварыг фанерын 3/4 хэмжээтэй хуудсан дээр тавиад луужингийн тусламжтайгаар шаардлагатай хэмжээнээс арай том тойрог зур. Тоглоом ашиглан барзгар хэлбэрийг хайчилж ав.

Алхам 5: Хэмжээ хүртэл хайчилж ав

Хэмжээ хүртэл хайчилж ав
Хэмжээ хүртэл хайчилж ав
Хэмжээ хүртэл хайчилж ав
Хэмжээ хүртэл хайчилж ав

Туузан хайчилбар дээр тойрог хайчлах төхөөрөмж ашиглан тойргийг эцсийн хэмжээгээр хайчилж ав.

Алхам 6: Загвар хэрэглэх

Загвар хэрэглэх
Загвар хэрэглэх
Загвар хэрэглэх
Загвар хэрэглэх
Загвар хэрэглэх
Загвар хэрэглэх

Шүршигч цавуу ашиглан загвар бүрийг дугуйланд түрхэнэ. Загварын төв хэсэгт хадаас хийж тойрог дээр төвлөрүүл.

Алхам 7: Загварыг хайчилж ав

Загвар хайчлах
Загвар хайчлах
Загвар хайчлах
Загвар хайчлах
Загвар хайчлах
Загвар хайчлах

Jigsaw ашиглан загвар бүрийн цонх тус бүрийг хайчилж ав. Хэрэв танд CNC нэвтрэх боломж байгаа бол энэ алхам илүү хялбар байх болно! Энэ үйл явцад туслахын тулд би цонх бүрт нүх гаргасан. Та хайчилж эхэлмэгц загвар нь унаж эхэлж магадгүй юм. Хэрэв ийм зүйл тохиолдвол та үүнийг жижиг соронзон хальсны тусламжтайгаар бэхэлж болно.

Алхам 8: Зүлгүүр хийх

Зүлгүүр
Зүлгүүр
Зүлгүүр
Зүлгүүр
Зүлгүүр
Зүлгүүр

Зөөгч, булны зүлгүүр, далдуу модны зүлгүүр дээр түрхсэн зүлгүүрийг ашиглан эвлүүрийн үлдээсэн ширүүн зүслэгийг зүлгэж, тэгшлээрэй.

Алхам 9: LED -ийг өрөмдөх

LED -ийн өрөмдлөгийн бэхэлгээ
LED -ийн өрөмдлөгийн бэхэлгээ
LED -ийн өрөмдлөгийн бэхэлгээ
LED -ийн өрөмдлөгийн бэхэлгээ
LED -ийн өрөмдлөгийн бэхэлгээ
LED -ийн өрөмдлөгийн бэхэлгээ
LED -ийн өрөмдлөгийн бэхэлгээ
LED -ийн өрөмдлөгийн бэхэлгээ

Нүх тус бүрийн төвийг гэрэлтүүлгийн цооногоор тэмдэглэж, LED -ийн өрөмдлөгийн цоорхойг тэмдэглээрэй. Би өрөмдлөгийг ажлын хэсэгт перпендикуляр байлгахын тулд гарын авлага, арын модон дээр үлээлгэхээс сэргийлж арын хавтанг ашигласан.

Алхам 10: Самбаруудыг нэгтгэх

Самбарыг нэгтгэх
Самбарыг нэгтгэх
Самбарыг нэгтгэх
Самбарыг нэгтгэх
Самбарыг нэгтгэх
Самбарыг нэгтгэх

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

Дэлгэрэнгүй мэдээллийг зургийн тэмдэглэлээс үзнэ үү.

Алхам 11: LED оруулах

LED оруулах
LED оруулах
LED оруулах
LED оруулах

LED самбарыг LED самбарын арын хэсэгт оруулна уу. Нүхнүүд хангалттай зайтай байх ёстой бөгөөд нэг тойргоос нөгөөд шилжихээс бусад утсыг огтлох шаардлагагүй болно.

Ар талаас нь LED нь төвөөс эхэлж, дараа нь цагийн зүүний эсрэг, дараа нь дараагийн цагираг хүртэл ажилладаг.

Алхам 12: 1 -р хэсгийг хавсаргана уу

1 -р хэсгийг хавсаргана уу
1 -р хэсгийг хавсаргана уу
1 -р хэсгийг хавсаргана уу
1 -р хэсгийг хавсаргана уу
1 -р хэсгийг хавсаргана уу
1 -р хэсгийг хавсаргана уу

3/4 инч фанер дээр хавсаргасан "1 -р сегмент" загвараас 9 сегментийг хайчилж ав (26 -р алхамаас олсон). LED хавтанг цавуу, хавчаараар бэхлээрэй. Хэрэв та тэвчээргүй байгаа бол хадаасаар бэхлэх боломжтой.

Хатаасны дараа ирмэгийг зүлгүүрээр нунтаглана.

Алхам 13: Будаг

Будаг
Будаг
Будаг
Будаг
Будаг
Будаг
Будаг
Будаг

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

Алхам 14: Сегмент 2

Сегмент 2
Сегмент 2
Сегмент 2
Сегмент 2
Сегмент 2
Сегмент 2

"3 -р сегмент 2" загвараас 2 3/8 инч зузаантай модноос хавсаргасан 9 сегментийг хайчилж ав (26 -р алхамаас олж болно). Би дэлгүүрийн эргэн тойрноос 2х4 хэмжээтэй хаягдал ашигласан. Сегментийг хуурай байдлаар байрлуулж, туузны хавчаараар сайн бэхлээрэй. Хэрэв бүх зүйл шалгагдсан бол цавууг наалдахгүйн тулд гадна талыг нь будагтай туузаар боож, дараагийн алхам руу шилжихээс өмнө дор хаяж нэг цагийн турш хатаана.

Алхам 15: 3 -р хэсэг

Сегмент 3
Сегмент 3
Сегмент 3
Сегмент 3
Сегмент 3
Сегмент 3

3/8 инчийн зузаантай модны модны хавсаргасан "Сегмент 3" загвараас 9 сегментийг хайчилж ав (26 -р алхамаас олсон). 2 -р сегментийн оёдол нь 3 -р хэсэг бүрийн дунд байхаар наа. Энэ нь бөгжийг бэхжүүлнэ.

Алхам 16: Гөлгөр бөгж ба будаг

Гөлгөр бөгж ба будаг
Гөлгөр бөгж ба будаг
Гөлгөр бөгж ба будаг
Гөлгөр бөгж ба будаг

Би том бөгжний тасархай хэсгээс захиалгаар зүлгүүр хийсэн. Бөгжний дотор болон гадна хэсгийг зүлгэж, цавуу наах явцад гарч болзошгүй хагарлыг дүүргэнэ.

Гөлгөр болсны дараа хэдхэн давхар хар будаг, тунгалаг цув түрхээрэй.

Алхам 17: Нийлэг хайчилж ав

Нийлэг хайчил
Нийлэг хайчил
Нийлэг хайчил
Нийлэг хайчил
Нийлэг хайчил
Нийлэг хайчил
Нийлэг хайчил
Нийлэг хайчил

Нийлэгийг 30х30 инч хэмжээтэй дөрвөлжин болгон хайчилж, төвийг нь тэмдэглээрэй. Акрилийг хоёр талт соронзон хальсаар бэхлээрэй. Угаах зориулалттай чиглүүлэгчийн бит ашиглан илүүдэл нийлэгийг арилгана

Алхам 18: Цонхны өнгийг түрхээрэй

Цонхны будаг түрхэх
Цонхны будаг түрхэх
Цонхны будаг түрхэх
Цонхны будаг түрхэх
Цонхны будаг түрхэх
Цонхны будаг түрхэх

Тоосгүй орчинд хамгаалалтын хальсыг нийлэгээс зайлуулна. Шүршигч түрхээд цонхны өнгөнөөс арын дэвсгэрийг арилгана. Цонхны наалтыг наалдсан талыг нь доошоо түрхэнэ. Цэвэрлэгч эсвэл зээлийн карт ашиглан цонхны өнгөн доорх бүх шингэнийг шахаж ав. Бүх бөмбөлөг, үрчлээг арилгасны дараа цонхны илүүдэл өнгийг хурц хутгаар хайчилж ав.

Алхам 19: Defuser хавсаргана уу

Defuser хавсаргана уу
Defuser хавсаргана уу
Defuser хавсаргана уу
Defuser хавсаргана уу

Би нядалгааны зориулалтаар том махны цаас ашигласан. Цаасыг тэгш гадаргуу дээр тавь. Хүрээний нүүрийг цавуугаар цавуугаар хучна. Цавуу хатахаас өмнө цагны урд талыг цаасан дээр доош харуулан илүүдэл хэсгийг нь хайчилж ав. Хатсаны дараа хурц хутгаар угааж цэвэрлээрэй.

Алхам 20: Тусгаарлагчийг хэрэглэнэ

Тусгаарлагч хэрэглэх
Тусгаарлагч хэрэглэх

Би цахилгаан соронзон хальсыг ашиглан цахилгаан болон өгөгдлийн шугамыг тусад нь байлгасан.

Алхам 21: Угсрах

Угсрах
Угсрах
Угсрах
Угсрах
Угсрах
Угсрах

Нийлэгээс хамгаалалтын бусад давхаргыг зайлуулна. Акрилийг цонхны өнгийг дээш харуулан бөгжний дотор байрлуулна. Үлдсэн цагийг цагираг руу шургуул. Бөгжний дундуур LED самбар руу нүх өрөмдөж байх үед хавчаар ашиглан хөнгөн даралтыг хэрэглэнэ. Энэ нь ар талаас ойролцоогоор 1 1/8 инч байх ёстой. LED -ийг өрөмдөхгүй байхыг анхаарна уу. Дотоод сүлжээний толгойн боолтыг нүхэнд шургуул. Цагийн периметрийн эргэн тойронд нийт найман боолтыг давт.

Алхам 22: Зангуу оноог хавсаргана уу

Зангуу цэгүүдийг хавсаргана уу
Зангуу цэгүүдийг хавсаргана уу

Цавуу зангуу нь арын тагийг бэхлэхийн тулд цагны ард харуулна. Эдгээр нь 3/4 инч зузаан, ойролцоогоор 2 инч урттай.

Алхам 23: Эрчим хүч ба LDR мэдрэгчийн нүхийг өрөмдөх

Өрөмдлөгийн хүч ба LDR мэдрэгчийн цооног
Өрөмдлөгийн хүч ба LDR мэдрэгчийн цооног

Цахилгааны залгуурыг цагийн доод талд, нүхийг гэрлээс хамааралтай эсэргүүцэл (LDR) мэдрэгчийг өрөмдөх.

Алхам 24: Электроник эзэмшигчийг суулгана уу

Электроник эзэмшигч суурилуулах
Электроник эзэмшигч суурилуулах
Электроник эзэмшигч суурилуулах
Электроник эзэмшигч суурилуулах

RTC болон Arduino Nano -д зориулсан 3D хэвлэсэн эзэмшигчийг суулгана уу. Схемд үзүүлсэн шиг бүх цахилгаан хэрэгслийг холбоно уу.

Алхам 25: Арын хавтас

Арын хавтас
Арын хавтас
Арын хавтас
Арын хавтас
Арын хавтас
Арын хавтас
Арын хавтас
Арын хавтас

Нимгэн фанераас арын тагийг цагны гадна талаас арай жижиг хайчилж ав. Зангуу цэгүүдэд цооног өрөмдөх. Нурууны төвийг олж, хоёр чиглэлд 8 инч хэмжиж, цооногийг хайчилж ав (АНУ -д бэхэлгээний төвд стандарт 16). Би үндсэн нүхийг ашиглах боолтын толгойноос арай томоор өрөмдөж, нүхийг нэг чиглэлд томруулав. Хар будгаар будаж, тагийг нь бэхлээрэй.

Алхам 26: Код ба файлууд

Дахин хэлэхэд би энд ашиглаж буй Arduino номын сангуудын ихэнхийг ашиглаж эхэлж байгаа тул тэдгээрийг ашиглах илүү сайн арга зам байгаа гэдэгт итгэлтэй байна.

Төслийн хэмжээг нэмэгдүүлэх эсвэл багасгах тохиолдолд хичнээн LED ашиглаж байгаагаас шалтгаалан кодоо хялбархан шинэчлэх гэж би бичсэн. Та хийх ёстой зүйл бол LED -ийн эхлэх ба дуусах байрлал, орон тус бүрийн хэдэн LED байгааг шинэчлэх явдал юм.

Би эхлүүлэх болон цагаар тоглодог хэдэн хөдөлгөөнт дүрс нэмсэн. Тэдгээр нь самбар дээрх санамсаргүй тооны генератор дээр үндэслэн sudo random юм.

Та өнгийг өнгөний дагуу эргүүлэх эсвэл нэг статик хэвээр байлгахын тулд цагийг тохируулж болно. Та танилцуулгад үзүүлсэн шиг цагийг уншихын тулд заагчийн цифрийг тодруулж болно.

Кодыг хүссэнээрээ өөрчилж, өөрчилж болно.

#"RTClib.h" -ийг оруулна уу

#оруулах #NUM_LEDS 96 тодорхойлох #DATA_PIN 3 тодорхойлох #LDR A0 RTC_DS1307 rtc; boolean timeChange = худал; boolean printTime = худал; // Хэрэв та консол дээрх гаралтыг харахыг хүсвэл үнэн гэж тохируулаарай. Дебаг хийхэд тустай. boolean redDown = үнэн; boolean greenDown = худал; boolean blueDown = худал; логик мөчлөг = худал; // Хэрэв та цагийн өнгийг boolean онцлох мөчлөг хийхийг хүсч байвал үнэнийг тохируулна уу = үнэн; // "Сүүлийн орон" -ыг тодруулахын тулд true гэж тохируулна уу. // цаг хугацааны бүлэг тус бүрийн эхлэл ба төгсгөлийн байршил const int SECOND_1_LOCATION = 0; const int HOUR_2_START_LOCATION = 1; const int HOUR_2_END_LOCATION = 8; const int HOUR_1_START_LOCATION = 9; const int HOUR_1_END_LOCATION = 20; const int MINUTE_2_START_LOCATION = 21; const int MINUTE_2_END_LOCATION = 42; const int MINUTE_1_START_LOCATION = 43; const int MINUTE_1_END_LOCATION = 66; const int SECOND_2_START_LOCATION = 67; const int SECOND_2_END_LOCATION = 95; const int LEDS_PER_HOUR_1 = 3; const int LEDS_PER_HOUR_2 = 2; const int LEDS_PER_MINUTE_1 = 6; const int LEDS_PER_MINUTE_2 = 2; // Үржүүлэгчид цаг хуваахад ашиглагддаг const int MULTIPLIER_FIVE = 5; const int MULTIPLIER_TWO = 2; const int START_UP_DELAY = 1; // Эхлэх анимацийг const эсвэл CYCLE_SPEED = 1 болгож хурдасгах эсвэл удаашруулахын тулд үүнийг өөрчил; // Өнгө өөрчлөх мөчлөгийн хувьд энд байгаа ханшийг өөрчил (1 -ээс дээш байх ёстой) // Хувьсагчийг зарлах int lastSecond = 0; int currentHour = 0; int currentMinute = 0; int currentSecond = 0; int hour1 = 0; int hour2 = 0; int минут1 = 0; int минут2 = 0; int секунд1 = 0; int second2 = 0; int cycleCount = 1; float fadeValue = 255; float fadeCheck = 255; uint8_t тод = 255; int numberOfAnimations = 5; int санамсаргүй байдал = 0; // Өнгийг тохируулах uint8_t red = 0; uint8_t ногоон = 0; uint8_t цэнхэр = 255; uint8_t онцлох_рэд = 60; uint8_t онцлох_ ногоон = 60; uint8_t онцлох_хэнхэр = 255; // leds CRGB leds [NUM_LEDS] массивыг тодорхойлох; void setup () {Serial.begin (19200); FastLED.addLeds (leds, NUM_LEDS); LEDS.setBrightness (тод); FastLED.clear (); rtc.begin (); // Цагийг тохируулахын тулд доорхи мөрийг тайлбарлахгүй. // rtc.adjust (DateTime (2020, 2, 19, 23, 59, 50)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))))); // Startup animation animate (санамсаргүй байдал); } void loop () {// Time DateTime -ийг одоо авах = rtc.now (); currentHour = now.hour (); currentMinute = now.minute (); currentSecond = now.second (); timeChange = худал; // Эдгээрийг ашиглан RTCгүйгээр цагийг гараар тохируулна уу. Дебаг хийхэд тустай // currentHour = 5; // currentMinute = 30; // currentSecond = 30; // Бүх битүүдийг тэг болгож анхны байдалд нь оруулна уу (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB:: Хар; } // Цагийг тохируулах // Цагийг тохируулах 1 цаг1 = (currentHour % MULTIPLIER_FIVE) * LEDS_PER_HOUR_1; // Энэ нь (int i = HOUR_1_START_LOCATION; i 0) // && hour1 <12) {асаах цагийн нэгжийн нийт LED -ийг тоолох болно (int i = (HOUR_1_START_LOCATION + hour1 - 1); i> = (HOUR_1_START_LOCATION + hour1-LEDS_PER_HOUR_1); i--) {leds = CRGB (онцлох_ред, онцлох_ ногоон, тод_хөх); }} // Цагийг тохируулах 2 цаг2 = (currentHour / MULTIPLIER_FIVE) * LEDS_PER_HOUR_2; // Энэ нь (int i = HOUR_2_START_LOCATION; i 0) // && hour2 <8) {асаах цагийн нэгжийн нийт LED -ийг тоолох болно (int i = (HOUR_2_START_LOCATION + hour2 - 1); i> = (HOUR_2_START_LOCATION + hour2-LEDS_PER_HOUR_2); i--) {leds = CRGB (онцлох_ред, онцлох_ ногоон, тод_хэнхэр); }} // Минут тохируулах // Минут тохируулах 1 минут1 = (currentMinute % MULTIPLIER_FIVE) * LEDS_PER_MINUTE_1; // Энэ нь (int i = MINUTE_1_START_LOCATION; i 0) // && минутын1 <24) {асаах цагийн нэгжийн нийт LED -ийг тоолох болно (int i = (MINUTE_1_START_LOCATION + минут1 - 1); i> = (MINUTE_1_START_LOCATION + минут1-LEDS_PER_MINUTE_1); i--) {leds = CRGB (онцлох_ред, онцлох_ ногоон, тод_хөх); }} // Минут 2 минут тохируулах2 = (currentMinute / MULTIPLIER_FIVE) * LEDS_PER_MINUTE_2; // Энэ нь (int i = MINUTE_2_START_LOCATION; i 0) // && minutes2 <22) {асаах цагийн нэгжийн нийт LED -ийг тоолох болно (int i = (MINUTE_2_START_LOCATION + минут2 - 1); i> = (MINUTE_2_START_LOCATION + мину2 }} // Second (хэрэв SecondSecond! = LastSecond) {timeChange = true; } // Хоёр дахь 1 секундийг тохируулах1 = currentSecond % MULTIPLIER_TWO; if (second1 == 1) {leds [SECOND_1_LOCATION] = CRGB (улаан, ногоон, цэнхэр); } // Хоёр дахь 2 секундийг тохируулах2 = currentSecond / MULTIPLIER_TWO; for (int i = SECOND_2_START_LOCATION; i 0) // && second2 <29) {for (int i = (SECOND_2_START_LOCATION + second2 - 1); i> = (SECOND_2_START_LOCATION + second2 - 1); i--) {leds = CRGB (онцлох_ улаан, тодруулах_ ногоон, тод_хөх); }} lastSecond = currentSecond; // Хөтөлбөрийн мөчлөгийг тоолж, setColor функцийг дуудаж, LED -ийн өнгийг CYCLE_SPEED циклээр солино. if (cycleCount тод) // {// fadeValue = тод; //} // else if (fadeValue <150) // {// fadeValue = 150; //} // LEDS.setBrightness (fadeValue); FastLED.show (); // Хэрэв (timeChange == true && printTime == true) {printToConsole (); }} // Анимацийн функц энд хүссэнээрээ өөр анимац нэмж оруулахыг хүсч байна. улаан, ногоон, цэнхэр); FastLED.show (); саатал (START_UP_DELAY); } (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Хар; FastLED.show (); саатал (START_UP_DELAY); }} else if (== 1) {for (int i = 0; i <250; i ++) {int light = random (95); leds [гэрэл] = CRGB (улаан, ногоон, цэнхэр); FastLED.show (); }} else if (сонгох == 2) {leds [0] = CRGB (улаан, ногоон, цэнхэр); for (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {leds [SECOND_2_START_LOCATION+i] = CRGB (улаан, ногоон, цэнхэр); if (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {leds [MINUTE_1_START_LOCATION + i] = CRGB (улаан, ногоон, цэнхэр); } if (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {leds [MINUTE_2_START_LOCATION + i] = CRGB (улаан, ногоон, цэнхэр); } if (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {leds [HOUR_1_START_LOCATION + i] = CRGB (улаан, ногоон, цэнхэр); } if (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {leds [HOUR_2_START_LOCATION + i] = CRGB (улаан, ногоон, цэнхэр); } саатал (34); FastLED.show (); }} else if (сонгох == 3) {leds [0] = CRGB (улаан, ногоон, цэнхэр); for (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {leds [SECOND_2_END_LOCATION - i] = CRGB (улаан, ногоон, цэнхэр); if (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {leds [MINUTE_1_END_LOCATION - i] = CRGB (улаан, ногоон, цэнхэр); } if (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {leds [MINUTE_2_END_LOCATION - i] = CRGB (улаан, ногоон, цэнхэр); } if (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {leds [HOUR_1_END_LOCATION - i] = CRGB (улаан, ногоон, цэнхэр); } if (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {leds [HOUR_2_END_LOCATION - i] = CRGB (улаан, ногоон,цэнхэр); } саатал (34); FastLED.show (); }} if if (== 4) {for (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Black; } FastLED.show (); саатал (200); for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (улаан, ногоон, цэнхэр); } FastLED.show (); саатал (200); for (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Хар; } FastLED.show (); саатал (200); for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (улаан, ногоон, цэнхэр); } FastLED.show (); саатал (200); for (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Хар; } FastLED.show (); саатал (200); }} // Өнгөний мөчлөгийн функц void setColor (boolean cycleColors) {if (cycleColors == true) {if (redDown == true && greenDown == false) {red ++; ногоон-; хэрэв (ногоон <= 0) {улаан = 255; redDown = худал; greenDown = үнэн; }} өөр бол (greenDown == үнэн && blueDown == худал) {ногоон ++; хөх-; хэрэв (цэнхэр <= 0) {ногоон = 255; greenDown = худал; blueDown = үнэн; }} if if (blueDown == true && redDown == false) {blue ++; улаан-; хэрэв (улаан <= 0) {цэнхэр = 255; blueDown = худал; redDown = үнэн; }}} өөр {улаан = 0; ногоон = 0; цэнхэр = 255; }} // Serial Monitor функц дээр хэвлэх void printToConsole () {Serial.print ("Одоогийн цаг:"); Serial.print (currentHour); Serial.print (":"); Serial.print (currentMinute); Serial.print (":"); Serial.println (currentSecond); Serial.println (""); for (int i = HOUR_2_START_LOCATION; i <= HOUR_2_END_LOCATION; i ++) {Serial.print (leds ); if (i % 2 == 0) {Serial.print (""); }} Serial.println (""); for (int i = HOUR_1_START_LOCATION; i <= HOUR_1_END_LOCATION; i ++) {Serial.print (leds ); хэрэв (((i - HOUR_1_START_LOCATION + 1) % 3) == 0) {Serial.print (""); }} Serial.println (""); for (int i = MINUTE_2_START_LOCATION; i <= MINUTE_2_END_LOCATION; i ++) {Serial.print (leds ); хэрэв (((i - MINUTE_2_START_LOCATION) + 1) % 2 == 0) {Serial.print (""); }} Serial.println (""); for (int i = MINUTE_1_START_LOCATION; i <= MINUTE_1_END_LOCATION; i ++) {Serial.print (leds ); хэрэв (((i - MINUTE_1_START_LOCATION) + 1) % 6 == 0) {Serial.print (""); }} Serial.println (""); for (int i = SECOND_2_START_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {Serial.print (leds ); Serial.print (""); } Serial.println (""); Serial.println (leds [SECOND_1_LOCATION]); Serial.println (); for (int i = 0; i <NUM_LEDS; i ++) {Serial.print (leds ); } Serial.println (); Serial.println (); }

Алхам 27: Сайхан амраарай

Зураг
Зураг

Дүгнэж хэлэхэд, энэ цагийг үзэх нь үнэхээр гайхалтай бөгөөд нэг л мэдэхэд уншихад харьцангуй хялбар болно. Хэрэв та өөрөө цагны төсөл хийвэл надад мэдэгдээрэй!

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