ABC - Arduino Basic Connections

Una domandina.
Il simple debouncer (scheda 32 in alto a dx) lo posso usare anche mettendo il pulsante sul + e togliendo quello sul -?

erpomata:
Una domandina.
Il simple debouncer (scheda 32 in alto a dx) lo posso usare anche mettendo il pulsante sul + e togliendo quello sul -?

no, va invertita completamente la logica.

@ pighi: prima o poi lo proverò ma con i pulsanti che dico io, non con i soliti tastini arduiniani; ne ho alcuni che quasi fanno scintille altro che bounce :D; quelli sono banchi di prova......

:smiley:
Attendo con ansia il tuo responso...

Ho avuto l'autorizzazione per inserire l'ottimo lavoro fatto da Osamu Tamura
Per chi fosse curioso un link: http://www.recursion.jp/avrcdc/cdc-232.html

Poi farò una revisione a tutto e basta, penso che mi fermerò definitivamente. Ho praticamente perso 3 mesi di lavoro :roll_eyes: (anche se sono contento di avere reso un simil servizio)
Ciao,

Alberto

pighixxx:
Ho avuto l'autorizzazione per inserire l'ottimo lavoro fatto da Osamu Tamura
Per chi fosse curioso un link: http://www.recursion.jp/avrcdc/cdc-232.html

Michele , V-USB nuovamente all'orizzonte !!! :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

niki77:
Michele , V-USB nuovamente all'orizzonte !!! :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

Spazzatura :grin:

Facciamo una scheda spazzatura con su v usb, prg ser, prog parallelo

@niki77:
sei di memoria corta :wink:
Il mio lavoro esposto qui

nasce proprio dal link citato.

Ci ho sputato sangue ed alla fine ho smontato tutto. Troppe le volte che l'accrocchio non funziona. Dipende dal cavo, da quanto è lungo, se fa caldo... non è affidabile come soluzione.
Nonostante sia riuscito a farci un video, sia prima che dopo di esso ho avuto problemi di sincronizzazione. "No buono".

leo72:
@niki77:
sei di memoria corta :wink:

Mi sa che tu sei di memoria ancor più corta della mia, io ci ho fatto addirittura una scheda dedicata!!! (con tanto di post in megatopic) XD

Però ho avuto il buon senso di non spacciarla come atta a fare da convertitore usb-seriale!

Ma vedrai che Michele sarà estremamente contento di rivedere quel link... :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

E' vero, hai ragione.
1 a 0 per te :wink:

Ricordo entrambi i lavori.
Fare da convertitoreusb èil problema, perche come programmatori funxionano ad esempio usbasp è fatto con vusb o ricorfo male ?

Confermo, USBasp è basato su V-USB.
Difatti il problema principale è la comunicazione bidirezionale. Anche nel "todo" di USBasp c'è scritto che l'autore vuole dotare l'aggeggio di comunicazione bidirezionale... da 2 anni :stuck_out_tongue_closed_eyes:
Quindi mi sa che la stabilità della cosa non sia facilmente risolvibile. Non puoi rilasciare un prodotto che alle volte fa ed alle volte non fa.

MI avete evocato, eccomi :smiley: sto scoppiando, 7 ore di lezione al giorno ucciderebbero anche A. Stakanov :fearful:
Essendo l'ultimo, in ordine cronologico, ad aver lavorato con l'accrocchio, posso riassumere la situazione:

1 - la V-USB è realizzabile con decorosi risultati, a condizione di ricorrere all'uso di un micro quarzato a 12MHz, che è la frequenza operativa di riferimento per i segnali USB; altre combinazioni 16MHz o, peggio, no quartz, danno risultati stravaganti o non ne danno, comunque sono inaffidabili

2 - Serve un bootloader specifico, comandato tramite un pin del micro, per caricare gli sketc, quindi si perde memoria

3 - Di contro permette il semplice aggiornamento diretto via USB della flash del micro, una alternativa all'ISP

4 - Il problema, ad oggi IRRISOLVIBILE, è la comunicazione bidirezionale col PC, non c'è verso di mandare dati mediante gli stessi segnali al computer; se questa cosa funzionasse allora la tecnica sarebbe rivoluzionaria, visto che non funziona l'unica comodità può essere rappresentata in caso di installazioni off-home, dove ci si può recare con un notebook ed un semplice convertitore usb-seriale.

Insomma, oggi, ma solo grazie a Niki77, che col suo Topic mi aiutò a capire dove sbagliavo nelle centinaia di prove precedenti, e ad Astro, che mi chiarì la questione dei segnali a 12MHz, la V-USB può essere dichiarata una tecnica "economica e praticabile" con i pro e contro di ogni altra tecnica. Così ho detto, la discussione è chiusa e la seduta è tolta.

@ Pighi: per i motivi sopraesposti ti sconsiglio vivamente di replicare il lavoro basato sul tiny45 senza quarzo e sul tiny2313, anche se con quarzo (resta davvero poca flash); l'unico che vale la pena di replicare è quello basato sul mega8 o maggiori.

Quella basata su TinyX5 è una implementazione zoppa, manca la gestione del reset.
Se si vuole usare un Tiny2313 e solo come programmatore consiglio di replicare l'USBtinyISP di Adafruit, che funziona egregiamente (l'ho realizzato anch'io).
Se si vuole "giocare" con l'Avr-Cdc32, come ha detto Michele, usate l'implementazione basata su un Atmega88/168/328 almeno potete replicare anche i segnali DTR e RTS che vi servono per il reset del chip target.

NI,

e ti avevo anche spiegato il perchè.
In realtà ci sono altri modi utilizzati per scambiare dati tra la mcu ed il pc tramite la USB, alcuni semplici ma limitati, altri meno semplici ma che offrono maggiori potenzialità.
I metodi semplici li ho provati personalmente , uno di questi consiste in una modalità pseudo 'modbus' (passatemi il termine) che consente di leggere e scrivere dati nel dispositivo 'on demand'.
L'esempio che avevo provato io praticamente permetteva di leggere e scrivere dei dati sulla eeprom della mcu (nel mio caso un 328 @12mhz).
Gli altri sistemi 'meno semplici' che avrei tanto voluto approfondire , ma non ho avuto tempo, consistevano nella creazione di un driver apposito per il S.O. dove si mappavano le funzionalità del dispositivo vero e proprio, che venivano poi rese disponibili dal S.O. rendendole utilizzabili da C attraverso le API di sistema.

Quello che farebbe più comodo, ma non è possibile è la comunicazione seriale via usb, proprio come si fa con arduino, e questo proprio è decisamente instabile e macchinoso .

Ribadisco il concetto, rimane spazzatura, la cacca puoi rimestarla come ti pare però rimane sempre cacca :grin:

Eccomi!
questa mattina ho lavorato :grin:
Secondo me si sta perdendo di vista quello che dovrebbe essere un piacere o un hobby.
A volte la soddisfazione di accendere un solo led per alcuni è paragonabile al lancio della Sojuz per altri.
Lungi da me, non voglio fare moralismo, ma vuoi mettere il piacere di comandare 5 led via USB magari con il programma fatto in Visual Basic?
In questi tempi mi sono trovato ad "aiutare" (e lo metto tra virgolette, non mi ritengo nessuno) parecchia gente che mi ha contattato in privato perchè si vergognava di porre domande a volte bollate banali o con risposte "usa il tasto cerca".
Buon proseguimento

Alberto

Pighi, te l'ho già detto un'altra volta, il problema sta nel fatto che nel 90% dei casi si affida a quelle schede è neofita, se proponi schemi che non funzionano o funzionano male invece di fare un bene fai un doppio male: l'utente non realizza il circuito e si fa convinto di essere negato o deficiente perché lungi da lui mettere in dubbio il tuo lavoro.
Allora io ti ho dato delle indicazioni, altri te ne stanno fornendo ancora, servono per rendere perfetti i tuoi lavori, le indicazioni vengono da conoscenze profonde (v. Astro) o da esperienze dirette serie (Leo, Niki, Test, io, altri...), poi tu fai come vuoi, ci mancherebbe altro, comunque niente ti toglierà il merito di questo lavoro grandioso che hai fatto.

Ciao Michele, forse mi sono espresso male; Per il resto io raccolgo tutti i commenti e suggerimenti e come ho già detto, qua dentro sono l'ultimo arrivato e sono qui per imparare! Una curiosità? Quali sono gli schemi che non funzionano o funzionano male?

pighixxx:
Ciao Michele, forse mi sono espresso male; Per il resto io raccolgo tutti i commenti e suggerimenti e come ho già detto, qua dentro sono l'ultimo arrivato e sono qui per imparare! Una curiosità? Quali sono gli schemi che non funzionano o funzionano male?

Scusate, ma se alcuni schemi sono "critici" ovvero non semplici per un neofita (non credo non funzionino) non può mettere @pighi una annotazione specificando, che sò, "non testato in tutte le situazioni" o qualcosa del genere?

pighixxx:
Lungi da me, non voglio fare moralismo, ma vuoi mettere il piacere di comandare 5 led via USB magari con il programma fatto in Visual Basic?

Assolutamente d'accordo, però come ti fa notare pure Michele tu sei responsabile di quello che metti nelle tue schede, ti consiglio di evitare le cose che danno problemi perché non sono affidabili, ti risparmi un sacco di scocciature :slight_smile:
Mi spiego meglio, la VUSB è un vero proprio accrocchio hardware e software, viola tutte le regole scritte, e pure quelle non scritte, che regolamentano il funzionamento della USB, a cominciare dal layer hardware che richiede un bus differenziale ( e non dei normali GPIO) a 3V per funzionare.
Il fatto che a volte la VUSB funziona, con grossi limiti, è solo perché le porte HOST dei pc solitamente sono molto tolleranti altrimenti non potrebbe mai funzionare la VUSB, però non è possibile sperare nel fatto che il nostro pc sia benevolo per far funzionare un circuito.
Personalmente ti sconsiglio caldamente di includere la VUSB nelle tue schede, se proprio vuoi farlo almeno metti un disclaimer enorme dove avvisi che il funzionamento non è garantito perché il circuito non rispetta le specifiche USB, ovvero "lo realizzate a vostro rischio e pericolo", e tra i pericoli c'è pure quello di danneggiare fisicamente la porta USB del pc.