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

LEDura - Аналог LED цаг: 12 алхам (зурагтай)
LEDura - Аналог LED цаг: 12 алхам (зурагтай)

Видео: LEDura - Аналог LED цаг: 12 алхам (зурагтай)

Видео: LEDura - Аналог LED цаг: 12 алхам (зурагтай)
Видео: Камера-ЛАМПА со слежением и определением человека. 2024, Долдугаар сарын
Anonim
LEDura - Аналог LED цаг
LEDura - Аналог LED цаг
LEDura - Аналог LED цаг
LEDura - Аналог LED цаг
LEDura - Аналог LED цаг
LEDura - Аналог LED цаг

Tinkercad төслүүд »

Удаан хугацааны турш янз бүрийн төсөл хийснийхээ дараа би өөрөө зааварчилгаа өгөхөөр шийдсэн. Эхнийх нь би гайхалтай аналог цагны LED цагиргаар хийсэн аналог цагийг өөрөө хийх үйл явцыг удирдан чиглүүлэх болно. Дотор цагираг нь цагийг, гадна цагираг нь минут, секундийг харуулдаг.

Цагийг харуулахаас гадна цаг нь өрөөний температурыг харуулдаг бөгөөд энэ нь өрөөний маш гоё чимэглэл болно. 15 минут тутамд цаг нь зарим онцгой эффектүүдийг бий болгодог - видео нь бүгдийг нь харуулдаг тул заавал үзээрэй. 2 товчлуур ба потенциометрийн тусламжтайгаар хэрэглэгч өөрийн хүссэнээр өөр өөр горим, өнгийг өөрчилж болно. Өрөө харанхуйлах үед LED -ийг автоматаар бүдгэрүүлэхийн тулд би үүнийг сайжруулсан бөгөөд ингэснээр хэрэглэгч шөнийн цагаар саад болохгүй.

Цагийг ширээ, орны ширээн дээр тавих эсвэл хананаас дүүжлэх боломжтой.

Анхаарна уу: Гэрэл өндөр учраас зургууд бодит байдал дээрх шиг сайн биш байна.

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

Үүнийг хэрхэн унших вэ?
Үүнийг хэрхэн унших вэ?

Цаг нь 2 цагирагтай - цагийг харуулах жижиг цаг, минут, секундийг харуулах том цагираг. Зарим LED нь үргэлж гэрэлтдэг - луужин гэж нэрлэдэг бөгөөд энэ нь цагийн гол байрлалыг харуулдаг. Цагийн цагираг дээр 3, 6, 9, 12 цаг, цагираг дээр 15, 30, 45, 0 минут байна.

Алхам 2: Танд юу хэрэгтэй байна

Танд юу хэрэгтэй вэ
Танд юу хэрэгтэй вэ

Материал:

  • 1x Arduino Nano (та өөр Arduino ашиглаж болно)
  • 1x DS3231 RealTimeClock модуль
  • 1х Хаягдах LED цагираг - 60 LED
  • 1х Хаягдах LED цагираг - 24 LED
  • 2x товчлуурууд (NO - ихэвчлэн нээлттэй)
  • 1х 100 кОм потенциометр
  • 1х 5В цахилгаан хангамж (1 Ампер дамжуулах чадвартай)
  • 1х Нийлүүлэгч холбогч
  • Зарим утаснууд
  • 1х 10 кОм эсэргүүцэл
  • 1х фоторезистор
  • Prefboard (заавал биш)
  • Терминал блок утас холбогч (заавал биш)
  • 25 мм зузаантай мод, хамгийн багадаа 22 см x 22 см хэмжээтэй мод
  • 1мм нимгэн дэвсгэртэй PVC хуванцар хэмжээ 20см x 20xm

Хэрэгсэл:

  • Барилгын электроникийн үндсэн хэрэгсэл (гагнуурын төмөр, бахө, халив, …)
  • Өрөмдлөгийн машин
  • Халуун цавуу буу
  • Элсний цаас, модон лак
  • CNC машин (магадгүй зарим найздаа байдаг)

Алхам 3: Электроникийн бүрэлдэхүүн хэсгүүд - Үндсэн мэдээлэл

Электроникийн бүрэлдэхүүн хэсгүүд - Үндсэн мэдээлэл
Электроникийн бүрэлдэхүүн хэсгүүд - Үндсэн мэдээлэл
Электроникийн бүрэлдэхүүн хэсгүүд - Үндсэн мэдээлэл
Электроникийн бүрэлдэхүүн хэсгүүд - Үндсэн мэдээлэл
Электроникийн бүрэлдэхүүн хэсгүүд - Үндсэн мэдээлэл
Электроникийн бүрэлдэхүүн хэсгүүд - Үндсэн мэдээлэл

DS3231

Бид цагийг осциллятор болон таймер дээр Arduinos бүтээх замаар тодорхойлох боломжтой байсан ч би цагийг тэжээлийн эх үүсвэрээс нь салгасан ч гэсэн цагийг хянаж байх боломжтой Real Time Clock (RTC) модулийг ашиглахаар шийдсэн. DS3231 хавтан нь батерейтай бөгөөд модулийг цахилгаан тэжээлд холбогдоогүй тохиолдолд тэжээл өгдөг. Энэ нь Arduinos цагийн эх сурвалжаас илүү урт хугацаанд илүү нарийвчлалтай байдаг.

DS3231 RTC нь микроконтроллертой холбогдохын тулд I2C интерфэйсийг ашигладаг-ашиглахад маш энгийн бөгөөд түүнтэй холбогдохын тулд бидэнд ердөө 2 утас хэрэгтэй. Модуль нь энэ төсөлд ашиглах температур мэдрэгчийг өгдөг.

Чухал: Хэрэв та RTC модульд цэнэглэдэггүй батерей ашиглахаар төлөвлөж байгаа бол 200 ом эсэргүүцэл эсвэл 1N4148 диодыг гагнах хэрэгтэй. Үгүй бол таны батерей дэлбэрч магадгүй юм. Дэлгэрэнгүй мэдээллийг энэ линкээс авах боломжтой.

WS2812 LED бөгж

Би 60 LED цагираг ашиглан хэдэн минутыг хянаж, 24 LED бөгжийг хэдэн цагийн турш ашиглахаар шийдсэн. Та тэдгээрийг Adafruit (neoPixel бөгж) эсвэл eBay, Aliexpress эсвэл бусад вэб дэлгүүрүүдээс хямд хувилбаруудаас олж болно. Хаягтай LED зурвасуудын олон янз байдал байдаг бөгөөд хэрэв та анх удаа тэдэнтэй тоглож байгаа бол ашиглалтын тодорхойлолтыг уншихыг танд зөвлөж байна.

https://www.tweaking4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

Хаягдах LED зурвас нь 5V, GND ба DI/DO гэсэн 3 холбогчтой. Эхний хоёр нь LED -ийг асаахад зориулагдсан бол сүүлийнх нь өгөгдөлд зориулагдсан болно. Бөгжийг Arduino руу холбохдоо болгоомжтой байгаарай - таны өгөгдлийн шугам DI (өгөгдлийн IN) зүүтэй холбогдсон байх ёстой.

Ардуино

Жижиг хэмжээтэй бөгөөд энэ төсөлд хангалттай учраас би Arduino Nano -г ашиглаж байна. Та бараг ямар ч Arduino ашиглаж болно, гэхдээ бүх зүйлийг түүнтэй холбохдоо болгоомжтой байх хэрэгтэй. Товчлуурууд болон LED цагиргууд нь нэг голтой байж болно, гэхдээ I2C холбогч (RTC модулийн хувьд) платформ бүрт өөр өөр байж болно - тэдгээрийн мэдээллийн хүснэгтийг үзээрэй.

