» Elektronika » Arduino »Stalinis laikrodis iš rašomosios mašinėlės

Stalinis laikrodis iš rašomosios mašinėlės

Stalinis laikrodis iš rašomosios mašinėlės

Malonu vėl jus pasveikinti. Man labai patinka Arduino tipo OLED. Ypač mažas, kurio įstrižainė yra 0,96 colio, skiriamoji geba 128–64 pikseliai. Jei pažvelgsite į mano puslapį šioje svetainėje, su šiuo ekranu galite rasti daugybę skirtingų projektų. Prietaisai, tokie kaip voltmetras ar ampermetras su tokiu ekranu, žinoma, yra kompaktiški, tačiau yra retai naudojami, todėl patogiau naudoti paruoštą multimetrą, parduodamą bet kurioje radijo parduotuvėje. Ir aš noriu savo naminis stovėjo ant stalo ir džiugino akis, kiekvieną žvilgsnį į ją, kiekvieną dieną. Todėl laikrodis yra geriausias sprendimas tam. Aš turėjau daugybę variantų, kaip žiūrėti laikrodžius su šiuo ekranu, Arduino, Attiny85, akumuliatoriuose, maitinamuose iš USB, su foniniu apšvietimu, su termometru ir kt., Ir t.t. Tačiau visi jie turėjo tam tikrų trūkumų: nestabilus maistas, bjaurus dėklas, nepakanka atminties, kad būtų galima įgyvendinti datos rodymo funkciją (Attiny85). Bet dėl ​​daugybės bandymų ir klaidų radau optimalų mano užklausų sprendimą. Šį kartą naudosime:

- Rašomoji mašinėlė „Modarri“
- „Arduino Pro Mini 5v 16 Mhz“
- DS28B20 (skaitmeninis temperatūros jutiklis)
- WS2812 (Adreso LED juostelė)
- USB-TTL (eskizui užpildyti)
- OLED 0,96 128x64
- Sagos
- plokštė
- Rezistorius 4,7 kOhm
- Keraminis kondensatorius 104, 2 vnt
- 1–2 mm storio lakštinis plastikas
- jungiamieji laidai
- USB laidas
- Klijų pistoletas
- Alyvos sandariklis ir viskas, ko reikia litavimui

1 žingsnis. Būsto pasirinkimas.
Po ilgų ir skausmingų bandymų pasidaryti laikrodžių dėklą, kuris man patiko, nusprendžiau ieškoti bylos pagrindo savo (ir ne tik savo) lentynose. Mačiau automobilius, kurie man patinka. Tai yra maži, gerai pagaminti, su guminiais ratukais ir amortizatoriais „Modarri“ žaisliniai automobiliai


Ši įmonė turi platų asortimentą. Automobiliai yra kiekvieno skonio ir spalvos. O svarbiausia, kad jie turi vietą, skirtą pirštų valdymui. Ir tai puikiai tinka mūsų mažam ekranui. Radau tris modelius:




Tokį laikrodį galite pasidaryti iš bet kurio, bet man labiausiai patinka juodi. Be to, daugelis mašinų dalių yra keičiamos, jas galite surinkti taip, kaip jums patinka.Mano nuomone, tai puikus dėklas, padarytas tvarkingai, gražiai atrodo ir elektronikai yra pakankamai vietos.

2 veiksmas Ekrano paruošimas.
Mūsų ekranas yra mažas, tačiau mielas yra grafinis ekranas. Iš visų savybių verta pabrėžti, kad kiekvienas pikselis yra nepriklausomas šviesos diodas. OLED žymi organinius šviesos diodus. Prijungimui naudojami 4 laidai. VCC (teigiamo maitinimo laidas, gali būti maitinamas nuo 5 arba 3,3 volto), GND (neigiamos galios laidas), SCL ir SDA (prijungtas prie Arduino). Ryšys su Arduino vyksta per I2C nuoseklią asimetrinę ryšio magistralę. Pats ekranas atrodo taip:


Litažuokite prie visų 4 kontaktų, geriau naudoti daugiaspalvius laidus ir užrašyti, kuris veda prie kurio kontakto:


Kad išorinis ekranas nesugadintų bendro vaizdo, mes pagaminsime nedidelį jo pavyzdį. Korpusui tinka nedidelis plono plastiko lakštas. Kelias valandas paaukojau kanceliarinę tabletę:


Tai buvo tobulas atvejis. Pagal šią schemą iš plastiko iškirpėme nedidelį dėklą:


Vidinis stačiakampis turi būti atsargiai supjaustytas ir sulenktas brūkšninėmis linijomis:


Mes dedame savo ekraną į vidų, pritvirtiname ekraną ir šonines sienas karšto lydalo klijais, taip pat geriau užpildyti laidus klijais, kad neišplėštų jų, jei staiga, netyčia užkabinsite:


Iš išorės jis turėtų būti toks:


3 žingsnis Paruoškite temperatūros jutiklį.
Na, koks laikrodis be temperatūros jutiklio! Geriausias pasirinkimas yra skaitmeninis jutiklis. Labiausiai prieinamas yra „DS28B20“. Apie jo pranašumus galite kalbėti be galo, taigi trumpai. Temperatūrai apskaičiuoti nenaudojamas „Arduino“ procesorius, jis jungia tik vieną laidą prie „Arduino“ (jis veikia naudojant „OneWire“ protokolą). DS28B20 galima prijungti įvairiais būdais. Naudokite išorinę energiją, maitindami ją nuo 5 voltų per VDD kaištį, pasklaidykite maitinimą, jungdami VDD ir GND kontaktus, arba galite rasti patobulintą pasklidosios maitinimo grandinę. Visos galimybės turi savo privalumų ir trūkumų. Mes sutelksime dėmesį į išorinę energiją, VDD prijungsime prie +5, GND prie GND, DQ prie Arduino kaiščio, taip pat turime naudoti 3,3 kOhm varžą, kad priveržtume DQ į valdžią. Schema yra tokia:


Rezistorius patogiausiai dedamas šalia jutiklio, litavimo tarp kojų. Aš išleidžiu DS28B20 skirtingais atvejais, geriausia imtis TO-92 atveju. Jutiklio pradžia yra tokia:


Vidurinis kontaktas yra DQ duomenų magistralė, lydinkite laidą prie jo ir vieną iš rezistoriaus kontaktų (4,7 kOhm):


Vidurinę kontaktą nuo šoninių išskiriame naudodami elektrinę juostą. Mes sulenkiame antrąją rezistoriaus koją, o kartu su viela mes litame prie Vdd kaiščio. Priskirkite trečiąjį GND kaištį, užrašykite laidų spalvas ir izoliuokite visus likusius kontaktus.

4 žingsnis Valdymo mygtukų paruošimas.
Laiką ir datą bus galima nustatyti dviem būdais. Per uosto monitorių arba mygtukus. Laikrodžio eskize numatyti trys mygtukai („Set“, „Plus“, „Minus“). Bet jūs galite įveikti dviese, išjungę minuso mygtuką. Lituok ant plokštės mygtukų:


Nepamirškite įrašyti laidų spalvų, kad žinotumėte, kurie veda. Mygtukai turi vieną iš laidų, jie jungsis prie GND. Lygiagrečiai su mygtukais mes lituojame keraminius kondensatorius su žymėjimu 104 (pašaliname trūkčiojančių kontaktų poveikį).


Lituotus laidus geriau užpildyti karštais klijais.

5 žingsnis Paruoškite WS2812.
Adreso juosta WS2812 arba tiksliau tik vienas šviesos diodas WS2812, kurį naudosime mašinai paryškinti. Aš išpjoviau vieną juostą iš šviesos diodo, tačiau galite juos įsigyti atskirai. Mes klijuojame WS2812 iš mašinos apačios ir prie jo lydome šiuos laidus: +5 (teigiamo maitinimo laidas), GND (neigiamo maitinimo laidas), Din. Atminkite, kad adreso juostoje yra signalo kryptis. Todėl signalo laidas turi būti užklijuotas prie gnybto Din (signalo įvestis). Nepalikite neišvalyto:


LED reikia dekoravimui. Tai neprivaloma, laikrodis veiks be jo. Bėgant šiek tiek į priekį, foninio apšvietimo nuotrauka:



