Show Posts
Pages: [1] 2
1  International / Deutsch / Re: IR Remote in While-Schleife on: February 15, 2014, 01:29:40 pm
Wir schreiben etwas aneinander vorbei. Bei einzelnen Farben habe ich das so gelöst.

Code:
void ROT(){
for(int i=0; i<NUM_LEDS; i+=1) {
  leds[i] = CRGB( 255, 0, 0);
  FastLED.show();
  delay(1);
Code:
if (results.value == 16724175) //RGBverlaufquer()
{
 int redVal = 255;
int blueVal = 0;
int greenVal = 0;
aj =20;
while(1){
//if(irrecv.decode(&results)) {
   Serial.println(results.value, DEC);
   
pulsDauer = pulseIn(eingangsPin, HIGH, 30000);
int z;
if (pulsDauer > 10){ if(aj==20) {z=1;}if(aj==246) {z=-2;}aj = aj+z;}
 LEDS.setBrightness(aj);
if(blueVal == 0 & redVal>0) {
 if (millis() - previousMillis >interval){
 greenVal += 1;
 redVal -= 1;
  LEDS.showColor(CRGB( redVal, greenVal,blueVal ));
  previousMillis = millis();} 
 } 
if(redVal==0 & greenVal>0) {
  if (millis() - previousMillis >interval){
 blueVal += 1;
 greenVal -= 1;
  LEDS.showColor(CRGB( redVal, greenVal,blueVal ));
  previousMillis = millis();} 
    }   
if(greenVal==0 & blueVal>0) {
  if (millis() - previousMillis >interval){
 redVal += 1;
 blueVal -= 1;
  LEDS.showColor(CRGB( redVal, greenVal,blueVal ));
   previousMillis = millis();}
}
irrecv.resume();}}


if (results.value == 16750695) //Taste ROT
{ Serial.println("drin");
ROT();
 while(1){ 
   if (irrecv.decode(&results)) {
   LEDS.setBrightness(aj);
  int z=5;
   if ((results.value) == 16748655 ) // Taste Heller
   { for( aj<255; aj+=z; )
 {if(aj>245) z=0;
   pulsDauer = pulseIn(eingangsPin, HIGH);
   if (pulsDauer < 100)break;
   delay (50);
 LEDS.setBrightness(aj);
 ROT();}}
   if ((results.value) == 16758855) {for( aj>20; aj-=z;)
 {if(aj<30) z=0;
   pulsDauer = pulseIn(eingangsPin, HIGH);
   if (pulsDauer < 100)break;
   delay (50);
 LEDS.setBrightness(aj);
 ROT();}}
 int ausstieg = 0;
 if (results.value == 16748655|results.value == 16758855|results.value == 4294967295|results.value == 4294967295|results.value == 16750695) {ausstieg = 1;}
if (results.value > 0 && ausstieg == 0) {break; }     
 irrecv.resume();


/// Das Hier ist im Loop ///
Code:
if (results.value == 16750695) //Taste ROT auf FB
{
ROT();
 while(1){ 
   if (irrecv.decode(&results)) {
   LEDS.setBrightness(aj);
  int z=5;
   if ((results.value) == 16748655 ) // Taste Heller
{ for( aj<255; aj+=z; )
 {if(aj>245) z=0;
   pulsDauer = pulseIn(eingangsPin, HIGH);
   if (pulsDauer < 100)break;
   delay (50);
 LEDS.setBrightness(aj);
 ROT();}}
   if ((results.value) == 16758855)  //Taste dunkler
{for( aj>20; aj-=z;)
 {if(aj<30) z=0;
   pulsDauer = pulseIn(eingangsPin, HIGH);
   if (pulsDauer < 100)break;
   delay (50);
 LEDS.setBrightness(aj);
 ROT();}}
//// Bereich für Farbwechel /////
 int ausstieg = 0;
 if (results.value == 16748655|results.value == 16758855|results.value == 4294967295|results.value == 4294967295|results.value == 16750695) {ausstieg = 1;}
if (results.value > 0 && ausstieg == 0) {break; }     
 irrecv.resume();
 }}

Kappt so richtig gut,

Nur läuft der Farbwechsel ( siehe oben ) in einer while schleife. Dann komme ich nicht drann um um einen wechsel zu einer anderen Farbe bz. zu einem anderen effekt zu wechseln. Weil wenn ich in der while schleife des Effekts "" 
if (irrecv.decode(&results)) "" einfüge die while schleife ja dort stopt.
was ich suche ist ne möhlichkeit ein IR signal einzulesen ohne das die whlile schleife hier 
""  if (irrecv.decode(&results)) ""  hängen bleibt
2  International / Deutsch / Re: IR Remote in While-Schleife on: February 15, 2014, 12:27:31 pm
du auch ?  Ich fummel mir jetzt schon paar tage die Nerven krumm. Wolen wir mal hiffen das einer ne Erleuchtung hat.

 smiley-grin
3  International / Deutsch / IR Remote in While-Schleife on: February 15, 2014, 12:01:23 pm
moin moin,
Habe folgendes Problem. Ich Experimentiere mit Ws2811 LEd Steifen was ganz gut Klappt.
Habe effekte ,die in einer While - Schleife Laufen, die ich über Ir Funkbedienung Steuern möchte.
zb.:
Code:
if (results.value == 16724175) //RGBverlaufquer()
{
 int redVal = 255;
int blueVal = 0;
int greenVal = 0;
aj =20;
while(1){
if(irrecv.decode(&results)) {
   Serial.println(results.value, DEC);
pulsDauer = pulseIn(eingangsPin, HIGH, 30000);
int z;
if (pulsDauer > 10){ if(aj==20) {z=1;}if(aj==246) {z=-2;}aj = aj+z;}
 LEDS.setBrightness(aj);
if(blueVal == 0 & redVal>0) {
 if (millis() - previousMillis >interval){
 greenVal += 1;
 redVal -= 1;
  LEDS.showColor(CRGB( redVal, greenVal,blueVal ));
  previousMillis = millis();} 
 } 
if(redVal==0 & greenVal>0) {
  if (millis() - previousMillis >interval){
 blueVal += 1;
 greenVal -= 1;
  LEDS.showColor(CRGB( redVal, greenVal,blueVal ));
  previousMillis = millis();} 
    }   
if(greenVal==0 & blueVal>0) {
  if (millis() - previousMillis >interval){
 redVal += 1;
 blueVal -= 1;
  LEDS.showColor(CRGB( redVal, greenVal,blueVal ));
   previousMillis = millis();}
}
irrecv.resume();}}

Das ist ein Farbwechesel  von Rot nach Grün dann nach Blau und zurück.
das prob ist das im code "" if(irrecv.decode(&results))"" die while-Schleife Stopt.

Was  kann ich tun ??

Jede Hilfe ist willkommen
Gruß Paul
4  International / Deutsch / Re: Spannungsfrage 5 Volt on: November 11, 2012, 04:22:10 pm
Danke für die schnellen Antworten.

Gruß Paul
5  International / Deutsch / Spannungsfrage 5 Volt on: November 11, 2012, 03:27:40 pm
Moin Moin,
ich möchte mein Projet auf Platine auslagern.
Der Mircrocontoller (ATmega328) braucht ja 5 volt, habe ein Netzteil das Constant  5,14 bis 5,15 Volt liefert.
Kann ich das verwenden bzw kann man die 0,15 Volr vernachlässigen?
Oder muss es genau 5 Volt sein.

Gruß Paul
6  International / Deutsch / Re: IRLZ34N geht kaputt on: November 06, 2012, 04:49:42 am
Jepp geht nu   
Paul
7  International / Deutsch / Re: IRLZ34N geht kaputt on: November 06, 2012, 04:04:45 am
Moin,
sorry das ich erst jetzt antworte, hatte gnd Arduino nicht mit masse Lüfter verbunden.

Ist aber auch für nen Änfänger in Punkto Elektronik hier http://www.freeduino.de/books/arduino-programmier-handbuch/anhang
nicht ersichtlich

gruß Paul

Danke für die hilfe
8  International / Deutsch / Re: IRLZ34N geht kaputt on: November 05, 2012, 07:11:46 am
Hi,
hatte nur nen 160 Ohm Widerstand. den dazwischen 1 mal kurz auf Den Pin des Uno. Zack Mosfet im Eimer. Ich raffe es nicht.

Muss GND des Uno nicht verwendet werden ?

HILFEEEEEE

Paul
9  International / Deutsch / IRLZ34N geht kaputt on: November 05, 2012, 06:22:34 am
Moin,
bin etwas am rum Experimentieren und leider geht der Mosfet übern Jordan.
habe folgendes aufgebaut:

Da ich den IRF510 nicht habe verbaue ich den IRLZ34N.
Wenn ich jetzt den Pin nicht anschliesse und das Gate auflade läuft der Lüfteran. Wenn ich das Gate mit der Source kurzschließe geht er auch. Ergo alles richtig geklemmt.
Den sketch habe ich auf dem UNO:

int outPin = 5; // Ausgangspin fuer den MOSFET   
void setup() {
pinMode(outPin, OUTPUT); // setzt Pin5 als Ausgang
}
void loop() { for (int i=0; i<=5; i++) // Schleife wird 5 mal durchlaufen
{ digitalWrite(outPin, HIGH); // schaltet MOSFET an
delay(250); // Pause 1/4 Sekunde
digitalWrite(outPin, LOW); // schaltet MOSFET aus
delay(250); // Pause 1/4 Sekunde
}
delay(1000); // Pause 1 Sekunde
}

Wenn ich dann Das Gate mit Pin 5 verbinde dann geht der Lüfter an, was er auch soll.
Aber der Mosfet lässt sich dann anschließent nicht mehr schalten. Heist er ist immer auf durchgeschaltet.
Was ist da nicht richtig?
Auch wenn ich Pin 5 trenne und die Source gegen das Gate entlade. Also ist er defekt
Gruß Paul
10  International / Deutsch / Re: Bootlader flashen on: November 03, 2012, 04:12:20 am
Moin Moin,
in einem sketch die auszuschalten ist schon klar, aber die leuchten ja auch wenn kein Microkontroller auf dem Board sind,
das ist ja as seltsame. Das war zu Anfang nicht.
Paul
11  International / Deutsch / Re: Bootlader flashen on: November 02, 2012, 03:44:04 pm
ÄHHHH,
Quote
Wenn dein Sketch Pin 0 und 1 in Ruhe lässt, und dort nichts angeschlossen ist,
wäre ich sehr froh, wenn Serial und Uploads trotzdem noch funktionieren

wegen der dauernd leuchtenden TX und RX LED's ?
Muss doch ne Ursache haben warum die Leuchten und eine Lösung geben die wieder Abzuschalten.
12  International / Deutsch / Re: Bootlader flashen on: November 02, 2012, 02:25:59 pm
Puhhh, geschaft.
Also es war mal wieder ne ganz blöde nummer, wie immer. Wie ich schon erwähnte habe ich einges an Erfahrung an Dreamboxen.
Da gibts folgendes Prob manchmal das wenn man Änderungen an der Cofiguration macht dies nicht mit einem normalen Editor machen kann, sondern der muss Linuxkonform sein.  Genau das ist hier auch der Fall. Habe in der AVRDUDE.conf die Änderungen mit Notpad++ gemacht und siehe da es geht mit dem Bootloader. Dann den 328er auf Duemilanove, sketch drauf gebügelt fertig.
Nu hab ich nur noch das Prob das TX und RX LED durchgehend leuchtet. Hat da einer  ne Idee ?

achso, nochmals vielen Dank an alle die geholfen haben. Einiges gelernt.

Gruß Paul
 smiley smiley smiley smiley smiley smiley smiley smiley smiley
13  International / Deutsch / Re: Bootlader flashen on: November 02, 2012, 06:52:14 am
Achso hier zu
Quote
Falls du aber den Duemilanove als Programmer benutzt, um Blink auf einen atmega328 zu brennen, sollte es in deinem Fall doch eher heissen:
...
         Using Programmer              : arduino
...
und der -p Parameter wäre auch merkwürdig...
Als Programmer habe ich Arduino ISP eingstellt.Die Parameter kommen dann so.Ich habe da nix eingegeben.

Paul
14  International / Deutsch / Re: Bootlader flashen on: November 02, 2012, 06:39:06 am
Moin Moin,
also nu mal ganz von vorne.
Ich habe das teil hier Duemilanove mit nem atmega168. Damit funkt soweit auch alles.Heist kann ihn Beschreiben.Desweiteren habe ich mir 5 mal den Atmega328-PU ohne Bootlader gekauft.
Die 328er wollte bzw will ich mit bootlader versehen. Auf diese art und weise http://arduino.cc/en/Tutorial/ArduinoISP

das Klappt aber nicht. Fehlermeldungen stehen am Anfang des Threads.Dann hab ich hier erfahren das gar kein Bootloader  erforderlich ist um auf den 328er Sketches hochzuladen.
Das habe ich so (Uploading Using an Arduino Board)http://arduino.cc/en/Tutorial/ArduinoToBreadboard versucht.
Haut aber auch nicht hin. Um auszuschließen das es daran liegt das der 328 keinen Bootloader hat habe ich den Atmega168 genommen und Versucht den über den Aufbau den zubeschreiben. Da bekomme ich aber diese Fehlermeldung die im oberen Post steht auf den Michael_x geantwortet hat.
Übrigens beim Versuch den 328er mit nem Sketch zu beschreiben kommt die gleiche Fehlermeldung nur halt mit 328 statt 168 drin.
Um Auszuschließen dasn es an meinem Aufbau liegt habe ich nun mal den 168 er Auf den Aufbau gesetzt mit meinem kleinen Projekt drauf (Treppenbeleuchtung die bei Dämmerung Einschaltet für gewisse Zeit wenn jemand durch ne Lichtschranke läuft).Das klappt 1a. ergo gehe ich davon aus das alles richtig geklemmt ist.

Jetzt hab ich ein anders Prob noch dazu bekommen durch die ganze Fummelei an den Einstellungen, die TX und RX Led leuchten durchgängig. Weiss der Geier wieso. Habe Mprog schon neu installiert, ändert aber nix.
 Gruß Paul


15  International / Deutsch / Re: Bootlader flashen on: November 01, 2012, 01:44:02 pm
Sorry aber es geht bei mir garnix.
versuche nun sketch hoch zu laden. dann kommt das :

Binäre Sketchgröße: 1.084 Bytes (von einem Maximum von 14.336 Bytes)
C:\Dokumente und Einstellungen\Administrator\Desktop\arduino-1.0.1\hardware/tools/avr/bin/avrdude -CC:\Dokumente und Einstellungen\Administrator\Desktop\arduino-1.0.1\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega168 -cstk500v1 -P\\.\COM16 -b19200 -Uflash:w:C:\Temp\build9141216000616205925.tmp\Blink.cpp.hex:i

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Dokumente und Einstellungen\Administrator\Desktop\arduino-1.0.1\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM16
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.
Pages: [1] 2