Алхам 4: Электроникс - Цахилгаан хангамж

Электроникс - Цахилгаан хангамж
Электроникс - Цахилгаан хангамж

Arduino болон LED зурвас хоёулаа 5V тэжээлийн эх үүсвэрээр хангагдсан байх ёстой бөгөөд ингэснээр ямар хүчдэл шаардлагатай байгааг бид мэднэ. LED цагираг нь маш их өсгөгч авдаг тул дижитал гаралтын хамгийн их 20 мА -ийг тэсвэрлэх чадвартай Arduino -той шууд асаах боломжгүй юм. Миний хэмжилтээр LED цагиргууд нь хамтдаа 500 мА хүртэл зурах боломжтой. Тийм ч учраас би 1А хүртэлх хүчдэлтэй адаптер худалдаж авсан.

Үүнтэй ижил цахилгаан хангамжийн тусламжтайгаар бид Arduino болон LED -ийг асаахыг хүсч байна - энд та болгоомжтой байх хэрэгтэй.

Анхааруулга! LED зурвасыг туршиж байхдаа маш болгоомжтой байгаарай - Arduino нь USB холбогчтой компьютерт холбогдсон үед цахилгаан адаптерийг Arduino -д холбох ёсгүй (та компьютерийн USB портыг гэмтээж болно).

Тэмдэглэл: Доорх схемд би Arduino -ийг цахилгаан хангамж эсвэл USB холбогчоор тэжээж байгаа эсэхийг сонгохын тулд ердийн унтраалгыг ашигласан. Гэхдээ Perduboard дээр би Arduino аль тэжээлийн эх үүсвэрээс тэжээгддэгийг сонгохын тулд зүү толгойг нэмж оруулсныг харж болно.

Алхам 5: Электроник - Гагнах

Электроник - Гагнах
Электроник - Гагнах
Электроник - Гагнах
Электроник - Гагнах
Электроник - Гагнах
Электроник - Гагнах
Электроник - Гагнах
Электроник - Гагнах

Бүх эд ангиудыг цуглуулахад тэдгээрийг гагнах цаг болжээ.

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

Зөвлөгөө: Хэрэв та бүдүүвчийг хэвлэх нь илүү хялбар байх болно, ингэснээр гагнах үед таны өмнө байх болно. Цахилгаан тэжээлд холбогдохын өмнө бүх зүйлийг сайтар шалгаж үзээрэй.

Алхам 6: Програм хангамж - Үндсэн мэдээлэл

Arduino IDE

Бид Arduino -г өөрийн зориулалтын програм хангамж болох Arduino IDE програмчлах гэж байна. Хэрэв та Arduino -той анх удаа тоглож байгаа бол үүнийг хэрхэн хийх талаар зааварчилгаа өгөхийг зөвлөж байна. Вэб дээр маш олон заавар байдаг тул би дэлгэрэнгүй мэдээлэл өгөхгүй.

Номын сан

Би алдартай Adafruit -ийн оронд FastLED номын санг ашиглахаар шийдсэн. Энэ нь математикийн хэд хэдэн функцтэй бөгөөд үүний тусламжтайгаар та гайхалтай эффект хийж чадна (Хөгжүүлэгчдийн эрхий хуруу хүртэл!). Та номын сангаа тэдний GitHub репозитороос олж болно, гэхдээ би кодондоо ашиглаж буй.zip файлыг нэмсэн.

Хэрэв та гадны номын санг Arduino IDE -д хэрхэн нэмэх талаар сонирхож байгаа бол аль хэдийн хийсэн зааврыг шалгаж болно

Цагны модулийн хувьд би Arduino номын санг DS3231 бодит цагийн (RTC) холбоосоор ашигласан бөгөөд үүнийг Arduino IDE-д хялбархан суулгаж болно. IDE -д байхдаа Sketch → Номын санг оруулах → Номын санг удирдах … дээр дарж хайлтаа дээрх нэрээр шүүнэ үү.

Тэмдэглэл: Зарим шалтгааны улмаас би одоогоор.zip файлуудыг нэмж чадахгүй байна. Та номын санг миний GitHub репозитороос олж болно.

Алхам 7: Програм хангамж - Код

Програм хангамж - код
Програм хангамж - код
Програм хангамж - код
Програм хангамж - код

Бүтэц

Програмыг 4 файлаар бүтээсэн болно.

  • LEDclokc.ino Энэ бол Arduino -ийн үндсэн програм бөгөөд та цагийг бүхэлд нь хянах функцуудыг олох боломжтой бөгөөд тэдгээр нь CLOCK_ гэсэн угтвараар эхэлдэг.
  • LEDclokc.h энд зүү холболтын тодорхойлолтууд болон зарим цагийн тохиргоонууд байна.
  • ring.cpp ба ring.h энд LED цагиргийг удирдах миний код байна.

LED цаг.h

Энд та бүх цагийн тодорхойлолтыг олох болно. Эхэндээ утас холбох тодорхойлолтууд байдаг. Тэдгээр нь таны холболттой ижил байгаа эсэхийг шалгаарай. Дараа нь цагны тохиргоо байдаг - эндээс та хэдэн цагийн горимд макро олох боломжтой.

LEDclock.ino

Диаграммд үндсэн давталтыг дүрсэлсэн болно. Код эхлээд ямар нэгэн товчлуур дарагдсан эсэхийг шалгадаг. Шилжүүлэгчийн шинж чанараас шалтгаалан бид тэдний утгыг уншихын тулд төлбөрөө хасах аргыг ашиглах ёстой (та энэ тухай дэлгэрэнгүй мэдээллийг линкээс уншиж болно).

1 -р товчлуурыг дарахад хувьсагчийн горим 1 -ээр нэмэгддэг, 2 -р товчлуур дээр дарагдсан тохиолдолд хувьсагчийн төрлийг дээшлүүлнэ. Бид эдгээр хувьсагчдыг ашиглан аль цагийн горимыг харахыг хүсч байгаагаа тодорхойлдог. Хэрэв хоёр товчлуур нэгэн зэрэг дарагдсан бол CLOCK_setTime () функц дуудагдсан тул та цагийг өөрчилж болно.

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

Дараа нь шилжүүлэгч-кейсийн мэдэгдэл байна. Энд бид одоогоор аль горимд цаг ажиллаж байгааг тодорхойлж, энэ горимд LED -ийн өнгийг тохируулдаг харгалзах функцийг дууддаг. Та өөрийн цагийн горимыг нэмж, функцийг дахин бичих эсвэл өөрчлөх боломжтой.

FastLED номын санд тайлбарласны дагуу та FastLED.show () функцийг дуустал нь дуудах ёстой бөгөөд энэ нь LED -ийг бидний өмнө тохируулсан өнгө болгон хувиргадаг.

Та кодын мөрүүдийн хооронд илүү дэлгэрэнгүй тайлбарыг олох боломжтой

Доорх файлуудад бүх кодыг хавсаргасан болно.

ЗӨВЛӨГӨӨ: Та бүх төслийг миний GitHub репозитороос олж болно. Энд би ямар нэгэн өөрчлөлт оруулах юм бол код шинэчлэгдэх болно.

Алхам 8: Цагийг хий

Цаг хийх
Цаг хийх
Цаг хийх
Цаг хийх
Цаг хийх
Цаг хийх

Цагийн хүрээ

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

PVC цагираг

LED нь нэлээд гэрэл гэгээтэй байдаг тул тэдгээрийг ямар нэгэн байдлаар тараах нь дээр. Эхлээд би тунгалаг силиконоор туршиж үзсэн бөгөөд энэ нь сарниулах үүргийг гүйцэтгэдэг боловч нэлээд эмх замбараагүй бөгөөд дээрээс нь жигд болгоход хэцүү байдаг. Тийм ч учраас би 20x20 см хэмжээтэй "сүүн" PVC хуванцар захиалж, дотор нь хоёр цагирагыг CNC машинаар хайчилж авав. Та ирмэгийг зөөлрүүлэхийн тулд зүлгүүр ашиглаж болно, ингэснээр цагиргууд нь нүхэнд ордог.

Хажуугийн нүхнүүд

Дараа нь товчлуур, потенциометр, цахилгаан хангамжийн холбогчийн нүхийг өрөмдөх цаг болжээ. Нэгдүгээрт, байрлал бүрийг харандаагаар зураад дараа нь нүхэнд өрөмдөнө. Энд танд ямар төрлийн товчлуур байгаа эсэхээс хамаарна - би бага зэрэг муруй толгойтой товчлуураар явсан. Тэд 16 мм диаметртэй тул би ийм хэмжээтэй модон өрөм ашигласан. Потенциометр ба цахилгаан холбогчдод мөн адил хамаарна. Үүний дараа харандаагаар зурсан зургуудаа бүгдийг нь арилгахаа мартуузай.

Алхам 9: Модыг зур

Модон дотор зур
Модон дотор зур
Модон дотор зур
Модон дотор зур
Модон дотор зур
Модон дотор зур

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

Тойрог сайхан дугуй хэлбэртэй байхын тулд би хөнгөн цагаан хэсгийг ашиглаж, нүх өрөмдөж, нүхний ирмэгийг гагнуурын төмрөөр дагаж (зургийг харна уу). Хөнгөн цагааныг чанга барьж байгаа эсэхээ шалгаарай, ингэснээр зураг зурахдаа гулсахгүй. Мөн гэмтэл бэртлээс урьдчилан сэргийлэхийн тулд үүнийг хийхдээ болгоомжтой байгаарай.

Хэрэв та зураг зурж, тэдгээрийг цагийн пикселтэй маш сайн уялдуулахыг хүсч байвал пиксел хаана байрлуулахыг харуулах "Засварлах горим" -ыг ашиглаж болно (Угсрах хэсэгт очно уу).

Модыг хамгаалах

Цагийг сэтгэл хангалуун байхад модны лакаар арчиж, хамгаалах цаг болжээ. Би ирмэгийг зөөлрүүлэхийн тулд маш зөөлөн зүлгүүр (500 -ийн үнэ цэнэ) ашигласан. Тунгалаг модон лак хэрэглэхийг зөвлөж байна, ингэснээр модны өнгө өөрчлөгдөхгүй. Бага хэмжээний лакыг сойз дээр түрхээд модонд ургадаг нэг наст модны чиглэлд татна. Үүнийг дор хаяж 2 удаа давтана.

Алхам 10: Ассамбл хийх

Ассамблей
Ассамблей
Ассамблей
Ассамблей
Ассамблей
Ассамблей

Гацуур товчлуур ба потенциометрийг байрлалдаа байрлуулдаг. Хэрэв таны нүх хэт том байвал та халуун цавуугаар засаж болно. Дараа нь цагираган туузыг үүрэнд хийж, утсыг нь Arduino руу холбоно уу. LED бөгжийг байрлуулахаасаа өмнө LED пикселүүд зөв байрлалтай, төвтэй, зургийн дагуу байрлуулсан гэдэгт итгэлтэй байх хэрэгтэй. Үүний тулд би бүх чухал пикселүүдийг (0, 5, 10, 15,… минутын цагираг дээр, 3, 6, 9, 12 цагын цагирагт) харуулах Maintenance mode гэж нэрлэв. Та цахилгаан тэжээлийг залгуурт залгахаасаа өмнө хоёр товчлуурыг удаан дарж энэ горимд орж болно. Та ямар ч товчлуур дээр дарж энэ горимоос гарах боломжтой.

