Turinys:
- Kas yra begalybės laikrodis?
- Pradėkime dabar…
- 1 žingsnis: ko jums reikia?
- Paruoškite savo komponentus
- Tu taip pat gali…
- 2 žingsnis: Surinkite laikrodį
- Paruoškite bylą
- Tada elektroninė dalis
- Patikrinkite viską … du kartus
- 3 veiksmas: įkelkite kodą
- Programuosim
- Prisimink tai…
- 4 žingsnis: mėgaukitės
- Paskutinis nustatymas…
- Animacijos…
- Kas dar?
- 5 veiksmas: nauja versija tiksliam laikui išlaikyti
Video: „Smartphone“valdomas begalinis laikrodis: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Mačiau daugybę „Infinity Mirrors“ir „Infinity Clocks“projektų „Instructables“, todėl nusprendžiau padaryti savo. Tai gali labai nesiskirti nuo kitų … bet aš tai padariau pats, taip yra!
Jei dar to nežinote:
Kas yra begalybės laikrodis?
Begalybės laikrodis naudoja daugybę atspindžių tarp veidrodžio ir pusiau atspindinčio veidrodžio, kad sukurtų didelio gylio iliuziją, kol jis yra tik vieno centimetro gylio!
Laikas rodomas šviesos diodais, kurie daug kartų atspindi šias sąsajas ir sukuria tokį gylio įspūdį.
Keli refleksai sukuria gilumo įspūdį
Šviesos diodai yra adresuojami ir įvairiaspalviai, todėl juos lengva naudoti kuriant lengvas animacijas.
Norėjau, kad jis būtų interaktyvus ir besikeičiantis, todėl pridėjau išmaniojo telefono valdiklį naudodami „Bluetooth“ryšį. Yra realus dviejų būdų ryšys tarp laikrodžio ir išmaniojo telefono. Vartotojas gali naudoti HMI (žmogaus ir mašinos sąsają), kad pakeistų įvairius parametrus, pvz., Animaciją, spalvas. Tačiau ji taip pat gali siųsti tiesiogines komandas, pavyzdžiui, pakeisti laiką, o laikrodis atsako, kad komanda yra priimta ar ne.
HMI buvo padaryta naudojant programuojamą „Android“programą, todėl aš tiesiog turėjau ją suprojektuoti ir koduoti ryšį „Arduino“pusėje.
Pradėkime dabar…
1 žingsnis: ko jums reikia?
Norėdami sukurti šį begalybės laikrodį, štai ko jums reikia (kainos yra orientacinės):
- „Arduino nano“(2 USD)
- Adresuojama šviesos diodų juostelė, tokia kaip WS2812 šviesos diodai, 60 lempučių metrui (6 USD)
- „Bluetooth“modulis, pvz., HC-05 (3 USD)
- Duonos lenta (1,5 USD)
- 5 V maitinimo šaltinis, galintis tiekti 4A ar daugiau
- Keletas elektros laidų
- Išmanusis telefonas, kuriame veikia „Android“, ir „Bluetooth Electronics“programa iš „KeuwlSoft“
- Kai kurie vidutinio tankio medienos plaušų plokštės gabalai (MDF, vienas 3 mm storio ir vienas 10 mm storio)
- Skaidri plexiglas arba perspex plokštė (apie 15–20 USD)
- Veidrodis ir pusiau atspindinti veidrodinė lipni plėvelė (nuo 4 iki 15 USD)
- Jungtys, rezistoriai ir viena 1000µF talpa
- Šiek tiek klijų ir lipnios juostos.
Laikrodžio geometrijos principo schema
„Plexi“plokštė turi būti 2–3 mm storio, todėl ją naudojant ji tvirtai laikosi.
Aukščiau pateikta schema paaiškina laikrodžio geometriją. LED juostelė yra tarp dviejų veidrodžių. Žinoma, jums reikia 60 tų lempučių ant juostos. Internete galite rasti 60 LED lempučių vienam metrui, todėl vienas iš jų yra geras. Tada apskritimo perimetras yra 1 m, jo skersmuo yra 100/PI = 31,8 cm (maždaug 12,53 colio).
Paruoškite savo komponentus
Iškirpkite tokio skersmens apskritimą 3 mm MDF plokštėje. Norėdami tai padaryti, nuėjau į vietinį fablabą ir paprašiau naudoti lazerinį pjaustytuvą. Jie netgi gali tai padaryti už jus, jei maloniai paprašysite ir ateisite su lenta: tai užtruks tik kelias sekundes. Kol esate ten, supjaustykite tą patį diską į savo organinio stiklo plokštę.
Iš MDF plokštės dabar turite diską ir plokštę su apskrito formos skylute. Palikite juos abu vėliau.
Kad šviesos diodai liktų vietoje, taip pat supjaustykite 1 cm storio MDF ploną to paties skersmens cilindrą. Storis nėra svarbus tol, kol nėra pernelyg trapus. LED juostelė bus dedama į šį cilindrą, todėl svarbu, kad vidinis perimetras būtų toks pat kaip juostos ilgis. Per ilgas arba per trumpas, o kai kurie šviesos diodai gali būti išdėstyti nevienodai, todėl būkite labai tikslūs.
Tokios storos plokštės pjaustymas gali užtrukti šiek tiek ilgiau nei plonos. Paklauskite „Fablab“savininko, ar jų lazerinis pjoviklis yra pakankamai galingas, kad pjaustytų tokį storį. Man lazeris šiai daliai turėjo praeiti daugiau nei dešimt kartų, palyginti su tik dviem kitai plokštelei.
Tu taip pat gali…
Taip pat vietoje MDF galima naudoti permatomas arba spalvotas organinio stiklo plokštes. Plexiglas yra įvairių spalvų, nuo juodos iki geltonos iki žalios ir violetinės, todėl nedvejodami išbandykite juos.
„Fablab“žino, kaip juos pjaustyti, o plexilas yra labai „švarus“, palyginti su mediena, kuri gali „sudegti“(turiu omenyje spalvos pasikeitimą dėl lazerio energijos) lazerio kelyje. Taip pat yra veidrodinis organinis stiklas, kuris gali sutaupyti jums nusipirkti veidrodinę plėvelę. Tiesiog nepamirškite pjaustydami jį nusiųsti lazerį galinėje veidrodžio pusėje …
Žemiau yra pjovimo lazeriu geometrijos failai.
2 žingsnis: Surinkite laikrodį
Norėdami pagaminti laikrodį, jums tiesiog reikia surinkti dalis pagal schemą.
Paruoškite bylą
Pirmiausia klijuokite veidrodinę plėvelę ant MDF disko. Tai bus laikrodžio apačia.
Antra, klijuokite pusiau skaidrią plėvelę ant organinio stiklo disko. Tai sudaro priekinį laikrodžio stiklą. Šis diskas bus įdėtas į MDF plokštę, apskritimo skylę: jei reikia, priklijuokite medienos klijais arba naudokite silikoninę gumą.
Galiausiai paruoškite šviesos diodus. WS2812 šviesos diodai naudoja 3 sujungimo blokus: įtampos tiekimą, įžeminimą ir komandą. Jei jau prijungti 3 elektros laidai, tiesiog juos naudokite. Priešingu atveju prijunkite 3 laidus prie jungčių. Atminkite, kad šviesos diodai yra poliarizuoti prietaisai: tai reiškia, kad srovė teka tik viena kryptimi. Ši kryptis rodoma juostelėje rodykle. Tada laidus turėtumėte lituoti juostelės gale, iš kur išeina rodyklės (o ne galas, į kurį nukreiptos rodyklės).
Įdėkite šviesos diodus į storo MDF cilindro vidų ir surinkite 3 dalis klijais ir (arba) juostele.
Tada elektroninė dalis
Įdėkite „Arduino“į duonos lentą ir sukurkite grandinę, kaip parodyta aukščiau. Įsitikinkite, kad visi pagrindai (GND) yra prijungti (GND iš „Arduino“, HC-05 modulis, LED juostelė ir maitinimas).
- „HC-05“„Bluetooth“modulio RX ir TX kaiščiai yra prijungti prie „Arduino“kaiščių D3 ir D2
- Šviesos diodų juostos duomenų linija prijungta prie kaiščio D12, jei turite, galite įterpti 300 omų rezistorių.
Jei norite pakeisti smeigtukus, atitinkamai pakeiskite jų apibrėžimus kode („ino“failo 7 ir 13 eilutės).
Atminkite, kad HC-05 moduliui reikalingas RX kaiščio įtampos daliklis, kaip parodyta žemiau. Taigi jums reikia vieno 1000 omų ir vieno 2000 omų rezistorių.
Tiekimas naudojamas tiek „Arduino“, tiek LED juostelėms. Pirmiausia prijunkite 1000µF kondensatorių prie varžto gnybto (domino). Jei turite, galite naudoti greitą jungtį. Daugiau informacijos rasite čia.
Šis kondensatorius taip pat gali būti poliarizuotas: įsitikinkite, kad + ir - kojelės yra prijungtos prie maitinimo šaltinio + ir -. Kaip matyti iš kondensatoriaus vaizdo, koja yra pažymėta dideliu minuso ženklu.
Tada iš jungties prijunkite elektros laidus, kad prijungtumėte LED juostą ir „Arduino“plokštę. Kaip minėta aukščiau, visi GND turėtų būti sujungti. Iš teigiamo tiekimo potencialo prijunkite 5V juostos laidą ir ištraukite laidą prie „Arduino“5V kaiščio: kol kas palikite jį neprijungtą, galiausiai prijungsite.
Patikrinkite viską … du kartus
Du kartus patikrinkite visas jungtis… Norėdami patikrinti elektros tęstinumą, naudokite multimetrą, jei turite.
Jei viskas teisinga, jūsų laikrodis yra beveik paruoštas. Kol kas jo nepateikite.
3 veiksmas: įkelkite kodą
Programuosim
Norėdami įkelti kodą į „Arduino nano“, naudokite „Arduino IDE“. Įdėkite visus failus į aplanką „Horloge_LED3_nano_BTOK“savo „Arduino“aplanke. Atidarykite IDE, pasirinkite tinkamus parametrus (plokštės tipą, COM prievadą ir tt) ir spustelėkite įkėlimo mygtuką.
„Android“išmaniajame telefone įdiekite „Bluetooth Electronics“programą, kurią lengvai rasite „Google Play“. Atsisiųskite failą „BluetoothElectronicsCode.txt“iš šios instrukcijos ir pakeiskite plėtinį į zip: gausite ZIP archyvą su išmaniojo telefono sąsajos, kuri bus paleista naudojant „Bluetooth Electronics“, kodu.
Kai būsite pasiruošę, prijunkite maitinimo šaltinį. Šviesos diodai užsidegs, HC-05 modulis taip pat užsidegs, kad ieškotų ryšio. Paleiskite „Android“programą ir vykdykite instrukcijas, kad suporuotumėte „Bluetooth“modulį su išmaniuoju telefonu. Kai būsite pasiruošę, paleiskite HMI: esate pasiruošę žaisti!
Prisimink tai…
Pirmasis juostos šviesos diodas turėtų būti dedamas ant laikrodžio. Jei jo neįdėjote, galite pakeisti poslinkio parametro reikšmę kode (ino failo 65 eilutė). Tai rūpinasi.
Kai klijavote LED juostelę seklaus cilindro viduje, buvo 2 variantai: arba juostelė sukasi pagal laikrodžio rodyklę, arba prieš laikrodžio rodyklę. Jei tai padarėte neteisingai, laikrodžio rodyklės pasisuks netinkama kryptimi! Nesijaudink. Tiesiog pakeiskite loginio kintamojo sens_horaire reikšmę į true (ino failo 77 eilutė)
4 žingsnis: mėgaukitės
Paskutinis nustatymas…
Dabar nustatykite laiką. Tai galima padaryti naudojant paprastas komandas, kurias įvedate mažoje konsolėje, esančioje apatinėje kairiojoje HMI dalyje.
- Hxx: nustatykite valandas xx (pvz., H4)
- Myy: nustatykite minutes (pvz., M15)
- Szz: nustatykite sekundes (pvz., S30)
Komandos gali būti sujungtos grandinėmis įterpiant tarp jų žvaigždutę, pavyzdžiui: H4*M15*S35
Nustačius valandas ir (arba) minutes, sekundės bus atstatytos į nulį.
Tada pamatysite, kad valandą seka raudonas šviesos diodas, o minutes - ŽALAS šviesos diodas:
Jau 9:52:00!
Sekundžių spalvą galima pakeisti naudojant HMI slankiklį
Kai perkeliate slankiklį, mažas apskritimas dešinėje pusėje rodo esamą spalvą. Kai slankiklis sustoja, jis siunčia spalvą į laikrodį, o sekundžių šviesos diodas atitinkamai pasikeičia.
Animacijos ir PALETTE slankikliais galima pasirinkti ir pritaikyti šviesias laikrodžio animacijas. Išbandykite juos ir pažiūrėkite vaizdo įrašą, kad gautumėte pavyzdžių. Kai keičiate kai kuriuos HMI nustatymus, mažoje konsolėje rodomas „Arduino“atsakymas.
Animacijos…
- 0: Tiesiog rodo laiką, naudodami slankiklį galite pakeisti sekundžių spalvą.
- 1: spalvotas fonas (galite pakeisti spalvą), kintamos amplitudės.
- 2: besisukanti vaivorykštė
- 3: spalvota juosta (kurią galima pakeisti), kuri daro vieną apsisukimą per sekundę.
- 4: spalvota juostelė, kuri atšoka nuo antros rankos.
- 5: atsitiktinės amplitudės spalvotas fonas (galite pakeisti paletę).
- 6: Tiesiog rodo laiką, sekundžių rodyklė keičia savo šviesos amplitudę.
- 7: besisukančios vėliavos (pakeiskite paletę, kad pakeistumėte vėliavą tarp 4 galimų)
Prancūzijos vėliava - 7:11:51
Neseniai buvo pridėta dar viena animacija, kuri atsitiktinai pasirinktai animacijai keičiasi kas 15 sekundžių.
Mygtukas MINUTES įjungia ir išjungia baltus šviesos diodus kas 5 minutes.
Jau 7:11:25
Atminkite, kad vaizdo įrašai ir nuotraukos buvo sukurti naudojant išmanųjį telefoną, todėl yra prastos kokybės. Laikrodžio spalvos yra daug ryškesnės ir tikslesnės nei atrodo vaizdo įraše …
Kas dar?
Tikiuosi, kad jums patiks padaryti šį begalybės laikrodį. Dar daug ką reikia nuveikti: galite nudažyti priekinę MDF plokštę, kad ji taptų gražesnė, pridėkite dar vieną šviesos diodų juostą išorinėje cilindro pusėje, kad ant sienos taip pat atsirastų animuota šviesa ir pan.
5 veiksmas: nauja versija tiksliam laikui išlaikyti
„Arduino nano“laikrodis linkęs slinkti laiku, nes neturi tikslaus laikrodžio. Aš sukūriau kitą versiją naudodamas realaus laiko laikrodį (RTC), kad būtų tikslus laikas.
RTC egzistuoja įvairiuose modeliuose, rekomenduoju naudoti DS3231 modulį, kuris yra labai tikslus (palyginti su DS1307). Šioje naujoje programos versijoje naudojama MD-DS3231 biblioteka, kurią rasite čia. Tiesiog sukurkite naują aplanką „Horloge_LED3_nano_BT_RTC“savo „Arduino“aplanke ir atsisiųskite visus failus.
Prijunkite DS3231 kaip I2C įrenginį, ty SDA prie A4 ir SCL (arba SCK) prie A5
Pirmiausia turite nustatyti RTC laiką. Žr., Pavyzdžiui, šią instrukciją arba šią mokymo programą.
Įkelkite „Horloge_LED3_nano_BT_RTC.ino“failą į „Arduino nano“ir paleiskite jį. Laikas atnaujinamas kas 30 minučių, todėl laikrodis visą laiką išlieka tikslus.
Žinoma, turite turėti RTC modulio bateriją, nes ji palaiko RTC gyvybę, net jei ji nėra tiekiama iš „Arduino“, ir gali išlaikyti tikslų laiką.
Rekomenduojamas:
„WiFi“laikrodis, laikmatis ir orų stotis, valdomas „Blynk“: 5 žingsniai (su nuotraukomis)
„WiFi“laikrodis, laikmatis ir orų stotis, valdomas „Blynk“: tai yra „Morphing“skaitmeninis laikrodis (ačiū Hari Wiguna už koncepciją ir morfavimo kodą), taip pat yra analoginis laikrodis, orų pranešimų stotis ir virtuvės laikmatis. Jį valdo visiškai „Blynk“programa išmaniajame telefone naudojant „WiFi“. Programa leidžia
Didelis „Arduino“LCD laikrodis su dviem signalais ir temperatūros monitorius, valdomas IR televizoriaus nuotolinio valdymo pultu: 5 žingsniai
Didelis „Arduino“LCD laikrodis su dviem žadintuvais ir temperatūros monitorius, valdomas IR televizoriaus nuotolinio valdymo pulto: Kaip sukurti „Arduino“pagrįstą LCD laikrodį su dviem aliarmais ir temperatūros monitoriumi, valdomu IR televizoriaus nuotolinio valdymo pultu
„Vortex“laikrodis: „Infinity Mirror“rankinis laikrodis: 10 žingsnių (su nuotraukomis)
„Vortex Watch“: begalybės veidrodinis laikrodis: Šio projekto tikslas buvo sukurti nešiojamą begalybės veidrodžio laikrodžio versiją. Jis naudoja savo RGB šviesos diodus, norėdamas nurodyti laiką, priskirdamas valandas, minutes ir sekundes atitinkamai raudonai, žaliai ir mėlynai šviesai ir sutampa su šiais atspalviais
Nuotoliniu būdu valdomas automobilis - valdomas naudojant belaidį „Xbox 360“valdiklį: 5 žingsniai
Nuotoliniu būdu valdomas automobilis - valdomas naudojant belaidį „Xbox 360“valdiklį: tai instrukcijos, skirtos sukurti savo nuotoliniu būdu valdomą automobilį, valdomą naudojant belaidį „Xbox 360“valdiklį
C51 4 bitų elektroninis laikrodis - medinis laikrodis: 15 žingsnių (su nuotraukomis)
C51 4 bitų elektroninis laikrodis - medinis laikrodis: šį savaitgalį turėjote šiek tiek laisvo laiko, todėl surinko šį 2,40 USD vertės 4 bitų „pasidaryk pats“elektroninį skaitmeninį laikrodį, kurį prieš kurį laiką nusipirkau iš „AliExpress“