Beste forumleden.
Ik ben begonnen met een projectje een tijdje geleden.
http://forum.arduino.cc/index.php?topic=171900.msg1277509#msg1277509
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 op een breadboord, 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 zonder lichten aan en uit.
lichten worden gekoppeld aan het relay met uitgang 1, 2, 3, 4, 5, 6, 7 & 8 dit is in de I/O 22, 23, 24, 25, 26, 27, 28, 29
het probleem waar ik natuurlijk tegenaan ga lopen is wanneer mijn pieper afgaat en de lichten zijn aan moeten de lampen niet uitgaan nadat de call voorbij is. maar als de lichten niet aanstaan mogen ze wel uit natuurlijk.
//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()
{
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();
}
}
Bedankt voor het Helpen alvast
MVG Jeroen
PS heb deze vraag ook gesteld op Arduinoforum.nl
http://arduinoforum.nl/viewtopic.php?f=25&t=737&p=4837#p4837