INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
PIR- High - Low - Wechsel und void
23.03.2015, 19:55
Beitrag #17
RE: PIR- High - Low - Wechsel und void
Hi,
am einfachsten vielleicht so:
Code:
if (sensorState == HIGH || Scene == 0 || Scene == 17)
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2015, 20:38
Beitrag #18
RE: PIR- High - Low - Wechsel und void
ich probiers mal... ich sollte für sowas mal nen Dummy bauen- dann muss ich für sowas nicht immer auf die Leiter... ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.03.2015, 02:04 (Dieser Beitrag wurde zuletzt bearbeitet: 28.03.2015 10:40 von Homer.)
Beitrag #19
RE: PIR- High - Low - Wechsel und void
(18.03.2015 14:06)MaHa1976 schrieb:  Hallo zusammen,

ich habe hier ein Sketch für RGB-LEDs gebastelt, wo über ein nrf24- Modul Szenarien als Zahlen von 1 - 17 empfangen werden.
Je nach Szenarien- Vorgabe werden verschiedenen Helligkeiten und Dimm- geschwindigkeiten vorgegeben...
Sobald ein PIR- Sensor ein HIGH- Signal liefert werden die Werte entsprechend eingestellt...

Bis hierhin funktioniert das super...

allerdings möchte ich auch irgendwann wieder alles auf "0" setzen... Hierzu würde ich der Einfachheit halber einfach void Szene0() aufrufen, was das langsame Dimmen auf 0 einleitet.... eigentlich hätte ich auch das Abfallen von HIGH auf LOW gern noch um die "holdtime" verzögert...
aber im Moment hänge ich schon beim Umsetzen vom ersten Schritt...

Ich hoffe irgendjemand hat hier einen entscheidenenden Tipp.... Inzwischen habe ich schon einige graue Haare

Code:
#include <RF24Network.h>
#include <RF24.h>
#include <SPI.h>
#include <Time.h>        //http://www.arduino.cc/playground/Code/Time
#include <TimeAlarms.h>

// nRF24L01(+) radio attached using Getting Started board
RF24 radio(9,10);

// Network uses that radio
RF24Network network(radio);

// Address of our node
const uint16_t this_node = 0;

// Address of the other node
const uint16_t other_node = 1;

// Structure of our payload
struct payload_t
{
  unsigned long ms;
  unsigned long counter;
};

int Scene = 1;
const int sensorPin = 2;  // sensor pin
int sensorState = 0;
int ledrot = 3;    // output (LED) pin 1
int ledblau = 5;    // output (LED) pin 2
int ledgruen = 6;    // output (LED) pin 3
int fadeAmount = 1;
int brightnessrot = 20;
int brightnessblau = 5;
int brightnessgruen = 18;
int brightnessrotneu = 0;
int brightnessblauneu = 0;
int brightnessgruenneu = 0;
int stepup = 15; //ms pro Helligkeitswert heller
int stepdown = 20; //ms pro Helligkeitswert dunkler
int holdtime = 10000; //ms Haltezeit

void setup(void)
{
  Serial.begin(57600);
  Serial.println("Empfange Szenario");

  SPI.begin();
  radio.begin();
  network.begin(/*channel*/ 90, /*node address*/ this_node);
  
  pinMode(sensorPin, INPUT);  
  pinMode(ledrot, OUTPUT);
  pinMode(ledblau, OUTPUT);
  pinMode(ledgruen, OUTPUT);
}

void loop(void)
{
  
analogWrite(ledrot, brightnessrotneu);
analogWrite(ledgruen, brightnessgruenneu);
analogWrite(ledblau, brightnessblauneu);

sensorState = digitalRead(sensorPin);

if (sensorState == LOW)
{
  Szene0();
}

if (sensorState == HIGH)
{

if (brightnessrotneu < brightnessrot)
   {
    brightnessrotneu++ ;
    delay(stepup);
   }  
else if (brightnessrotneu > brightnessrot)
   {
    brightnessrotneu-- ;
   delay(stepdown);
   }
else
   {
     brightnessrotneu = brightnessrot;
   }

if (brightnessgruenneu < brightnessgruen)
   {
    brightnessgruenneu++ ;
    delay(stepup);
   }  
else if (brightnessgruenneu > brightnessgruen)
   {
    brightnessgruenneu-- ;
   delay(stepdown);
   }
else
   {
     brightnessgruenneu = brightnessgruen;
   }
  
if (brightnessblauneu < brightnessblau)
   {
    brightnessblauneu++ ;
    delay(stepup);
   }  
else if (brightnessblauneu > brightnessblau)
   {
    brightnessblauneu-- ;
   delay(stepdown);
   }
else
   {
     brightnessblauneu = brightnessblau;
   }
}

Serial.print(sensorState);
Serial.print(" - ");
Serial.print(brightnessrotneu);
Serial.print(" - ");
Serial.print(brightnessblauneu);
Serial.print(" - ");
Serial.println(brightnessgruenneu);

  
  // Pump the network regularly
  network.update();

  // Is there anything ready for us?
  while ( network.available() )
  {
    // If so, grab it and print it out
    RF24NetworkHeader header;
    payload_t payload;
    network.read(header,&payload,sizeof(payload));
    Serial.print("Szenario- Vorgabe: ");
    Serial.println(payload.counter);
    Scene = payload.counter;
    //Serial.print(" at ");
    //Serial.println(payload.ms);
    //if (Scene =! 0)

    switch (Scene)
    {
      case 0:
      Szene0();
         Serial.println("Start- Scene");
      break;
      
      case 1:
      Szene1();
         Serial.println("Scene 1");
      break;
      
      case 2:
      Szene2();
         Serial.println("Scene 2");
      break;
      
      case 3:
      Szene3();
         Serial.println("Scene 3");
      break;
      
      case 4:
      Szene4();
         Serial.println("Scene 4");
      break;
      
      case 5:
      Szene5();
         Serial.println("Scene 5");
      break;
      
      case 6:
      Szene6();
         Serial.println("Scene 6");
      break;
      
      case 7:
      Szene7();
         Serial.println("Scene 7");
      break;
      
      case 8:
      Szene8();
         Serial.println("Scene 8");
      break;
      
      case 9:
      Szene9();
         Serial.println("Scene 9");
      break;
      
      case 10:
      Szene10();
         Serial.println("Scene 10");
      break;
      
      case 11:
      Szene11();
         Serial.println("Scene 11");
      break;
      
      case 12:
      Szene12();
         Serial.println("Scene 12");
      break;
      
      case 13:
      Szene13();
         Serial.println("Scene 13");
      break;
      
      case 14:
      Szene14();
         Serial.println("Scene 14");
      break;
            
      case 15:
      Szene15();
         Serial.println("Scene 15");
      break;
      
      case 16:
      Szene16();
         Serial.println("Scene 16");
      break;
      
      case 17:
      Szene17();
         Serial.println("Scene 17");
      break;
      
      default:
         Serial.println("keine Scene erkannt");
    }
  }
}

void Szene0()
{
  brightnessrot = 0;
  brightnessgruen = 0;
  brightnessblau = 0;
  stepup = 15;
  stepdown = 30;
  holdtime = 2000;
}

void Szene1()
{
  brightnessrot = 35;
  brightnessgruen = 35;
  brightnessblau = 35;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene2()
{
  brightnessrot = 255;
  brightnessgruen = 255;
  brightnessblau = 255;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene3()
{
  brightnessrot = 15;
  brightnessgruen = 15;
  brightnessblau = 15;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene4()
{
  brightnessrot = 80;
  brightnessgruen = 80;
  brightnessblau = 80;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene5()
{
  brightnessrot = 10;
  brightnessgruen = 10;
  brightnessblau = 10;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene6()
{
  brightnessrot = 255;
  brightnessgruen = 255;
  brightnessblau = 255;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene7()
{
  brightnessrot = 200;
  brightnessgruen = 200;
  brightnessblau = 200;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene8()
{
  brightnessrot = 100;
  brightnessgruen = 100;
  brightnessblau = 100;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene9()
{
  brightnessrot = 30;
  brightnessgruen = 30;
  brightnessblau = 30;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene10()
{
  brightnessrot = 1;
  brightnessgruen = 1;
  brightnessblau = 1;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene11()
{
  brightnessrot = 55;
  brightnessgruen = 55;
  brightnessblau = 255;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene12()
{
  brightnessrot = 55;
  brightnessgruen = 255;
  brightnessblau = 55;
  stepup = 10;
  stepdown = 20;
  holdtime = 20000;
}

void Szene13()
{
  brightnessrot = 255;
  brightnessgruen = 55;
  brightnessblau = 55;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene14()
{
  brightnessrot = 255;
  brightnessgruen = 255;
  brightnessblau = 255;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene15()
{
  brightnessrot = 255;
  brightnessgruen = 255;
  brightnessblau = 255;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene16()
{
  brightnessrot = 200;
  brightnessgruen = 200;
  brightnessblau = 200;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Szene17()
{
  brightnessrot = 100;
  brightnessgruen = 100;
  brightnessblau = 100;
  stepup = 15;
  stepdown = 30;
  holdtime = 20000;
}

void Scene0()
{
  brightnessrot = 0;
  brightnessgruen = 0;
  brightnessblau = 0;
  stepup = 15;
  stepdown = 30;
  holdtime = 200000;
}

// vim:ai:cin:sts=2 sw=2 ft=cpp

Wow, du warst wirklich herausragend!Big Grin









sony z3 compact handyhülle
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  I²C vom NANO zum PI Probleme mit High/Low Bit Tobias1984 4 333 29.02.2016 00:00
Letzter Beitrag: hotsystems
  EMP setzt Input-PIN kurzzeitig auf HIGH holo 6 451 24.02.2016 19:25
Letzter Beitrag: Carlo
  OUTPUT bleibt HIGH und timer stopt nicht. Atwist 4 536 08.01.2016 11:02
Letzter Beitrag: Atwist
  Ir Signal bei High gronph 7 804 01.11.2015 18:49
Letzter Beitrag: gronph
  mit #ifdef Taster high-aktiv / low-aktiv ?? DL1AKP 11 1.359 24.06.2015 12:50
Letzter Beitrag: HaWe
  auslagern von Funktion aus der void loop? MaHaI976 19 2.900 22.06.2015 20:38
Letzter Beitrag: MaHaI976
  HIGH statt LOW bergfrei 26 4.942 27.05.2015 15:32
Letzter Beitrag: HaWe
  void Setup startet nicht skyfly71 2 892 15.11.2014 20:51
Letzter Beitrag: JoeDorm
  Stop Befehl während einer Void - Loop lezz89 13 12.761 17.01.2014 19:40
Letzter Beitrag: demokrit
  Lüfter mit LM35 über HIGH & LOW statt PWM Problem bhvfotos 0 1.178 09.11.2013 12:53
Letzter Beitrag: bhvfotos

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste