INHOUDSOPGAWE:

Badkamermeester: 4 stappe (met foto's)
Badkamermeester: 4 stappe (met foto's)

Video: Badkamermeester: 4 stappe (met foto's)

Video: Badkamermeester: 4 stappe (met foto's)
Video: Phd Defence of Thomas J.M. Verlinden 2024, November
Anonim
Badkamer Minder
Badkamer Minder

In ons huis het ons twee tieners en 1,5 badkamers. Aangesien hulle albei baie lank daaraan wil stort en gereed maak, beteken dit dat ek en my vrou die meeste van die tyd net 'n halfbad oor het. Dit is 'n probleem.

Ons het in die verlede verskeie benaderings probeer, waaronder:

  • Vra hulle om 'n afteller op hul slimfoon op 30 minute in te stel.
  • Plaas 'n werklike horlosie in die badkamer.
  • Draai die warm water af.
  • Begin die skottelgoedwasser en/of die wasmasjien.
  • Skree, bedel, ens.

Niks het gewerk nie.

Ek het besluit dat ons regtig 'n deuralarm nodig het, maar omgekeerd - 'n alarm wat klink as die deur gesluit word, in plaas van oopgemaak. Om eerlik te wees, moet die alarm die insittende ongeveer 30-40 minute tyd gee om hul sake te doen voordat hy klink, en moet u baie waarskuwing gee dat die klok loop.

Gaan die Arduino binne!

Stap 1: Versamel u onderdele …

Versamel u onderdele …
Versamel u onderdele …

Om hierdie projek te herhaal, benodig u 'n Arduino Uno of Mega 2560 en …

  • 'N Paar RGB LED -ligte. Ek het drie Grove LED's gebruik, maar u kan soveel of so min gebruik as wat u wil.
  • 'N Luidspreker om die klokkie en die alarm te speel. Ek het hierdie een gebruik, ook Grove.
  • As u Grove -komponente gebruik, wat ek sterk aanbeveel om alles eenvoudig te hou, wil u ook 'n handvol kabels koop, soos hierdie.
  • 'N Magnetiese rietskakelaar. Ek het hierdie een gekies, van Amazon.
  • 'N Kragtoevoer. Ek het hierdie een gekies sodat ek 'n 9V -battery of AA -batterye kon gebruik, indien nodig, vir 'n langer lewensduur, en dit het basies 'n 'gratis' Arduino Uno -kloon as bonus.

My Arduino kom uit 'n ouer weergawe van die Seeed Studio ADK Dash Kit (myne het nie die kabels meegebring nie). As u een op Amazon of Ebay kan vind, is dit 'n goeie manier om aan die gang te kom. Dit bevat die Grove megashield, RGB LED's, 'n Arduino Mega 2560 (kloon) met ingeboude USB, plus 'n versameling ander Grove-modules wat vir ander projekte lekker kan wees.

Stap 2: Skryf die program

Skryf die program
Skryf die program

My spesifikasies vir die program was soos volg:

  • Moet gereeld hoorbare waarskuwing hê om die aandag van die insittende te trek.
  • Moet 'n visuele status hê om in makro -sin aan te dui hoeveel tyd daar oor was.

    • Die visuele hulpmiddel moet maklik deur glasstortdeure besigtig en geïnterpreteer word en/of weg van die weerkaatsing van 'n verslapte spieël.
    • Die visuele moet duidelik gevaarrooi vertoon terwyl die aftelling tot die einde nader.
  • Moet 'n hoorbare alarm hê wat nie stop nie.
  • Die stelsel moet ingeskakel wees wanneer die deur toemaak en uitgeskakel word wanneer die deur oop is.

Ek wou nie 'n digitale uitlees gebruik nie, bloot omdat ek gevoel het dat dit op sy beste moeilik sou wees om dit deur stomende stortdeure of van die spieëlweerkaatsing af te sien. In my eerste poging het slegs een RGB -LED vinniger en vinniger geknip (met behulp van 'n vervalfunksie) namate die tyd verstryk het, maar hierdie benadering gee die bewoner nie 'n werklike gevoel van tyd wat verbygegaan het of oorbly nie.

Ek het besluit om drie RGB -LED's te hê (en dit het nie skade gedoen dat ek drie byderhand het nie). Elkeen tel 1/3 van die totale toegelate tyd af. Dit kan die insittende 'n duidelike gevoel gee van verby en oorblywende tyd, met slegs 'n vinnige blik op die drie LED's.

Om aandag aan die timer te trek, het ek besluit om aan die begin van elke interval 'n tweekleurige klank te speel.

As die tydteller klaar is, klink 'n tweeklankalarm en gaan voort totdat die stelsel uitgeskakel word deur die deur oop te maak.

Ek het drie groot herhalings van die program deurgemaak, elke keer vereenvoudig en met al hoe minder reëls kode wat beter gewerk het as die vorige poging. Ek deel slegs die 'finale' weergawe hier, aangesien dit doen wat nodig is om te doen sonder ekstra kompleksiteit.

Stap 3: Monteer onderdele en toets

Monteer onderdele en toets
Monteer onderdele en toets

Aangesien ek Grove gebruik het, was die samestelling waarskynlik die maklikste deel van hierdie projek.

Koppel die RGB -LED's in 'n ketting (bv. Van LED1 na LED2 -in). Sodra u die ketting het, koppel LED1, die eerste RGB LED in u ketting, aan op die Arduino.

In my geval:

  • Grond tot swart (grond)
  • +5v na rooi (+5v)
  • D7 tot wit
  • D6 tot geel

Op hierdie punt kan u die program saamstel en laai na die Arduino om die ligte te toets. Ek stel voor dat u die TimeInt -waarde op 1 stel, sodat u nie 'n lang aftelling hoef te sit terwyl u toets nie.

Die aansluiting van die luidspreker, ook 'n Grove -module, is net so eenvoudig. Koppel die luidspreker op D8-D9.

In my geval:

  • Grond tot swart (grond)
  • +5v na rooi (+5v)
  • D9 tot wit
  • D8 tot geel

U kan weer toets, of as u dit nog nie getoets het nie, toets dit nou. Speel met die TimeInt en enigiets anders wat u wil verander en saamstel, laai en toets dan.

Stap 4: Voltooi en implementeer

Finaliseer en implementeer
Finaliseer en implementeer

Ek het die program geskryf en al die prototipes en toetse uitgevoer op die gebruik van die Seeed Mega -kloon, maar ek het gevoel dat dit 'te duur' was om as die finale oplossing te implementeer. Met die Uno -kloon het ek voortgegaan en die verbindings (na die toetsing) gesoldeer en alles op 'n stuk hout aangebring.

Vir 'n omhulsel wou ek iets wat duidelik was (sodat die gebruiker die RGB -LED's kon sien), maar ook ietwat waterbestand was. Die badkamer, die doeltreffende ontplooiingsplek, kan baie hoë humiditeit hê as gevolg van lang storte, en ek wou hê dat die Arduino 'n mate van beskerming het. Die oplossing was om 'n Chinese wegneemhouer te hergebruik. Dit het 'n digte, goed verseëlde, duidelike deksel en baie ruimte binne om Arduino en battery te monteer!

Daarna het ek die stelsel in die badkamer gemonteer met behulp van 3M Command strips.

Aanbeveel: