2 Codes zusammenführen

Eines Vorneweg, bin noch Neuling...

Ich habe einen Code erstellt (noch Grundgerüst) den ich weiter ausbauen möchte. Er soll hinterher zur bedienung einer 3 Achsen geführten Kamera dienen.

Funktionsweise bisher:
Es sind 5 Modus wählbär (nur per Konsole derzeit), diese werden in einem LCD und per LED angezeigt

Nun würde ich gerne eine Modusauswahl per IR einbauen. Der IR Empfänger funktioniert, und auch einen kleinen Sketch dafür der läuft habe ich. Nur das zusammenführen der beiden Sketches funktioniert nicht so recht.

Leider ist der Hauptcode zu groß um ihn direkt hier zu posten, deshalb als Dateianhang. Der funktionierende IR Sketch ist auch dabei.
Im Hauptcode sind die Objekte für den IR Empfang angelegt und die Variabeln auch schon.

Weis jemand wie ich diese beiden verschmelzen kann? Der IR Code müsste nicht groß abgeändert werden, das kann ich danach schon machen. Bisher wirft er nur die Tastenbeschriftung der Fernbedienung via serial.print aus. Wenn er das ganze auch noch machen würde sobald er im Hauptcode implementiert ist wäre ich glücklicher.

PS: Wenn jemand Grundlegende Probleme in meinem Code sieht, so darf er das mir gerne mitteilen. Bin konstruktiver Kritik gegenüber sehr offen.

Hauptcode.ino (16.2 KB)

Working_IR_Scetch.ino (2.6 KB)

Hallo,

woran hängt es denn?

das hier haste schon im Hauptcode, lässte weg

#include "IRremote.h"
int receiver = 12; // pin 1 of IR receiver to Arduino digital pin 12
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'

in setup fügste die Infoausgabe ein:

Serial.println("IR Receiver Raw Data + Button Decode Test");

In loop fügste Deine if Abfrage ein

if (irrecv.decode(&results)) // have we received an IR signal?
{

  • Serial.println(results.value, HEX);*
  • translateIR();*
  • irrecv.resume(); // receive the next value*
    *} *

und natürlich ans Ende nach loop im Sketch fügste Du Deine Funktion:

void translateIR() // takes action based on IR code received

ein.

Mal sehen was passiert ...

Hallo,
das muß in Deinen HauptSketch:
#include "IRremote.h"
int receiver = 12;
IRrecv irrecv(receiver);

decode_results results;
void setup()
{
irrecv.enableIRIn();
}
void loop()
{
if (irrecv.decode(&results))
{
irrecv.resume();
}
Serial.println(results.value, HEX);

if (results.value == 0x77E130B6)
{
mache was
{

}
Gruß und Spaß
Andreas