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
05.12.2015, 00:38
Beitrag #1
IRremote bitte um Hilfe
Hallo Leute,
jetzt bin ich echt kein Programmierer und brauche bitte mal euere Hilfe - ich bin jetzt schon ne Weile an meinem Programmchen am Überlegen und komme nicht weiter. Ich möchte gerne über ne Fernbedienung zwei oder drei Programme starten. Habe den Code über den Monitor ausgelesen und das funktioniert tatsächlich. Auf Taste 1 wird Led rot und auf taste 2 Led grün. Für mich genial, für euch Profis.....
Aber jetzt die Frage : Taste 1 klappt, Taste 2 klappt aber ich komme nicht zurück auf Taste 1 ! Also ich kann nicht mehr wechseln, muss bestimmt im Loop liegen .....Wo ist bitte das Problem, ich hab soviel probiert. Über Hilfe würde ich mich sehr freuen. Smile vom micha

// versuch mit fernbedienung zwischen zwei programme zu schalten

#include <IRremote.h>

int IRpin = 11; // IR Sensor in
int ledrot = 3;
int ledgruen = 5;
//int ledblau = 6;
//int ledweiss = 9;
IRrecv irrecv(IRpin);
decode_results results;

void setup()
{
Serial.begin(9600);

irrecv.enableIRIn(); // uebertragung starten

pinMode (3, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (9, OUTPUT);
}

void loop()


{
if (irrecv.decode(&results))
{irrecv.resume(); // Nächsten Wert übergeben
}
switch(results.value)


{
case 16724175:
{digitalWrite (3, HIGH);}// Taste 1 druecken led rot an
break;


case 16718055:
{digitalWrite (5, HIGH);}// Taste 2 druecken led gruen an
break;

// und so weiter

}

}
Alle Beiträge dieses Benutzers finden
05.12.2015, 00:45
Beitrag #2
RE: IRremote bitte um Hilfe
Guckst du hier: http://www.arduinoforum.de/arduino-Threa...nbedienung

Die LED wechseln - LG
Alle Beiträge dieses Benutzers finden
05.12.2015, 00:53
Beitrag #3
RE: IRremote bitte um Hilfe
High Respun, danke ,dass du geantwortest hast, das verstehe ich nicht im Bezug auf mein Anliegen, kannst du mir da bitte helfen, welche Codezeile muss bitte wo hin. Ich verstehe das nicht so richtig. danke vom mica
Alle Beiträge dieses Benutzers finden
05.12.2015, 01:04
Beitrag #4
RE: IRremote bitte um Hilfe
(05.12.2015 00:53)deranderemichel schrieb:  High Respun, danke ,dass du geantwortest hast, das verstehe ich nicht im Bezug auf mein Anliegen, kannst du mir da bitte helfen, welche Codezeile muss bitte wo hin. Ich verstehe das nicht so richtig. danke vom mica

Durch die Betätigung der Taste 1 (Code anpassen) geht die LED rot ein. Bei betätigen der Taste 2 schaltet die rote aus und die grüne ein usw....
Die Verzögerung delay(500) ist nicht notwendig – benötige ich nur für meinen Antrieb.
LG

void loop() {
if (irrecv.decode(&results)) {

long int decCode = results.value;
Serial.println(decCode);
switch (results.value) {
case -522149283: // Code anpassen
Serial.println("LED rot");
digitalWrite(grün, LOW);
delay(500);
digitalWrite(rot, HIGH);
break;
case -522186003: // Code anpassen
Serial.println("LED grün");
digitalWrite(rot, LOW);
delay(500);
digitalWrite(grün, HIGH);
break;
usw...
Alle Beiträge dieses Benutzers finden
05.12.2015, 01:08 (Dieser Beitrag wurde zuletzt bearbeitet: 05.12.2015 01:10 von deranderemichel.)
Beitrag #5
RE: IRremote bitte um Hilfe
Hi Resputin,
das ist wirklich ganz super lieb von dir, vielen Dank ! Ich kann das erst morgen testen mir fallen echt die Augen zu war ein langer Tag. Ich melde mich morgen bei dir. Vielen Dank !!! SmileSmile

oh sorry schreib ich denen namen noch falsch... ich muss schlafen gehen Smile
Alle Beiträge dieses Benutzers finden
05.12.2015, 17:14 (Dieser Beitrag wurde zuletzt bearbeitet: 05.12.2015 21:59 von hotsystems.)
Beitrag #6
RE: IRremote bitte um Hilfe
Und der Befehl "irrecv.resume()" gehört ans Ende der IR-Auswertung.
Ok, es geht auch so, wie du es zeigst.

Die Aktivierung des Empfangs macht "irrecv.enableRin" im Setup oder in der Loop.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
09.12.2015, 16:43
Beitrag #7
RE: IRremote bitte um Hilfe
Hi Respun und hotsystems,
danke nochmal für eure Hilfe, ich habe weitergebastelt und möchte über die Fernbedienung verschiedene Lichtstimmungen steuern.Habe die Helligkeitskonstanten eingebaut und ich kann alles perfekt steuern. Hier ist dann mal der Code :
/*
* Verschiedene Lichtstimmungen mit der Fernbedienung abrufen
*
* Die Farben in der Helligkeit regeln können
*
* Später noch mit Zufallfaden
*/

#include <IRremote.h>

int RECV_PIN = 11;

int ledrot= 5;
int helligkeitrot = 200; //wie hell ist rot
int einblendenrot = 3;

int ledgruen = 3;
int helligkeitgruen = 1; //wie hell ist gruen
int einblendengruen = 3;

int ledblau = 6;
int helligkeitblau = 200; //wie hell ist blau
int einblendenblau = 3;

int ledweiss = 9;
int helligkeitweiss =150; // wie hell ist weiss
int einblendenweiss = 3;

int ledblitz = 10;
int helligkeitblitz = 1; //wie hell ist blitz
int einblendenblitz = 3;

long randOn = 0;
long randOff = 0;
int x;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(ledrot, OUTPUT);
pinMode(ledgruen, OUTPUT);
pinMode(ledblau, OUTPUT);
pinMode(ledweiss, OUTPUT);
pinMode(ledblitz, OUTPUT);
}

void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
irrecv.resume();
}
switch(results.value){

//sonne
case 16724175:

analogWrite (ledrot, helligkeitrot);
analogWrite (ledgruen, LOW);
analogWrite (ledblau, LOW);
analogWrite (ledweiss, helligkeitweiss);
analogWrite (ledblitz, LOW);
break;

//abend
case 16718055:
analogWrite (ledrot, LOW);
analogWrite (ledgruen, LOW);
analogWrite (ledblau, helligkeitblau);
analogWrite (ledweiss, helligkeitweiss);
analogWrite (ledblitz, LOW);
break;


//lightning
case 16584943:
analogWrite (ledrot, helligkeitrot);
analogWrite (ledgruen, LOW);
analogWrite (ledblau, helligkeitblau);
analogWrite (ledweiss, helligkeitweiss);
analogWrite (ledblitz, helligkeitblitz);

randOn = random (10, 200);
digitalWrite(ledblitz, HIGH);
delay(randOn);
digitalWrite(ledblitz, LOW);
delay(randOn);
digitalWrite(ledblitz, HIGH);
delay(randOn + randOn);
digitalWrite(ledblitz, LOW);

break;

}
}

Und das klappt super, aber leider nur mit festen Werten . Jetzt möchte ich aber noch z.B. das programm Sonne mit Led weiss und rot gegeneinander fadet, Und da wollte ich folgenden Code einsetzten:

void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}

void loop() {
analogWrite(led1, brightness1);
analogWrite(led2, brightness2);

fade(brightness1, fadeAmount1);
fade(brightness2, fadeAmount2);
}

void fade(int& brightness, int& fadeAmount) {

if (brightness <= (random(20,40) * 2) || brightness >= (random(110,120) * 2)) {
fadeAmount = -fadeAmount ;
}

brightness = brightness + fadeAmount;

if (brightness >= 200 && brightness <= 255) {
delay(100);
}
else {
delay(190);
}

}

und genau das klappt nicht, irgendwelche Klammern stimmen nicht Fehlermeldung hin und her....
Habt ihr bitte eine Idee oder Tip oder anderen Random Fade _ ich werd echt irre und probiere mir den Wolf... und versteh es halt nicht.
Das Random Programm läauft sonst super aber nicht in Verbindung mit CASE.
Ich danke euch ganz arg vom micha aus kölle
Alle Beiträge dieses Benutzers finden
09.12.2015, 16:57 (Dieser Beitrag wurde zuletzt bearbeitet: 09.12.2015 17:01 von Hilgi.)
Beitrag #8
RE: IRremote bitte um Hilfe
moin,


Code:
void setup()
    {
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    }


void loop()
    {
    analogWrite(led1, brightness1);
    analogWrite(led2, brightness2);

    fade(brightness1, fadeAmount1);
    fade(brightness2, fadeAmount2);
    }


void fade(int& brightness, int& fadeAmount)
    {
    if (brightness <= (random(20,40) * 2) || brightness >= (random(110,120) * 2))
        {
        fadeAmount = -fadeAmount ;
        brightness = brightness + fadeAmount;

        if (brightness >= 200 && brightness <= 255)
            {
            delay(100);
            }
        else
            {
            delay(190);
            }
        }
    }


gruss

ahja, wäre natürlich für dich und andere hilfreich, was wo wann wie passieren soll, ein zu tragen
beispiel:

Code:
for(i = 0; i > 10; i++)         //Zählschleife zum.... bla

ich weiss momentan zb nicht wie du dein code genau vercshachteln möchtest.

die aktuellen klammern sind semantisch korrekt, aber logikfehler erkennt der compiler nicht Wink

gruss

Nicht denken,...
...nachdenken... Rolleyes
Alle Beiträge dieses Benutzers finden
Thema geschlossen 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Prüfung eines Drucksensors mit Hilfe des Arduino r4c3 17 1.964 10.11.2017 22:24
Letzter Beitrag: r4c3
  Suche Hilfe für den Fehler in der Datei Holzwurm56 5 385 01.11.2017 14:26
Letzter Beitrag: Holzwurm56
  Hilfe bei Einschaltverzögerung gesucht Ingo 9 663 28.10.2017 19:04
Letzter Beitrag: Tommy56
  Wie wird bitte der Pin EN am HC05 gesetzt ? comfan 3 314 26.09.2017 16:34
Letzter Beitrag: Alfrede
Photo Hilfe bei meinem Arduino Projekt Niklas 10 573 23.09.2017 21:05
Letzter Beitrag: Niklas
  Ublox Neo 6M und Nextion ! Bitte um Hilfe. b3ta 19 1.430 13.07.2017 14:52
Letzter Beitrag: Tommy56
  Anfänger sucht erfahrene Hilfe Customizer 21 1.648 11.07.2017 21:37
Letzter Beitrag: Customizer
  eine einfache Xor Bitte ? himbeersirup 1 406 08.06.2017 09:15
Letzter Beitrag: MicroBahner
  bitte, was ist "link GND" bergfrei 2 442 21.05.2017 15:14
Letzter Beitrag: bergfrei
  Bitte um Hilfe Arduino Nano-MAX7219-PIR_Sensor Opa_Klaus 35 2.517 20.05.2017 21:11
Letzter Beitrag: Opa_Klaus

Gehe zu:


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