Mi serve un consiglio su cosa usare a livello HW per avere un feedback visivo sul posizionamento dei servo, dovendo operare in codizioni dove un LCD mi sarebbe scomodo. testato l'accoppiata NeoPixel led bar e libreria TiCo Servo, ma non mi piace quest'ultima.
Altre idee, sempre simili ad una led bar? Ho visto anche dei piccoli schermi OLED, ma non vorrei avere problemi di visibilità, e soprattutto mi serve un codice semplice
>adepalo: ... NON riesco a trovare il tuo post di presentazione ...
... per cui, nel rispetto del regolamento, ti chiedo di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
gpb01: >adepalo: ... NON riesco a trovare il tuo post di presentazione ...
... per cui, nel rispetto del regolamento, ti chiedo di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
Guglielmo
Fatto. Sistemate le formalità , mi puoi aiutare in qualche modo a risolvere il problema per cui ho scritto ?
adepalo:
testato l'accoppiata NeoPixel led bar e libreria TiCo Servo, ma non mi piace quest'ultima.
Perché non ti piace la TicoServo ? Fa esattamente quello che chiedi con poche linee di codice.
L'alternativa è usare la libreria servo di Arduino e gestire direttamente i led da codice, se non ti servono esplicitamente dei led rgb puoi usare dei normali led, poi tocca vedere quanti servo vuoi gestire, quanti led vuoi su ogni barra, cosa deve fare Arduino oltre a far muovere i servo e gestire i led.
non male come idea, però poi i seven segment mi diventano 6 al momento, e potrebbero aumentare all'aumentare dei servo. Mai usati. Mi massacro ogni pin esistente sulla board o c'è qualche cosa di carino in I2C?
tieni presente che ho un'escursione molto limitata (+45°, -45° e +10° - 10° circa), per cui la led bar a 8 led della neopixel andava anche bene. il casino è che TiCoServo mi condiziona sull'espandibilità di quello che devo costruire in maniera pesantissima.
A meno che non ne tengo sempre 3/4 di seven segment e trovo il sistema di fare qualcosa tipo il vecchio marquee in html, che potrebbe anche essere un'idea......
astrobeed:
Perché non ti piace la TicoServo ? Fa esattamente quello che chiedi con poche linee di codice.
L'alternativa è usare la libreria servo di Arduino e gestire direttamente i led da codice, se non ti servono esplicitamente dei led rgb puoi usare dei normali led, poi tocca vedere quanti servo vuoi gestire, quanti led vuoi su ogni barra, cosa deve fare Arduino oltre a far muovere i servo e gestire i led.
Non è male, ma se voglio più di due servo, devo cambiare board e per esempio, passando su Micro ho paura di avere delle difficoltà fisiche (personali, di movimento....faccio molta fatica con le breadboard e gli oggetti piccoli)
Oltre a gestire i servo e i led deve, ovviamente, gestirmi gli input (joy e un piccolo tastierino )
edit: avevo letto una cosa per un'altra.... e già sognavo di illuminare i led con la libreria servo ... Jamiroquai ad alto volume mi distrae
adepalo:
Non è male, ma se voglio più di due servo, devo cambiare board e per esempio, passando su Micro ho paura di avere delle difficoltà fisiche (personali, di movimento....faccio molta fatica con le breadboard e gli oggetti piccoli)
Puoi sempre usare singolarmente la servo di Arduino e la libreria per i neopixel, la prima controlla fino a 12 servo sulla UNO, la seconda fino a 1024 led con un solo pin, diverso da quelli usati per i servo.
astrobeed:
Puoi sempre usare singolarmente la servo di Arduino e la libreria per i neopixel, la prima controlla fino a 12 servo sulla UNO, la seconda fino a 1024 led con un solo pin, diverso da quelli usati per i servo.
Funziona solo TiCo, con la servo normale e neopixel i servo tremano manco avessero visto il fantasma del millenium bug Non sono compatibili. Questioni di interrupt secondo Ardafruit
adepalo:
con la servo normale e neopixel i servo tremano manco avessero visto il fantasma del millenium bug
Hai ragione, non mi ricordavo più di questo problema, però l'avevo risolto perché mi è servito far funzionare in contemporanea dei servo e dei neopixel.
Il codice della neopixel è scritto in assembly perché deve generare dei segnali con delle ben precise temporizzazioni su una portante a 800 kHz, la routine è di tipo atomico, non può essere interrotta.
La soluzione è sincronizzare la scrittura dei led con gli aggiornamenti del timer che gestisce i servo in modo da evitare sovrapposizioni tra le due cose.
Devo cercare in mezzo ai vecchi sketch che ho fatto quello che gestisce i servo e i neopixel senza tremolii dei servo.
Stasera cerco il codice e te lo posto.
Ho cercato tra i miei vecchi sketch ma non l'ho trovato, probabilmente l'ho archiviato da qualche parte e non mi ricordo dove e con che nome, poco male mi ricordo bene come avevo fatto e non ci metto molto a rimettere su lo sketch base su cui poi aggiungi quello che ti serve.
In pratica basta controllare lo stato delle uscite servo, se sono tutte a zero logico si possono aggiornare i led, se anche una sola è a 1 logico non si devono aggiornare i led, questo vuol dire che al massimo si possono aggiornare i led 50 volte al secondo, è la frequenza tipica di refresh dei servo, più che sufficiente per la tua applicazione, con aggiornare intendo tutti i led assieme e non solo uno per volta.
Quanti servo devi usare ? Mi serve saperlo perché vanno messi tutti sulla stessa porta in modo da poter leggere il relativo stato con una singola istruzione in accesso diretto al registro del port.
Scusate se mi intrometto, ma ... usare una piccola schedina esterna, come QUESTA di Adafruit ?
Con soli 15 US$ si ha: uso del bus I2C (quindi 2 soli pin di Arduino), pilota 16 servo, ha la possibilità di fare PWM è a 12bit e ... se ne possono mettere più di una (cambiando l'indirizzo I2C) per pilotare fino a ... 992 servo !!!
... lo sai, vero, che quel tipo e' stato vietato per legge a causa dei danni permanenti alle cellule cerebrali che causa il suo ascolto ? (scusa, non ho proprio resistito :D)
Grazie a tutti, molto gentili. Tengo in considerazione le idee di tutti (il mio obiettivo era appunto raccogliere diversi punti di vista sul problema, ottima community per questo, grazie), faccio tutte le mie prove e poi decido anche in base al fatto che poi vorrei fare realizzare una scheda ad hoc e non tenere i dupont svolazzanti
@ astrobeed: se non è uno sbattimento scriverlo, mi farebbe piacere avere il codice, sia per averlo come possibilità, ma anche per capire e imparare. I servo in questione sono tre....
@ gpb01: carina la schedina, io a dirti la verità pensavo di mettere in I2C le barre, però questo potrebbe essere un diverso punto di vista.......
@ Etemenanki : non era Gigi D'Alessio ( adesso gpb01, che già mi odia mi bannerà perchè sono andato off-topic )