Ciao a tutti. Sto cercando di costruire una macchina telecomandata con Arduino, un sensore IR, un L293D e un telecomando della TV. Per farlo ho seguito un tutorial che linko qui:
Il sensore IR è il seguente:
Noterete che il sensore che ho usato non è il TSOP ma il VS1838B, ho quindi invertito i collegamenti dei pin del tutorial per adeguarli ai pin del mio sensore. Ma questo non è il problema.
Scrivendo il codice e aggiungendo i numeri esadecimali dei pulsanti del mio telecomando, ricevo un messaggio di errore.
Vi copio qui il codice:
/*Arduino code for ir remote control car using the TSOP1738 ir sensor.
* Decode the button code, match and move robot according to button hex value.
* For deocoding the hex values we use IRremote: IRrecvDemo.ino sketch from
* https://www.pjrc.com/teensy/td_libs_IRremote.html.
* By www.maxphi.com
*/
#include <IRremote.h>
#include "pins_arduino.h"
int RECV_PIN = 3;//Pin should be PWM
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
irrecv.enableIRIn(); // Start the receiver
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
switch(results.value)
{
case 9986485A: //Serial.println("Forward"); // Button 2
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
break;
case 4EBA0422: //Serial.println("Left"); // Button 4
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
break;
case 1C6A919C: //Serial.println("Stop"); // Button 5
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
break;
case 0x1FE708F: //Serial.println("Left"); // Button 6
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
break;
case 5EA08104: //Serial.println("Right"); // Button 8
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
break;
}
irrecv.resume(); // Receive the next value
}
}
E qui l'errore:
Arduino:1.8.1 (Windows 10), Scheda:"Arduino/Genuino Uno"
ArduinoCar:34: error: exponent has no digits
case 4EBA0422: //Serial.println("Left"); // Button 4
^
ArduinoCar:52: error: exponent has no digits
case 5EA08104: //Serial.println("Right"); // Button 8
^
C:\Users\crist\Documents\Arduino\libraries\ArduinoCar\ArduinoCar.ino: In function 'void loop()':
ArduinoCar:28: error: unable to find numeric literal operator 'operator""A'
case 9986485A: //Serial.println("Forward"); // Button 2
^
ArduinoCar:40: error: unable to find numeric literal operator 'operator""C6A919C'
case 1C6A919C: //Serial.println("Stop"); // Button 5
^
Più di una libreria trovata per "IRremote.h"
Usata: C:\Users\crist\Documents\Arduino\libraries\IRremote
Non usata: C:\Users\crist\Documents\Arduino\libraries\Arduino-IRremote-master
exit status 1
exponent has no digits
Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"
Qualcuno potrebbe aiutare a capire quale e come risolvere il problema nel codice?
Grazie in anticipo.