Turinys:
- 1 žingsnis: medienos gabaliukai
- 2 žingsnis: LED žiedo prijungimas
- 3 žingsnis: „Arduino Nano“ir „Power“prijungimas
- 4 žingsnis: programa
Video: LED laikrodis naudojant neopikselius: 4 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Sveiki atvykę į mano instrukciją, kaip padaryti LED laikrodį naudojant 60 neopikselių.
Rasite 3 PDF priedus, skirtus laikrodžio segmentams, kitą - pagrindui, o galiausiai - šabloną, padedantį klijuoti skyrius.
Taigi, norint tai padaryti, jums reikės šių dalykų
- 60 neopikselių žiedas yra 4 ketvirčiuose. ieškokite „ws2812 ring 60“(£ 12.00)
- RTC paieška „DS3231 modulis“(2,50 £)
- „Arduino Nano“(4 svarai)
- 3mm/1/8 "fanera.
- vielos gabaliukai. tikiuosi, kad aplinkui jų bus?
- 5 V USB maitinimo blokas. Tipas, kurį jūsų vaikai sunaikins jungtį.
Žemiau yra elementai, maitinami „Lipo“akumuliatoriumi, tačiau po bandymų laikrodis sunaudojo per daug energijos, todėl akumuliatorius buvo numestas į elektros tinklo USB maitinimo šaltinį.
- DC-DC keitiklio paieška "boost converter" (£ 3)
- Įkrovimo grandinė TP4056 ieškokite „tp4056“(£ 2)
- LiPo 1000Mah vieno elemento. ieškokite „1000mah lipo 3.7“ARBA „503450 lipo“(£ 8,00)
LiPo numeris yra 503450 ir gali būti malonu žinoti, kad tai reiškia 50 mm ilgio 34 mm pločio ir 5,0 gylio.
1 žingsnis: medienos gabaliukai
Nuotraukose turėtumėte matyti, kad išspausdinau dizainą ir įklijavau fanerą. Tai, kas gali būti neaišku, yra tai, kad iš karto iškirpau 3 sekcijas, o apatinė dalis iš pradžių išpjaunama aplink perimetrą, tada viena dalis pašalinama (iš nugaros), o likusiuose dviejuose skyriuose išpjaunama skylė, tada kita dalis pašalintas, paliekant tik priekinį antgalį, tada buvo nutrauktas laidų lizdas.
Kai visi gabaliukai bus išpjauti, pirmiausia turėtumėte patikrinti, kaip jie visi dera tarpusavyje, tada klijuoti. Aš sukūriau 3 sluoksnius ant laikrodžio plano, kad įsitikinčiau, jog viskas teisingai apskrito. Taip pat įsitikinkite, kad apatiniai gabalai yra teisingos orientacijos, o visa vidurinė skiltelė yra sumontuota aukštyn kojomis, kad aplenktumėte sąnarius.
Priekinėse sekcijose esančios skylės leidžia įlituoti ketvirčių lituotas jungtis, o apatinė - laidus.
Nuotraukų serijoje taip pat parodyta, kaip surenkamas pagrindas.
2 žingsnis: LED žiedo prijungimas
Nėra daug ką pasakyti apie šį žingsnį, tačiau tik tuo atveju, jei nenaudojote WS2812LED juostelės, jie yra protingi, todėl kiekvienas turi duomenis įeinant ir išvedant. 15 šviesos diodų lankuose PCB tvarko visus ryšius, tačiau kai ateinate prisijungti prie sekcijų, turite atlikti maitinimo jungtis ir duomenis. Jūs negalite suklysti jungčių, nes jos yra apskritime, tačiau, kai baigsite ratą, duomenų įvesties/išvesties duomenų trūksta vienos nuorodos, kad galėtumėte prijungti laidus prie duomenų įvesties. Ten, kur laidai prijungti prie duomenų IN, bus pirmasis šviesos diodas arba jis teisingai pažymėtas nuliu.
Man buvo įdomu, kaip buvo geriausias būdas pritvirtinti šviesos diodų žiedą prie medžio žiedo? bet galų gale nusprendžiau naudoti kylantį laidą ir stakles aplink apskritimą, kiekvieną kartą praleisdamas šviesos diodus.
3 žingsnis: „Arduino Nano“ir „Power“prijungimas
Iš pradžių šiam projektui nusprendžiau naudoti „LiPo“, bet kai jį išbandžiau, akumuliatorius išsikrovė per naktį. Iš pradžių maniau, kad akumuliatorius galėjo būti kvailas, todėl išmatavau srovę ir atradau, kad grandinė traukia 73 mA srovę, o tai reiškia, kad akumuliatoriuje jo bus daugiau. Tiesą sakant, aš išmatavau srovę akumuliatoriuje (prieš padidinimo keitiklį) ir atradau, kad ji yra didesnė nei 110 mA. Taigi buvo akivaizdu, kad šis laikrodis neveiks iš baterijos.
Taigi aš nusprendžiau naudoti 5V USB įkroviklį. Aš linkęs turėti daugybę negyvų USB įkroviklių, nes jungtys piktnaudžiauja dviem mažais vaikais.
Taigi, kadangi mes naudojame WS2812 šviesos diodus, turime tik 3 jungtis prie „Arduino Nano“.
- Galia
- Gruntas
- Duomenys IN. Oranžinė iki D2 „Nano“
Toliau turime RTC, tai tik 4 laidai.
- Galia 5 voltai
- Gruntas
- SCL (I2C laikrodis) nuo mėlynos iki A5 „Nano“
- SDA (I2C duomenys) nuo geltonos iki A4 „Nano“
Galiausiai mums reikia maitinimo, o tai patenka į 5 V maitinimo jungtį „Nano“. „Vin“yra sukurta taip, kad įtampa būtų didesnė nei 5 voltai (ty 7–12 voltų) ir žemė.
4 žingsnis: programa
Man labai patinka programavimas, aš tiesiog nelabai moku.
1 problema
Sekundės ir minutės teisingai pateikiamos kaip skaičius nuo 0 iki 59. Tačiau pirmasis šviesos diodas, taigi ir nulis, yra apačioje. Taigi tai reikėjo ištaisyti.
void correctPos (int A)
{jei (A 30) {A = A - 31; }} temp = A; }
2 problema
Prieš rodydamas naują padėtį, bandžiau išvalyti visus šviesos diodus, tačiau dėl to šviesos diodai mirksi. Taigi nusprendžiau įjungti kitą šviesos diodą ir tada išjungti ankstesnį. Tai puikiai pavyko ?? NE, nes jei nauja pozicija būtų lygi nuliui, ji bandytų išjungti -1. todėl tuo pačiu metu buvo sprendžiama.
void delete Ankstesnis (int B)
// ištrinkite ankstesnį indikatorių, jei jis buvo nulis, tada // išjunkite 59, tik atimkite 1 // ir išjunkite tą. {if (B == 0) {strip.setPixelColor (59, 0, 0, 0); // Viskas išjungta} else {strip.setPixelColor (B - 1, 0, 0, 0); // all off}}
3 problema
Tai, kas buvo padaryta aukščiau, veikė tikrai gerai, kol naujoji antroji pozicija buvo senosios minutės vietoje. Tai reiškė, kad minutė, kuri buvo atnaujinta po sekundžių, ją išjungė! Tas pats ir valandai/minutei
jei (sek == min-1)
{strip.setPixelColor (min-1, 0, 30, 0); }
4 problema
Viskas pradeda atrodyti gerai, todėl sumaišykime spalvas, kai jos patenka į tą pačią padėtį?
jei (min. == sek.)
{strip.setPixelColor (min., 15, 13, 0); // žalia ir raudona, kad būtų geltona. }
5 problema
Valandos prasideda 24 valandų formatu. todėl pirmiausia reikia pataisyti
jei (valandos> 12)
{valandos = valandos -12; }
6 problema
Nepamirškime, kad per parą yra 24 valandos ir aš turiu 60 šviesos diodų. Lengva, tikrai 5 kartus
valandos = valandos * 5;
7 problema
Atlikę aukščiau minėtus veiksmus, dabar turime šokinėti 4 šviesos diodus, kas atrodytų daug geriau, jei būtų naudojami visi šviesos diodai ir teisingai parodytos valandos dalys? Vėlgi, tai buvo lengva išspręsti, aš tiesiog pridėjau pradinį minučių skaičių, padalytą iš 12, prie valandų.
valandos = valandos + (addMin/12);
8 problema
Kai valandos ar minutės indikatorius yra apačioje, sekundės dingsta vienai sekundei.
valandos = jei (minutės == 0)
{if (secs == 59) {strip.setPixelColor (59, 0, 30, 0); // green}} if (valandos == 0) {if (sek. == 59) {strip.setPixelColor (59, 0), 30, 0); // žalia}}
9 problema
Laiko nustatymas. Aš nusprendžiau, kad ši konstrukcija būtų labai paprasta, todėl neįtraukiau mygtukų, skirtų laikui reguliuoti. Taigi tereikia prijungti laikrodį prie kompiuterio ir įkelti naują laiką. Tiesiog pašalinkite komentarą žemiau ir nustatykite reikiamą laiką, tada įkelkite programą. Kai ištaisysite klaidą, pakartokite eilutę ir persiųskite programą, o jei prarasite maitinimą, ji vėl paleis sąranką ir vėl įkels seną laiką.
// 2020 m. Balandžio 12 d. 23.20 val. Skambintumėte:
//rtc.adjust(DateTime(2020, 4, 12, 23, 20, 0));
Rekomenduojamas:
Skaitmeninis laikrodis naudojant mikrovaldiklį (AT89S52 be RTC grandinės): 4 žingsniai (su paveikslėliais)
Skaitmeninis laikrodis naudojant mikrovaldiklį (AT89S52 be RTC grandinės): Leiskite apibūdinti laikrodį … " Laikrodis yra prietaisas, kuris skaičiuoja ir rodo laiką (santykinis) " . PASTABA: skaitymas užtruks 2–3 minutes, perskaitykite visą projektą, kitaip aš neskaitysiu
Tinklo laiko skaitmeninis laikrodis naudojant ESP8266: 4 žingsniai (su paveikslėliais)
Tinklo laiko skaitmeninis laikrodis naudojant ESP8266: Mes mokomės sukurti mielą mažą skaitmeninį laikrodį, kuris bendrauja su NTP serveriais ir rodo tinklo ar interneto laiką. Mes naudojame „WeMos D1 mini“, kad prisijungtume prie „WiFi“tinklo, gautume NTP laiką ir rodytume jį OLED modulyje. Vaizdo įrašas aukščiau
LED laikrodis naudojant 555 ir 4017 (nereikia programuoti): 8 žingsniai (su paveikslėliais)
LED laikrodis naudojant 555 ir 4017 (nereikia programuoti): Čia pristatysiu projektą, kurį suprojektavau ir padariau maždaug prieš 7 metus. Projekto idėja yra naudoti skaitiklių IC, pvz., 4017, generuoti signalus, valdančius šviesos diodų mirksėjimą analoginio laikrodžio rodyklės
„Paprastas“„Digilog“laikrodis (skaitmeninis analogas) naudojant perdirbtą medžiagą!: 8 žingsniai (su paveikslėliais)
„Paprastas“„Digilog“laikrodis (skaitmeninis analogas) naudojant perdirbtą medžiagą!: Sveiki visi! Taigi, šioje instrukcijoje aš pasidalinsiu, kaip padaryti šį skaitmeninį + analoginį laikrodį naudojant pigią medžiagą! Jei manote, kad šis projektas „žiaurus“, galite išeiti ir toliau neskaityti šios instrukcijos. Ramybė! Labai atsiprašau, jei
Dvejetainis laikrodis naudojant neopikselius: 6 žingsniai (su paveikslėliais)
Dvejetainis laikrodis naudojant neopikselius: Sveiki, žmonės, man patinka viskas, kas susiję su šviesos diodais, ir man patinka juos naudoti įvairiais įdomiais būdais Taip, aš žinau, kad dvejetainis laikrodis čia buvo atliktas keletą kartų, ir kiekvienas yra puikus pavyzdys, kaip sukurkite savo laikrodį. Aš tikrai myliu