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
  Schieberegister LED Steuerung zeitlich anpassen Noformat 15 187 Gestern 18:12
Letzter Beitrag: Noformat
  Prüfung eines Drucksensors mit Hilfe des Arduino r4c3 17 1.963 10.11.2017 22:24
Letzter Beitrag: r4c3
  Suche Hilfe für den Fehler in der Datei Holzwurm56 5 382 01.11.2017 14:26
Letzter Beitrag: Holzwurm56
  Hilfe bei Einschaltverzögerung gesucht Ingo 9 662 28.10.2017 19:04
Letzter Beitrag: Tommy56
  parallele Steuerung Thor Wallhall 4 270 25.09.2017 19:12
Letzter Beitrag: Tommy56
Photo Hilfe bei meinem Arduino Projekt Niklas 10 573 23.09.2017 21:05
Letzter Beitrag: Niklas
  Milight Openmili Steuerung gronph 25 6.633 22.08.2017 09:09
Letzter Beitrag: sn0000py
  Ublox Neo 6M und Nextion ! Bitte um Hilfe. b3ta 19 1.429 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
  Motor Steuerung durch Sensoren Werte Zerebrator 14 1.062 12.06.2017 14:36
Letzter Beitrag: Franz54

Gehe zu:


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