Eskize yra 5 pabrėžiamos spalvos, tačiau redaguodami eskizą galite pridėti savo spalvas.

5 žingsnis. Visos elektronikos įdėjimas į rašomąją mašinėlę.
Taigi galiausiai pereikite prie rašomosios mašinėlės. Mes jį išardome. Anksčiau paruoštą ekraną dedame į vietą pirštui:


Mes vedame laidus iš ekrano dešinėje kėdės pusėje. Temperatūros jutiklis DS28B12 yra virš kairiojo galinio rato. Laidai iš jutiklio turėtų būti pritvirtinti, o pats jutiklis turėtų kabėti ant laidų, neliesdamas korpuso dalių:


„Arduino“ bus pastatytas kairėje kėdės pusėje. Mes ten visus laidus gauname. Mes dedame lentą, o lydmetalis - viela, lengviau apskaičiuoti laidų ilgį. Mašina bus maitinama per USB. Viename ryšulyje reikės susukti ir užklijuoti daug laidų, kad būtų galima maitinti. Aš rekomenduoju juos susukti ir lituoti nedideliu atstumu nuo Arduino, įstatyti juos į galinį buferį ir į Arduino atvesti tik du maitinimo laidus. Ryšys yra toks:

USB +5 - „Arduino +5“ - „Oled Vcc“ - DS28B20 Vdd - WS2812 +5 (susukti ir lydmetalį kartu)
USB GND - Arduino GND - Oled GND - DS28B20 GND - WS2812 GND - Bendras iš mygtukų (susukti ir lydmetalį kartu)
Oled SDA - D8 Arduino
Oled SCI - D9 Arduino
1 nustatymo mygtukas - D2 Arduino
2 pliuso mygtukas - D3 Arduino
3 minuso mygtukas - D4 Arduino (pasirinktinai)
„WS2812 Din - D5 Arduino“
DS28B20 DQ - D10 Arduino

PIN kodus galima pakeisti eskize. Išlydę visus laidus, galite pradėti surinkti korpusą:


6 veiksmas Redaguokite ir užpildykite eskizą.
Kaip įprasta, mums reikia Arduino IDE programavimo aplinkos. Mes einame toliau oficiali svetainė ir atsisiųskite.

Padarome tai jums patogesnį. Galite atsisiųsti diegimo programą arba tiesiog archyvuoti. Nėra skirtumo.
Dabar mums reikia bibliotekų:

OLED_I2C - tiekiamas su „Arduino IDE“
„OneWire“ - atsisiųskite žemiau esančią nuorodą
„Adafruit_NeoPixel“ - atsisiųskite žemiau esančią nuorodą

Galite įdiegti šias bibliotekas nuėję į paties „Arduino IDE“ skyrių „Bibliotekų tvarkymas“. Suraskite juos pagal pavadinimą ir įdiekite. Jei kyla problemų dėl interneto, atsisiųskite žemiau esančius archyvus ir išpakuokite juos į „bibliotekų“ aplanką, esantį toje vietoje, kur įdiegėte „Arduino IDE“.

Aš turiu du šio laikrodžio eskizus. Pirmasis su sekundžių rodymu:



Ir antrasis variantas be sekundžių:



Pasirinkite pagal savo skonį iš žemiau pateiktų failų.


Atsisiųskite projekto failus
10
10
9.5

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalęju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti
3 komentaras
Autorius
Laba diena Laikrodis maitinamas iš USB. Yra daugiau laidų, todėl aš įdėjau USB-TTL į rašomąją mašinėlę ryšiui su kompiuteriu. Taip, laikas pats yra apskaičiuojamas Arduino, Aš nenaudojau RTC modulio.
Pamenu, laidų uodega (kuri yra paslėpta už žalio „ekrano“) veda prie maitinimo šaltinio?
Ir atrodo, kad laikas buvo atimtas iš pačios Arduinos, o tai nėra visiškai teisinga, nes tikslumas nebus labai didelis. Geriau naudoti atskirą laikrodžio modulį, pavyzdžiui, ds3231.
Stalinis laikrodis iš rašomosios mašinėlės
Teisingiau būtų ne „iš rašomosios mašinėlės“, o „rašomosios mašinėlės“! šypsotis

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...