Motor ansteuern mit IR Fernbedienung Arduino?

1 Antwort

kann auch nicht funktionieren. schau dir nochmal an was variablen sind und welche typen es gibt. außerdem gehört ein string in anführungszeichen.

frag halt die hexadezimalen werte ab.

Woher ich das weiß:Berufserfahrung – Backend Developer

Nils119 
Beitragsersteller
 08.07.2024, 20:36
Ok habe es jetzt so aber es geht immer noch nicht:#include <AFMotor.h>
#include <IRremote.h>

#define Oben 0xE718FF00
#define Unten 0xAD52FF00
#define Links 0xF708FF00
#define Rechts 0xA55AFF00
#define Stopp 0xE31CFF00

AF_DCMotor motor (1);

int IR = 2;
void setup() {
 Serial.begin(9600);
 IrReceiver.begin(IR, DISABLE_LED_FEEDBACK);

}

void loop() {
  if (IrReceiver.decode()) {
    Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);

if (IrReceiver.decodedIRData.decodedRawData == Oben){ 
motor.setSpeed(200);
motor.run(FORWARD);
IrReceiver.resume();
}

Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
if (IrReceiver.decodedIRData.decodedRawData == Stopp) { 
motor.setSpeed(0);
motor.run(RELEASE);
IrReceiver.resume();

 }} }
0
Ginpanse  08.07.2024, 20:48
@Nils119

kanns auch nicht.. lies meine antwort nochmal und lerne was variablen und ihre typen sind.

0
Nils119 
Beitragsersteller
 08.07.2024, 21:49
@Ginpanse

Ok ich habe es jetzt Überarbeitet dabei wird jetzt wenn ich die Taste klicke, im Serial Monitor `Hoch` ausgegeben aber der Motor startet nicht woran liegt da?

#include <AFMotor.h>
#include <Arduino.h>
#include <IRremote.hpp>

const int IR_RECEIVE_PIN = 2;
AF_DCMotor motor(1);

void setup()
{
  Serial.begin(9600);
  IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); // Start the receiver
  Serial.println("Setup complete. Waiting for IR signals...");
}

void loop()
{
  if (IrReceiver.decode())
  {
    unsigned long irCode = IrReceiver.decodedIRData.decodedRawData;
    Serial.print("IR Code Received: ");
    Serial.println(irCode, HEX);
    IrReceiver.printIRResultShort(&Serial);

    switch (irCode)
    {
      case 0xE718FF00: // Keypad button "5"
        Serial.println("Hoch");
        motor.setSpeed(200);
        motor.run(FORWARD);
        delay(2000); // Let the motor run for 2 seconds for testing
        motor.run(RELEASE); // Stop the motor
        break;
      default:
        Serial.println("Unknown command");
        break;
    }

    IrReceiver.resume(); // Enable receiving of the next value
  }

 

}

0