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.

Thema geschlossen 
 
Themabewertung:
  • 2 Bewertungen - 4 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
IRremote bitte um Hilfe
09.12.2015, 17:44
Beitrag #9
RE: IRremote bitte um Hilfe
Hallo Hilgi,
sorry ich habe mich nicht richtig ausgedrückt, ich möchte gerne über eine Fernbedienung verschiedene Lichtstimmungen abrufen. Der erste Code klappt hervorragend ich kann von Tag zu Nacht umschalten. Perfekt.
Das ist aber langweilig, ich probiere seit Tagen und komm einfach nicht weiter - die verschiedenen Stimmungen sollen auch noch leicht gegeneinander faden wenn z.B Sonne aufgerufen wird. Und das schaffe ich einfach nicht den zweiten Code oder irgendeinen anderen einzubinden,damit das halt funktioniert.
Ich möchte ja keine Lösung, gerne doch, aber mit nem grossen Wink würde ich endlich mal weiterkommen.....
danke vom micha
Alle Beiträge dieses Benutzers finden
09.12.2015, 18:00
Beitrag #10
RE: IRremote bitte um Hilfe
moin,


erstmal würde ich mit methoden arbeiten, ggf. sogar dein case ersetzen.

Link:
Arduino - Methoden


ich hab nur ne idee dazu, ....
ich würde verschiedene methoden erstellen und in diesen mit (for-)schleifen arbeiten.

Link:
Arduino - Schleifen


weiterführende literatur gibs dann per google....

mich juckts aber auch grad im kopf, is ja bald weihnachten und meine cousine die mags bund.... Tongue

wir lesen uns noch Wink


gruss hilgi

Nicht denken,...
...nachdenken... Rolleyes
http://capsicum-felicitas.de.tl
Alle Beiträge dieses Benutzers finden
09.12.2015, 18:28
Beitrag #11
RE: IRremote bitte um Hilfe
Ich hoffe das mein Code nicht zu viel für dich ist... damit läuft meine Lampe aber schon ewig ohne Probleme- ich habe dafür eine Fernbedienung mit 44 Tasten, wie sie bei den RGB-LED-Streifen dabei ist....

Du mußt dann einiges anpassen- aber vielleicht hilft es dir:

Code:
#include "IRremote.h"

int receiver = 11;
IRrecv irrecv(receiver);      
decode_results results;    
int ledrot = 10;
int ledblau = 5;
int ledgruen = 6;
int ledww = 9;
int ledkw = 3;
int fadeAmount = 1;
int brightnessrot = 20;
int brightnessblau = 5;
int brightnessgruen = 18;
int brightnessww = 0;
int brightnesskw = 0;
int brightnessrotneu = 0;
int brightnessblauneu = 0;
int brightnessgruenneu = 0;
int brightnesswwneu = 0;
int brightnesskwneu = 0;
int delaymanuell = 15;

void setup()  
{
  Serial.begin(9600);
  Serial.println("IR Receiver Raw Data + Button Decode Test");
  irrecv.enableIRIn(); // Start the receiver
  pinMode(ledrot, OUTPUT);
  pinMode(ledblau, OUTPUT);
  pinMode(ledgruen, OUTPUT);
  pinMode(ledww, OUTPUT);
  pinMode(ledkw, OUTPUT);

}


void loop()
{
analogWrite(ledrot, brightnessrotneu);
analogWrite(ledgruen, brightnessgruenneu);
analogWrite(ledblau, brightnessblauneu);
analogWrite(ledww, brightnesswwneu);
analogWrite(ledkw, brightnesskwneu);

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

if (brightnessgruenneu < brightnessgruen)
   {
    brightnessgruenneu++ ;
    delay(delaymanuell);
   }  
else if (brightnessgruenneu > brightnessgruen)
   {
    brightnessgruenneu-- ;
   delay(delaymanuell);
   }
else
   {
     brightnessgruenneu = brightnessgruen;
   }
  
if (brightnessblauneu < brightnessblau)
   {
    brightnessblauneu++ ;
    delay(delaymanuell);
   }  
else if (brightnessblauneu > brightnessblau)
   {
    brightnessblauneu-- ;
   delay(delaymanuell);
   }
else
   {
     brightnessblauneu = brightnessblau;
   }
  
if (brightnesswwneu < brightnessww)
   {
    brightnesswwneu++ ;
    delay(delaymanuell - 1);
   }  
else if (brightnesswwneu > brightnessww)
   {
    brightnesswwneu-- ;
   delay(delaymanuell + 1);
   }
else
   {
     brightnesswwneu = brightnessww;
   }
  
if (brightnesskwneu < brightnesskw)
   {
    brightnesskwneu++ ;
    delay(delaymanuell - 1);
   }  
else if (brightnesskwneu > brightnesskw)
   {
    brightnesskwneu-- ;
   delay(delaymanuell + 1);
   }
else
   {
     brightnesskwneu = brightnesskw;
   }
  
  
if (irrecv.decode(&results))
  {
    translateIR();
    irrecv.resume();
  }  
}
void translateIR()

{
  switch(results.value)

{
  case 0xFF3AC5:  
    heller();
    Serial.println(" heller            ");
    break;
    
  case 0xFFBA45:  
    dunkler();
    Serial.println(" dunkler             ");
    break;
    
  case 0xFF827D:
    abspielen();
    Serial.println(" abspielen            ");
    break;
    
  case 0xFF02FD:
    anaus();  
    Serial.println(" an/aus           ");
    break;
    
  case 0xFF1AE5:
    rot();  
    Serial.println(" rot           ");
    break;
    
  case 0xFF9A65:  
    gruen();
    Serial.println(" gruen     ");
    break;
    
  case 0xFFA25D:
    blau();
    Serial.println(" blau           ");
    break;
    
  case 0xFF22DD:
    weis();
    Serial.println(" weis           ");
    break;
    
  case 0xFF2AD5:
    rotora();
    Serial.println(" rot-orange             ");
    break;
    
  case 0xFFAA55:  
    tuerkis();
    Serial.println(" tuerkis              ");
    break;
    
  case 0xFF926D:  
    hellblau();
    Serial.println(" hellblau           ");
    break;

  case 0xFF12ED:  
    beige();
    Serial.println(" beige           ");
    break;

  case 0xFF0AF5:  
    gelb();
    Serial.println(" gelb              ");
    break;

  case 0xFF8A75:  
    hellgruen();
    Serial.println(" hellgruen              ");
    break;

  case 0xFFB24D:  
    hellblau();
    Serial.println(" hellblau             ");
    break;

  case 0xFF32CD:
    warmweis();  
    Serial.println(" warmweis              ");
    break;

  case 0xFF38C7:
    dunkelgelb();  
    Serial.println(" dunkelgelb              ");
    break;

  case 0xFFB847:
    blassgruen();
    Serial.println(" blassgruen             ");
    break;

  case 0xFF7887:
    blassblau();
    Serial.println(" blassblau              ");
    break;
    
  case 0xFFF807:
    kaltweis();  
    Serial.println(" kaltweis              ");
    break;

  case 0xFF18E7:
    gelblich();  
    Serial.println(" gelblich              ");
    break;

  case 0xFF9867:
    blaugruen();  
    Serial.println(" blau-gruen              ");
    break;

case 0xFF58A7:  
    violett();
    Serial.println(" violett            ");
    break;

  case 0xFFD827:
    blauweis();
    Serial.println(" blau-weis            ");
    break;

  case 0xFF28D7:
    rotplus();
    Serial.println(" rot+            ");
    break;

  case 0xFFA857:
    gruenplus();  
    Serial.println(" gruen+           ");
    break;

  case 0xFF6897:
    blauplus();  
    Serial.println(" blau+           ");
    break;

  case 0xFFE817:
    quick();  
    Serial.println(" quick     ");
    break;

  case 0xFF08F7:
    rotminus();  
    Serial.println(" rot-           ");
    break;

  case 0xFF8877:
    gruenminus();
    Serial.println(" gruen-           ");
    break;

  case 0xFF48B7:
    blauminus();
    Serial.println(" blau-             ");
    break;

  case 0xFFC837:
    slow();
    Serial.println(" slow              ");
    break;

  case 0xFF30CF:  
    DIY1();
    Serial.println(" DIY1           ");
    break;

  case 0xFFB04F:
    DIY2();
    Serial.println(" DIY2           ");
    break;

  case 0xFF708F:
    DIY3();  
    Serial.println(" DIY3              ");
    break;

  case 0xFFF00F:
    autom();  
    Serial.println(" auto              ");
    break;

  case 0xFF10EF:
    DIY4();  
    Serial.println(" DIY4              ");
    break;

  case 0xFF906F:  
    DIY5();
    Serial.println(" DIY5              ");
    break;

  case 0xFF50AF:
    DIY6();  
    Serial.println(" DIY6              ");
    break;

  case 0xFFD02F:
    flash();  
    Serial.println(" flash              ");
    break;

  case 0xFF20DF:
    jump3();  
    Serial.println(" Jump3              ");
    break;

  case 0xFFA05F:
    jump7();  
    Serial.println(" Jump7              ");
    break;

  case 0xFF609F:
    fade3();  
    Serial.println(" Fade3              ");
    break;

  case 0xFFE01F:
    fade7();  
    Serial.println(" Fade7              ");
    break;
    
  case 0xFFFFFFFF:  
    Serial.println(" Taste halten              ");
    ganzschnell();
    break;
    
  default:
    Serial.println(" other button   ");
  }

  delay(20);
}

void ganzschnell()
{
  if (delaymanuell > 10)
  {
  delaymanuell = delaymanuell - 10;
  }
}  

void heller()
{
  
  if (brightnessrot != 255)
  {
  brightnessrot = brightnessrot + 3;
  }
  else
  {
  brightnessrot = 255;
  }
  
  if (brightnessgruen != 255)
  {
  brightnessgruen = brightnessgruen + 3;
  }
  else
  {
  brightnessgruen = 255;
  }

  if (brightnessblau != 255)
  {
  brightnessblau = brightnessblau + 3;
  }
  else
  {
  brightnessblau = 255;
  }
  
  if (brightnessww != 255)
  {
  brightnessww = brightnessww + 3;
  }
  else
  {
  brightnessww = 255;
  }
  
  if (brightnesskw != 255)
  {
  brightnesskw = brightnesskw + 3;
  }
  else
  {
  brightnesskw = 255;
  }
    
}
  
void dunkler()
{
  if (brightnessrot > 3)
  {
  brightnessrot = brightnessrot - 3;
  }
  else
  {
  brightnessrot = 1;
  }
  
  if (brightnessgruen > 3)
  {
  brightnessgruen = brightnessgruen - 3;
  }
  else
  {
  brightnessgruen = 1;
  }

  if (brightnessblau > 3)
  {
  brightnessblau = brightnessblau - 3;
  }
  else
  {
  brightnessblau = 1;
  }
  
  if (brightnessww > 3)
  {
  brightnessww = brightnessww - 3;
  }
  else
  {
  brightnessww = 1;
  }
  
  if (brightnesskw > 3)
  {
  brightnesskw = brightnesskw - 3;
  }
  else
  {
  brightnesskw = 1;
  }
}
    
void abspielen()
{
  brightnessrot = brightnessrot++;
  brightnessgruen = brightnessrot + 85;
  brightnessblau = brightnessgruen + 85;
  brightnessww = 5;
  brightnesskw = 5;
}

void anaus()
{
  brightnessrot = 0;
  brightnessgruen = 0;
  brightnessblau = 0;
  brightnessww = 0;
  brightnesskw = 0;
  delaymanuell = 15;
}

void rot()
{
  brightnessrot = 255;
  brightnessgruen = 0;
  brightnessblau = 0;
  brightnessww = 0;
  brightnesskw = 0;
}

void gruen()
{
  brightnessrot = 0;
  brightnessgruen = 255;
  brightnessblau = 0;
  brightnessww = 0;
  brightnesskw = 0;
}
    
void blau()
{
  brightnessrot = 0;
  brightnessgruen = 0;
  brightnessblau = 255;
  brightnessww = 0;
  brightnesskw = 0;
}

void weis()
{
  brightnessrot = 205;
  brightnessgruen = 205;
  brightnessblau = 105;
  brightnessww = 205;
  brightnesskw = 0;
}

void rotora()
{
  brightnessrot = 255;
  brightnessgruen = 65;
  brightnessblau = 0;
  brightnessww = 0;
  brightnesskw = 0;
}

void tuerkis()
{
  brightnessrot = 0;
  brightnessgruen = 255;
  brightnessblau = 125;
  brightnessww = 0;
  brightnesskw = 0;
}

void hellblau()
{
  brightnessrot = 0;
  brightnessgruen = 165;
  brightnessblau = 255;
  brightnessww = 0;
  brightnesskw = 0;
}

void beige()
{
  brightnessrot = 215;
  brightnessgruen = 185;
  brightnessblau = 15;
  brightnessww = 45;
  brightnesskw = 0;
}

void gelb()
{
  brightnessrot = 145;
  brightnessgruen = 85;
  brightnessblau = 0;
  brightnessww = 0;
  brightnesskw = 0;
}

void dunkelgelb()
{
  brightnessrot = 60;
  brightnessgruen = 40;
  brightnessblau = 0;
  brightnessww = 0;
  brightnesskw = 0;
}

void gelblich()
{
  brightnessrot = 20;
  brightnessgruen = 14;
  brightnessblau = 0;
  brightnessww = 0;
  brightnesskw = 0;
}

void hellgruen()
{
  brightnessrot = 0;
  brightnessgruen = 205;
  brightnessblau = 20;
  brightnessww = 0;
  brightnesskw = 0;
}

void warmweis()
{
  brightnessrot = 255;
  brightnessgruen = 215;
  brightnessblau = 45;
  brightnessww = 85;
  brightnesskw = 0;
}

void blassgruen()
{
  brightnessrot = 15;
  brightnessgruen = 75;
  brightnessblau = 5;
  brightnessww = 0;
  brightnesskw = 0;
}

void blassblau()
{
  brightnessrot = 55;
  brightnessgruen = 0;
  brightnessblau = 45;
  brightnessww = 0;
  brightnesskw = 0;
}

void kaltweis()
{
  brightnessrot = 185;
  brightnessgruen = 205;
  brightnessblau = 255;
  brightnessww = 0;
  brightnesskw = 0;
}

void blaugruen()
{
  brightnessrot = 0;
  brightnessgruen = 255;
  brightnessblau = 100;
  brightnessww = 0;
  brightnesskw = 0;
}

void violett()
{
  brightnessrot = 255;
  brightnessgruen = 0;
  brightnessblau = 235;
  brightnessww = 0;
  brightnesskw = 0;
}

void blauweis()
{
  brightnessrot = 105;
  brightnessgruen = 105;
  brightnessblau = 205;
  brightnessww = 0;
  brightnesskw = 105;
}

void rotplus()
{
  if (brightnessrot != 255)
  {
  brightnessrot = brightnessrot + 5;
  }
  else
  {
  brightnessrot = 255;
  }  
}


void gruenplus()
{
  if (brightnessgruen != 255)
  {
  brightnessgruen = brightnessgruen + 5;
  }
  else
  {
  brightnessgruen = 255;
  }  
}

void blauplus()
{
  if (brightnessblau != 255)
  {
  brightnessblau = brightnessblau + 5;
  }
  else
  {
  brightnessblau = 255;
  }  
}


void quick()
{
  if (delaymanuell > 1)
  {
  delaymanuell = delaymanuell - 1;
  }
  else
  {
  delaymanuell = 1;
  }  
}

void rotminus()
{
  if (brightnessrot > 6)
  {
  brightnessrot = brightnessrot - 5;
  }
  else
  {
  brightnessrot = 1;
  }
}

void gruenminus()
{
  if (brightnessgruen > 6)
  {
  brightnessgruen = brightnessgruen - 5;
  }
  else
  {
  brightnessgruen = 1;
  }
}

void blauminus()
{
  if (brightnessblau > 6)
  {
  brightnessblau = brightnessblau - 5;
  }
  else
  {
  brightnessblau = 1;
  }
}

void slow()
{
  if (delaymanuell < 30)
  {
  delaymanuell = delaymanuell + 2;
  }
  else
  {
  delaymanuell = 30;
  }
}

void DIY1()
{
  brightnessrot = 0;
  brightnessgruen = 0;
  brightnessblau = 0;
  brightnessww = 95;
  brightnesskw = 95;
}

void DIY2()
{
  brightnessrot = 0;
  brightnessgruen = 0;
  brightnessblau = 0;
  brightnessww = 75;
  brightnesskw = 75;
}

void DIY3()
{
  brightnessrot = 0;
  brightnessgruen = 0;
  brightnessblau = 0;
  brightnessww = 55;
  brightnesskw = 55;
}

void autom()
{
  brightnessrot = brightnessrotneu + 5;
  brightnessgruen = brightnessgruenneu +5;
  brightnessblau = brightnessblauneu +5;
  brightnessww = 0;
  brightnesskw = 0;
}

void DIY4()
{
  brightnessrot = 75;
  brightnessgruen = 75;
  brightnessblau = 45;
  brightnessww = 0;
  brightnesskw = 0;
}

void DIY5()
{
  brightnessrot = 55;
  brightnessgruen = 55;
  brightnessblau = 35;
  brightnessww = 0;
  brightnesskw = 0;
}

void DIY6()
{
  brightnessrot = 35;
  brightnessgruen = 35;
  brightnessblau = 25;
  brightnessww = 0;
  brightnesskw = 0;
}

void flash()
{
  brightnessrot = 25;
  brightnessgruen = 25;
  brightnessblau = 15;
  brightnessww = 0;
  brightnesskw = 0;
}

void jump3()
{
  brightnessrot = 75;
  brightnessgruen = 75;
  brightnessblau = 45;
  brightnessww = 75;
  brightnesskw = 75;
}

void jump7()
{
  brightnessrot = 55;
  brightnessgruen = 55;
  brightnessblau = 35;
  brightnessww = 55;
  brightnesskw = 55;
}

void fade3()
{
   brightnessrot = 35;
  brightnessgruen = 35;
  brightnessblau = 25;
  brightnessww = 35;
  brightnesskw = 35;
}

void fade7()
{
   brightnessrot = 15;
  brightnessgruen = 15;
  brightnessblau = 5;
  brightnessww = 15;
  brightnesskw = 15;
}
Alle Beiträge dieses Benutzers finden
09.12.2015, 18:31
Beitrag #12
RE: IRremote bitte um Hilfe
ALTER SCHWEDE

Big GrinBig GrinBig Grin

Nicht denken,...
...nachdenken... Rolleyes
http://capsicum-felicitas.de.tl
Alle Beiträge dieses Benutzers finden
09.12.2015, 18:34
Beitrag #13
RE: IRremote bitte um Hilfe
:-D :-D :-D

das ganze gibts noch kombiniert mit einer automatischen Programmvorgabe die via nrf24 von einer Zentrale empfangen wird... das drücken einer beliebigen Taste deaktiviert die automatische Programmwahl- bei drücken der "Auto" Taste wird diese wieder aktiviert... im Automatikbetrieb wird dann noch alles mit einem PIR aktiviert...
Alle Beiträge dieses Benutzers finden
09.12.2015, 19:34
Beitrag #14
RE: IRremote bitte um Hilfe
Hi alle miteinander,
also vielen Dank für die ganzen Ideen, aber Hilgi sagte das schon: alter Schwede....und ich wollte nur 2 lausige LED faden in ner Fernbedienung und das mit nochmal zweien..... Oh mann ich check das nicht,
aber ich les mir das mal mit den Schleifen durch und überhaupt und so.
Danke vom micha
Alle Beiträge dieses Benutzers finden
09.12.2015, 19:46
Beitrag #15
RE: IRremote bitte um Hilfe
Also... dann mal ein paar Kommentare zu meinem Sketch - nur die Loop:

im ersten Bereich werden nur die LEDs gefadet... Dazu werden die aktuellen Helligkeiten mit Sollwerten verglichen und dann mit jedem Schleifendurchlauf angepaßt- Perfektionisten würden an der Stelle schon auf Millisekunden setzen... ist für mich aber OK so....

dann kommt die Sektion wo die IR ausgelesen werden. Je nach erkannter Taste wird dann einfach ein Unterprogramm aufgerufen, welches die Soll- Werte neu setzt...

fertsch...

mit kürzeren Namen für die Variablen kann man das ganze übersichtlicher machen...
Alle Beiträge dieses Benutzers finden
09.12.2015, 19:48 (Dieser Beitrag wurde zuletzt bearbeitet: 09.12.2015 19:57 von deranderemichel.)
Beitrag #16
Smile RE: IRremote bitte um Hilfe
Aber sagt mal echt bitte, wenn ihr sone Programme schreiben könnt , seid doch echt bitte mal so nett und klärt mich doch mal auf wie ich das für mich hinkriege - die Codes von mir sind ja nicht schlecht, habe lange dafür gelesen und gelernt und die laufen ja auch getrennt. Aber wie geht das im Verband, schalten mit einem lächerlichen Programm, wo 2 Leds gegeneinander faden ......
Please !!!!!
vom micha

wollte einfach gerne noch vor Weihnachten so ne coole Wolkenlampe für meinen Kiddie bauen und ich kriegs halt nicht hin und darum frag ich euch Profis halt...
Alle Beiträge dieses Benutzers finden
Thema geschlossen 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 122 14.10.2016 21:40
Letzter Beitrag: hotsystems
Sad Ich brauche Hilfe Prosac 4 235 09.10.2016 18:39
Letzter Beitrag: Prosac
  at24c256 Hilfe Gandalf 6 249 29.08.2016 18:59
Letzter Beitrag: MKc
Smile Progammier Neuling Codeschloss bittet um Hilfe Donalonso 2 286 27.08.2016 18:23
Letzter Beitrag: Binatone
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 452 22.08.2016 08:07
Letzter Beitrag: b3ta
  Hilfe: Mega2560 - ENC 28J60 - MYSQL Gandalf 1 181 28.07.2016 16:30
Letzter Beitrag: Gandalf
  Selbstfahrender Roboter Programm änderung hilfe ? arekklone 11 543 06.07.2016 14:59
Letzter Beitrag: Binatone
  Hilfe beim Arduino Shield reimundko 6 459 05.06.2016 11:28
Letzter Beitrag: rpt007
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 533 23.04.2016 10:26
Letzter Beitrag: rkuehle
  Wo finde ich bitte die LIB USBHOST ? arduinopeter 6 501 24.03.2016 16:53
Letzter Beitrag: arduinopeter

Gehe zu:


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