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
Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen
14.10.2016, 20:39 (Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2016 20:53 von ardu_arne.)
Beitrag #1
Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen
Guten Abend zusammen,

ich wende mich hier im Forum zum ersten mal an die Community und hoffe ihr könnt mir helfen.
Mittlerweile habe ich etliche Stunden damit verbracht meinen Arduino Uno Code ans laufen zu bringen, leider vergebens.

Mein Projekt: RGB-LED Streifen angesteuert über Musik Spectrum Analyse mit dem MSGEQ7 Chip.

Funktion 1: Weißlicht- AN/AUS
Funktion 2: MSGEQ7 - AN/AUS
Steuerung über IR-Remote via Tastendruck

Der Code für "Funktion 1" klappt über die Remote. Allerdings "Funktion 2" bekomme ich nicht über die Remote gesteuert bzw beide Funktionen zusammen in den Code zu verpacken.....

Meine Programmier Kenntnisse sind noch auf Anfängerniveau und ich Hoffe ihr könnt mir ein paar Tipps geben um zu Lösung zu kommen.

hier beiden meine Codes:

Funktion 1:
Code:
#include <IRremote.h>
int bright;
int before;
int ledPinR = 10;
int ledPinG = 9;
int ledPinB = 11;

int RECV_PIN = 3; //data out of IR receiver connects to pin 11

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup(){
  irrecv.enableIRIn(); // start the receiver
  before=0; //LED is turned off
  pinMode(ledPinR,OUTPUT);
  pinMode(ledPinG,OUTPUT);
  pinMode(ledPinB,OUTPUT);

  
}

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

  if (results.value==0xFFA25D){ //Code to turn the LED ON/OFF- taste
    if(before==0){ // if the LED was turned off, then we turn it on
      digitalWrite(ledPinR,HIGH);
      digitalWrite(ledPinG,HIGH);
      digitalWrite(ledPinB,HIGH);
    
      
      before=1; //LED is now turned on
    }
    else{
      digitalWrite(ledPinR,LOW);
      digitalWrite(ledPinG,LOW);
      digitalWrite(ledPinB,LOW);
      ;
      //if the LED was turned on, then we turn it off
      before=0;
      bright=255;
  
  }}
  
  irrecv.resume();
}}

Funktion 2:
Code:
int analogPin = 0;    
int strobePin = 5;    
int resetPin = 6;    
int ledPinR = 9;      
int ledPinG = 10;    
int ledPinB = 11;    
int spectrumValue[7];
int filter = 260;    
void setup() {

  Serial.begin(9600);        
  pinMode(analogPin, INPUT);  
  pinMode(strobePin, OUTPUT);
  pinMode(resetPin, OUTPUT);  
  pinMode(ledPinR, OUTPUT);    
  pinMode(ledPinB, OUTPUT);  
  pinMode(ledPinG, OUTPUT);  
  digitalWrite(resetPin, LOW);
  digitalWrite(strobePin, HIGH);
}

void loop() {

  digitalWrite(resetPin, HIGH);
  digitalWrite(resetPin, LOW);              
  for (int i = 0; i < 7; i++) {            
    digitalWrite(strobePin, LOW);          
    delayMicroseconds(30);                  
    spectrumValue = analogRead(analogPin);
    if (spectrumValue < filter) {
      spectrumValue = 0;  
    }
    spectrumValue = map(spectrumValue, 0, 750, 0, 255);
    digitalWrite(strobePin, HIGH);          

    Serial.print(spectrumValue);
    Serial.print(" ");
  }

  int redvalue = (spectrumValue[0] + spectrumValue[1] + spectrumValue[2]);
  int greenvalue = (spectrumValue[3] + spectrumValue[4]);  
  int bluevalue = (spectrumValue[5] + spectrumValue[6]);      

  if (redvalue > 255)    
  {
    redvalue = 255;    
  }
  if (greenvalue > 255)
  {
    greenvalue = 255;
  }
  if (bluevalue > 255)
  {
    bluevalue = 255;
  }
  
  Serial.print(redvalue);
  Serial.print(" ");
  Serial.print(greenvalue);
  Serial.print(" ");
  Serial.print(bluevalue);
  Serial.println();
  
  analogWrite(ledPinR, redvalue);    
  analogWrite(ledPinG, greenvalue);
  analogWrite(ledPinB, bluevalue);
}
Edit: Codebereich formatiert
Gruß Arne
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.10.2016, 21:40
Beitrag #2
RE: Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen
Du musst die Definitionen und den Setup-Inhalt des 2. Sketches in den ersten Sketch übernehmen.

Es dürfen aber keine doppelten Variablennamen und Anweisungen vorhanden sein.

Die Loop des 2. Sketches packst du in eine Funktion (eigenerName()Wink, kopierst diese ans Ende des 1. Sketch und startest diese aus der if-Anweisung mit dem 2. IR-Code deiner Wahl.

Das mal grundlegend zu deinem Problem.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Motor Steuerung durch Sensoren Werte Zerebrator 14 377 12.06.2017 14:36
Letzter Beitrag: Franz54
  LED-RGB Steuerung mit IR-Fernbedienung Royal-mit-Käse 59 1.993 29.05.2017 22:00
Letzter Beitrag: Royal-mit-Käse
  Bitte um Hilfe Arduino Nano-MAX7219-PIR_Sensor Opa_Klaus 35 1.122 20.05.2017 21:11
Letzter Beitrag: Opa_Klaus
  Brauche Hilfe für meine Abfüllanlage/ millis() Slash96 8 402 10.05.2017 21:04
Letzter Beitrag: MicroBahner
Question Problem beim Hochladen auf AtTiny45. Hilfe -.- Jonas Lindenblatt 17 925 16.04.2017 12:58
Letzter Beitrag: Jonas Lindenblatt
  Zeitschaltuhr Hilfe für RTC Anfänger 4Jordy 4 286 24.03.2017 15:23
Letzter Beitrag: MicroBahner
  Infrarot zu RS232 für Steuerung DG0JG 71 2.076 13.03.2017 19:15
Letzter Beitrag: Tommy56
  Hilfe bei Taster huber5093 11 483 14.02.2017 19:26
Letzter Beitrag: Tommy56
  IR Remote LED Blink TEAMHORIZON 2 229 14.01.2017 18:36
Letzter Beitrag: TEAMHORIZON
  Infrarot zu RS232 für Steuerung DG0JG 2 238 08.01.2017 23:58
Letzter Beitrag: DG0JG

Gehe zu:


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