Turinys:

Sienų matuoklio ekranas: 4 žingsniai (su nuotraukomis)
Sienų matuoklio ekranas: 4 žingsniai (su nuotraukomis)

Video: Sienų matuoklio ekranas: 4 žingsniai (su nuotraukomis)

Video: Sienų matuoklio ekranas: 4 žingsniai (su nuotraukomis)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Liepa
Anonim
Image
Image
Koncepcija
Koncepcija

Aš nusipirkau pigų kišeninį laikrodį iš „eBay“manydamas, kad tai bus įdomi naujovė. Paaiškėjo, kad pirktas skaitiklis nebuvo tinkamas, tačiau iki to laiko buvau įsipareigojusi gaminti kažką, kas kabėtų ant sienos ir būtų kalbama.

Ekrano centre yra analoginis ampermetras, kurį maitina įkrautas kondensatorius, kuris išsikrauna per matuoklį, pagyvindamas rodyklės adatą.

LED ekranas atspindi rodyklės judėjimą, todėl akį traukiantis ekranas.

Visa tai valdo „Atmel 328“mikroprocesorius, tiesiogiai sukurtas „Arduino Uno“, kuris matuoja esamą šviesos lygį kambaryje ir atsitiktinai suaktyvina ekraną, kurį maitina trys AA baterijos.

Prekės

„Arduino Uno“su „Atmel 328“procesoriumi … žr. Likusį tekstą

Šviesos diodų pasirinkimas, raudonas, žalias ir geltonas su vienu baltu

7 x 330R rezistoriai

1 x LDR

1 x 220uF kondensatorius

1 x 220R rezistorius

2 x 10k rezistoriai

1 x lygintuvo diodas

Tinkamai senas ampermetras, paprastai 100uA visos skalės

1 žingsnis: koncepcija

Koncepcija
Koncepcija
Koncepcija
Koncepcija
Koncepcija
Koncepcija

Nuotraukos pasakoja trumpą istoriją, originalus matuoklis buvo sukurtas naudoti radijo vožtuvuose ir reikalavo daugiau nei 100 mA, o „Arduino“tiesiog negalėjo jo valdyti. Tai ankstyvos ekrano išdėstymo idėjos. Galų gale aš išardžiau skaitiklį, norėdamas pakeisti mechanizmą, nelabai pavyko.

Galiausiai pasiėmiau seną voltmetrą su 100uA mechanizmu, tobulas.

2 žingsnis: grandinė

Circuit
Circuit
Circuit
Circuit

Pradinėje konstrukcijoje buvo naudojamas „Arduino“, kad būtų galima prijungti bitus gana paprasta sistema. Šeši skaitmeniniai kaiščiai valdo spalvotus šviesos diodus per 330R rezistorius.

Vienas skaitmeninis kaištis naudojamas LDR įtampos skirstytuvui įjungti, įtampa matuojama viename iš ADC kaiščių ir naudojama dabartiniam šviesos lygiui ir paros laikui įvertinti.

Vienas skaitmeninis kaištis naudojamas įkrauti kondensatorių per diodą ir 220R rezistorių.

Skaitiklis yra prijungtas prie kondensatoriaus per 10k rezistorių. Šią vertę gali tekti pakeisti, atsižvelgiant į visą naudojamo ampermetro skalę.

Aš taip pat prijungiau iš naujo nustatymo mygtuką, kuris turi būti sumontuotas ekrano pusėje.

Galiausiai, iš vieno iš šviesos diodų anodo yra dar vienas ryšys, kad būtų galima nustatyti įtampos nuorodą akumuliatoriaus įtampos lygiui patikrinti. Ši grandinė niekada nebuvo labai sėkminga, ir kitą kartą, kai baterijos išsikraus ir ekranas bus išjungtas, pakeisiu jį į paprastą įtampos skirstytuvą.

3 žingsnis: įgyvendinimas

Įgyvendinimas
Įgyvendinimas
Įgyvendinimas
Įgyvendinimas
Įgyvendinimas
Įgyvendinimas
Įgyvendinimas
Įgyvendinimas

Ekrano veikimas iš baterijų naudojant „Arduino Uno“nebuvo praktiškas, dabartinis sunaudojimas būtų per didelis, nes didžioji plokštės dalis yra aktyvi visą laiką, ir norėjau, kad ekranas būtų ant sienos nepaliestas mažiausiai šešis mėnesius laikas.

Siekiant sumažinti srovės suvartojimą, ekrano grandinės buvo sukurtos naudojant „Arduino“ir duonos lentą, grandinės perkeltos į matricos plokštę, o galiausiai užprogramuotas procesorius pašalintas iš „Arduino“ir įdėtas į lizdą ant mažo matricos plokštės gabalo kartu su „xtal“, ir sujungtas juostiniu kabeliu.

Galų gale ekranas veikia visus 12 mėnesių su vienu baterijų rinkiniu.

Naudingas triukas yra pakeisti „Atmel“procesorių „Arduino Uno“su ZIF lizdu, šis puikiai tinka, o tada vėl įdėkite procesorių. Kai projektas bus paruoštas vykdyti, procesorius jau yra užprogramuotas ir jį tiesiog reikia išimti ir įdėti į galutinės plokštės lizdą. Pirkdamas tuščius procesorius, praleidžiu valandą uždėdamas visus įkrovos krautuvus, kad jie būtų paruošti naudoti bet kuriuo metu.

4 žingsnis: Kodas

Kaip galima įsivaizduoti, pagrindinio ekrano paleidimo kodas nėra labai sudėtingas, tačiau pagrindinė sritis yra energijos suvartojimo mažinimas. Yra du būdai tai padaryti: vienas - rodyti ekraną tik tada, kai tikėtina, kad kas nors jį pamatys, ir, antra, sumažinti grandinių energijos suvartojimą iki minimumo.

Prieš kompiliaciją programoje turi būti įdiegtos Narkoleptikos bibliotekos.

Visi sistemos vėlavimai įgyvendinami naudojant narkoleptinę biblioteką, skirtą visiškai mažos galios procesoriaus režimui, o energijos suvartojimas matuojamas keliais nanoampiais.

Procesorius miega keturias sekundes vienu metu, o pabudęs atlieka atsitiktinę procedūrą, kad nustatytų, ar sistema nepabus. Jei ne, sistema užmiega dar keturias sekundes.

Jei atsitiktinė rutina yra teisinga, LDR grandinė suaktyvinama ir matuojamas šviesos lygis. Siekiant taupyti energiją, LDR grandinė iš karto išjungiama.

Sistema veikia keturiais numatytais laikotarpiais.

  • Naktis - labai tamsi ir niekas greičiausiai nežiūrės - nieko nedaryk ir grįžk miegoti
  • Anksti ryte - pirmoje dalyje mažai tikėtina, kad bus stebėtojų, tačiau statistiką laikykite lyg dieną
  • Dienos metu - gali būti stebėtojų, bet įjunkite tik analoginį matuoklį, o ne šviesos diodus
  • Vakaras - tikėtina, kad bus stebėtojų, todėl suaktyvinkite visą ekraną

Sistema apskaičiuoja, kad dienos ilgis keisis atsižvelgiant į metų laikus, todėl vakaras pratęsiamas į tai, kas kitu atveju būtų naktis, nes dienų ilgis yra trumpesnis, tačiau kai tikėtina, kad stebėtojų vis tiek bus.

Jei paros laikas yra tinkamas, kondensatoriui įkrauti naudojama skaitmeninė išvestis, o tada išjungiama. Naudojant tik analoginį ekraną, sistema grįžta į miego režimą, kai visa išvestis išjungta, o kondensatorius išsikrauna per matuoklį, kurio rodyklė, perkelta į visą skalę, grįžta į nulį.

Kai LED ekranas yra aktyvus, sistema matuoja kondensatoriaus įtampą ir rodo veikiančios šviesos ekraną, pagrįstą išmatuota įtampa, kol sistema miega, kai ji nukrenta žemiau slenksčio.

Ekrano pabaigoje atliekamas antrasis atsitiktinis pasirinkimas, siekiant nustatyti, ar ekranas bus kartojamas, ar ne, todėl stebėtojas bus labiau suinteresuotas.

Įjungiamas baltas šviesos diodas, kuris apšviečia skaitiklio veidą, kai LED indikatorius yra aktyvus.

Peterio Knighto narkoleptinė biblioteka perjungia procesorių į visą miego režimą, kai išvestys liks tokios, kokios buvo įjungus miego režimą, tačiau visi vidiniai laikrodžiai sustoja, išskyrus miego laikmatį, kuris yra apribotas iki keturių sekundžių. Tai galima išbandyti naudojant „Arduino“, tačiau dėl „Arduino“maitinimo šviesos diodų ir USB grandinių energijos taupymas nėra toks pat.

Sistemoje vis dar yra kodas, kuris turėjo atsižvelgti į mažėjančią baterijų talpą, tačiau tai nepasiteisino. Kitą kartą, kai jis bus ne sienoje, pakeisiu programą, kad per šviesos diodus ar ampermetrą būtų pateikta tam tikra baterijos būsena.

Galutinėje versijoje yra atstatymo mygtukas, sumontuotas vitrinos šone. Pagrindinė to priežastis yra leisti demonstracijas lankytojams, kad sistema iš naujo atliktų savo pagrindinę rutiną 10 kartų po atstatymo, prieš grįždama prie įprastos atsitiktinės rutinos.

Rekomenduojamas: