Show Posts
Pages: 1 ... 17 18 [19] 20 21 ... 25
271  International / Deutsch / Re: Signal "Durch/weiterleiten" ? on: February 27, 2012, 01:42:28 am
erklär mal bitte, warum du das Signal an PIN 1 brauchst und nicht von PIN 0 nehmen kannst, vielleicht kann man auch was
per Software machen.
gruß
272  International / Deutsch / Re: dimmbares LED Treppenlicht (14 LEDs / 12 Volt) .. welche Bauteile sind sinnvoll? on: February 27, 2012, 01:39:10 am
Hallo
was gedenkst du für Sensoren einzusetzen? Ich bin im Moment in einer ähnlichen Situation wie du,
allerdings läuft meine Beleuchtung schon. Habe viel experimentier, mit PIR u.s.w. war aber alles nicht
befriedigend.
Habe z.B. folgende Sensoren getestet:
http://www.ebay.de/itm/260885201939?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649#ht_3529wt_905
die kann man zwar auswerten, haben aber einen riesigen Nachteil: bei Erfassung gehen die für ca. 20 sec. auf HIGH,
in dieser Zeit sind sie also nicht zu gebrauchen, um z.B. eine weitere Bewegung zu registrieren.
Scheiden also aus.
Wie willst du das machen?
273  International / Deutsch / Re: Ich blicke nicht mehr durch on: February 25, 2012, 01:08:31 pm
danke dir, werde ich gleich mal überprüfen und ändern.
274  International / Deutsch / Re: Ich blicke nicht mehr durch on: February 25, 2012, 09:46:43 am
Hier das ganze Programm ist noch nicht fertig, da ich verzweifelt den Fehler suche.
Alle Prints sind zum Fehler eingrenzen, komme aber nicht weiter weil das Programm
was völlig unnormales macht.


Code:
/*Treppen Beleuchtung*/
#define IRunten A0 // IR-Melder unten
#define IRoben A1 // IR-Melder oben

int LED_Pins[] = {22,24,26,28,30,32,34,36,23,25,27,29,31,33,35,37}; //Beleuchtung der einzelnen Stufen am Mega
long startzeit;
int flag_up,flag_down, merker;
int status_unten, status_oben, last_unten, last_oben;
int grenzw_unten = 200, grenzw_oben = 220; //Grenzwerte der IR-Dioden
int laufzeit=500;
int LED_Anzahl = sizeof(LED_Pins)/sizeof(int); // Anzahl der LEDs
void setup(){

  Serial.begin(9600);
 
 pinMode(IRoben, INPUT);
 pinMode(IRunten, INPUT);
 for (int i = 0; i < LED_Anzahl; i++){
  pinMode(LED_Pins[i],OUTPUT);
 }
}
void up_on(){// LEDs an von unten nach oben------------------------------------------------------------
 flag_up = 1; flag_down = 0;

Serial.println("up_on");


 for (int i = 0; i < LED_Anzahl; i++){
  digitalWrite(LED_Pins[i],HIGH); delay(laufzeit);}
}
void up_off(){// LEDs aus von unten nach oben------------------------------------------------------------
 flag_up = 0; flag_down = 0;
 
 Serial.println("....................................................");
 
 for (int i = 0; i < LED_Anzahl; i++){
  digitalWrite(LED_Pins[i],LOW); delay(laufzeit);}
}
void down_on(){// LEDs an von oben nach unten------------------------------------------------------------
 flag_down = 1; flag_up = 0;
 for (int i = LED_Anzahl-1; i >= 0; i--){
  digitalWrite(LED_Pins[i],HIGH); delay(laufzeit);}
}
void down_off(){// LEDs aus von oben nach unten------------------------------------------------------------
 flag_down = 0; flag_up = 0;

Serial.println("down_off");

 for (int i = LED_Anzahl-1; i >= 0; i--){
   digitalWrite(LED_Pins[i],LOW); delay(laufzeit);}
}

void loop(){
last_unten = status_unten;
last_oben = status_oben;
if (analogRead(IRunten) > grenzw_unten) status_unten = 1; else status_unten = 0;
if (analogRead(IRoben) > grenzw_oben) status_oben = 1; else status_oben = 0;


Serial.print(analogRead(IRunten));
Serial.print("-----");
Serial.print(last_unten);
Serial.print("-----");

Serial.print(status_unten);
Serial.print("-----");
Serial.println(analogRead(IRoben));

if(last_unten == 0 && status_unten == 1 ){ // IR unten regisitriert jemanden


Serial.println("Jetzt");


 merker = true; // wird benötigt wenn Zeit abgelaufen ist, dann von oben nach unten oder unten nach oben
 if (flag_up == 0){
   startzeit = millis();
   up_on();
 }
 
   else
    down_off();
 }

/*
if(!last_oben && status_oben){ // IR oben registriert jemanden
 startzeit = millis(); merker = false;
 if (!flag_down) down_on(); else up_off();
}
*/

if (millis() - startzeit > 20000){// nach 20 sec wird ausgeschaltet
 // merker zeigt letzte PIR- Auslösung an, unten true, oben false
 if(merker) down_off(); else up_off();
 }
}

275  International / Deutsch / Ich blicke nicht mehr durch on: February 25, 2012, 08:31:21 am
Hallo ich habe hier ein Stück geschrieben, wo ich nicht mehr verstehe was passiert:
Vielleicht hab ich im Moment auch ein Brett vor dem Kopf.
Hat was mit ner Treppenlichsteuerung zu tun aber darum gehts nicht.
Wer kann mir erklären, wieso die Prozudur down_off() ausgeführt wird (erkennbar durch ein Serial.print in der Prozedur)
ohne das das "Jetzt" ausgegeben wird.
Das kann doch gar nicht sein oder???????????????????


Code:
void loop(){
last_unten = status_unten;
last_oben = status_oben;
if (analogRead(IRunten) > grenzw_unten) status_unten = 1; else status_unten = 0;
if (analogRead(IRoben) > grenzw_oben) status_oben = 1; else status_oben = 0;

if(last_unten == 0 && status_unten == 1 ){ // IR unten regisitriert jemanden

Serial.println("Jetzt");

 merker = true; // wird benötigt wenn Zeit abgelaufen ist, dann von oben nach unten oder unten nach oben
 if (flag_up == 0){
   startzeit = millis();
   up_on();
 }
   else
    down_off();
 }
}
276  International / Deutsch / Re: int in float on: February 21, 2012, 12:57:31 pm
ehrlich gesagt, wie Gawin sich hier mit seinen Antworten aufführt.
Ich könnte ihm helfen, aber von mir bekommt er keine Antwort.
Stellt ja alle anderen als dumm hin.
Nur er nicht, dann soll er es doch selber machen.
277  International / Deutsch / Re: 10 Halogen Lampen a12 Volt 20 Watt einzeln ansteuern on: February 20, 2012, 02:52:06 am
Hallo Simon,
die taugen nicht wirklich, bringt zu wenig Licht, ich hab schon einiges probiert.
Gib mal bei ebay "MR16 LED 9W" ein da wirst du Ersatz für Halogenbirnen finden.
Kannst aber auch 4W, 6W oder 8W eingeben, gibts in allen Größen.
Die werden sehr häufig im 10er Pack angeboten, wenn du Glück hast kriegst du die für 25,- €
incl. Versand aus Deutschland.
gruß
Bernward
278  International / Deutsch / Re: Zeit parallel im LCD Display ? on: February 10, 2012, 01:57:20 am
Hallo Goofy,
ich weiß nicht ob ich das jetzt richtig verstehe, aber warum schreibst du nicht anstelle von

 if(twarm>=0){
      //wenn twarm positiv, oeffne mischer
      digitalWrite(8, HIGH);
      delay(twarm);
      digitalWrite(8, LOW);
    }

 if(twarm>=0) //wenn twarm positiv, oeffne mischer
      digitalWrite(8, HIGH);
      else
      digitalWrite(8, LOW);
   
279  International / Deutsch / Re: Zeit parallel im LCD Display ? on: February 09, 2012, 11:01:38 am
ich glaube bei der Steuerung ist die Anzeige der Duschlänge noch das kleinste Problem.
Sobald das Absperrventil öffnet setzt du halt über millis() einen Startwert.
Bei jedem Durchlauf des Programms kannst du dann die verstrichene Zeit berechnen
 zeit=(millis()-startwert)/1000 und du erhälst Sekunden, die du im Display ausgeben kannst.
Soweit der Grundgedanke, wenn noch was unklar ist frag.
gruß
280  International / Deutsch / Re: ultraschallsensor < 2cm on: February 09, 2012, 07:32:18 am
also ich hab mal mit Ultraschallsensoren getestet und die zeigten unterhalb des Bereiches Unsinn an,
leider nicht das, was du willst, nämlich < 2cm.
281  International / Deutsch / Re: Zeit parallel im LCD Display ? on: February 09, 2012, 07:30:29 am
geht beides, ich würde es erst einmal mit millis() versuchen, das delay würde ich auf jeden Fall raus nehmen,
denn da hälst du ja nur den Programmablauf an.
Willst du die Laufzeiten der einzelnen Motoren addieren und anzeigen (für jeden Motor) oder was genau soll
angezeigt werden?
282  International / Deutsch / Re: Zeit parallel im LCD Display ? on: February 09, 2012, 05:36:45 am
Da stellt sich zunächst eine grundsätzlich Frage:
hast du ein Uhrmodul wo du die Sekunden abgreifen willst oder aber möchtest du
anhand der Funktion millis() die Zeiten ausgeben.
gruß
283  International / Deutsch / Test mit PIR-Sensoren, wer benötigt welche on: February 08, 2012, 12:25:07 pm
Hallo,
für meine Treppenlichtbeleuchtung hab ich mir aus Hongkong ein paar PIR kommen lassen, siehe hier:
http://www.ebay.de/itm/290558712650?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649#ht_3958wt_1139
und
http://www.ebay.de/itm/270786796651?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
Da ich nicht alle benötige würde ich bei Bedarf einige für 3 € incl. Porto abgeben.
Gruß
maverick1509
284  International / Deutsch / Re: Pooltemperatur messen und ins Internet übertragen on: February 03, 2012, 08:09:01 am
Im Rohr messen ist schwierig, ansonsten würde ich die nehmen:
http://www.ebay.de/itm/3m-Digital-DS18B20-Temp-probe-sensor-thermometer-Rohs-/350527452500?pt=DE_Technik_Computerzubeh%C3%B6r_Kabel_Adapter&hash=item519d107554#ht_4022wt_1014

hab ich selbst im Einsatz und bin sehr zufrieden.
Gruß
285  International / Deutsch / Re: Arduino DS1307 Counter on: January 23, 2012, 04:26:00 am
Hallo Uwe,
so wie du würde ich es nicht machen.
Problem ist doch wenn du z.B. um 10.00 Uhr den Arduino startest
macht er zumindest den ersten Tag nicht das was er soll.

Gruß
Bernward
Pages: 1 ... 17 18 [19] 20 21 ... 25