Homeyduino: Bouw je eigen (deur-raam) contact sensor

Homeyduino: Bouw je eigen (deur-raam) contact sensor

Een deur- of raamsensor schakelt automatisch de verlichting in wanneer een bepaalde deur of raam geopend  word. Door dergelijke sensoren aan Homey te koppelen kun je ook andere apparaten of  flows aansturen.

Op deze manier kun je Homey ook als je persoonlijke alarmsysteem laten werken of een seintje krijgen dat je ramen nog open staan terwijl het gaat regenen. Door het gebruik van dergelijke sensoren kun je eenvoudig elektriciteit besparen, je lampen gaan namelijk niet onnodig aan.

Staat van deur- raam sensor voor Homeyduino | Huisvanvandaag.nl
Staat van deur- raam sensor voor Homeyduino

Kant en klare oplossing

Uiteraard zijn hier online tal van kant en klare oplossingen voor te krijgen, bijvoorbeeld hier op BOL.com, echter zijn deze vaak op batterijen en aangezien het batterij verbruik hier momenteel al buitenproportioneel is heb ik liever zo veel mogelijk sensoren op netspanning. Uiteraard zijn er legio situaties te bedenken waarin draadloos juist wel de voorkeur geniet.

Zelfbouw deur- raam sensor (MC-38)

Het voordeel van Arduino/ESP8266 is, dat deze sinds de release van Homeyduino eenvoudig aan Homey te koppelen is. . Wanneer dit echter lukt heb je dus voor weinig geld een sensor waarvan je de gegevens kunt kijken via Homey Inzichten. Ook kun je je zelfbouw sensoren gebruiken als trigger voor je flows.

De benodigdheden:

 

Ook nodig maar enkel op de boel eenmalig te configureren, een computer of laptop met daarop geïnstalleerd:

 

 

ESP8266 ESP-12 NodeMCU Lua WiFi

 

AliExpress.com Product – WeMos D1 mini , WiFi board  met ESP8266 intergratie  + 32Mb flash

 

 

5 stuks Soldeerloze Prototype Breadboard 170 Tie-points PCB Test Board – Gevonden op AliExpress.com | Thuis bezorgd en al voor €1,60 

 

Gevonden op AliExpress.com – MC-38 MC38 bedrade deur- of raam Sensor voor Arduino, thuisbezorgd en al voor  slechts € 1,50

Aansluitschema

Volg onderstaand schema op de sensor aan te sluiten aan je board. Onderstaand plaatje is een ESP8266 NodeMCU  maar aansluiten op een D1 Mini werkt nagenoeg hetzelfde.

Bouw je eigen (deur-raam) contact sensor voor Homey met Homeyduino
Bouw je eigen (deur-raam) contact sensor voor Homey met Homeyduino

Code 

Onderstaand de code, net als de bij de andere Homeyduino projecten gaat het uploaden gaat via Arduino IDE, mocht je hier niet bekend mee zijn lees dan hier voor een uitgebreide handleiding. Zorg dat je bij instellingen in Arduino IDE het juiste board hebt geselecteerd en dat je op 9600 baud de code upload.  Mocht je ESP8266 board niet werken dan kun je proberen deze eerste te flashen met de NodeMcu Flasher.

 


// Code aangepast voor Homeyduino door Domoticablog https://huisvanvandaag.nl. 
// Kijk op de site voor meer Homeyduino en andere Smart Home gerelateerde posts.

 
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <Homey.h>

const int DOOR_SENSOR_PIN = D2; // ESP8266 pin D2 verbonden met deur sensor's pin

int doorState;


void wifi() {
  if (WiFi.status() != WL_CONNECTED) {
    WiFi.begin("<SSID>", "<PASSWORD>"); // Vul hier je WiFi netwerk en wachtwoord in 
    uint8_t timeout = 30;
    while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(".");
      if (timeout<1) break;
    }
    if (WiFi.status() == WL_CONNECTED) {
      //Print IP address
      Serial.print("Verbonden met WiFi! (");
      Serial.print(WiFi.localIP());
      Serial.println(")");
    }
  }
}
 
void setup() {
  Serial.begin(9600);                     // initialize serial
  Homey.begin("Deur sensor"); // Naam van je sensor zoals deze in Homey Weergegeven word
  Homey.setClass("sensor");
  Homey.addCapability("alarm_contact");
  pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode << oorspronkelijke code
}

void loop() {
   wifi();
  Homey.loop();
  doorState = digitalRead(DOOR_SENSOR_PIN); // read state
delay(3000); // was 1000  // PIR
  if (doorState == HIGH) {
    Serial.println("The door is open");
    Homey.setCapabilityValue("alarm_contact", (true)); 
  } else {
    Serial.println("The door is closed");
     Homey.setCapabilityValue("alarm_contact", (false)); 
  }
}
Contact sensor voor Homeyduino (raam-deur)

 

Testen

Nu het je gelukt is om de code te uploaden gaan we deze meteen testen. Dit doen we  door de Seriële Monitor in Arduino IDE te openen, klik hiervoor op Hulpmiddelen en dan Seriële Monitor of gebruik de sneltoets CTRL+SHIFT+M.

Vervolgens opent er een scherm waarop je de waardes van de sensor uit kunt lezen. Zitten de twee delen van de sensor tegen elkaar, dan geeft de monitor: “The door is open” en wanneer je ze uit elkaar haalt staat er: “The door is closed”

Seriële monitor uitlezen magneet sensor Arduino voor Homeyduino
Via de seriële monitor kun je de status uitlezen van je deur- of raam sensor.

 

 

Gevonden op  AliExpress.com – Tuya Smart WiFi Deur-raam Sensor met Google Home ondersteuning – Thuisbezorgd en al voor € 5,41

Homeyduino sensoren koppelen in Homey 2.0? Hoe je dat doet lees je hier!

 

Conclusie

Al met al bouw je op deze manier, met beperkte middelen, een goed werkende bedrade deur- of raam sensor. Zoals eerder al aangegeven kun je dit voor talloze zaken gebruiken. Nu is het niet heel praktisch om per deur of raam een Arduino board te plaatsen, vandaar dat de volgende stap wederom het combineren van enkele sensoren word. Dit hebben we al vaker gedaan met de Multi sensor Homeyduino, welke onder andere beschikt over een licht sensor (LDR), PIR (beweging) sensor en DHT11 (luchtvochtigheid en temperatuur).

Binnenkort dus meer! Wil je automatisch op de hoogte blijven? Schrijf je dan hier alvast in voor de nieuwbrief!

Enthousiast geworden? Deel het dan!

Mike | Huisvanvandaag

Één gedachte over “Homeyduino: Bouw je eigen (deur-raam) contact sensor

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Aanbevolen
Recentelijk werd mijn Nest Home geüpdate naar softwareversie 32.28.38.336575889.  Nu zegt deze reeks getallen je…
Translate »