Salve , sto costruendo una leva spoiler per il simulatore di volo con un potenziometro e arduino leonardo, in pratica è una sorta di leva joystick con una
sola asse.
Allego foto.
Ho provato a compilare il codice con IDE ma non ne vengo fuori.
Mi potreste aiutare? ![]()
Grazie mille
Buonasera e benvenuto nella sezione Italiana del forum,
cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE (... quello che vedi in blu è un link, fai click su di esso per raggiungere la discussione) spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.
Grazie,
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. ![]()
Comincia ad allegare quello che hai scritto, usando il tag "< CODE />" che vedi in alto, dopo aver formattato il codice nell'IDE (Ctrl-T).
Ciao, Ale.
Ok grazie ci provo.
const int joystickPin = A0;
int joystickValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
joystickValue = analogRead(joystickPin);
Serial.print("Valore del joystick: ");
Serial.println(joystickValue);
delay(100);
}
Ok, il problema qual'è? Non compila? Non vengono fuorii risultati attesi?
Ciao, Ale.
Dallo sketch che hai postato è tutto fuorché un joystick.
Non fa altro che leggere un valore analogico e stamparlo sulla seriale, mentre per interfacciarlo con il simulatore di volo devi realizzare una periferica HID.
Dai un'occhiata a questa libreria:
No no l'IDE compila ma al termine dell'uploading mi da questi messaggi in rosso:
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices:
Device code: 0x44
Perfetto, adesso me lo riconosce come joystick anche windows, solo che se provo a muovere la leva non da segno di vita.
Andrea
Ma non puoi mettere del codice a caso in uno sketch e pensare che faccia quello che desideri...
Il codice di cui hai messo il printscreen (è sempre bene mettere il codice usando il tag e non come immagine) definisce un solo pulsante collegato al pin 9.
scusa rimedio subito.
#include <Joystick.h>
// Create the Joystick
Joystick_ Joystick;
// Constant that maps the physical pin to the joystick button.
const int pinToButtonMap = 9;
void setup() {
// Initialize Button Pins
pinMode(pinToButtonMap, INPUT_PULLUP);
// Initialize Joystick Library
Joystick.begin();
}
// Last state of the button
int lastButtonState = 0;
void loop() {
// Read pin values
int currentButtonState = !digitalRead(pinToButtonMap);
if (currentButtonState != lastButtonState) {
Joystick.setButton(0, currentButtonState);
lastButtonState = currentButtonState;
}
delay(50);
}
si io non ho nessun pulsante ma solo una leva con un unico asse.
perfetto ho scritto questo codice e adesso sembra funzionare:
#include <Joystick.h>
Joystick_ Joystick;
const int yAxisPin = A0;
int yValue = 0;
void setup() {
Joystick.begin();
}
void loop() {
yValue = analogRead(yAxisPin);
int mappedYValue = map(yValue, 0, 1023, -127, 127);
Joystick.setYAxis(mappedYValue);
delay(10);
}
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.

