Turinys:

Begalybės laikrodis - „Arduino“- WS2813 ir DS3231: 5 žingsniai (su nuotraukomis)
Begalybės laikrodis - „Arduino“- WS2813 ir DS3231: 5 žingsniai (su nuotraukomis)

Video: Begalybės laikrodis - „Arduino“- WS2813 ir DS3231: 5 žingsniai (su nuotraukomis)

Video: Begalybės laikrodis - „Arduino“- WS2813 ir DS3231: 5 žingsniai (su nuotraukomis)
Video: Infinity Mirror LED Clock - An Open sourc #computer #ambient #arduinoboard #arduino #time 2024, Lapkritis
Anonim
Image
Image
Begalybės laikrodis - „Arduino“- WS2813 ir DS3231
Begalybės laikrodis - „Arduino“- WS2813 ir DS3231

Begalybės laikrodis - „Arduino“- WS2813 ir DS3231

Norėjau sukurti laikrodį, ir man patiko mintis išbandyti savo jėgas begalybės laikrodį su „Arduino“. Norėjau, kad ji būtų sukurta iš įprastų elementų ir pati parašytų programą.

Kas yra begalybės laikrodis?

3D iliuzijos veidrodžio efektas sukuriamas, kai yra du lygiagrečiai atspindintys paviršiai, kurie gali neribotą (teoriškai begalybę) kartų atmušti šviesos spindulį pirmyn ir atgal. Atrodo, kad atspindžiai traukiasi į tolį, nes šviesa iš tikrųjų kerta atstumą. Pridėdami spalvotus šviesos diodus prie „Infinity“veidrodžio, mes bandome imituoti analoginį laikrodį, naudojant laikrodžio rodykles, mažėjančią spalvotą šviesą.

Šioje instrukcijoje aš jums pasakysiu, kaip sukurti begalybės laikrodį, ir tada peržiūrėsiu kai kuriuos suderinamus programos parametrus.

1 žingsnis: šiam projektui reikalingos dalys

Šiam projektui reikalingos dalys
Šiam projektui reikalingos dalys

Dalių sąrašas:

  1. „Arduino Uno“6 USD už „taydaelectronics“
  2. Protoshield skirtas arduino uno. Čia galite įsigyti „Amazon“už 2,50.
  3. DS3231 plius baterija. „Amazon“čia galite nusipirkti už maždaug 3.00.
  4. WS2813 LED 144 1 metrui. $ 20 „Amazon“čia.
  5. 470 OHM 1 W Anglies plėvelės rezistorius apie 1 centą „Taydaelectronics“.
  6. 1000uf 16V elektrolitinis kondensatorius 9 centai „Taydaelectronics“
  7. 5v maitinimo šaltinis- naudojau seną gervuogių įkroviklį.
  8. 6 colių apvalus veidrodis. apie 5 USD „Amazon“
  9. 6 colių akrilo diskas apie 10 „Amazon“
  10. 2 - 6 colių medžio siuvinėjimo lankeliai (taip, tiesa) po 2 USD „Amazon“
  11. Sidabrinė vienpusė veidrodinė plėvelė. Ebay atrodo pigiausia.
  12. Laidų asortimentas.
  13. 3/8 colio medinis kvadratinis kaištis „HomeDepot“už 1,27 USD
  14. senas medinis laikrodžio pagrindas ar kitas ekrano stovas.
  15. 2 maži užtrauktukai.

Skydo prototipas nereikalingas, tačiau jei jums patinka naudoti „Arduino“, tai bus labai patogu kuriant šiuos projektus. Jei reikia, pakeiskite skydo prototipą su duonos lenta.

Jums taip pat gali prireikti lituoklio.

Tikiuosi, kad projektas kainuos apie 40,00 USD

2 veiksmas: nustatykite kompiuterį

Nustatykite savo kompiuterį
Nustatykite savo kompiuterį
Nustatykite savo kompiuterį
Nustatykite savo kompiuterį
Nustatykite savo kompiuterį
Nustatykite savo kompiuterį

Jei tai jūsų pirmasis arduino projektas:

  1. Atsisiųskite „arduino“programinę įrangą iš arduino.cc
  2. Prijunkite „Arduino“prie kompiuterio USB kabeliu.
  3. Kai paleisite programinę įrangą, turėsite įdiegti tris bibliotekas:

    • Spustelėkite meniu „Eskizas“, tada spustelėkite „Įtraukti bibliotekas“, tada „Tvarkyti bibliotekas …“
    • Įdiekite dvi bibliotekas: „FastLED“ir „RTClib“. Daugiau informacijos rasite nuotraukose.
  4. Gaukite „Arduino“kišenę iš mano „github“

    • Pabaigoje peržiūrėsiu kodą, kad prireikus galėtumėte jį pakeisti.
    • Šiuo metu įkelkite programą „Infinity_Clock_DS3231_WS2813.ino“
  5. Eikite į „Eskizas ir įkėlimas“, kad įkeltumėte „Arduino“.
  6. Paskutinis „Instructable“skyrius apima kai kuriuos konfigūruojamus parametrus.

