No aspetta questa è in altra scheda sullo schema che ti ho mandato io non riesco proprio a capire quali sono i tasti analogici e quali sono quelli digitali
Guarda per adesso ho provato solo a vedere se compila e se la periferica viene riconosciuta correttamente. E' un po' tardi per mettermi anche a cablare il joystick, se riesco lo provo domani.
Se prendi la ESP32-C3 super mini, tieni conto che non va in download mode in modo automatico come sei abituato con Arduino e che quindi per programmarla è necessario premere il pulsante reset mentre si tiene premuto il pulsante boot.
No, come ti ho detto prima devi usare 3.3V come tensione di lavoro.
A ok va be tanto è un tasto analogico 3.3 c’è la dovrebbe fare senza problemi. Non ho capito questa cosa di premere i due tasti insieme non riesci a farmi un video se ti è possibile ovviamente non voglio assolutamente romperti più da quanto stia facendo m. Grazie
Io non ho scritto che devi premere i tasti insieme
Tieni premuto il tasto "boot" e poi fai un reset della MCU usando il tasto "reset"... è più difficile da spiegare che da fare.
Comunque sono riuscito a provare anche l'esempio della libreria con l'asse X e Y e ti confermo che funziona senza problemi.
#include <Arduino.h>
#include <BleGamepad.h>
BleGamepad bleGamepad;
const int potPin1 = 2; // Potentiometer is connected to GPIO 34 (Analog ADC1_CH6)
const int potPin2 = 3; // Potentiometer is connected to GPIO 34 (Analog ADC1_CH6)
const int numberOfPotSamples = 5; // Number of pot samples to take (to smooth the values)
const int delayBetweenSamples = 4; // Delay in milliseconds between pot samples
const int delayBetweenHIDReports = 5; // Additional delay in milliseconds between HID reports
void setup() {
Serial.begin(115200);
Serial.println("Starting BLE work!");
bleGamepad.begin();
}
void loop() {
if (bleGamepad.isConnected()) {
int potValuesX[numberOfPotSamples]; // Array to store pot readings
int potValueX = 0; // Variable to store calculated pot reading average
int potValuesY[numberOfPotSamples]; // Array to store pot readings
int potValueY = 0; // Variable to store calculated pot reading average
// Populate readings
for (int i = 0; i < numberOfPotSamples; i++) {
potValuesX[i] = analogRead(potPin1);
potValueX += potValuesX[i];
potValuesY[i] = analogRead(potPin2);
potValueY += potValuesY[i];
delay(delayBetweenSamples);
}
// Calculate the average
potValueX = potValueX / numberOfPotSamples;
potValueY = potValueY / numberOfPotSamples;
// Map analog reading from 0 ~ 4095 to 32737 ~ 0 for use as an axis reading
int xVal = map(potValueX, 0, 4095, 32737, 0);
int yVal = map(potValueY, 0, 4095, 32737, 0);
// Update X axis and auto-send report
bleGamepad.setX(xVal);
bleGamepad.setY(yVal);
delay(delayBetweenHIDReports);
}
}
Si ma tranquillo già stai facendo tanto l’importante è che prendo una scheda che mi fa fare ciò che voglio senza che mi risuccede che il pc non riconosce la periferica poi come mettere le righe di programmazione in arduino non dovrei assolutamente trovare problemi. Infatti io ordino questa scheda così sono sicuro che mi arriva per lunedì tanto la cosa che mi fregava era l’usb nativo che qui c’è. Grazie mille amico mio tienimi aggiornato comunque se riesci a farlo funzionare così sto super tranquillo che ci si riesce con questa scheda
Sì sì ma questo in arduino mi funzionava senza problemi il mio ed unico problema che potresti controllare già da subito è nel momento in cui carichi lo sketch L’analogico una volta tolto e rimesso deve essere letto come periferica di gioco. Se ti fa questo apposto abbiamo risolto se non te lo fa fare sto sempre bloccato sullo stesso punto
Non credo di aver capito cosa intendi...
Ad ogni modo l'esempio in questione configura l'ESP32 per essere visto dal PC come un gamepad BLE (che non è altro che un dispositivo HID - Human Interface Devices specializzato) in modo analogo a quello che succede con i controller commerciali.
Come vedi dallo screenshot del mio PC ci sono due game controller: quello della Xbox e quello appena creato con l'ESP32 e sono del tutto equivalenti dal punto di vista del computer.
Siiiiii esattooooo questo intendevoooo tu sei un grandeee vedi a te il pc ti riconosce la periferica a me non lo faceva. Ascolta quindi basta che inserisco quello script che mi hai scritto prima in arduino caricare lo sketch e poi basta finito?? Da lì in poi L’analogico viene letto dal pc come controller??
Posso chiederti solo una foto se ti è possibile dei collegamenti come li hai fatti così ho tutto sotto mano e spero e credo che non ti romperò più. Grazie infinitamente tanto veramente
Lo sketch che ti ho copia/incollato non è nient'altro che l'esempio incluso nella libreria adattato con i pin corretti.
E' però soltanto relativo alla parte analogica del joystick e manca la gestione del pulsante.
Se apri gli altri esempi della libreria come ad esempio SingleButton.ino puoi vedere come aggiungere il pulsante cosa che è piuttosto banale.
Quindi il consiglio è quello di prendere confidenza sia con l'ambiente ESP32 che con il BLE e la libreria in questione che semplifica moltissimo la definizione di una periferica HID.
Apri gli esempi, provali e cerca di capire come usare la libreria secondo i tuoi scopi; quando hai dubbi, noi siamo qui.
Buonasera Cotestatnt. Ho preso la scheda. Sto peggio di prima non riesco nemmeno a programmarla qualsiasi cosa faccio mi da errori su errori. Ti giuro non so piu cosa fare se vuoi passami un iban un conto quello che vuoi me la puoi settare tu? io sto impazzendo non posso ristare 14 ore buttato qui senza risolvere nulla.
Dopo che hai installato il core devi installare le due librerie necessarie per compilare lo sketch (la seconda è una dipendenza della prima).
Solo a questo punto puoi provare a compilare e se hai fatto tutto come va fatto vedrai che non ti da nessun errore.
Come scheda tra le tante che troverai, puoi selezionare Lolin C3 Mini
Sono sincero ciò che mi hai passato è come se fosse arabo non ci capisco nulla non so come cambiare le cose in modo tale da farlo funzionare se ti mando le foto di come ho cablato i fili non potresti gentilmente darmi lo sketch pronto all'uso? io non riesco proprio non è ne cattiveria ne pigrizia ti giuro su dio che non sono minimamente capace sono giorni che sto qui buttato.
ho cablato come mi hai detto tu i 5V li ho messi su 3,3 la terra sulla terra le due assi X su 01 e Y su 1 infine il tasto digitale SW l'ho messo su 7
mi manca solo lo sketch per farlo funzionare.
è tutto messo perfetto in arduino ho selezionato la porta giusta e la scheda giusta.
Da quello che ho capito mi serve uno sketch che comprenda il movimento del joystick e che in piu abbia il bluethoot. Stop finito.
NO, forse non hai letto bene il REGOLAMENTO, punto 16.1 ...
... quindi, ti prendi i pdf che in tale punto sono indicati, eventualmente ti compri il libro che è suggerito, ti metti a studiare e poi vedrai che ti sarà tutto più chiaro e riuscirai TU a fare quanto richiesto.
Alternativamente ... puoi sempre chiedere, qui sul forum, una collaborazione a pagamento ... se qualcuno è interessato ti dirà quanto costa e poi a te decidere.
Tutte le indicazioni che dovevi avere le hai avute, la discussione viene chiusa.
Se qualcuno è interessato e desidera collaborare a "pagamento" con "dannik" lo contatti via MP (basta fare click sul suo nickname e selezionare il bottone "Message") per prendere gli accordi del caso.