Arduino Uno e Atmega8U2

Salve

Sto leggendo un pò le specifiche delle nuove schede da poche ore lanciate.
E la cosa che subito mi è saltata agli occhi è questa nuova aggiunta:

"The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter."

e

"Abbiamo rimpiazzato il chip FTDI con un convertitore usb-seriale realizzato con un Atmel ATmega8U2 che garantisce una latenza minore e non richiede installazione di driver su Linux e Mac (su Windows sarà necessario un semplice file *.inf); utenti più avanzati saranno in grado di riprogrammare il chip USB per permettere alla scheda di essere riconosciuta dal computer in una varietà di dispositivi USB (tastiere, mouse, joystick, MIDI, ecc)."

Sarei curioso di approfondire questo aspetto.
Chi può parlarne in maniera un pò più approfondita tra chi programma su arduino già da un pò?

Da quanto mi sembra di capire invece di usare l'Ftdi usb/serial converter sarà usato un nuovo microcontrollore avr con interfaccia usb integrata che penso comunichi poi via seriale con l'atmega328..
Essendo un microcontrollore poi si può riprogrammarlo a piacere, mi sembra di vedere un altro header per l'isp nell'immagine se non sbaglio..
Poi sono curioso di vedere dove saranno collegati gli altri piedini del nuovo integrato e se magari si può pilotare qualche periferica via usb magari..

quando è prevista la commercializzazione??????????

da ieri sera :slight_smile:

Ma ciò che significa? Posso collegare dispositivi usb ad arduino uno e pilotarli?
Esempio: collegare una tastiera usb ad arduino uno e catturare i vari input?

A questo punto... dato che in passato era impossibile, posso anche catturare il flusso video di una webcam usb?

Ho un pò di confusione circa questo atmega8u2 :slight_smile:

quello lo potevi fare anche prima, quello stando a quello che ho letto non è che sia cambiato molto!

Infatti, mi sto rendendo conto di non aver ben capito a che serve questa nuova feature.
Ho capito che è più facile la gestione tra pc ed arduino perchè non c'è bisogno di driver, ma non ho capito questo:

"utenti più avanzati saranno in grado di riprogrammare il chip USB per permettere alla scheda di essere riconosciuta dal computer in una varietà di dispositivi USB (tastiere, mouse, joystick, MIDI, ecc)."

da come hai riportato in alto sembra essere la possibilità di permettere ad arduino di cambiare forma: potrà essere visto dal pc come un dispositivo (il tipo lo puoi configurare), quindi uno scanner, una stampante, una webcam.

primo esempio che mi viene in mente piccolo scanner portatile con una telecamera di un mouse...
o un super controller per videogiochi di automobili, aerei ...

quello che dici te è avere un USB-master, ma non credo sia questo per il momento.

ATmega8u2 è un microcontrollore di Atmel come del resto ATmega328.

ATmega8u2 è basato su di un ATmega8 con l'aggiunta di una periferica
USB 2.0. Qua trovate tutta la documentazione.

Mi chiedo solo se il firmware che hanno inserito all'interno di questo
chip ne abbiano rilasciato anche i sorgenti altrimenti mi sa che ci si
fa ben poco.

drake

Pensavo che Arduino Uno con questo nuovo upgrade potesse diventare anche usb-master. Magari con qualche modifica software... chissà!

Credo che il bootloader del piccolo microcontroller sarà sicuramente open come tutto il resto... anche perchè deve essere riprogrammato se vuoi farci altro.

no, niente usb master..
tutto identico a prima....
se non ricordo male anche l'ftdi era programmabile con l'apposita utility per cambiare vid/pid.

Beh se io fossi il produttore avrei fatto questa scelta piu' che altro per il prezzo ;). Vediamo come si stabilizzerà il prezzo al pubblico per capire se questo risparmio ricadrà anche gli utenti finali

Per ora il prezzo è rimasto lo stesso del duemilanove. Identico.

@calamaro

quello lo potevi fare anche prima, quello stando a quello che ho letto non è che sia cambiato molto!

Cioe' tu dici, che prima come ora puoi attaccare una stampante, ad esempio, alla porta usb di arduino e utilizzarla?
Secondo me non e' cosi', ne' ora ne' prima...

Arduino UNO e' identico a quello di prima con un foro per le viti in piu' e questo sistema di usb-chip, e il mega oltre all'usb-chip ha il doppio di memoria, che e' interessante.

Sostanzialmente mi tocchera' abituardi alla nuova grafica e cercare di capire se questo atmega usb-to-serial e' una cosa che puo' tornare utile o no...

F

per ora l'arduino con chip FTDI può essere rilevato solo con appositi driver...
Grazie a questa miglioria non solo non ci sarà bisogno di driver (userà credo USB generici), ma modificando il chip potrai far vedere arduino come stampante, fotocamera, mouse, tastiera, ecc..............
Pensa che figata dare stampa da paint e vedere una CNC con arduino che ti taglia il disegno su balsa...
per dirne una...
oppure far vedere arduino come memoria di massa e caricare il codice con un copi-incolla (vabbè ovvio che prima devi compilarlo lo stesso) oppure copiarsi su disco i file di log, o addirittura arduino che simulando la testiera/mouse si autoscarica i log quando necessario (o perchè no, gioca al pc quando non ci sei...)

Io trovo difficoltà a capire bene il ruolo della presa usb attuale.
Quando voi tirate in ballo il fatto che può esser visto come stampante, fotocamera, mouse etc etc qual'è il ruolo della presa usb?
Mi spiego meglio con un esempio pratico:

Voglio far vedere arduino come mouse.
caso 1) Collego il pc alla presa usb di arduino -> collego la spina usb del mouse ai piedini digitali

caso 2) collego il pc ai piedini digitali di arduino -> collego il mouse alla presa usb

in quale dei due casi è giusto il collegamento?

il punto della mia confusione è questo:
la presa usb sarà vista come un ulteriore dispositivo di i/o? potrò gestirla?

no, allora attualmente il collegamento è
PC->usb->ftdi->pin 0 e 1 di arduino. che viene rilevato come seriale over usb e non ci puoi far nulla
diverrà
PC->usb->chip->pin 0 e 1 arduino. In base a come programmerai il chip arduino verrà visto come seriale, oppure quello che vuoi!

il mouse/stampante non li colleghi ad arduino, è lui che fa credere al pc di esserlo!
Poi nulla ti vieta di collegare il tuo mouse, oppure un sistema di puntamento innovativo bastato su dove sta guardando il gatto al'arduino secondo i classici metodi :slight_smile:
Semplicemente non avrai bisogno di un programma sul pc, oltre ai driver FTDI, che legga i dati sulla seriale/usb e li trasformi in segnale mouse... ma sfrutterai solo i driver dei mouse standard, ovviamente se ne rispetti le specifiche :slight_smile:
non a caso la modifica è riservata ad utenti "smaliziati"

Questo FAQ spiega un po di cose:
http://www.ladyada.net/library/arduino/unofaq.html
Ciao Uwe

Questo FAQ spiega un po di cose:
Arduino UNO Frequently Asked Questions (FAQ)
Ciao Uwe

Grazie, ladyada è sempre una grande :slight_smile:
Da ciò che ho letto il tutto dovrebbe costare addirittura MENO rispetto ad arduino 2009.
Vedremo...

Semplicemente non avrai bisogno di un programma sul pc, oltre ai driver FTDI, che legga i dati sulla seriale/usb e li trasformi in segnale mouse... ma sfrutterai solo i driver dei mouse standard, ovviamente se ne rispetti le specifiche Smiley

Grazie per la spiegazione ora mi è tutto un pochino più chiaro.
In pratica prima avevamo bisogno di un software anche sul pc per interpretare i dati di input.
Adesso viene interpretato direttamente da sistema operativo.
Beh... credo che sia un bel passo in avanti.

uhhh ma quindi io posso mettere il nuovo bootloader sul mio atmega???
umm potrebbe essere utile!