Агуулгын хүснэгт:
- Алхам 1: Модон битүүд
- Алхам 2: LED бөгжийг холбоно уу
- Алхам 3: Arduino Nano ба Power -ийг холбох
- Алхам 4: Хөтөлбөр
Видео: Неопиксел ашигладаг LED цаг: 4 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
60 неопиксел ашиглан LED цагийг хэрхэн яаж хийх тухай миний зааварчилгаанд тавтай морилно уу.
Та 3 PDF хавсаргасан файлыг нэг цагийн сегментэд, нөгөө нь сууринд, сүүлд нь нэг хэсгийг наахад туслах загвар болохыг олж мэдэх болно.
Тиймээс үүнийг дуусгахын тулд танд дараахь зүйл хэрэгтэй болно
- 60 неопикселийн цагираг нь 4 улиралд ирдэг. "ws2812 бөгж 60" хайх (£ 12.00)
- RTC хайлт "DS3231 модуль" (£ 2.50)
- Ардуино Нано (4 фунт стерлинг)
- 3 мм/1/8 "фанер.
- утас ширхэг. Та эргэн тойрондоо жаахан байх болно гэж найдаж байна уу?
- 5V USB тэжээлийн хангамжийн нэгж. Таны хүүхдүүд холбогчийг устгах болно.
Lipo батерейгаар ажилладаг эд зүйлсийг доор харуулав, гэхдээ туршилт хийсний дараа цаг хэт их эрчим хүч зарцуулсан тул батерейг цахилгаан тэжээлийн USB PSU -ийн оронд унагав.
- dc-dc хөрвүүлэгч хайлт "хөрвүүлэгчийг нэмэгдүүлэх" (3 фунт стерлинг)
- Цэнэглэх хэлхээ TP4056 хайлт "tp4056" (2 фунт стерлинг)
- LiPo 1000Mah нэг эс. "1000mah lipo 3.7" OR "503450 lipo" (8.00 фунт стерлинг) хайх
LiPo дугаар нь 503450 бөгөөд энэ нь 50мм урт 34мм өргөн, 5.0 гүнтэй гэсэн үг гэдгийг мэдэхэд таатай байх болно.
Алхам 1: Модон битүүд
Та зураг дээр миний дизайныг хэвлээд фанер дээр наасан байгааг харах боломжтой байх ёстой. Тодорхой биш байж болох зүйл бол би 3 хэсгийг нэг дор хайчилж, доод хэсгийг нь эхлээд периметрийн эргэн тойронд хайчилж, дараа нь нэг хэсгийг нь (ар талаас) аваад дараа нь үлдсэн хоёр хэсэгт нүхийг хайчилж, дараа нь өөр хэсгийг нь таслав. зөвхөн урд талын хэсгийг үлдээгээд утсыг нь таслав.
Бүх хэсгүүдийг хайчилж авсны дараа та эхлээд хоорондоо хэрхэн нийцэж байгааг шалгаж, дараа нь бүгдийг нь нааж болно. Би бүх зүйлийг зөв тойрог хэлбэртэй болгохын тулд цагийн төлөвлөгөөний дээр 3 давхаргыг бүтээсэн. Доод талын хэсгүүдийг зөв чиглүүлж, дунд хэсгийг нь доош нь харуулан байрлуулсан байх ёстой.
Урд талын хэсгүүдийн нүхнүүд нь дөрөвний нэг хэсэгт гагнасан үеийг суулгах боломжийг олгодог бөгөөд доод хэсэг нь утас дамжин өнгөрөх боломжийг олгодог.
Цуврал зургууд нь мөн суурийг хэрхэн яаж нэгтгэж байгааг харуулдаг.
Алхам 2: LED бөгжийг холбоно уу
Энэ алхамын талаар нэг их хэлэх зүйл алга, гэхдээ хэрэв та WS2812LED -ийн туузыг ашиглаагүй бол тэд ухаалаг тул хүн бүр оролт, өгөгдөлтэй байдаг. 15 LED -ийн нуман дээр ПХБ нь бүх холболтыг зохицуулдаг, гэхдээ та хэсгүүдэд нэгдэх үед та тэжээлийн холболт, өгөгдлийг хийх ёстой. Тэдгээр нь тойрог дотор байгаа тул та холболтыг буруу авч чадахгүй, гэхдээ тойрог дууссаны дараа та IN/OUT өгөгдөл дээр нэг холбоос дутагдаж, утсыг өгөгдөлд оруулах боломжийг олгоно. Утаснууд нь өгөгдөлд холбогдсон тохиолдолд IN нь анхны LED буюу тэг гэж зөв дугаарласан болно.
LED бөгжийг модон цагирган дээр яаж засах нь хамгийн сайн арга байсан гэж би гайхаж байсан. Гэхдээ эцэст нь би тойрог орчимд уяа, уяа сойз ашиглахаар шийдэж, LED асаах болгондоо л шийдсэн.
Алхам 3: Arduino Nano ба Power -ийг холбох
Би анх энэ төсөл дээр LiPo ашиглахаар шийдсэн боловч туршиж үзэхэд батерей нь нэг шөнийн дотор дууссан. Эхэндээ би батерей нь цэнэггүй байсан гэж бодсон тул гүйдлийг хэмжиж, хэлхээ нь 73 мА зурж байгааг олж мэдсэн нь батерейны хувьд илүү их байх болно гэсэн үг юм. Үнэн хэрэгтээ би батерей дахь гүйдлийг хэмжиж (хүчдэл хувиргагчийн өмнө) 110 мА -аас дээш болохыг олж мэдэв. Тиймээс энэ цаг нь батерейгаар ажиллахгүй нь тодорхой байв.
Үүний оронд би 5V USB цэнэглэгч ашиглахаар шийдсэн. Холбогч хоёр бяцхан хүүхдээс хүчирхийлэлд өртсөний улмаас би маш их үхсэн USB цэнэглэгчтэй байдаг.
Тиймээс бид WS2812 LED -ийг ашиглаж байгаа тул Arduino Nano -той 3 холболттой байна.
- Эрчим хүч
- Газар
- Өгөгдөл IN. Nano дээр D2 хүртэл улбар шар өнгөтэй
Дараа нь бид RTC -тэй бөгөөд энэ нь зөвхөн 4 утастай.
- Эрчим хүч 5 вольт
- Газар
- Нано дээрх SCL (I2C цаг) цэнхэрээс A5 хүртэл
- SDA (I2C өгөгдөл) нано дээрх А4 -аас шар өнгөтэй
Эцэст нь бидэнд хүч хэрэгтэй бөгөөд энэ нь Нано дээрх 5 В-ийн хүчдэлийн терминал руу ордог.
Алхам 4: Хөтөлбөр
Би програмчлалд үнэхээр дуртай, би тийм ч сайн биш.
Асуудал 1
Секунд, минутыг 0-59 хүртэлх тоог зөв оруулсан болно. Гэсэн хэдий ч эхний LED, тэг тэгээс доод талд байна. Тиймээс үүнийг засах шаардлагатай байсан.
хүчингүй зөвPos (int A)
{хэрэв (A 30) {A = A - 31; }} температур = A; }
Асуудал 2
Шинэ байрлалыг харуулахаасаа өмнө би бүх LED -ийг цэвэрлэхийг оролдсон боловч энэ нь LED анивчихад хүргэсэн. Тиймээс би дараагийн LED -ийг асааж, дараа нь өмнөх гэрлийг унтраахаар шийдсэн. Энэ зүгээр сайн ажилласан уу ?? Үгүй, учир нь хэрэв шинэ байрлал тэг байсан бол -1 -ийг унтраах болно. Тиймээс үүнийг нэгэн зэрэг шийдсэн.
void delete Өмнөх (int B)
// өмнөх удирдамжийг устгаарай, хэрэв тэг байсан бол // унтраана уу 59 өөр 1 -ийг хасна уу. {if (B == 0) {strip.setPixelColor (59, 0, 0, 0); // Бүгд унтраалттай} өөр {strip.setPixelColor (B - 1, 0, 0, 0); // бүгд унтраалттай}}
Асуудал 3
Дээрх зүйлийг хийх нь шинэ минутын хоёр дахь байрлал хуучин минутын оронд байх хүртэл үнэхээр сайн ажилласан. Энэ нь секундын дараа шинэчлэгдсэн минут унтарсан гэсэн үг юм! Цаг/минутын хувьд ч мөн адил
хэрэв (секунд == мин-1)
{strip.setPixelColor (мин-1, 0, 30, 0); }
Асуудал 4
Бүх зүйл сайхан харагдаж эхэлж байгаа тул ижил байрлалд унах үед өнгийг нь хольж үзье?
хэрэв (мин == сек)
{strip.setPixelColor (мин, 15, 13, 0); // ногоон, улаан өнгийг шар болгох. }
Асуудал 5
Цаг нь 24 цагийн форматаар эхэлдэг. Тиймээс үүнийг эхлээд засах шаардлагатай байна
хэрэв (цаг> 12)
{цаг = цаг -12; }
Асуудал 6
Өдөрт 24 цаг байдаг бөгөөд 60 LED байдаг гэдгийг мартаж болохгүй. Үнэхээр 5 -аар үржүүлдэг
цаг = цаг * 5;
Асуудал 7
Дээр дурдсаныг хийсний дараа бид 4 LED -тэй үсрэх боломжтой болсон, хэрэв бүх LED -ийг ашиглаж, нэг цагийн бутархайг зөв харуулсан бол хамаагүй дээр байх болов уу? Дахин хэлэхэд энэ бол хялбар засвар байсан бөгөөд би анхны минутны тоог 12 -д хуваасан тоог нэмсэн.
цаг = цаг + (addMin/12);
Асуудал 8
Цаг эсвэл минутын удирдамж доод талд байх үед секундын өмнө нэг секундын турш алга болно.
цаг = хэрэв (мин == 0)
{if (secs == 59) {strip.setPixelColor (59, 0, 30, 0); // green}} if (hours == 0) {if (secs == 59) {strip.setPixelColor (59, 0), 30, 0); // ногоон}}
Асуудал 9
Цагийг тохируулж байна. Би энэ бүтцийг маш энгийн байлгахаар шийдсэн тул цагийг тохируулах товчлуурыг оруулаагүй болно. Тиймээс цагийг компьютерт холбож, шинэ цаг ачаалах л үлдлээ. Зүгээр л доорх хэсгийг тайлж, шаардлагатай хугацааг тохируулаад програмыг ачаална уу. Мөрийг зөв тайлбарлаж, програмыг дахин илгээсэн тохиолдолд, хэрэв та хүч алдвал тохиргоог дахин эхлүүлж, хуучин цагийг дахин ачаална.
// 2020 оны 4 -р сарын 12 -ны 23:20 цагт та дараах утас руу залгах болно.
//rtc.adjust(DateTime(2020, 4, 12, 23, 20, 0));
Зөвлөмж болгож буй:
ESP8266 ба ESP32 DIY ашигладаг мэргэжлийн цаг уурын станц: 9 алхам (зурагтай)
ESP8266 ба ESP32 DIY ашигладаг мэргэжлийн цаг уурын станц: LineaMeteoStazione бол Sensirion -ийн мэргэжлийн мэдрэгч, Дэвис багажны зарим бүрэлдэхүүн хэсэг (Rain Gauge, Anemometer) -тай холбогдож болох цаг агаарын бүрэн станц юм.Төсөл нь DIY цаг уурын станцад зориулагдсан боловч зөвхөн шаардлагатай
Arduino болон ThingSpeak ашигладаг мини цаг уурын станц: 4 алхам
Arduino болон ThingSpeak ашигладаг мини цаг уурын станц: Сайн байцгаана уу. Энэхүү зааварчилгааны номонд би танд цаг агаарын мини станц хийх алхамыг зааж өгөх болно. Түүнчлэн, бид ThingSpeak API -ийг ашиглан цаг агаарын мэдээллээ серверт байршуулах болно, эс тэгвээс цаг агаарын төлөв байдлын зорилго юу вэ
BMP280 -DHT11 ашигладаг Arduino цаг уурын станц - Температур, чийгшил ба даралт: 8 алхам
BMP280 -DHT11 -ийг ашигладаг Arduino цаг уурын станц - Температур, чийгшил ба даралт: Энэхүү гарын авлагад TFT 7735 LCD дэлгэц дээр ТЕМПЕРАТУР, ЧИЙНЭ, ДАРАЛТЫГ харуулах цаг уурын станц хэрхэн хийх талаар сурах болно
Даавуун неопиксел цаг: 12 алхам
Даавуун неопиксел цаг: Энэ бол даавуу, торус хэлбэртэй, неопиксел цаг юм. Би үүнийг CoCA Massey их сургуулийн fablabwgtn -ийн нөөц, зааварчилгаанд зориулан боловсруулсан болно. Материал: Эсгий зүү, утас 3мм Атираат картон 3мм тунгалаг нийлэг 3мм
Неопиксел ашигладаг хоёртын цаг: 6 алхам (зурагтай)
Неопиксел ашигладаг хоёртын цаг: Сайн байна уу хүмүүс ээ, би LED -тэй холбоотой бүх зүйлд дуртай бөгөөд тэдгээрийг өөр өөр хэлбэрээр ашиглах дуртай. Тиймээ, би хоёртын цагийг энд хэд хэдэн удаа хийснийг мэддэг бөгөөд тус бүр нь хэрхэн яаж хийхийг харуулсан гайхалтай жишээ юм. Өөрийнхөө цагийг бүтээгээрэй, би үнэхээр дуртай