Robot IR remote
3 berichten
• Pagina 1 van 1
Robot IR remote
Hoi,
Ik ben bezig met mijn robot maar nu wil ik hem bestuurbaar maken met infra-rood.
Ik blijf de zelfde foutmelding krijgen:
Robot1:98: error: 'C796DFC' was not declared in this scope
if (results.value == C796DFC || results.value == B10C7C8B) {
^
Robot1:98: error: 'B10C7C8B' was not declared in this scope
if (results.value == C796DFC || results.value == B10C7C8B) {
^
Robot1:100: error: 'DB510F56' was not declared in this scope
} else if (results.value == DB510F56) {
^
exit status 1
'C796DFC' was not declared in this scope.
Dit is mijn Code:
Ik wil dus dat hij vooruitgaat bij de ene knop en bij de ander achteruit. Ja deze values horen bij deze afstandsbediening.
Ik ben bezig met mijn robot maar nu wil ik hem bestuurbaar maken met infra-rood.
Ik blijf de zelfde foutmelding krijgen:
Robot1:98: error: 'C796DFC' was not declared in this scope
if (results.value == C796DFC || results.value == B10C7C8B) {
^
Robot1:98: error: 'B10C7C8B' was not declared in this scope
if (results.value == C796DFC || results.value == B10C7C8B) {
^
Robot1:100: error: 'DB510F56' was not declared in this scope
} else if (results.value == DB510F56) {
^
exit status 1
'C796DFC' was not declared in this scope.
Dit is mijn Code:
- Code: Alles selecteren
long duration, distance;
#define Green 24
#define Red 25
#define trigPin 22
#define echoPin 23
#include <AFMotor.h>
#include <IRremote.h>
int IRpin = 44;
IRrecv irrecv(IRpin);
decode_results results;
AF_DCMotor motorR(1);
AF_DCMotor motorL(2);
void setup() {
irrecv.enableIRIn();
Serial.begin(9600);
motorR.setSpeed(100);
motorL.setSpeed(100);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(Green, OUTPUT);
pinMode(Red, OUTPUT);
}
void loop() {
manual_mode();
}
void Forward() {
motorR.run(FORWARD);
motorL.run(FORWARD);
}
void Backward() {
motorR.run(BACKWARD);
motorL.run(BACKWARD);
delay(250);
}
void Right() {
motorL.run(BACKWARD);
motorR.run(FORWARD);
delay(375);
}
void Left() {
motorL.run(FORWARD);
motorR.run(BACKWARD);
delay(375);
}
void Brake() {
motorR.run(BRAKE);
motorL.run(BRAKE);
delay(100);
}
void auto_mode() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
if (distance <= 25) {
Brake();
digitalWrite(Green, LOW);
digitalWrite(Red, HIGH);
Backward();
Brake();
Right();
}
else {
digitalWrite(Red, LOW);
digitalWrite(Green, HIGH);
Forward();
}
}
void manual_mode() {
if (irrecv.decode(&results)) {
Serial.print("irCode: ");
Serial.print(results.value, HEX);
Serial.print(", bits: ");
Serial.println(results.bits);
irrecv.resume();
}
delay(100);
if (results.value == C796DFC || results.value == B10C7C8B) {
Forward();
} else if (results.value == DB510F56) {
Backward();
}
else {
Brake();
}
}
Ik wil dus dat hij vooruitgaat bij de ene knop en bij de ander achteruit. Ja deze values horen bij deze afstandsbediening.
Advertisement
Re: Robot IR remote
Er zijn verschillende "IRremote" libraries. Welke je gebruik je ? Met welk Arduino board ?
De compiler geeft zelf al aan dat bijvoorbeeld "C796DFC" iets onbekends is. De compiler weet niet wat het is.
De "results.value" zal een 32 bits unsigned long integer zijn, en die "C796DFC" zal een hexadecimale notatie zijn ?
Je kunt een hexadecimaal getal schrijven op deze manier:
Lees dit maar eens door : https://www.arduino.cc/en/Reference/IntegerConstants.
De compiler geeft zelf al aan dat bijvoorbeeld "C796DFC" iets onbekends is. De compiler weet niet wat het is.
De "results.value" zal een 32 bits unsigned long integer zijn, en die "C796DFC" zal een hexadecimale notatie zijn ?
Je kunt een hexadecimaal getal schrijven op deze manier:
- Code: Alles selecteren
0x0C796DFC
0xB10C7C8B
0xDB510F56
Lees dit maar eens door : https://www.arduino.cc/en/Reference/IntegerConstants.
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Google [Bot], ulonuxuma en 27 gasten