Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int val= 0;
- int compare=0;
- int TorOffen = 3;
- int LEDROT = 13;
- int LEDGR = 5;
- int Lampe = 7;
- int zaehler = 0;
- int Relais = 2;
- int TorZu = 4;
- int Summer = 9;
- #define c 261
- #define d 293
- #define e 329
- #define f 349
- #define g 391
- #define a 493
- #define b 493
- #define C 523
- void setup(){
- pinMode(LEDROT, OUTPUT);
- Ausschalten(LEDROT);
- pinMode(LEDGR, OUTPUT);
- Ausschalten (LEDGR);
- pinMode(Relais, OUTPUT);
- Ausschalten(Relais);
- pinMode(TorOffen, INPUT);
- pinMode(TorZu, INPUT);
- pinMode(Lampe, OUTPUT);
- Ausschalten(Lampe);
- //Verbindung zum PC aufbauen:
- Serial.begin(9600);
- }
- void loop(){
- SendeAnPC("Start");
- while(digitalRead(TorZu)==HIGH){
- WarteSekunden(100);
- }
- SendeAnPC("Lampe An 1 ");
- Anschalten(Lampe);
- WarteSekunden(2000); // AN
- Ausschalten(Lampe);
- SendeAnPC("Tor oeffnet");
- while(digitalRead(TorOffen)==LOW){
- WarteSekunden(100);
- }
- SendeAnPC("Lampe Aus 1 ");
- Anschalten(Lampe);
- WarteSekunden(2000); // AUS
- Ausschalten(Lampe);
- if (digitalRead(TorOffen)==HIGH){
- SendeAnPC("Warte bis Tor offen");
- while(digitalRead(TorOffen)==LOW){
- WarteSekunden(0);
- }
- SendeAnPC("Tor offen");
- SendeAnPC("warte eingestellte Zeit");
- TonSpielen(b, 300);
- zaehler = 0;
- while( zaehler < 8){ //bei 1200ms = 50 mal = 1 Minute
- Anschalten(LEDGR);
- WarteSekunden(500);
- Ausschalten(LEDGR);
- WarteSekunden(100);
- Anschalten(LEDROT);
- WarteSekunden(500);
- Ausschalten(LEDROT);
- if (digitalRead(TorOffen)==LOW){
- SendeAnPC("Tor im warten schon manuell geschlossen");
- SendeAnPC("Lampe An 1/1");
- Anschalten(Lampe);
- WarteSekunden(2000); // An
- Ausschalten(Lampe);
- zaehler = 0;
- while( zaehler < 8){ //bei 1200ms = 50 mal = 1 Minute
- Anschalten(LEDGR);
- WarteSekunden(500);
- Ausschalten(LEDGR);
- WarteSekunden(100);
- Anschalten(LEDROT);
- WarteSekunden(500);
- Ausschalten(LEDROT);
- WarteSekunden(100);
- zaehler = zaehler + 1; //macht das gleiche wie zaehler++;
- while (digitalRead(TorZu)==LOW){
- WarteSekunden(100);
- }
- SendeAnPC("Lampe Aus 1/1");
- Anschalten(Lampe);
- WarteSekunden(2000); // Aus
- Ausschalten(Lampe);
- return;
- }
- }
- WarteSekunden(100);
- zaehler = zaehler + 1; //macht das gleiche wie zaehler++;
- }
- }else{
- SendeAnPC("warte bis zu ist");
- while (digitalRead(TorZu)==LOW)
- WarteSekunden(100);
- SendeAnPC("Ende eig.");
- }
- SendeAnPC("warten vorbei - pruefe ob Tor noch offen");
- if (digitalRead(TorOffen)==HIGH){ // wenn Tor immernoch oben ist, geht es hier weiter
- SendeAnPC("Tor noch offen");
- WarteSekunden(200);
- Anschalten(LEDGR);
- TonSpielen(a, 1000);
- WarteSekunden(1000);
- Ausschalten(LEDGR);
- WarteSekunden(200);
- Anschalten(LEDGR);
- TonSpielen(g, 1000);
- WarteSekunden(1000);
- Ausschalten(LEDGR);
- WarteSekunden(200);
- Anschalten(LEDGR);
- TonSpielen(b, 1000);
- WarteSekunden(1000);
- Ausschalten(LEDGR);
- WarteSekunden(100);
- SendeAnPC("Tor schliesst");
- Anschalten(Relais);
- WarteSekunden(500);
- Ausschalten(Relais);
- while(digitalRead(TorOffen)==LOW){
- WarteSekunden(100);
- SendeAnPC("Lampe An 2");
- Anschalten(Lampe);
- WarteSekunden(2000); // An
- Ausschalten(Lampe);
- }
- } else { // wenn Tor nicht oben ist, geht es hier weiter
- SendeAnPC("Tor nicht erkennbar");
- Anschalten(LEDROT);
- TonSpielen(a, 100);
- WarteSekunden(100);
- Ausschalten(LEDROT);
- WarteSekunden(100);
- Anschalten(LEDROT);
- TonSpielen(g, 100);
- WarteSekunden(100);
- Ausschalten(LEDROT);
- WarteSekunden(100);
- Anschalten(LEDROT);
- TonSpielen(a, 100);
- WarteSekunden(100);
- Ausschalten(LEDROT);
- }
- SendeAnPC("warte bis Tor evt. geschlossen");
- zaehler = 0;
- while( zaehler < 8){ //bei 1200ms = 50 mal = 1 Minute
- Anschalten(LEDGR);
- WarteSekunden(500);
- Ausschalten(LEDGR);
- WarteSekunden(100);
- Anschalten(LEDROT);
- WarteSekunden(500);
- Ausschalten(LEDROT);
- WarteSekunden(100);
- zaehler = zaehler + 1; //macht das gleiche wie zaehler++;
- }
- if(digitalRead(TorOffen)==LOW){
- WarteSekunden(0);
- SendeAnPC("Lampe An 3");
- Anschalten(Lampe);
- WarteSekunden(2000); // An
- Ausschalten(Lampe);
- WarteSekunden(2000);
- }
- if (digitalRead(TorZu) == LOW){ // Test ob Tor geschlossen ist
- SendeAnPC("Tor noch offen");
- Anschalten(LEDROT);
- WarteSekunden(200);
- Ausschalten(LEDROT);
- TonSpielen(a, 2000);
- Anschalten(LEDROT);
- WarteSekunden(200);
- Ausschalten(LEDROT);
- WarteSekunden(200);
- Anschalten(LEDROT);
- WarteSekunden(200);
- Ausschalten(LEDROT);
- WarteSekunden(200);
- Anschalten(LEDROT);
- WarteSekunden(200);
- Ausschalten(LEDROT);
- WarteSekunden(200);
- Anschalten(LEDROT);
- WarteSekunden(200);
- Ausschalten(LEDROT);
- WarteSekunden(200);
- Anschalten(LEDROT);
- WarteSekunden(200);
- Ausschalten(LEDROT);
- WarteSekunden(200);
- Anschalten(LEDROT);
- WarteSekunden(200);
- Ausschalten(LEDROT);
- WarteSekunden(200);
- Anschalten(LEDROT);
- WarteSekunden(200);
- Ausschalten(LEDROT);
- SendeAnPC("warte bis zu");
- zaehler = 0;
- while( zaehler < 8){ //bei 1200ms = 50 mal = 1 Minute
- Anschalten(LEDGR);
- WarteSekunden(500);
- Ausschalten(LEDGR);
- WarteSekunden(100);
- Anschalten(LEDROT);
- WarteSekunden(500);
- Ausschalten(LEDROT);
- WarteSekunden(100);
- zaehler = zaehler + 1; //macht das gleiche wie zaehler++;
- }
- if(digitalRead(TorZu)==HIGH);{
- SendeAnPC("Lampe Aus 3");
- Anschalten(Lampe);
- WarteSekunden(2000); // AUS
- Ausschalten(Lampe);
- }
- while(digitalRead(TorZu)==LOW);
- } else { //Tor geschlossen
- if(digitalRead(TorZu)==HIGH){
- WarteSekunden(0);
- SendeAnPC("Lampe Aus 4");
- Anschalten(Lampe);
- WarteSekunden(2000); // AUS
- Ausschalten(Lampe);
- Anschalten(LEDGR);
- TonSpielen(a, 100);
- WarteSekunden(100);
- Ausschalten(LEDGR);
- WarteSekunden(100);
- Anschalten(LEDGR);
- TonSpielen(g, 100);
- WarteSekunden(100);
- Ausschalten(LEDGR);
- SendeAnPC("Tor ist geschlossen");
- SendeAnPC("-- E N D E -- ");
- // eigentlich nix tun, oder?
- }
- }
- //beginnt wieder oben
- }
- //Hilfs-Funktionen:
- void Anschalten(int pin) {
- digitalWrite(pin, HIGH);
- }
- void Ausschalten(int pin) {
- digitalWrite(pin, LOW);
- }
- void AnFuerSekunden(int pin, int sekunden) {
- Anschalten(pin);
- WarteSekunden(sekunden * 1000);
- Ausschalten(pin);
- }
- void TonSpielen(int ton, int sekunden){
- tone(Summer, ton, sekunden);
- }
- void WarteSekunden(int sekunden) {
- delay(sekunden);
- }
- void WarteMinuten(int minuten){
- WarteSekunden(60 * minuten);
- }
- void SendeAnPC(char* nachricht){
- Serial.println(nachricht);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement