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
IR- Empfänger für RGBWW LEDs - Feinschliff
23.12.2014, 19:18
Beitrag #1
IR- Empfänger für RGBWW LEDs - Feinschliff
Hallo zusammen,

ich habe mir einen einfachen Empfänger für eine 08/15 LED IR- Fernbedienung gebastelt.
Im Grunde funktioniert alles. Bis auf den Ausgang 3 - lasse ich ein einfaches Sketch laufen um zu schauen ob die Helligkeit via PWM veränderbar ist, klappt das mit allen Ausgängen - nur bei dem unten angehängten Sketch, schaltet die rote LED bei "255" und bleibt darunter aus...

Der zweite Punkt, wo ich auf Eure Hilfe baue ist einen fließenden Übergang zu schaffen...

Sprich in Programm "A" ist jeder LED ein Wert zugeordnet- schalte ich in Programm "B" soll es kein appruptes Umschalten sein, sondern auf den neuen Wert überblenden... Da fehlt mir der Ansatz...

Code:
#include "IRremote.h"

int receiver = 11;
IRrecv irrecv(receiver);      
decode_results results;    
int ledrot = 3;
int ledblau = 5;
int ledgruen = 6;
int ledww = 9;
int ledkw = 10;

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()
{
  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:
    gelb();  
    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              ");
    break;
    
  default:
    Serial.println(" other button   ");

  }

  delay(50);
  
  
}
void heller()
{
  analogWrite(ledrot, 250);
  analogWrite(ledgruen, 25);
  analogWrite(ledblau, 25);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}
  
void dunkler()
{
  analogWrite(ledrot, 235);
  analogWrite(ledgruen, 25);
  analogWrite(ledblau, 1);
  analogWrite(ledww, 15);
  analogWrite(ledkw, 0);
}
    
void abspielen()
{
  analogWrite(ledrot, 55);
  analogWrite(ledgruen, 55);
  analogWrite(ledblau, 55);
  analogWrite(ledww, 5);
  analogWrite(ledkw, 5);
}

void anaus()
{
  analogWrite(ledrot, 5);
  analogWrite(ledgruen, 5);
  analogWrite(ledblau, 5);
  analogWrite(ledww, 5);
  analogWrite(ledkw, 5);
}

void rot()
{
  analogWrite(ledrot, 255);
  analogWrite(ledgruen, 0);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void gruen()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 255);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}
    
void blau()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 0);
  analogWrite(ledblau, 255);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void weis()
{
  analogWrite(ledrot, 205);
  analogWrite(ledgruen, 205);
  analogWrite(ledblau, 205);
  analogWrite(ledww, 205);
  analogWrite(ledkw, 205);
}

void rotora()
{
  analogWrite(ledrot, 255);
  analogWrite(ledgruen, 15);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void tuerkis()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 255);
  analogWrite(ledblau, 255);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void hellblau()
{
  analogWrite(ledrot, 50);
  analogWrite(ledgruen, 50);
  analogWrite(ledblau, 255);
  analogWrite(ledww, 100);
  analogWrite(ledkw, 100);
}

void beige()
{
  analogWrite(ledrot, 255);
  analogWrite(ledgruen, 255);
  analogWrite(ledblau, 205);
  analogWrite(ledww, 205);
  analogWrite(ledkw, 0);
}

void gelb()
{
  analogWrite(ledrot, 55);
  analogWrite(ledgruen, 55);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 55);
}

void gelblich()
{
  analogWrite(ledrot, 55);
  analogWrite(ledgruen, 55);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void hellgruen()
{
  analogWrite(ledrot, 50);
  analogWrite(ledgruen, 255);
  analogWrite(ledblau, 50);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void warmweis()
{
  analogWrite(ledrot, 255);
  analogWrite(ledgruen, 255);
  analogWrite(ledblau, 225);
  analogWrite(ledww, 205);
  analogWrite(ledkw, 205);
}

void dunkelgelb()
{
  analogWrite(ledrot, 70);
  analogWrite(ledgruen, 70);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void blassgruen()
{
  analogWrite(ledrot, 50);
  analogWrite(ledgruen, 255);
  analogWrite(ledblau, 50);
  analogWrite(ledww, 100);
  analogWrite(ledkw, 100);
}

void blassblau()
{
  analogWrite(ledrot, 50);
  analogWrite(ledgruen, 50);
  analogWrite(ledblau, 255);
  analogWrite(ledww, 205);
  analogWrite(ledkw, 205);
}

void kaltweis()
{
  analogWrite(ledrot, 225);
  analogWrite(ledgruen, 225);
  analogWrite(ledblau, 255);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 255);
}

void blaugruen()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 205);
  analogWrite(ledblau, 255);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void violett()
{
  analogWrite(ledrot, 205);
  analogWrite(ledgruen, 0);
  analogWrite(ledblau, 205);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void blauweis()
{
  analogWrite(ledrot, 105);
  analogWrite(ledgruen, 105);
  analogWrite(ledblau, 205);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 205);
}

void rotplus()
{
  analogWrite(ledrot, 155);
}

void gruenplus()
{
  analogWrite(ledgruen, 155);
}

void blauplus()
{
  analogWrite(ledblau, 155);
}

void quick()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 85);
  analogWrite(ledblau, 100);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void rotminus()
{
  analogWrite(ledrot, 100);
}

void gruenminus()
{
  analogWrite(ledgruen, 100);
}

void blauminus()
{
  analogWrite(ledblau, 100);
}

void slow()
{
  analogWrite(ledrot, 100);
  analogWrite(ledgruen, 85);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void DIY1()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 0);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 95);
  analogWrite(ledkw, 95);
}

void DIY2()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 0);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 75);
  analogWrite(ledkw, 75);
}

void DIY3()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 0);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 55);
  analogWrite(ledkw, 55);
}

void autom()
{
  analogWrite(ledrot, 0);
  analogWrite(ledgruen, 0);
  analogWrite(ledblau, 0);
  analogWrite(ledww, 25);
  analogWrite(ledkw, 25);
}

void DIY4()
{
  analogWrite(ledrot, 75);
  analogWrite(ledgruen, 75);
  analogWrite(ledblau, 75);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void DIY5()
{
  analogWrite(ledrot, 55);
  analogWrite(ledgruen, 55);
  analogWrite(ledblau, 55);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void DIY6()
{
  analogWrite(ledrot, 35);
  analogWrite(ledgruen, 35);
  analogWrite(ledblau, 35);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void flash()
{
  analogWrite(ledrot, 25);
  analogWrite(ledgruen, 25);
  analogWrite(ledblau, 25);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

void jump3()
{
  analogWrite(ledrot, 75);
  analogWrite(ledgruen, 75);
  analogWrite(ledblau, 75);
  analogWrite(ledww, 75);
  analogWrite(ledkw, 75);
}

void jump7()
{
  analogWrite(ledrot, 55);
  analogWrite(ledgruen, 55);
  analogWrite(ledblau, 55);
  analogWrite(ledww, 55);
  analogWrite(ledkw, 55);
}

void fade3()
{
  analogWrite(ledrot, 35);
  analogWrite(ledgruen, 35);
  analogWrite(ledblau, 35);
  analogWrite(ledww, 35);
  analogWrite(ledkw, 35);
}

void fade7()
{
  analogWrite(ledrot, 20);
  analogWrite(ledgruen, 0);
  analogWrite(ledblau, 20);
  analogWrite(ledww, 0);
  analogWrite(ledkw, 0);
}

Vielleicht ist ja die Variante mit Case und dem Aufrufen einer Unterfunktion nicht die beste- ich bin aber noch Anfänger und fand die Variante ganz brauchbar...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.12.2014, 05:57 (Dieser Beitrag wurde zuletzt bearbeitet: 24.12.2014 06:42 von dqb312.)
Beitrag #2
RE: IR- Empfänger für RGBWW LEDs - Feinschliff
Hallo,

die Library IRremote.h benutzt einen der Timer. Die davon mit PWM versorgten Output-Pins können dann kein PWM.
Selbes habe ich mit der Servo-Library zur Kenntnis bekommen.

Welcher Timer für welche Pins genutzt wird, bedarf der Kenntnis, um welchen Arduino es sich handelt.
Google mal nach Timer und deimen Arduino-Modell.

Wie dein Ausweg aussehen kann, vermag ich mit meinem Wissensstand nicht zu beschreiben - ich vermute mal, dass die Pinzuordnung zu den Timern per Programm geändert werden kann. Alternativ gäbe es den Weg mit Software-PWM (auf beliebige Pins).

Zum zweiten Problem:
Du kannst in einer Schleife (mit Verzögerung oder jeweils nach Eintreffen eines Fernsteuercodes) den Wert für die LED-Pins jeweils um eine bestimmten Betrag erhöhen / verringern, bis der Endwert erreicht ist.
Dazu findest du Beispiele per Google "arduino led fade without delay".

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.12.2014, 09:05
Beitrag #3
RE: IR- Empfänger für RGBWW LEDs - Feinschliff
Guten Morgen Rainer,

vielen Dank für deinen Tipp mit dem Timer- das ist ja mal echt hinter hältig ;-) Das erklärt auch, warum nur ein Ausgang betroffen ist- dann hab ich jetzt einen guten Ansatz.

das fading without delay kenne ich- mein Problem ist vielmehr die Struktur die das Programm damit haben sollte.

Denn wenn ich das richtig sehe geht die Schleife ja nur durch den loop- Teil, also die Tastenabfrage, die Unterprogramme werden nur einmalig aufgerufen, wenn entsprechender Code vom IR Sender empfangen wurde.
Und in den Unterprogrammen setze ich ja dann nur den Zielwert...

In der Theorie bin ich schon soweit, dass ich verstanden habe, dass der Abschnitt für das eigentliche fading in die loop mit rein muss. Die Unterprogramme sollten dann nur die Zielwerte für das Fading in einen Speicher schreiben, der dann vom Fadingprogramm angewendet wird...

Aber bei der Umsetzung happert es- ich habe schon andere sketche mit ähnlich Funktion geschrieben und habe immer sehr mit der Reihenfolge der einzelnen Programme gekämpft- mir fehlt da noch ein gewisses Grundverständnis muss ich zugeben...

Aber mein Sohn bekommt heute ein Arduino Starter-Kit, in der Hoffnung dass er in ein paar Wochen sagt "Aber Papa, das ist doch ganz logo. Schau mal, so geht das.... "

;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.12.2014, 11:11
Beitrag #4
RE: IR- Empfänger für RGBWW LEDs - Feinschliff
(24.12.2014 09:05)MaHa1976 schrieb:  das fading without delay kenne ich- mein Problem ist vielmehr die Struktur die das Programm damit haben sollte.
Denn wenn ich das richtig sehe geht die Schleife ja nur durch den loop- Teil, also die Tastenabfrage, die Unterprogramme werden nur einmalig aufgerufen, wenn entsprechender Code vom IR Sender empfangen wurde.
Und in den Unterprogrammen setze ich ja dann nur den Zielwert...
Also so weit weg bist Du gar nicht...
Im Prinzip würde ich es so angehen: Du definierst Dir 5 globale Variablen für den momentanen Zustand. (Rot, Grün, Blau,...) und weitere 5 für den "Ziel-Zustand". Deine momentanen Unterprogramme setzen dann nur den "Ziel-Zustand", machen aber keine analogWrite().
Dann schreibst Du Dir eine neue Funktion "handleFading()" oder so, die folgendes macht:
1. Prüfe, ob seit dem letzten Aufruf 20ms (oder so) vergangen sind. Falls nicht: return.
2. Falls Ziel-Zustand == Ist-Zustand: return. (D.h. alle LEDs sind schon so, wie sie sein sollen.)
3. Berechne den neuen Ist-Zustand, so dass er etwas näher am Ziel-Zustand ist. Wie das genau geht, ist Geschmacksache. Am einfachsten zählst Du jeweils 1 dazu oder ziehst 1 ab.
4. analogWrite() mit dem Ist-Zustand.

Das handleFading() rufst Du dann in jeden loop-Durchlauf auf, am besten gleich am Anfang.

Zitat:Aber mein Sohn bekommt heute ein Arduino Starter-Kit, in der Hoffnung dass er in ein paar Wochen sagt "Aber Papa, das ist doch ganz logo. Schau mal, so geht das.... "
Du hast Kinder? Dann brauchst Du doch eigentlich gar keine Fernbedienung, oder?

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
24.12.2014, 12:43 (Dieser Beitrag wurde zuletzt bearbeitet: 24.12.2014 12:44 von Bitklopfer.)
Beitrag #5
RE: IR- Empfänger für RGBWW LEDs - Feinschliff
(24.12.2014 11:11)Thorsten Pferdekämper schrieb:  ...
Zitat:Aber mein Sohn bekommt heute ein Arduino Starter-Kit, in der Hoffnung dass er in ein paar Wochen sagt "Aber Papa, das ist doch ganz logo. Schau mal, so geht das.... "
Du hast Kinder? Dann brauchst Du doch eigentlich gar keine Fernbedienung, oder?

@Thorsten, also du kannst keine Kinder haben weil sonst wüßtest du das eine Fernbedienung in Hardware viel einfacher zu handeln ist wie die Kids...Big GrinBig GrinBig Grin
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.12.2014, 08:49
Beitrag #6
RE: IR- Empfänger für RGBWW LEDs - Feinschliff
Man merkt sofort wer Kinder hat und wer nicht... :-) :-) :-)

gibt es irgendwo ein ganz allgemeines Beispiel? Ich hänge z.b. gern an der Stelle wo es zu entscheiden gilt, ob ich vor oder nach einem Programmabschnitt/Unterprogramm eine Klammer auf oder zu mache... also ob das Unterprogramm im Hauptprogramm steht oder allein..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.12.2014, 09:11
Beitrag #7
RE: IR- Empfänger für RGBWW LEDs - Feinschliff
(25.12.2014 08:49)MaHa1976 schrieb:  Man merkt sofort wer Kinder hat und wer nicht... :-) :-) :-)
..hehe....Rolleyes also du weist Bescheid....Tongue
Zitat:gibt es irgendwo ein ganz allgemeines Beispiel? Ich hänge z.b. gern an der Stelle wo es zu entscheiden gilt, ob ich vor oder nach einem Programmabschnitt/Unterprogramm eine Klammer auf oder zu mache... also ob das Unterprogramm im Hauptprogramm steht oder allein..

...nun da kann man glaube ich keine Regel benennen weil das hängt davon ab was du an der Stelle erledigen willst. Auf jeden Fall müßen soviele schließende Klammern da sein wie öffnende....aber da meckert dann der Compiler ohnehin.
Und was du an der Stelle erledigen mußt das bestimmen die Anforderungen die du an das Programm als Programmierer stellst. Im Zweifelsfall mußt dir einen Programmierkurs angedeihen lassen....mir hat auch mal einer eine Woche lang Kernighan - Ritchie vorgelesen...das C Standartwerk schlechthin...
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.12.2014, 09:42 (Dieser Beitrag wurde zuletzt bearbeitet: 25.12.2014 09:42 von MaHa1976.)
Beitrag #8
RE: IR- Empfänger für RGBWW LEDs - Feinschliff
Ich hab schon hier in der Gegend nach einem Workshop gesucht, keine Chance....

Ich habs auch mal beim Chaos Computer Club hier versucht..... aber die waren mit Zocken und Pizza bestellen ausgelastet... die scheinen meine Ahnung vom Programmieren zu haben....

Ich werde mich mal hinsetzen und was basteln was ich mal hier rein setze zum kommentieren.

Ich lege für mein Verständnis im Setup für jede LED einen Speicherplatz fest, der die aktuelle Helligkeit speichert und je einen der die aktuell zu setzende Helligkeit speichert.

in der void loop, setze ich vor die Tastenabfrage die fading funktion, letztendlich so ähnlich wie bei dem Beispielsketch "fading without delay"...

Die Tastenabfragen bleiben wie sie sind und rufen die Unterprogrammer auf... theoretisch könnte ich sicher auch hier direkt die Werte die zusetzen sind in den Speicher schreiben lassen.... ich lasse das aber die Unterprogramme machen...., die ihre Position auch nicht änddrn....

Ich hab schon hier in der Gegend nach einem Workshop gesucht, keine Chance....

Ich habs auch mal beim Chaos Computer Club hier versucht..... aber die waren mit Zocken und Pizza bestellen ausgelastet... die scheinen meine Ahnung vom Programmieren zu haben....

Ich werde mich mal hinsetzen und was basteln was ich mal hier rein setze zum kommentieren.

Ich lege für mein Verständnis im Setup für jede LED einen Speicherplatz fest, der die aktuelle Helligkeit speichert und je einen der die aktuell zu setzende Helligkeit speichert.

in der void loop, setze ich vor die Tastenabfrage die fading funktion, letztendlich so ähnlich wie bei dem Beispielsketch "fading without delay"...

Die Tastenabfragen bleiben wie sie sind und rufen die Unterprogrammer auf... theoretisch könnte ich sicher auch hier direkt die Werte die zusetzen sind in den Speicher schreiben lassen.... ich lasse das aber die Unterprogramme machen...., die ihre Position auch nicht änddrn....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino Mini Pro mit RCSwich und 433MHz Empfänger OLDARDUINO 6 263 03.11.2016 14:43
Letzter Beitrag: hotsystems
  433Mhz Fernbedienung Empfänger Haustechno 5 1.981 21.11.2015 17:06
Letzter Beitrag: hotsystems
  32 leistungsstarke LEDs mit Arduino steuern velophile 14 3.036 30.10.2015 16:33
Letzter Beitrag: hotsystems
  2 LEDs über serielle Schnittstelle steuern Bill 0 1.010 13.08.2015 16:04
Letzter Beitrag: Bill
Lightbulb Hexacopter LED mit RC Empfänger und WS2812B LED Wampo 9 3.369 02.01.2015 14:17
Letzter Beitrag: Wampo
  RC-Empfänger PWM-Signale für Servoansteuerung einlesen do1xxy 2 4.146 15.07.2014 21:32
Letzter Beitrag: do1xxy

Gehe zu:


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