Šiandien noriu pasidalinti instrukcijomis, kaip gaminti originalius laikrodžius su temperatūros jutikliu. Kaip valdytojas Arduino Uno. Laikrodžio, datos ir temperatūros rodymui naudoju spalvotą LCD TFT ekraną. Ekrane naudojami daug „Arduino“ segtukų, todėl galime išsiversti be RTC modulio.
Norėdami įgyvendinti šį projektą, mums reikės:
- Arduino Uno
- LCD TFT 3,5 “skydas, skirtas prijungti prie„ Arduino Uno “
- „ds18b20“ temperatūros jutiklis
- Rezistorius 4,7 Kom 0,25 W
- Rezistorius 62 omai 2 vnt
- Baterija „Ni-Mn“, 1,2 V, 1000 mA 6 vnt
- Mėlynas LED 5mm 4 vnt
- 10 mm storio fanera
- Šiek tiek plono plastiko ar kartono
- Švitrinis popierius
- Elektrinis pjūklas
- Karšti klijai
- lituoklis
- Lydmetalis, kanifolija
- elektros juosta
- dvipusė juosta
- jungiamieji laidai
- Akrilo dažai
- Dažai akriliniams dažams
- gręžti
- Medienos grąžtai 5 mm ir 3 mm
- Mediniai varžtai 3 x 30 mm
1 žingsnis Paruoškite ekraną.
Pirmiausia paimkite ekraną, prieš jį įdiegdami turite šiek tiek pasiruošti. Mano atveju tai atrodo taip:
Tai gali šiek tiek skirtis nuo jūsų, jų yra daugybė. Foninis apšvietimas maitinamas per 3,3 voltų stabilizatorių ir 5 voltų varžą su „Arduino“. Tai aiškiai matoma nuotraukoje:
Dėl tokios schemos neįmanoma valdyti foninio apšvietimo, tačiau naudinga, pavyzdžiui, sumažinti ryškumą naktį. Norėdami įgyvendinti ryškumo valdymą, išpjaukite takelį šalia rezistoriaus ir nulakuokite laidą, jungiantį įtampos reguliatoriaus išėjimą ir rezistorių. Mes klijuojame elektros juostą ant viršaus, kad nebūtų atsitiktinių gedimų. Tada mes supjaustome šį laidą ir prijunkite jį prie Arduino arba tiesiog įdėkite jungiklį į tarpą. Rezultatas turėtų būti toks:
Dabar ekranas paruoštas įdiegti.
2 žingsnis „Arduino Uno“ paruošimas.
Ekrane naudojami daug „Arduino“ segtukų, be to, ant plokštės su ekranu dažnai dedamas SD kortelės lizdas. Kita problema yra ta, kad sujungus ekraną ir „Arduino“, likę „Arduino“ kaiščiai tampa neprieinami. Todėl reikia pasirinkti „Arduino Uno“ analogą su paruoštais papildomais nusileidimo lizdais kaiščiams. Tokiu būdu mes galime lituoti šukas į laisvus laidus priešinga kryptimi. Taigi atsisakysime SD kortelės lizdo nemokamų kaiščių naudai. Lydmetalis priešinga kryptimi šias išvadas: D0, D1, D10, D11, D12, D13, A5. Taip pat atvirkštinėje pusėje mums reikės +5 voltų, GND, RES gnybtų. Maitinimui naudosime Ni-Mn baterijas, ir jas reikės įkrauti, tam tikslui litame laidus prie „Arduino“ maitinimo jungties, taigi ir įkrovimo metu galime tiek akumuliatorius krauti, tiek maitinti.Galų gale mes gauname taip:
Galite eiti į kūną.
3 žingsnis.
Pradėkime nuo laikrodžių dėklų gamybos. Kaip pagrindą imame 10 mm storio fanerą. Forma gali būti skirtinga ir, jei jums nepatiko mano pasirinkta forma, galite padaryti šabloną ir supjaustyti jį savo forma. Bet jei nuspręsite padaryti tą patį, ką mano, tada ant bet kurio spausdintuvo atspausdinkite šį vaizdą 100% mastu:
Iškirpkite spausdintą raštą išilgai išorinio krašto. Mes pritvirtiname šabloną prie faneros, nupieškite ir iškirpkite, šį kartą iš faneros, dvi tokias detales. Pirmoje dalyje turite iškirpti stačiakampį, kurio dydis yra mūsų ekranas. Norėdami tai padaryti, įdėkite ekraną į mūsų ruošinio vidurį ir atkreipkite dėmesį, kad jums reikia orientuotis paties ekrano viduryje - plokštė, ant kurios mūsų ekranas nėra simetriška. Todėl viduryje dedame patį ekraną, nubrėžkite lentos dydį ir iškirskite šį stačiakampį ruošinyje:
Toliau turite prijungti ekraną ir „Arduino Uno“. Mes pritvirtiname prie savo ruošinio ir ant faneros pažymime USB jungties ir Arduino maitinimo jungties išpjovų vietas. Peiliu perpjaukite pažymėtas linijas, bet ne iki galo, o tik iki norimo gylio:
Mes įdėjome ruošinį iš faneros ant lygaus paviršiaus, įdėkite ekraną į vidų. Plokščias paviršius reikalingas, kad ekranas ir ruošinio priekis būtų toje pačioje plokštumoje. Atminkite, kad USB jungtys ir „Arduino“ maitinimo jungtis atitinka faktinę jų vietą. Naudodami karšto lydymo pistoletą, klijuokite ekraną prie faneros, tuo pačiu metu taip pat galite klijuoti foninio apšvietimo laidus, kad jie nebūtų atsitiktinai išpjaustyti:
Iš priekio jis atrodys taip:
Mes padengiame savo ruošinį akrilo dažais. Aš pasirinkau akrilo dažus, nes jie neturi kvapo ir greitai džiūsta. Naudodami spalvų schemą, baltiems dažams suteikiame reikiamą spalvą. Man patinka purpurinė. Galite piešti bet kokia spalva:
Dabar mes kreipiamės į antrą ruošinį, jame reikia iškirpti stačiakampį, kurio dydis 75 mm - 35 mm, kad galėtumėte pasiekti Arduino kaiščius. Taip pat būtina padaryti penkias 5 mm skylutes LED lemputėms. Ir jungiklio lizdas. Ir 3 mm skylės varžtams. Kaip ir pirmąjį ruošinį, mes dažome antrą:
Norėdami sujungti šias dalis iš to paties storio faneros, pagaminsime du stačiakampius, kurių matmenys bus nuo 20 mm iki 40 mm, ir vieną kvadratą, kurio kraštinė bus 20 mm. Ir mes gręžiame 3 mm skyles savisriegiams varžtams:
4 žingsnis Elektrikas.
Įdėkite Arduino į vietą:
Mes pritvirtiname jungiamuosius stačiakampius, kaip parodyta nuotraukoje:
Mes paimame baterijas, lydome jas iš eilės į tris dalis, išimame laidus ir susukame elektros juostą. Mes dedame juos į apatines priekinio ruošinio dalis, užpakalinę pusę ir klijuojame ant karšto lydalo klijų. Laidas nuo neigiamo „Arduino“ maitinimo jungties gnybto yra nulietas iki pirmųjų trijų baterijų minuso. Plius litavimas nuo pirmųjų trijų iki antrųjų trijų baterijų minuso. Plius iš antrų trijų mes lituojame prie vieno iš kontaktų prie jungiklio. Viela iš teigiamo „Arduino“ maitinimo jungties gnybto yra nutiesta iki antrojo jungiklio gnybto. Paprasčiau tariant: visas baterijas turi prijungti stebėtojas, atimdamas iš jų lituoklius iki Arduino maitinimo jungties minuso, o plius per jungiklį - prie maitinimo jungties pliuso:
Mes pereiname į užpakalį. Mes įterpiame šviesos diodus į padarytas skylutes ir pritvirtiname karštais klijais. Mes juos lydome lygiagrečiai su dviem šviesos diodais ir nepamirškite apie rezistorius, esančius ant šokių laido. Šviesos diodų minusas yra prijungtas prie GND, plius prie D11 Arduino.
Į viršutinę skylę įkišame temperatūros jutiklį ds18b20. Jis turi aukštą matavimo tikslumą, paklaida ne didesnė kaip 0,5 ° C. Jutiklis yra kalibruojamas pagaminimo metu, nereikia jokių papildomų nustatymų. Temperatūros matavimo diapazonas -55 ... + 125 ° C. Yra du veikimo režimai: su išoriniu energijos šaltiniu ir „nepalankiąja galia“. Mes naudosime išorinę energiją, nes ji veikia stabiliau. Ryšys yra toks:
Mes taip pat pritvirtiname karštais klijais.Galų gale turėtumėte gauti šiuos dalykus:
Temperatūros jutiklio DQ kaištis yra prijungtas prie D10 Arduino. Nepamirškite lituoti traukos rezistoriaus tarp DQ ir +5 (VDD).
Prieš galutinį surinkimą dar kartą patikrinkite, ar viskas yra lituojama ir sujungta:
5 žingsnis Viską sudėti.
Švelniai, kad nenuplėščiau laidų, aplenkite nugarą ir padėkite ant priekio. Jungiamųjų stačiakampių tvirtinimo vietose padarome skylutes ir užsukame varžtus, taip sujungdami abi dalis:
Dabar iš plono plastiko išpjaustėme 35 mm storio ertmes. Ant dvipusės juostos klijuojame šias ertmes apskritimu laikrodžių šonuose:
Taip pat iš plono plastiko išpjaustėme vidinius popieriaus šablono elementus ir juos klijuojame ant laikrodžio priekinės dalies:
Norėdami įkrauti baterijas ir valdyti laikrodį įkrovimo metu, jums reikia 7,2 - 8 V maitinimo šaltinio, kurio srovės riba yra 600 mA. Jei turite kitų akumuliatorių, tuomet reikia pasirinkti kitą maitinimo šaltinį, svarbiausia, kad įkrovimo srovė neviršytų 10% akumuliatoriaus talpos.
Tuo surinkimas baigtas, belieka tik redaguoti ir įrašyti eskizą.
6 žingsnis Paruoškite aplinką ir užpildykite eskizą.
Norėdami redaguoti ir užpildyti eskizą, pirmiausia turite įdiegti „Arduino IDE“ iš oficialios svetainės:
www.Arduino.cc.
Tada įdiekite šias bibliotekas. Norėdami dirbti su ekranu, UTFT biblioteka:
Norėdami prijungti „OneWire“ temperatūros jutiklį:
Norėdami įdiegti šias bibliotekas, išpakuokite archyvus ir įdėkite neišpakuotus failus į aplanką „bibliotekos“, esantį aplanke, kuriame įdiegta „Arduino IDE“. Arba neišpakuodami atsisiųstų archyvų, „Arduino IDE“ pasirinkite meniu „Sketch - Connect Library“. Pačiame išskleidžiamojo sąrašo viršuje pasirinkite elementą „Pridėti .Zip biblioteką“. Nepamirškite iš naujo paleisti „Arduino IDE“ po viso šito. Žiūrėti eskizą:
Temperatūros jutiklis veikia pagal „One Wire“ protokolą ir turi unikalų kiekvieno įrenginio adresą - 64 bitų kodą. Kad neieškotume šio adreso kiekvieną kartą, jutiklį jungiame prie Arduino, užpildome eskizą, esantį meniu Failas - Pavyzdžiai - Dalaso temperatūra - „OneWireSearch“. Tada paleiskite „Tools - Port Monitor“. Arduino turėtų rasti mūsų jutiklį, parašyti jo adresą ir esamus temperatūros rodmenis. Nukopijuojame arba tiesiog užrašome jūsų jutiklio adresą. Atidarykite eskizą Ard_LCD_TFT_Term, ieškokite eilutės:
baitų pridėtojas [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // mano jutiklio adresas
Mes užrašome jūsų jutiklio adresą tarp petnešų, pakeisdami mano jutiklio adresą. Lieka tik užpildyti suredaguotą eskizą. Taip pat norėčiau pasakyti, kad tai yra tiesiog nuobodu, bet jūs galite parašyti savo eskizą. Rašydamas kitus šių laikrodžių eskizus, įkelsiu juos.