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

7 сегментийн цаг: 4 алхам (зурагтай)
7 сегментийн цаг: 4 алхам (зурагтай)

Видео: 7 сегментийн цаг: 4 алхам (зурагтай)

Видео: 7 сегментийн цаг: 4 алхам (зурагтай)
Видео: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Долдугаар сарын
Anonim
Image
Image
7 сегментийн цаг
7 сегментийн цаг
7 сегментийн цаг
7 сегментийн цаг

Хэдэн жил ашигласны дараа миний аналог цаг үнэхээр үхсэн бол.

Үүний зэрэгцээ би Prusa -тай хэвлэх 3d цагийн төсөл хайж байсан тул ws2812 leds болон Arduino -ийн удирддаг 7 сегмент бүхий цагийг оллоо.

Энэ ледүүдийн хүч бол олон төрлийн өнгийг харуулах явдал гэж би бодож байсан, дараа нь дижитал цаг дээр олон өнгийг хэрхэн хослуулах вэ?

Дараа нь дараахь онцлог шинж чанартай цагийг өөрчлөх санаа.

- 7 өөр минутын өөрчлөлтийн шилжилт

- Цаг хугацааны хувьд урьдчилан тохируулсан 3 өнгө

- орчны гэрлийн эрчим автоматаар бүдэгрэх

- цагийг харуулах шаардлагагүй үед автоматаар унтрах/эхлүүлэх

- зуны цагийн автомат цагийг тохируулах

Хангамж

Төслийг 3D хэвлэгч эсвэл googling ашиглан 7 сегментийн цагны төсөл дээр гүйцэтгэх боломжтой. Хэн нэгэн бас картоноор хийсэн.

Мөн хэрэгтэй байна:

  • Arduino нано
  • гэрэл зураг
  • түр зуурын товчлуур
  • асаах/унтраах унтраалга
  • DC залгуур
  • 5V трансформатор
  • n ° 30 WS2812 гэрэл (загвар 30 лед/метр)
  • pcb
  • DS3231 модуль
  • LED холболт хийх нимгэн кабель
  • резистор 10K, 550
  • гагнуур
  • цавуу
  • үсрэгчид
  • эрэгтэй/эмэгтэй толгой

Алхам 1: Хэвлэх ба утас холбох …

Хэвлэх ба утас холбох …
Хэвлэх ба утас холбох …
Хэвлэх ба утас холбох …
Хэвлэх ба утас холбох …
Хэвлэх ба утас холбох …
Хэвлэх ба утас холбох …

Thingverse дээрх анхны төсөл бага зэрэг өөрчлөгдсөн байна. (Random1101 хэрэглэгчийн ачаар)

Хоёр цэгийг энэхүү төсөлд ашигласан удирдсан хувилбартай нийцүүлэн томруулсан болно. Гурван арын хавтасны нэгийг pcb -т тааруулан өөрчилсөн. Мөн цагийн суурийг өөрчилсөн.

Гол ажил бол ледийг гагнах явдал юм. Эхлээд би 3d хэвлэх цифрний арын дэвсгэр дээр LED гагнуур хийж, дараа нь оруулав.

Зүүн гар талаас эхэлсэн эхний цифрийн 7 -р удирдамж нь дараагийн оронтой эхний удирдагчтай холбогдоно. 4 -р цифрийн төгсгөлд хоёр цэгийг холбоно уу, тэдгээрийг дарааллын дотор 28, 29 гэж дугаарлана.

Удирдсан дарааллыг дараах байдлаар Arduino номын сан болгон өөрчилж болно.

Холбогдсоны дараа ихэнх ажлыг хийсэн болно.

Алхам 2: ПХБ -ийн угсралт

ПХБ -ийн угсралт
ПХБ -ийн угсралт
ПХБ -ийн угсралт
ПХБ -ийн угсралт
ПХБ -ийн угсралт
ПХБ -ийн угсралт
ПХБ -ийн угсралт
ПХБ -ийн угсралт

Одоо зарим резистор, толгой гэх мэтийг гагнах pcb -ийг угсрах цаг болжээ. Arduino -ийг холбох бүрэлдэхүүн хэсгүүд нь:

Pushbutton нь Arduino pin 3 ба GND-ийн хооронд дотоод татах эсэргүүцэлтэй холбогдсон байна.

Гэрлийн мэдрэгчийг Arduino pin A7 ба GND хооронд хүчдэл хуваагч болгон холбосон. A7 ба +5V хооронд 10K эсэргүүцэл нэмнэ үү

+5V ба A7 зүү хоорондын гэрэл мэдрэгч ба A/ pin ба GND хооронд 10K эсэргүүцэл

DS3231 модуль i2c ба SQW зүүгээр Arduino тасалдлын зүү 2 -т холбогдсон байна

5 -р зүү 550 Ом эсэргүүцэлтэй холбогдсон.

Алхам 3: Ноорог

Ноорог дотор хийж болох олон тохируулга байдаг.

Өдрийн цагаар ажилладаг номын санг TimeChangeRule параметрүүдээр зохицуулдаг тул дэлгэрэнгүй мэдээллийг Github дээрх JChristensen номын сангаас үзнэ үү.

Гогцоон доторх автомат унтраалтыг int gotosleep хувьсагч зохицуулдаг. Миний хувьд 0:00 цагт Arduino унтах горимд ордог бөгөөд дараа нь цаг унтардаг.

DS3231 модуль дээр ALARM -ийг intotosleep хувьсагчаар тохируулснаар Arduino унтах горимоос сэрэх боломжтой болно. Миний хувьд өглөө 7:00 цагт.

Өөр нэг онцлог шинж чанар нь өдрийн дотор цагийн өнгийг өөрчлөх явдал юм.

хүчингүй printDateTime (time_t t, const char *tz)

Миний тохиргоонд 0:00 цагаас 12:00 цаг хүртэл цагийг улаан өнгөөр, 12:00 цагаас 17:00 цаг хүртэл ногоон, 17:00 цагаас 0:00 цаг хүртэл ихэвчлэн цэнхэр өнгөөр харуулдаг. Энэ бол өнөөг хүртэл өнгөний хамгийн сайн тэнцвэржүүлэлт бөгөөд арын цагаан хананаас сайн ялгаатай юм.

Шилжилтийн онцлог нь минутын өөрчлөлт хийх үед хөдөлгөөнт өнгө шилжүүлэх боломжийг олгодог. Түр зуурын товчлуурыг дарж сонгож болох 6 өөр сонголт байдаг бөгөөд 7 дахь сонголт нь шилжилтгүй байна. Надад таалагдаж байгаа зүйлийг newrandom () гэж нэрлэдэг бөгөөд энэ нь урьдчилан тохируулагдсан байдаг (int mode = 1;).

Би удирдсан дараалалтай нийцэхийн тулд номын санд зарим өөрчлөлт оруулсан. Segment_display.cpp файл дотор төгсгөлд нь (i) шилжүүлснээр та удирдсан дарааллаа өөрчилж болно. Дууссаны дараа файлыг дотор нь орлуулна уу

/Arduino/сангууд/7segment_NeoPixel-master

Номын сан шаардлагатай:

  • унтах
  • сегментийн дэлгэц
  • DS3231
  • TimeLib
  • Утас
  • Adafruit NeoPixel
  • Цагийн бүс

Алхам 4: Баяртай гэж хэлэх цаг боллоо

Энэ цаг надад таалагддаг, одоогийн цаг алсаас тод харагддаг бөгөөд надад хэрэггүй үед унтраана.

Цагнаас илүү ихийг яаж асуух вэ?

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