Хэрэв та LED цагирагаа зэрэгцүүлсэн бол халуун цавуу түрхээд цавуу бэхжих хүртэл барь. Дараа нь PVC бөгжөө аваад LED -д халуун цавуу түрхээд хурдан байрлуулж хэдэн секундын турш барь. Эцэст нь хэлэхэд, бүх зүйл сайн ажилладаг гэдэгт итгэлтэй байвал та модон дээр нэг хавтанг (эсвэл Arduino) халуун цавуугаар хийж болно. Зөвлөгөө: их хэмжээний цавуу түрхэж болохгүй. Энэ нь маш бага хэмжээтэй тул нэг дор хадгалагдах боловч дараа нь өөрчлөхийг хүсч байвал үүнийг амархан арилгаж болно.

Төгсгөлд нь зоосны батерейг эзэмшигчдээ оруулна уу.

Алхам 11: Шинэчлэх - Фоторезистор

Сайжруулах - Фоторезистор
Сайжруулах - Фоторезистор
Сайжруулах - Фоторезистор
Сайжруулах - Фоторезистор
Сайжруулах - Фоторезистор
Сайжруулах - Фоторезистор

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

Үүний тулд би гэрэл мэдрэгч - гэрэл эсэргүүцэгч ашигласан. Түүний эсэргүүцэл мэдэгдэхүйц нэмэгдэх болно; харанхуй байхад хэдэн мега ом хүртэл, гэрэл асах үед хэдхэн зуун ом байх болно. Ердийн резистортой хамт хүчдэл хуваагч үүсгэдэг. Тиймээс гэрлийн мэдрэгчийн эсэргүүцэл өөрчлөгдөхөд Arduino аналог зүү дээрх хүчдэл өөрчлөгддөг (үүнийг хэмжих боломжтой).

Аливаа хэлхээг гагнах, угсрахаас өмнө үүнийг дуурайлган хийх нь ухаалаг хэрэг бөгөөд ингэснээр та зан төлөвийг нь харж, залруулга хийх боломжтой болно. Autocad Tinkercad -ийн тусламжтайгаар та яг үүнийг хийж чадна! Хэдхэн товшилтоор би бүрэлдэхүүн хэсгүүдийг нэмж, холбож, кодыг бичсэн. Симуляци дээр гэрэл резисторийн утгын дагуу LED -ийн гэрэл хэрхэн өөрчлөгдөж байгааг харж болно. Энэ нь маш энгийн бөгөөд ойлгомжтой - та хэлхээгээр тоглохыг урьж байна.

Симуляцийн дараа энэ функцийг цаг дээр нэмэх цаг болжээ. Би цагийн төвд нүх гаргаж, гэрэл эсэргүүцэгчийг нааж, хэлхээнд харагдаж байгаа шиг холбож, хэдэн мөр код нэмэв. LEDclock.h файлд USE_PHOTO_RESISTOR -ийг 1 гэж зарласнаар та энэ онцлогийг идэвхжүүлэх ёстой. Та CLOCK_PHOTO_TRESHOLD утгыг өөрчилснөөр цагийг аль өрөөний гэрэлтүүлгээр гэрэлтүүлж байгааг өөрчлөх боломжтой.

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

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

Би интернетээс маш цэвэрхэн төслөөс урам зориг олж авлаа. Хэрэв та цагийг өөрийн гараар бүтээхээр шийдсэн бол тэдгээрийг бас шалгаж үзээрэй. (NeoClock, Wol Clock, Arduino Colorful Clock) Хэрэв та зааварчилгааг дагахаар шийдсэн бол үүнийг миний хийсэн шиг тааламжтай болгоно гэж найдаж байна.

Хэрэв та бүтээх явцад ямар нэгэн бэрхшээлтэй тулгарвал тайлбараас надад ямар ч асуулт асуухаас бүү эргэлзээрэй - би хариулахдаа баяртай байх болно!

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