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
http://capsicum-felicitas.de.tl
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 117 14.10.2016 21:40
Letzter Beitrag: hotsystems
Sad Ich brauche Hilfe Prosac 4 230 09.10.2016 18:39
Letzter Beitrag: Prosac
  at24c256 Hilfe Gandalf 6 247 29.08.2016 18:59
Letzter Beitrag: MKc
Smile Progammier Neuling Codeschloss bittet um Hilfe Donalonso 2 284 27.08.2016 18:23
Letzter Beitrag: Binatone
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 447 22.08.2016 08:07
Letzter Beitrag: b3ta
  Hilfe: Mega2560 - ENC 28J60 - MYSQL Gandalf 1 178 28.07.2016 16:30
Letzter Beitrag: Gandalf
  Selbstfahrender Roboter Programm änderung hilfe ? arekklone 11 537 06.07.2016 14:59
Letzter Beitrag: Binatone
  Hilfe beim Arduino Shield reimundko 6 453 05.06.2016 11:28
Letzter Beitrag: rpt007
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 526 23.04.2016 10:26
Letzter Beitrag: rkuehle
  Wo finde ich bitte die LIB USBHOST ? arduinopeter 6 498 24.03.2016 16:53
Letzter Beitrag: arduinopeter

Gehe zu:


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