Geriausia eskizą įkelti dabar, nes pridėjus išorinę energiją geriausia neprijungti jo prie kompiuterio.

3 žingsnis: prijunkite projektą

Projekto sujungimas
Projekto sujungimas
Projekto sujungimas
Projekto sujungimas

Jei naudojate „ProtoType Shield“, įdėkite jį į „Arduino“.

Elektros instaliacija yra sudėtingiausia projekto dalis. Įdėjau nuotraukas, kad galėčiau pamatyti, ką padariau. Prieš įjungdami rekomenduoju dar kartą patikrinti visas jungtis.

DS3231 - realaus laiko laikrodžio modulis

Įdėkite DS3231 modulį į duonos lentą ir prijunkite, kaip parodyta paveikslėlyje.

  • „Arduino Ground“iki GND
  • Arduino 5V į VCC
  • „Arduino A4“į SDA
  • „Arduino A5“į SCL

Paveikslėlyje aš prijungiu 5v ir žemę prie savo paleidimo ant duonos lentos, nes vėliau norėsime prijungti išorinę energiją.

Pritvirtinkite WS2813 LED juostelę

  • arduino 5V į jūsų 5V galią.
  • Vidurinės dvi jungtys yra nereikalingi duomenų kaiščiai. jie pereina prie 7 kaiščio

    Būtinai įdėkite 470 OHM rezistorių tarp kaiščio 7 ir dviejų duomenų laidų

  • „Arduino“įžeminimas iki paskutinės jungties.

Prijunkite išorinį 5 V maitinimo šaltinį (nerekomenduojama ilgą laiką paleisti šviesos diodų juostos iš „arduino“maitinimo šaltinio).

  • Įkiškite 1000uf elektrolitinį kondensatorių tarp laidų.
  • Prijunkite maitinimą ir įžeminimą prie „Arduino Power“(5 V) ir įžeminimo (GND)

Nerekomenduoju vienu metu prijungti išorinio maitinimo šaltinio ir USB prie „Arduino“.

4 žingsnis: sukurkite begalybės veidrodį

Sukurkite begalybės veidrodį
Sukurkite begalybės veidrodį

„Infinity Mirror“kūrimo žingsniai:

  1. Užtepkite plėvelę ant akrilo dantų. Tai padarys jūsų vienpusį veidrodį.
  2. Įdėkite akrilo diską į siuvinėjimo lanką. Priveržkite varžtą, kad jis neslystų
  3. Įdėkite veidrodį į kitą „Embroiery“lanką. Užveržkite varžtą.
  4. Supjaustykite kvadratinį kaištį į mažas dalis. apie 1/2"
  5. Užlenkite LED juostą taip, kad šviesos diodai būtų apskritimo viduje.

    1. Naudokite užtrauktukus, kad laikytumėte lemputę.
    2. Gali prireikti iškirpti užtrauktuko kaklaraiščio įpjovą.
  6. Uždėkite kilpą ant veidrodžio

    1. Naudokite medinius blokus kaip tarpiklius
    2. Klijuokite blokus į vietą. Jie turi būti pakankamai saugūs, kad lemputę laikytų vietoje.
  7. Uždėkite akrilo veidrodį ant veidrodžio/šviesos diodų ir klijuokite į vietą.

5 žingsnis: Kodas

Kodas
Kodas
Kodas
Kodas

Programa naudoja „Real Time Clock“biblioteką ir „Fastled“biblioteką.

Štai keletas kodo fragmentų, kaip pritaikyti elgseną.

  • OFFSET - yra persidengimas. Progamas tikisi, kad sutapimas bus iš LED0. Turiu 3 LED poslinkius.
  • CLOCKSTART - čia yra laikrodžio vidurdienis. Šviesos diodas 30 prieštarauja elektros jungtims.

Aš parašiau programą naudoti HTML spalvas. Juos galite gauti iš https://htmlcolorcodes.com/ Programoje tiesiog pakeiskite # į 0x.

Galite pakeisti „am/pm“foną

  • fonasAM = 0x070707;
  • fonasPM = 0x646D7E;

LED laikrodžio rodyklės:

  • hourHand = 0x000FFF;
  • minHand = 0x00CC00;
  • secHand = 0xcc0000;

Kad jis išsiskirtų, pridėjau parinktį turėti 3 šviesos diodus valandinei rankai, tačiau galite pakeisti spalvą abiejose vidurio pusėse, kad ji išsiskirtų.

  • theeledhour = tiesa; // galite padaryti tai tiesa ar klaidinga
  • extraHourHand = 0x00001F;

Kita puiki savybė yra tai, kad „RTClib“aptiks, kad jūsų DS3231 buvo išimta baterija, ir nustatys kompiuterio kompiliavimo laiką. Tai gera naujojo DS3231 savybė.

Jei eskizo negavote dokumento pradžioje, jį galite rasti „GitHub“

Dėkojame, kad perskaitėte šią instrukciją. Mano sūnus padėjo ir mums tai buvo įdomus projektas. Tikiuosi, kad į mus bus atsižvelgta optikos konkurse.

Rekomenduojamas: