Pagina 84 di 95

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: mer ott 27, 2021 22:01
da sbinf74
Si Mario è come dici tu, però considera che utilizzare la scheda joy per collegare i fili non è il massimo in quanto per come è fatta avresti poi difficoltà ad inserirla in una scatola.
Io mi sono trovato bene con QUESTO CLONE ARDUINO che presenta i refori dove poter saldare i direttamente i fili, ti assicuro che viene un lavoro decisamente più pulito e affidabile.

In verità mi sto trovando molto bene con questo JOY che mi consentono inoltre di mettere i pulsanti che voglio
joy.jpg
Se interessa vi lascio l'STL del supporto che vedete in foto e che io incollo nella scatola dell'elettronica e che mi mantiene il joy alla giusta distanza dal coperchio

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: gio ott 28, 2021 05:58
da Mario312
Grazie Sbinf ora è tutto piu chiaro.Anche io avrei la possibilita di montare joy e pulsanti a parte e forse verrebbe un lavoro ancora migliore. Potresti dirmi dove vanno collegati i cavi del joy su arduino

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: gio ott 28, 2021 08:06
da sbinf74
Sono 5 fili da collegare per il joy e 3 sui pulsanti logicamente ai pulsanti devi portare anche il gnd (nè basta uno che ponticelli tra tutti)

il joy:

GND
5V
AsseX su A0
AsseY su A1
Pulsante sotto al joy su 8

i pulsanti liberi:

ESC su 6
SELECT su 4
RESET su 5

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: gio ott 28, 2021 08:38
da claudio63
personalmente ho trovato piu comodo tagliare i piedini, e saldare tutto su arduino. l 'ho trovato piu comodo perche ho posizionato con piu agevolezza il joistik sul pannello e poi infilato sopra arduino gia cablato.

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: gio ott 28, 2021 12:09
da Mario312
Grazie Sbinf oggi provo a vedere se funziona lo schermo con il joy perche l encoder mi deve ancora arrivare

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: gio ott 28, 2021 17:16
da Troncatore
Riecco il rompiscatole! Ho acquistato un adattatore che si sposa benissimo con Il joystick allo scopo di evitare saldature o altro.. ma Arduino sembra che possa scarrocciare di un piedino...quale è quello di riferimento? Grazie...
IMG_20211028_174046.jpg

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: gio ott 28, 2021 18:39
da Mario312
Sono riuscito a collegare i pulsanti con il joy e funziona tutto. Solo un dubbio ai pulsanti va messa una resistenza?

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: gio ott 28, 2021 19:47
da sbinf74
Gli ingressi sono definiti come input pullup che dovrebbe consentire l'uso delle resistenze interne di Arduino, io ho messo i tasti senza reaiatenze

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: gio ott 28, 2021 21:00
da McMax
Attenzione che solo gli ingressi encoder sono stati impostati come input pullup. Nel caso devi configurare così anche gli ingressi dei tasti e puoi evitare di mettere le resistenze.

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: ven ott 29, 2021 12:17
da Mario312
Io l ho messi senza resistenze e funziona, a lungo si brucia arduino?

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: ven ott 29, 2021 13:28
da Davide Resca
Se non ci sono le resistenze di PULLUP O PULDOWN , tutte le volte che chiudi il pulsante fai un corto secco tra arduino e l'alimentazione positiva se l'uscita di arduino è low e l'alimentazione negativa se l'uscita di arduino è high... io controllerei il codice altrimenti la "resistenza a bruciarsi" di arduino dipende da quanto tempo tieni premuto il tasto :risatina:

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: ven ott 29, 2021 13:41
da sbinf74
State tranquilli :risatina:

Codice: Seleziona tutto

  pinMode(ESC, INPUT_PULLUP);   //ESC BUTTON (D4 of the sparkfun Joystick shield)
  pinMode(SEL, INPUT_PULLUP);   //SELECTION BUTTON (D5 of the sparkfun Joystick shield)
  pinMode(SEL2, INPUT_PULLUP);   //SELECTION BUTTON (K of the sparkfun Joystick shield)
  pinMode(RESET, INPUT_PULLUP); //RESET BUTTON (D6 of the sparkfun Joystick shield)
  

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: ven ott 29, 2021 19:07
da Mario312
Dove andrebbe messo questo codice

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: ven ott 29, 2021 21:46
da McMax
Davide: "Se non ci sono le resistenze di PULLUP O PULDOWN , tutte le volte che chiudi il pulsante fai un corto secco tra arduino e....."

... niente!

Davide, gli ingressi di Arduino sono ad alta impedenza, la presenza o meno della resistenza di pull-up (o pull-down) non influisce in alcun modo sulla corrente entrante o uscente da un ingresso di Arduino.
Questo è un problema che, al massimo, puoi avere su un pin configurato come USCITA: nel qual caso è necessario limitare la corrente in source (uscita) o sink (ingresso) altrimenti si che rischi di friggere il microcontrollore.
Quando un pin è configurato come ingresso è come se ci fosse una resistenza molto alta tra il circuito esterno e il micro; su un microprocessore come questo parliamo di diverse centinaia di kilo-ohm.... se fosse ad esempio un ingresso a FET come quello degli oscilloscopi saliamo a qualche mega-ohm...

La resistenza di pull-up (o pull-down) serve solo a dare un riferimento "certo" al micro circa lo stato dell'ingresso.
Facciamo un esempio pratico.
Metto un tasto tra un ingresso e massa senza alcuna resistenza: quando il tasto è chiuso (premuto) il potenziale dell'ingresso è a massa quindi abbiamo un riferimento certo, ovvero la massa (quindi 0 per il micro), ma se il tasto è aperto è come se il pin del micro fosse libero, senza connessione.... in gergo tecnico si dice "appeso" o, in inglese, "floating". Il valore dell'ingresso dipenderà quindi dalla circuiteria interna del micro e dalla capacità di portare "carica" in quello specifico nodo del circuito. Essendo gli ingressi ad alta impedenza la capacità di portare carica è molto bassa pertanto il pin assumerà un valore in tensione solo leggermente più alto rispetto alla massa ma in genere non sufficiente a determinare lo stato dell'ingresso che, pertanto, potrà valere 1 o 0 in funzione di parametri non determinabili.
Tutto sto bordello per dire che l'ingresso "floating" avrà uno stato indeterminato!
Ma siccome noi volgiamo che lo stato sia SEMPRE determinato, quindi o 0 (massa) o 1 (V+), dobbiamo fare in modo che, quando il tasto è aperto, ci sia qualcosa che "tiri" l'ingresso a V+ (pull-up) ma senza che si generi troppo assorbimento di corrente. La resistenza di pull-up esterna serve proprio a questo e deve essere calcolata in modo da non tirare troppa corrente (altrimenti consuma) ma nello stesso tempo sia in grado di "tirare" con decisione il nodo verso il potenziale a cui è collegata senza troppi impedimenti: in pratica, la resistenza pull-up dovrà avere un'impedenza di x volte inferiore rispetto al valore di impedenza del pin in modo che sia in grado di "vincere" e portare il pin allo stato che vogliamo.
La resistenza di pull-down (meno usata) si usa nella condizione inversa, ovvero quando abbiamo un tasto che chiude il pin a V+ e quindi lo stato indeterminato sarebbe quello verso massa.
Il microcontrollore cuore di arduino (ATMEGA328) dispone di resistenze di pull-up integrate che possono essere attivate via software semplicemente configurando gli ingressi come "INPUT PULLUP" piuttosto che come "INPUT" semplici.

Re: ELS (Electronic Lead Screw) - progetto con ARDUINO

Inviato: sab ott 30, 2021 08:03
da Davide Resca
Max hai ragione, ma trafficando sulla bread board e smanettando sul codice è facile per un beginner come me dimenticarsi qualcosa (INPUT_PULLUP/ OUTPUT_PULLUP) io le resistenze le metto a prescindere :risatina: