Motor ansteuern mit IR Fernbedienung Arduino?
Hallo,
ich habe ein Problem. Wenn ich bei auf meiner Fernbedienung "Oben" klicke würd im Serial Monitor die richtigen Daten ausgegeben aber der Motor geht nicht an. Das ist der Script:
#include <AFMotor.h>
#include <IRremote.h>
#define Oben 0x18
#define Unten 0x52
#define Links 0x8
#define Rechts 0x5A
#define Stopp 0x1C
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);
}
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
if (IrReceiver.decodedIRData.decodedRawData == Stopp) {
motor.setSpeed(0);
motor.run(RELEASE);
}
IrReceiver.resume();
}}
// COMMANDS:
//Oben: 0x18
//Unten:0x52
//Links:0x8
//Rechts: 0x5A
//Stopp: 0x1C
1 Antwort
![](https://images.gutefrage.net/media/user/Ginpanse/1715585358313_nmmslarge__0_0_773_772_07dcf7bf365d667c5622cff8de21ebd0.jpg?v=1715585358000)
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
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Nils119
08.07.2024, 20:36
Beitragsersteller
2
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
@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
}
}