Hulp bij programmeren van Besturing van electra in huis
9 berichten
• Pagina 1 van 1
Hulp bij programmeren van Besturing van electra in huis
Beste forumleden.
Ik ben begonnen met een projectje een tijdje geleden. Nu wil ik hem uit gaan bereiden. en heb daarvoor de nodige spulletjes gekocht en gevonden.
Wil het een beetje rustig aan doen maar loop nu al vast.
Spulletjes die ik heb zijn.
Arduino Mega (in de toekomst 2 een voor mijn TFT scherm)
Arduino Uno
Arduino Wifi shield
8 Kanaals relaisblok
Arduino Mega Shield v2.0 per LCD TFT01 (Arduino, Raspberry, DIY, Robot) //Shield voor TFT Scherm
7" 7 Inch TFT LCD Display Module Font IC 800x480 //TFT Schermpje
WT5001M02-28P //Sound Module
PAM8403 5V Digital Amplifier Board USB Power Supply //Amplifier
Wat is mijn project.
Ik zit bij de brandweer en wil graag dat mijn lichten automatisch aangaan. dat is allemaal gelukt. Alleen zou nu ook mijn lichten aan en uit willen doen via de ipad, Iphone of Android telefoon dit via de wifi module ook wil ik daar in de toekomst temperatuur etc op kunnen zien. nou dacht ik ik ga niet meteen beginnen met die stap naar een webserver maar eerst eens beginnen met drukknopjes. dat heb ik geprobeerd maar dat lukt me dus niet helaas. omdat hij dan niet meer afgaat als er alarm is.
dit is mijn code waar ik tot nu toe ben.
Misschien heeft iemand een ideetje hoe ik dat op kan lossen wil het hele project stapje voor stapje doen want daar leer ik weer van.
Grt,
Jeroen
Ik ben begonnen met een projectje een tijdje geleden. Nu wil ik hem uit gaan bereiden. en heb daarvoor de nodige spulletjes gekocht en gevonden.
Wil het een beetje rustig aan doen maar loop nu al vast.
Spulletjes die ik heb zijn.
Arduino Mega (in de toekomst 2 een voor mijn TFT scherm)
Arduino Uno
Arduino Wifi shield
8 Kanaals relaisblok
Arduino Mega Shield v2.0 per LCD TFT01 (Arduino, Raspberry, DIY, Robot) //Shield voor TFT Scherm
7" 7 Inch TFT LCD Display Module Font IC 800x480 //TFT Schermpje
WT5001M02-28P //Sound Module
PAM8403 5V Digital Amplifier Board USB Power Supply //Amplifier
Wat is mijn project.
Ik zit bij de brandweer en wil graag dat mijn lichten automatisch aangaan. dat is allemaal gelukt. Alleen zou nu ook mijn lichten aan en uit willen doen via de ipad, Iphone of Android telefoon dit via de wifi module ook wil ik daar in de toekomst temperatuur etc op kunnen zien. nou dacht ik ik ga niet meteen beginnen met die stap naar een webserver maar eerst eens beginnen met drukknopjes. dat heb ik geprobeerd maar dat lukt me dus niet helaas. omdat hij dan niet meer afgaat als er alarm is.
dit is mijn code waar ik tot nu toe ben.
- Code: Alles selecteren
//librarys
#include <relay8.h>
//Pager Circuit
const int ledOn = 13; //Green led for visible on
const int LED_C = 12; //Relay_8 for switching the light on and after delay off
const int Button_1 = 37; //Button < Dit zijn knoppen die op mijn pieper zitten die ik verbouwd heb
const int Button_2 = 38; //Button > Dit zijn knoppen die op mijn pieper zitten die ik verbouwd heb
const int Button_3 = 39; //Button || Dit zijn knoppen die op mijn pieper zitten die ik verbouwd heb
const int Button_4 = 40; //Button (') Dit zijn knoppen die op mijn pieper zitten die ik verbouwd heb
const int Opto_Pager = 51; //Pager with Optocoupler
const int Opto_1 = 41; //Optocoupler < Dit zijn knoppen die op mijn pieper zitten die ik verbouwd heb
const int Opto_2 = 42; //Optocoupler > Dit zijn knoppen die op mijn pieper zitten die ik verbouwd heb
const int Opto_3 = 43; //Optocoupler || Dit zijn knoppen die op mijn pieper zitten die ik verbouwd heb
const int Opto_4 = 44; //Optocoupler (') Dit zijn knoppen die op mijn pieper zitten die ik verbouwd heb
relay8 relay(22, 23, 24, 25, 26, 27, 28, 29);
void setup() {
Serial1.begin(9600);
pinMode(ledOn, OUTPUT);
pinMode(Opto_1, OUTPUT);
pinMode(Opto_2, OUTPUT);
pinMode(Opto_3, OUTPUT);
pinMode(Opto_4, OUTPUT);
pinMode(LED_C, OUTPUT);
pinMode(Opto_Pager, INPUT);
pinMode(Button_1, INPUT);
pinMode(Button_2, INPUT);
pinMode(Button_3, INPUT);
pinMode(Button_4, INPUT);
Serial1.write(0x7E);
Serial1.write(0x03);
Serial1.write(0xA7);
Serial1.write(0x1F); // volume max
Serial1.write(0x7E);
//start sound
Serial1.write(0x7E);
Serial1.write(0x04);
Serial1.write(0xA0); // A0 for SD card
Serial1.write((byte)0x00);
Serial1.write(0x02); // track number
Serial1.write(0x7E);
delay(3000);
digitalWrite(ledOn, HIGH);
relay.on(1);
relay.on(2);
WaitForCall();
}
void loop() {
}
void WaitForCall()
{
while (true){
int val = digitalRead(Opto_Pager);
if (val == HIGH)
{
digitalWrite(LED_C, HIGH);
Serial1.write(0x7E);
Serial1.write(0x03);
Serial1.write(0xA7);
Serial1.write(0x1F); //Volume Max.
Serial1.write(0x7E);
delay(10);
Serial1.write(0x7E);
Serial1.write(0x04);
Serial1.write(0xA0); //A0 for SD card
Serial1.write((byte)0x00);
Serial1.write(0x01); //Track number
Serial1.write(0x7E);
delay(300);
digitalWrite(Opto_4, HIGH); //Button on Pager "High"
delay(5); //Short Delay
digitalWrite(Opto_4, LOW); //Button on Pager "Low"
RelaysOn(); //Relays On When Pager is on.
}
}
}
void CallDone()
{
digitalWrite(LED_C, LOW);
while(true)
{
int val = digitalRead(Opto_Pager);
if (val == LOW) {
WaitForCall();
}
}
}
void RelaysOn()
{
// Switch the first relay on and off a couple of times
for (int t=0; t<3; t++)
{
relay.off(1); \\Raar maar waar Off is aan
relay.off(2); \\Raar maar waar Off is aan
delay(10000);
relay.on(1); \\Raar maar waar On is uit
relay.on(2); \\Raar maar waar On is uit
delay(5);
CallDone();
}
}
Misschien heeft iemand een ideetje hoe ik dat op kan lossen wil het hele project stapje voor stapje doen want daar leer ik weer van.
Grt,
Jeroen
Advertisement
Re: Hulp bij programmeren van Besturing van electra in huis
de loop is leeg, en dus gebeurt er helemaal niks.
dat moet je of oplossen met een interuptcall of in de loop schrijven if optopager then call relayson
de opzet lijkt prima.
relayson is ook goed, het is simpeler om een stroom naar aarde te schakelen want da kun je hogere voltages van buiten simpeler bedienen met slechts een transistor. (zou ik toch doen hoor, op de relaisuitgangen allemaal transistoren zetten dan hoeft de stroom niet door je mega maar wordt dan door de trasistoren gedaan.
je kunt in realyson ook een waarde meegeven dan schakel je 1 relais.
dat moet je of oplossen met een interuptcall of in de loop schrijven if optopager then call relayson
de opzet lijkt prima.
relayson is ook goed, het is simpeler om een stroom naar aarde te schakelen want da kun je hogere voltages van buiten simpeler bedienen met slechts een transistor. (zou ik toch doen hoor, op de relaisuitgangen allemaal transistoren zetten dan hoeft de stroom niet door je mega maar wordt dan door de trasistoren gedaan.
je kunt in realyson ook een waarde meegeven dan schakel je 1 relais.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Hulp bij programmeren van Besturing van electra in huis
Beste Shooter bedankt voor je reactie,
De loop is inderdaad leeg heb namelijk in mijn setup verwezen naar Void Waitforcall daardoor komt hij hoeft er niets in de loop. tot zover werkt het ook helemaal.
het enige probleem wat ik wil mijn lichten gewoon aan en uit kunnen schakelen straks via ipad etc (dit op de lange termijn). maar wilde dit wel eerst even testen door een simpele schakeling te maken.
dus als ik button druk dat lamp aan gaat button opnieuw drukken lamp uit. maar dat waarneer lamp aanstaat er nog wel gekeken word naar Void Waitforcall.
de relais zijn allemaal via tyristor gestuurd. zelfs vanaf mijn pieper is het galvanisch gescheiden door optocouplers.
Groetjes Jeroen
De loop is inderdaad leeg heb namelijk in mijn setup verwezen naar Void Waitforcall daardoor komt hij hoeft er niets in de loop. tot zover werkt het ook helemaal.
het enige probleem wat ik wil mijn lichten gewoon aan en uit kunnen schakelen straks via ipad etc (dit op de lange termijn). maar wilde dit wel eerst even testen door een simpele schakeling te maken.
dus als ik button druk dat lamp aan gaat button opnieuw drukken lamp uit. maar dat waarneer lamp aanstaat er nog wel gekeken word naar Void Waitforcall.
de relais zijn allemaal via tyristor gestuurd. zelfs vanaf mijn pieper is het galvanisch gescheiden door optocouplers.
Groetjes Jeroen
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Hulp bij programmeren van Besturing van electra in huis
Ik zou zelf een onderscheid maken tussen de activiteiten in de setup en in de loop. Nu zit je inderdaad volledig in de setup in een eindeloze loop in feite.
Zelf zou ik wel de splitsing maken in die zaken die in de setup thuis horen en zij die in de loop.
In de loop zou je dan onderscheid moeten maken tussen het lezen van inputs en het verwerken daarvan. Op die wijze kan je settings via de pager laten maar ook via een IPAD oid kunnen verwerken.
Dus in de volgorde:
lees inputs en bepaal de settings
Verwerk de settings.
Door deze abstractie kan je gemakkelijker uitbreiden en foutopsporing doen.
Zelf zou ik wel de splitsing maken in die zaken die in de setup thuis horen en zij die in de loop.
In de loop zou je dan onderscheid moeten maken tussen het lezen van inputs en het verwerken daarvan. Op die wijze kan je settings via de pager laten maar ook via een IPAD oid kunnen verwerken.
Dus in de volgorde:
lees inputs en bepaal de settings
Verwerk de settings.
Door deze abstractie kan je gemakkelijker uitbreiden en foutopsporing doen.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Hulp bij programmeren van Besturing van electra in huis
Je geeft overigens aan dat je Relais on uit gaan en omgekeerd. Maar dat kan je configuren in relay.h.
zie: http://www.henningkarlsen.com/electroni ... .php?id=57
zie: http://www.henningkarlsen.com/electroni ... .php?id=57
Re: Hulp bij programmeren van Besturing van electra in huis
Bedankt voor jullie reacties. ik ga vanavond eens kijken hoe ik dat op kan lossen.
ik zit er ook aan te denken om een last state in te zetten. zodat hij onthoud wanneer mijn licht aan staat dat ie ze niet uit doet.
Nico zijn er voorbeelden van het het scheiden van je inputs en je outputs?
mvg Jeroen
ik zit er ook aan te denken om een last state in te zetten. zodat hij onthoud wanneer mijn licht aan staat dat ie ze niet uit doet.
Nico zijn er voorbeelden van het het scheiden van je inputs en je outputs?
mvg Jeroen
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Hulp bij programmeren van Besturing van electra in huis
De meeste relais op ebay zijn toch al optisch gescheiden? of bedoel je dat niet?
Re: Hulp bij programmeren van Besturing van electra in huis
Beste Nico,
hier bedoelde in meer mee het scheiden van de inputs en de outputs
groet Jeroen
P.S. wel leuk dat we nu op 2 forums tegen elkaar praten
hier bedoelde in meer mee het scheiden van de inputs en de outputs
In de loop zou je dan onderscheid moeten maken tussen het lezen van inputs en het verwerken daarvan. Op die wijze kan je settings via de pager laten maar ook via een IPAD oid kunnen verwerken.
Dus in de volgorde:
lees inputs en bepaal de settings
Verwerk de settings.
groet Jeroen
P.S. wel leuk dat we nu op 2 forums tegen elkaar praten
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Hulp bij programmeren van Besturing van electra in huis
Jeroen,
Je moet het zo zien:
Je loop zou kunnen bestaan uit:
a) leesPager()
b) leesHTTP()
c) verwerkInputs()
Dat betekent dat je de settings van de pager en Ipad bewaart in bijvoorbeeld een array met het relais nummer als index.
In verwerkInputs kun je dan kijken of je een relais aan/uit moet zetten door de inputs te testen. als je tevens een output array maakt met de relais en pas van daaruit de relais stuurt, heb je altijd de laatste stand van de inputs en de outputs ter beschikking en kun je done wat je wilt.
Je moet het zo zien:
Je loop zou kunnen bestaan uit:
a) leesPager()
b) leesHTTP()
c) verwerkInputs()
Dat betekent dat je de settings van de pager en Ipad bewaart in bijvoorbeeld een array met het relais nummer als index.
In verwerkInputs kun je dan kijken of je een relais aan/uit moet zetten door de inputs te testen. als je tevens een output array maakt met de relais en pas van daaruit de relais stuurt, heb je altijd de laatste stand van de inputs en de outputs ter beschikking en kun je done wat je wilt.
9 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten