22-01-2022, 04:26 AM
lo que pasa es que estoy tratando de simular un control para pc para poder jugar al guitar hero con una guitarra que no tiene receptor inalambrico y estoy remapeando todos mis botones y el potenciometro para hacerlo andar, tengo el mismo problema... dejare el codigo aqui esperando no hacer espam
#include <Joystick.h>
#define BOTON_1 2
#define BOTON_2 3
#define BOTON_3 4
#define BOTON_4 5
#define BOTON_5 7
#define BOTON_6 8
#define BOTON_7 9
#define BOTON_8 14
#define BOTON_9 10
Joystick_ Joystick;
void setup()
{
pinMode(BOTON_1, INPUT_PULLUP);
pinMode(BOTON_2, INPUT_PULLUP);
pinMode(BOTON_3, INPUT_PULLUP);
pinMode(BOTON_4, INPUT_PULLUP);
pinMode(BOTON_5, INPUT_PULLUP);
pinMode(BOTON_6, INPUT_PULLUP);
pinMode(BOTON_7, INPUT_PULLUP);
pinMode(BOTON_8, INPUT_PULLUP);
pinMode(BOTON_9, INPUT_PULLUP);
Joystick.begin();
Joystick.setXAxisRange(1023, 0);
}
void loop() {
Joystick.setXAxis(analogRead(A2));
if (digitalRead(BOTON_1) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_2) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_3) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_4) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_5) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_6) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_7) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_8) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_9) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
delay(3);
}
este es todo el codigo que utilizo, ya probe con otra libreria para simular un teclado e incluso baje la libreria para arduino y asi poder simular un joystick pero me sale el siguiente mensaje de error y no puedo entender de que se trata. de verdad les agradeceria si pudieran ayudarme a disipar mi duda, es la primera vez que hago esto y no estoy familiarizado con arduino, solo me base en un tutorial de internet, adjunto el link de el video al final.
C:\Users\Badu\AppData\Local\Temp\ccz6DG20.ltrans0.ltrans.o: In function `Joystick_:endState() [clone .constprop.19]':
C:\Users\Badu\Documents\Arduino\libraries\src/Joystick.cpp:677: undefined reference to `DynamicHID()'
C:\Users\Badu\Documents\Arduino\libraries\src/Joystick.cpp:677: undefined reference to `DynamicHID_::SendReport(unsigned char, void const*, int)'
C:\Users\Badu\AppData\Local\Temp\ccz6DG20.ltrans0.ltrans.o: In function `global constructors keyed to 65535_0_joystick.ino.cpp.o.2176':
<artificial>.text.startup+0x3de): undefined reference to `DynamicHID()'
<artificial>.text.startup+0x3e4): undefined reference to `DynamicHID_::AppendDescriptor(DynamicHIDSubDescriptor*)'
collect2.exe: error: ld returned 1 exit status
exit status 1
@link del video: https://www.youtube.com/watch?v=NmOefV36RY0 @
Error compilando para la tarjeta SparkFun Pro Micro.
#include <Joystick.h>
#define BOTON_1 2
#define BOTON_2 3
#define BOTON_3 4
#define BOTON_4 5
#define BOTON_5 7
#define BOTON_6 8
#define BOTON_7 9
#define BOTON_8 14
#define BOTON_9 10
Joystick_ Joystick;
void setup()
{
pinMode(BOTON_1, INPUT_PULLUP);
pinMode(BOTON_2, INPUT_PULLUP);
pinMode(BOTON_3, INPUT_PULLUP);
pinMode(BOTON_4, INPUT_PULLUP);
pinMode(BOTON_5, INPUT_PULLUP);
pinMode(BOTON_6, INPUT_PULLUP);
pinMode(BOTON_7, INPUT_PULLUP);
pinMode(BOTON_8, INPUT_PULLUP);
pinMode(BOTON_9, INPUT_PULLUP);
Joystick.begin();
Joystick.setXAxisRange(1023, 0);
}
void loop() {
Joystick.setXAxis(analogRead(A2));
if (digitalRead(BOTON_1) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_2) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_3) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_4) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_5) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_6) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_7) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_8) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
if (digitalRead(BOTON_9) == LOW)
{
Joystick.setButton(0, 1);
}
else
{
Joystick.setButton(0, 0);
}
delay(3);
}
este es todo el codigo que utilizo, ya probe con otra libreria para simular un teclado e incluso baje la libreria para arduino y asi poder simular un joystick pero me sale el siguiente mensaje de error y no puedo entender de que se trata. de verdad les agradeceria si pudieran ayudarme a disipar mi duda, es la primera vez que hago esto y no estoy familiarizado con arduino, solo me base en un tutorial de internet, adjunto el link de el video al final.
C:\Users\Badu\AppData\Local\Temp\ccz6DG20.ltrans0.ltrans.o: In function `Joystick_:endState() [clone .constprop.19]':
C:\Users\Badu\Documents\Arduino\libraries\src/Joystick.cpp:677: undefined reference to `DynamicHID()'
C:\Users\Badu\Documents\Arduino\libraries\src/Joystick.cpp:677: undefined reference to `DynamicHID_::SendReport(unsigned char, void const*, int)'
C:\Users\Badu\AppData\Local\Temp\ccz6DG20.ltrans0.ltrans.o: In function `global constructors keyed to 65535_0_joystick.ino.cpp.o.2176':
<artificial>.text.startup+0x3de): undefined reference to `DynamicHID()'
<artificial>.text.startup+0x3e4): undefined reference to `DynamicHID_::AppendDescriptor(DynamicHIDSubDescriptor*)'
collect2.exe: error: ld returned 1 exit status
exit status 1
@link del video: https://www.youtube.com/watch?v=NmOefV36RY0 @
Error compilando para la tarjeta SparkFun Pro Micro.