Sisukord:

LED -kell neopikslite abil: 4 sammu (piltidega)
LED -kell neopikslite abil: 4 sammu (piltidega)

Video: LED -kell neopikslite abil: 4 sammu (piltidega)

Video: LED -kell neopikslite abil: 4 sammu (piltidega)
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №30 2024, November
Anonim
LED -kell, kasutades neopiksleid
LED -kell, kasutades neopiksleid
LED -kell, kasutades neopiksleid
LED -kell, kasutades neopiksleid
LED -kell, kasutades neopiksleid
LED -kell, kasutades neopiksleid
LED -kell, kasutades neopiksleid
LED -kell, kasutades neopiksleid

Tere tulemast minu juhendamisse, kuidas teha 60 neopikseli abil LED -kell.

Lisatud on 3 PDF -i, üks on kella segmentide jaoks, teine on aluse jaoks ja lõpuks üks mall, mis aitab sektsioone kokku liimida.

Nii et selle lõpuleviimiseks vajate järgmist

  • 60 neopikslit sisaldav rõngas on saadaval 4 kvartalis. otsi "ws2812 ring 60" (£ 12.00)
  • RTC otsing "DS3231 moodul" (2,50 £)
  • Arduino Nano (4 naela)
  • 3mm/1/8 "vineer.
  • traadi tükid. loodetavasti on teil mõni ümberringi?
  • 5v USB toiteplokk. Tüüp, mille teie lapsed on pistiku hävitanud.

Allpool on toodud Lipo patareitoitega esemed, kuid pärast testimist kulutas kell liiga palju energiat, nii et aku langes võrgu USB -toiteallika kasuks.

  • dc-dc converter otsing "boost converter" (£ 3)
  • Laadimisahel TP4056 otsi "tp4056" (£ 2)
  • LiPo 1000Mah üherakuline. otsi "1000mah lipo 3.7" või "503450 lipo" (£ 8.00)

LiPo number on 503450 ja oleks tore teada, et see tähendab 50 mm pikkust 34 mm laiust ja 5,0 sügavust.

1. samm: puidust tükid

Puidust tükid
Puidust tükid
Puidust tükid
Puidust tükid
Puidust tükid
Puidust tükid

Te peaksite piltidelt nägema, et olen kujunduse välja printinud ja vineeri ka kleepinud. Mis ei pruugi olla ilmne, olen välja lõiganud korraga 3 sektsiooni ja alumine osa lõigatakse esmalt ümber perimeetri, seejärel eemaldatakse üks osa (tagant), seejärel lõigatakse ülejäänud kahes osas auk välja ja seejärel teine osa eemaldati, jättes alles ainult esiosa, seejärel lõigati juhtmete pesa.

Kui kõik tükid on välja lõigatud, peaksite kõigepealt kontrollima, kuidas need kõik kokku sobivad, ja seejärel liimige need kõik. ehitasin 3 kihti kellaplaani peale, et veenduda, kas kõik on õigesti ümmargune. Veenduge ka, et põhjaotsad oleksid õiges asendis ja kogu keskmine viil oleks paigaldatud tagurpidi, nii et liigutate liigeseid.

Esiosade augud võimaldavad veerandite joodetud vuugid sisse istuda ja alumine osa võimaldab juhtmeid läbida.

Pildiseeria näitab ka seda, kuidas alus kokku pannakse.

Samm: LED -rõnga ühendamine

LED -rõnga juhtmestik
LED -rõnga juhtmestik
LED -rõnga juhtmestik
LED -rõnga juhtmestik
LED -rõnga juhtmestik
LED -rõnga juhtmestik
LED -rõnga juhtmestik
LED -rõnga juhtmestik

Selle sammu kohta pole palju öelda, kuid igaks juhuks, kui te pole WS2812LED -riba kasutanud, on need intelligentsed, nii et igal neist on andmed sisse ja välja. 15 LED -kaarega tegeleb PCB kõigi ühendustega, kuid sektsioonidega liitumiseks peate tegema toiteühendused ja andmed. Te ei saa ühendusi valesti teha, kuna need on ringis, kuid kui olete ringi lõpetanud, peaks andmetes IN/OUT puuduma üks link, et saaksite ühendada juhtmed andmetega IN. Kui juhtmed ühenduvad andmetega IN, on esimene LED või kui see on õigesti nummerdatud nulliga.

Mõtlesin, kuidas oli parim viis LED -rõnga puidust rõnga külge kinnitada? kuid lõpuks otsustasin kasutada ähvardavat nööri ja kangast ümberringi, jättes iga kord LED -id vahele.

Samm: ühendage Arduino Nano ja Power

Arduino Nano ja Power juhtmestik
Arduino Nano ja Power juhtmestik
Arduino Nano ja Power juhtmestik
Arduino Nano ja Power juhtmestik
Arduino Nano ja Power juhtmestik
Arduino Nano ja Power juhtmestik

Algselt otsustasin selles projektis kasutada LiPo -d, kuid kui seda proovisin, sai aku üleöö tühjaks. Alguses arvasin, et aku võib olla tühi, nii et ma mõõtsin voolu ja avastasin, et vooluahel tõmbab 73 mA, mis tähendab, et aku korral tuleb seda rohkem. Tegelikult mõõtsin aku voolu (enne võimendusmuundurit) ja avastasin, et see on üle 110 mA. Seega oli ilmne, et see kell ei tööta akuga.

Seega valin selle asemel 5V USB -laadija. Mul on tavaliselt palju surnud USB -laadijaid, kuna pistikud saavad kahelt lapselt kuritarvitamist.

Kuna kasutame WS2812 LED -e, on meil Arduino Nanoga ainult 3 ühendust.

  • Võimsus
  • Maa
  • Andmed IN. Oranž kuni D2 Nanol

Järgmisena on meil RTC, sellel on ainult 4 juhet.

  • Võimsus 5 volti
  • Maa
  • SCL (I2C kell) sinine kuni A5 Nanol
  • SDA (I2C andmed) kollane kuni A4, Nano

Lõpuks vajame voolu ja see läheb Nano toite 5 V klemmile. Vin on kavandatud nii, et pinge oleks suurem kui 5 volti (st 7–12 volti) ja maapind.

Samm: programm

Mulle väga meeldib programmeerimine, ma lihtsalt ei oska seda.

Probleem 1

Sekundid ja minutid esitatakse õigesti numbrina 0-59. Esimene LED ja seega ka null on allosas. Nii et see vajas parandamist.

void correctPos (int A)

{kui (A 30) {A = A - 31; }} temp = A; }

Probleem 2

Proovisin enne uue asukoha kuvamist kõik LED -id kustutada, kuid see põhjustas LED -ide vilkumise. Nii otsustasin järgmise LED -i sisse lülitada ja seejärel eelmise välja lülitada. See töötas hästi ?? EI, sest kui uus positsioon oleks null, prooviks see välja lülitada -1. nii et sellega tegeleti samal ajal.

tühine kustutamineEelmine (int B)

// kustuta eelmine led, kui see oli null, siis // lülita 59 välja, muidu lahuta 1 // ja lülita see välja. {if (B == 0) {strip.setPixelColor (59, 0, 0, 0); // Kõik väljas} else {strip.setPixelColor (B - 1, 0, 0, 0); // kõik väljas}}

Probleem 3

Ülaltoodu tegemine toimis tõesti hästi, kuni uus teine positsioon oli vana minuti asemel. Mis tähendas, et pärast sekundeid uuendatud minut lülitas selle välja! Sama ka tund/minut

kui (sekundit == minutit-1)

{strip.setPixelColor (min-1, 0, 30, 0); }

Probleem 4

Asjad hakkavad välja nägema, nii et segame värve, kui need langevad samasse asendisse?

kui (min == sekundit)

{strip.setPixelColor (min, 15, 13, 0); // roheline ja punane, et saada kollane. }

Probleem 5

Tundide vorming algab 24 tunni vormingus. nii et see tuleb kõigepealt parandada

kui (tundi> 12)

{tundi = tundi -12; }

Probleem 6

Ärgem unustagem, et ööpäevas on 24 tundi ja mul on 60 LED -i. Lihtne tõesti korda 5

tunnid = tunnid * 5;

Probleem 7

Olles teinud ülaltoodud, on meil nüüd tundide hüppamine 4 LED -i, mis näeks palju parem välja, kui see kasutaks kõiki LED -e ja näitaks õigesti tunni murdosa? Jällegi oli see lihtne lahendus, lisasin tundidele algse minutiarvu jagatuna 12 -ga.

tundi = tundi + (addMin/12);

Probleem 8

Kui tunni või minuti indikaator on allosas, kaovad sekundid sekundiks enne.

tundi = kui (min == 0)

{if (sek == 59) {strip.setPixelColor (59, 0, 30, 0); // green}} if (tunnid == 0) {if (sek == 59) {strip.setPixelColor (59, 0, 30, 0); // roheline}}

Probleem 9

Kellaaja seadmine. Otsustasin selle konstruktsiooni väga lihtsana hoida, nii et ei sisaldanud nuppe aja reguleerimiseks. Nii et see on lihtsalt kella ühendamine arvutiga ja uue aja laadimine. Lihtsalt tühistage alloleva jaotise kommentaar ja määrake vajalik aeg, seejärel laadige programm. Kui olete õige, kommenteerige rida uuesti ja saatke programm uuesti, muidu käivitab see toite kadumisel seadistuse uuesti ja laadib vana aja uuesti.

// 12. aprill 2020 kell 23.20 helistate:

//rtc.adjust(DateTime(2020, 4, 12, 23, 20, 0));

Soovitan: