Inhoudsopgave:

Automatische kamerverlichting met bezoekersteller! - Ajarnpa
Automatische kamerverlichting met bezoekersteller! - Ajarnpa

Video: Automatische kamerverlichting met bezoekersteller! - Ajarnpa

Video: Automatische kamerverlichting met bezoekersteller! - Ajarnpa
Video: Binnen 10 seconden een slim gordijn! 2024, November
Anonim
Automatische kamerverlichting met bezoekersteller!
Automatische kamerverlichting met bezoekersteller!

Hallo! Als je van die saaie lichtschakelaars af wilt en je kamerverlichting goedkoop automatisch wilt laten branden, dan ben je hier aan het juiste adres! Dit project zal heel gemakkelijk te bouwen zijn. Ga niet af op zijn eenvoud, het wordt echt cool en 100% werkend. En ja, het is gemaakt met arduino, dus maak je klaar en laten we gaan maken.

componenten:

Arduino Uno/nano

Relaismodule (het aantal kanalen bepaal je zelf, afhankelijk van het aantal lampen dat je wilt automatiseren)

Doorverbindingsdraden

BC547 (of een andere algemene) transistor

2x IR obstakelsensoren (NIET PIR SENSOREN)

Een doos om alle elektronica in te stoppen

Gereedschap:

Soldeerbout (optioneel)

Tape en schaar

Lijmpistool (optioneel)

Je hebt ook een laptop/desktop nodig om je arduino te programmeren.

Stap 1: Hoe het werkt

Hoe het werkt
Hoe het werkt
Hoe het werkt
Hoe het werkt

Laten we het hebben over de logica. Kortom, de kamerverlichting moet aangaan wanneer iemand binnenkomt en uitgaan wanneer hij / zij weggaat. Dat is niet alles. In het geval dat persoon 1 binnenkomt en vervolgens persoon 2 binnenkomt. In dat geval mogen de lichten niet uitgaan wanneer een van hen uitgaat. Ze hoeven alleen uit te schakelen wanneer ze allebei worden afgesloten. Ons apparaat moet dus het aantal mensen dat de kamer binnenkomt en het aantal mensen dat eruit gaat kunnen tellen. Lijkt ingewikkeld? Ja, dat is het wel als je denkt aan het bouwen van een speciaal circuit voor dit doel. Maar we hebben een redder in nood. Tromgeroffel aub. Maak kennis met ARDUINO! Oké, je weet er waarschijnlijk wel van.

We hoeven alleen de code voor het doel te schrijven en ons project is voor 90% klaar! We zullen later over de code praten. Laten we het eerst hebben over hoe we de informatie van ons binnenkomen of verlaten aan de Arduino kunnen geven. Wat we gaan bouwen heet een bidirectionele bezoekersteller. Als u online zoekt, kunt u veel van dergelijke projecten vinden. Maar de meeste gebruiken een 8051 microcontroller. En we hebben een speciaal circuit nodig om het te programmeren. Waarom zoveel doen als je een Arduino nano voor ongeveer $ 5 kunt kopen en programmeren?

Dus dit is wat we gaan doen. We zullen twee obstakelsensoren aan de zijkant van onze deur hebben. Eén net buiten de kamer (laten we het sensor1) noemen en één net binnen (sensor2). Wanneer een persoon de kamer binnenkomt, detecteert sensor 1 hem als eerste en wanneer hij de kamer verlaat, detecteert sensor 2 hem eerst. We kunnen deze logica gebruiken om de Arduino te vertellen of een persoon de kamer binnenkomt of verlaat. Geen zorgen, de code is niet ingewikkeld.

Stap 2: De code

De code!
De code!
De code!
De code!

De code … U vindt de code aan het einde van de instructable. Voordat je naar beneden scrolt om het te downloaden, wil ik je laten weten dat mijn code is om slechts een enkel licht te bedienen, d.w.z. een enkel relais. Als je het wilt aanpassen om meer controle te krijgen, kun je dat doen zolang je bekend bent met de Arduino-idee.

Zoals gewoonlijk zijn er twee manieren om je Arduino te coderen. Een (de eenvoudigste) is om de code hier te kopiëren, in de Arduino ide te plakken en te uploaden. De andere is om de werking en code zelf te begrijpen. Ik laat de keuze aan jou over, maar ik zal uiteindelijk een code-walkthrough doen.

Zorg ervoor dat uw Arduino niet is aangesloten op iets anders dan uw pc wanneer u de schets (code) uploadt. Zodra het uploaden is voltooid, kunnen we doorgaan en het testen.

Stap 3: Test 1

Sluit gewoon de IR-sensoren aan op de respectieve pinnen van de Arduino (in dit geval de sensor die zich net buiten de kamer bevindt op pin 14 en de sensor net binnen op pin 15). Raadpleeg nogmaals de code om er zeker van te zijn dat u de sensoren op de juiste pinnen hebt aangesloten. Ik heb een LED gebruikt om de uitgang te testen in plaats van een relais. Dus ik heb de positieve pin van de LED aangesloten op pin 2 van de Arduino (op basis van de code) en de negatieve pin op GND. Beweeg nu uw hand van sensor 1 naar sensor 2 om te simuleren dat iemand de kamer binnenkomt.

U zou de LED moeten zien branden. Beweeg uw hand van sensor 2 naar sensor 1 en de LED moet uitgaan. Groot gelijk. Nee. Helaas werkte het niet voor mij. Opnieuw! Mijn eerste proef mislukt altijd!

Ik heb mijn code dubbel gecontroleerd en een kleine fout gevonden. Er was een vertraging nodig nadat de hand (persoon) door elke sensor was gegaan. Anders zou de andere sensor de persoon snel detecteren en de LED uitzetten. Dus maakte ik de nodige wijzigingen in de code en probeerde het opnieuw. Het apparaat werkte zoals verwacht. Maak je geen zorgen, de code die ik in deze instructable heb bijgevoegd, is de bijgewerkte. Dus voor jou mag het ook niet fout gaan. Tenzij er verbindingsproblemen zijn in het circuit. Cool laten we het relaiscircuit maken!

Stap 4: Wie bestuurt het relais?

Wie bestuurt het relais?
Wie bestuurt het relais?
Wie bestuurt het relais?
Wie bestuurt het relais?
Wie bestuurt het relais?
Wie bestuurt het relais?

Als u een arduino-relaismodule gebruikt, kunt u deze stap overslaan. Omdat dergelijke modules al worden geleverd met een ingebouwd relaisstuurprogramma. Allereerst kun je je afvragen, waarom een apart circuit voor relais? De uitgang van een Arduino heeft niet genoeg vermogen om een relais aan te sturen. We hebben dus een aparte voeding nodig voor het relais. We zullen de 5v-uitgang van de Arduino gebruiken. Het is dus duidelijk dat ons relais een nominale waarde van 5v dc en een output van 250v AC 10A moet hebben. Alleen het relais aansluiten op de 5v Arduino-voeding werkt niet. We moeten het relais nog steeds activeren vanaf onze geprogrammeerde uitgang (in dit geval pin 2 van Arduino).

We zullen hiervoor een transistor voor algemene doeleinden gebruiken. U kunt het circuit aansluiten volgens het schema. Kortom, de basis van de transistor ontvangt de trigger en voltooit het circuit tussen het relais en 5v om het te activeren en op zijn beurt de aangesloten lamp te activeren.

Stap 5: Sluit het apparaat aan

Sluit het apparaat aan!
Sluit het apparaat aan!
Sluit het apparaat aan!
Sluit het apparaat aan!
Sluit het apparaat aan!
Sluit het apparaat aan!
Sluit het apparaat aan!
Sluit het apparaat aan!

Nu alles klaar en werkend is, moeten we het relais aansluiten tussen de spanning en de lamp van de huishoudelijke bedrading. WAARSCHUWING! Je krijgt te maken met 220v AC en dat is geen kleinigheid. Probeer a.u.b. niet zelf wijzigingen aan te brengen in de bedrading van het huis (zolang u geen opgeleide elektrotechnisch ingenieur bent). Ik ben niet verantwoordelijk als er iets met je gebeurt tijdens dit (ook niet als je geschokt wordt en verandert in een superheld zoals flits, enz:-p)

Grapje, probeer geen superheld te worden door geschokt te worden door het lichtnet. Die logica is onzin.

Ik zou willen voorstellen om een krachtige oplaadbare led-lamp te gebruiken in plaats van te knoeien met een AC-lamp. Ik heb echter nooit geknoeid met de AC-bedrading van mijn huis. Ik gebruikte een aparte lamphouder, verbond een paar koperdraden, soldeerde het relais ertussen en haakte de draden aan het stopcontact (zorg ervoor dat het relais in serie is verbonden met de lamphouder via de stroomdraad, NIET DE NEUTRAAL). Ik maakte een kleine kartonnen doos om het relais in te doen. Daarna bevestigde ik een 9 W LED-lamp aan de lamphouder en zette alles aan. Het apparaat werkte perfect! Koel!

Stap 6: laatste hand… en we zijn klaar

Laatste details… en we zijn klaar!
Laatste details… en we zijn klaar!

Ten slotte heb ik de sensoren buiten en in de kamer naast de deur bevestigd en de lamphouder aan het plafond gehangen. Als ik nu de kamer in ga, gaat de lamp aan en als ik naar buiten kom, gaat hij uit. Ik probeerde het met veel mensen die de kamer binnenkwamen en alles werkte prima.

Hoewel er twee problemen zijn waar ik tegenaan loop. Wanneer twee personen tegelijk de kamer binnenkomen, zij aan zij, registreert de sensor ze als een enkele binnenkomst. Uiteraard omdat de sensor maar één obstakel detecteert. Het andere probleem is dat de sensor een beetje zwak was. Het kon niet detecteren of een persoon te ver van het apparaat verwijderd was. Ik kan het tweede probleem oplossen door een betere IR-sensormodule te krijgen, maar de eerste zou meer sensoren en programmering vereisen. Maar het is een zeer zelden voorkomend probleem en u hoeft zich geen zorgen te maken als u een kleine deur heeft. Over het algemeen ziet het er geweldig uit voor het geld dat aan de componenten wordt besteed.

Ik kon geen afbeeldingen van het eindproduct krijgen omdat ik alles heb verwijderd voor een ander project. Sorry daarvoor. Het was best gaaf, maar ik had meer zin in het volgende project.

Stap 7: Code doorlopen

Zoals gewoonlijk, stem alstublieft mijn instructable voor de wedstrijd voordat u op de terug-knop drukt. Bedankt.

De code begint met het initialiseren van een variabele telling om het aantal mensen dat de kamer binnenkomt/verlaat op te slaan. We verklaren 14 en 15 als de invoerpinnen en 2 als de uitvoer naar het relais. In de loop-functie ligt het hart van de code. Elke keer dat pin 14 hoog aangeeft, wordt de telling met 1 verhoogd en elke keer dat pin 15 hoog aangeeft, wordt de telling met 1 verlaagd. Ik heb de noodzaak van de vertraging besproken in stap 3. Als de telling nul is, wordt de relaispin, dat wil zeggen pin 2 is laag ingesteld (uit). We hebben een extra statement count=0 toegevoegd om count op nul te zetten voor het geval het om de een of andere reden negatief wordt.

Zolang de telling niet nul is, staat het relais (pin 2) in de hoge staat (aan).

Hoop dat je het begrijpt. Bedankt, en tot de volgende!

Aanbevolen: