Låste jag dörren när jag gick hemifrån? Det är en fråga vi ofta ställt oss. Istället för att byta ut hela låset till ett smart lås bestämde vi oss för att lösa det med den befintliga installationen!
För detta projekt behövs
1st Micro switch
1st Fibaro Door/Window Sensor (gamla versionen) eller en Aeotec door/window sensor. Alternativt en Z-uno.
Lite lågspänningskabel
Gör så här:
Om du använder Fibaros/Aeotecs Door/Window sensor
Börja med att koppla switchen till ingången på din Door/Window Sensor genom att ansluta den till ingång 1 och 2 på plinten.
Redan nu kan du testa om det fungerar genom att klicka på brytaren, då skall nämligen den blåa lysdioden på Door/Window blinka till lite snabbt.
Om du använder Z-uno
Börja med att följa Z-uno Quick Start Guide.
Läs sedan in följande programkod (den är kraftigt baserad på ett av exemplen som finns i guiden). Vi har valt att använda pin 9 på Z-unon för knappen, men det kan enkelt ändras till vilken pin som helst genom att ändra på rad 11.
/*
* Lock detector
*
* Created by Erik Karlsson @ m.nu
*/
// LED pin number
#define LED_PIN 13
// button pin number
#define BTN_PIN 9
// channel number
#define ZUNO_CHANNEL_NUMBER_ONE 1
// variable to store current button state
byte lastButtonState;
// sets up the Z-Uno channels
ZUNO_SETUP_CHANNELS(ZUNO_SENSOR_BINARY(ZUNO_SENSOR_BINARY_TYPE_DOOR_WINDOW, getter));
void setup() {
pinMode(LED_PIN, OUTPUT); // set LED pin as output
pinMode(BTN_PIN, INPUT_PULLUP); // set button pin as input
}
void loop() {
// sample current button state
byte currenButtonState = digitalRead(BTN_PIN);
if (currenButtonState != lastButtonState) { // if state changes
lastButtonState = currenButtonState; // save new state
zunoSendReport(ZUNO_CHANNEL_NUMBER_ONE); // send report over the Z-Wave to the controller
if (currenButtonState == LOW) { // if button is pressed
digitalWrite(LED_PIN, HIGH); // shine the LED
} else { // if button is released
digitalWrite(LED_PIN, LOW); // turn the LED off
}
}
}
// function, which returns the previously saved button state
// this function runs only once the controller asks
byte getter(){
if (lastButtonState == 0) { // if button is pressed
return 0xff; // return "Triggered" state to the controller
} else { // if button is released
return 0; // return "Idle" state to the controller
}
}
Koppla in brytaren mellan jord och pin 9 (eller den pin du valt). Trycker du nu på knappen så skall lysdioden tändas.
Montering
Nu till det svåra! Brytaren måste monteras i slutblecket på något sätt. I vårt fall var inte slutblecket tillräckligt djupt, så istället fick vi förlita oss på att toppen av låskolven aktiverar brytaren.
Detta kräver betydligt noggrannare placering av brytaren, så vi använde oss av massor med dubbelhäftande tejp och provade oss fram.
För att göra det lättare för låskolven att träffa vår brytare böjde vi även den lilla armen lite.
Efter att vi hittat korrekt position monterar vi den lite mer permanent, lägger till enheten till vår styrenhet och voilá – vi kan nu ha koll på om vi låste dörren eller inte!
I Fibaros Home Center 2 dyker den upp som en dörrsensor.
Kul att du gillar vår blogg!
Skriv upp dig på vår maillista för att få allt det senaste från m.nu - Nya produkter, kampanjer och mycket mer!
Wohoo! Du är nu med på maillistan!