Arduino... clone o non clone?

Tutto sull'Arduino e la sua grande famiglia... Atmel AVR, Microchip PIC, ecc...

Moderatori: ragno, tapino, alez, zulu, davidea

Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Arduino... clone o non clone?

Messaggio da alez »

In attesa che mi arrivino gli Atmel che ho acquistato sulla baya mi sono fatto prestare da un amico un Arduino Duemilanove :D manco sapevo che ce l'aveva :D
Ciao alez
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Arduino... clone o non clone?

Messaggio da alez »

Costa un botto ma a quanto pare può fare sia da device che da host USB e USB 2.0:

http://www.sparkfun.com/products/9947

oppure

http://www.circuitsathome.com/products- ... r-arduino/





P.s.: sto cercando invano qualcuno che abbia implementato V-USB su Arduino... sul forum ufficiale arduino.cc ne parlano malissimo di V-USB e l'unico riferimento che ho è down:

http://code.rancidbacon.com/ProjectLogArduinoUSB

edit: il codice è comunque scaricabile da:

http://code.google.com/p/vusb-for-arduino/
Ciao alez
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Arduino... clone o non clone?

Messaggio da ragno »

Scusa alez, ma a cosa ti serve un host usb per arduino, prendi una dockstar allora :)

Riguardo V-BUS, non credo che tu ne abbia bisogno, tutti gli arduino (eccetto il seriale) hanno una porta virtuale com-usb gestita dal solito chip FTDI.

Quindi da pc puoi inviare dati in input (e leggere l'output) all'arduino: basta utiizzare la classe Serial() e magari realizzare un parser che accetta soto determinati comandi, tipo T1 (ritorna la temperatura del primo sensore)

Codice: Seleziona tutto

int incomingByte = 0;	// for incoming serial data

void setup() {
	Serial.begin(9600);	// opens serial port, sets data rate to 9600 bps
}

void loop() {

	// send data only when you receive data:
	if (Serial.available() > 0) {
		// read the incoming byte:
		incomingByte = Serial.read();

		// say what you got:
		Serial.print("I received: ");
		Serial.println(incomingByte, DEC);
	}
}
saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Arduino... clone o non clone?

Messaggio da alez »

ragno ha scritto:Scusa alez, ma a cosa ti serve un host usb per arduino, prendi una dockstar allora :)
Sono d'accordo che l'atmelino non sia molto da "spremere" e non riesca a fare più di tanto, quindi per l'USB HOST sia effettivamente meglio puntare su un'architettura ARM o comunque + potente dei "rischini" tipo PIC o atmega.
Riguardo V-BUS, non credo che tu ne abbia bisogno, tutti gli arduino (eccetto il seriale) hanno una porta virtuale com-usb gestita dal solito chip FTDI.
Per quanto riguarda V-USB invece, secondo me è tutta un'altra cosa: vedendo la periferca come USB HID il sistema non ha bisogno di gestirla come seriale, inoltre puoi emulare una tastiera / mouse USB che con FTDI non puoi fare, o sbaglio?

Il vantaggio di avere V-USB su Arduino invece che su semplice Atmel è che puoi sfruttare tutta la IDE e le conoscenze che sempre + persone hanno su Arduino.

Concordo che comprare un Arduino per farci una killer application tipo il ricevitore IR sia antieconomico quando lo puoi fare benissimo con un semplice atmel senza contorno, ma se uno si compra il chip e ci mette su il bootloader di Arduino allora la spesa cambia di poco, che mi pare sia prorpio la filosofia Open Source e semplicità di Arduino o sbaglio?
Ciao alez
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Arduino... clone o non clone?

Messaggio da ragno »

Mi pare di aver capito il tipo di richiesta.

Il problema e' nel costo della board arduino, e quindi nel bootloader (software): se vuoi utilizzare l'atmega con una board arduino devi utilizzare un bootloader compatibile con progetto arduino: quindi qualcosa che s'interfacci alla porta seriale (virtuale con chip FTDI oppure fisica nel caso dell'arduino seriale).
Ad esempio ho riflashato il bootloader del mio 2009 con il bootloader Optiboot che e' ha una size minore e sopratutto supporta i 115200: quindi il flash dall'IDE e' piu veloce (la velocita standard e' 57600).

Ma se utilizzi un bootloader compatibile arduino perdi la possibilita' di utilizzare il V-BUS e viceversa se utilizzi il V-BUS perdi la possibilita' di utilizzare l'IDE.

In pratica c'e' un escamotage: visto che l'IDE genera un hex funzionante a tutti gli effetti si deve solo modificare il profilo della board (credo che sia possibile senza troppi problemi), flashando il chip non via seriale, ma direttamente tramite programmatore tipo usbasp, al limite anche manualmente, utilizzando avrdude come se il chip fosse vergine senza nessun bootloader: c'e' inoltre il vantaggio di poter disporre di tutta la memoria flash.

E' chiaro che se l'atmega si deve poi presentare come periferica usb hid non puo essere utilizzato con la board arduino (a meno di modifiche hardware) e il codice deve contenere tutta la gestione (V-BUS) dello stesso e l'i/o deve essere indirizzato verso l'usb.

Di norma invece se utilizzi una board arduino tutto l'i/o (da e verso il pc) e' seriale.

Nulla pero' ti impedisce di utilizzare una soluzione ibrida e piu' economica con il chip programmato direttamente (usbasp) con il codice sorgente che utilizza le librerie dell'ide arduino, senza bootloader e senza la board arduino, interfacciando il chip ad un convertitore usb-ttl (che costa pochi euro), un po' come funziona il fork sanguino.

Inoltre IMHO, rimane piu' semplice ed affidabile utilizzare la classe Serial() piuttosto che effettuare l'i/o su usb come periferica hid, anche perche' dal lato pc si puo' utilizzare un semplice script in bash per colloquiare col atmega.

saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Arduino... clone o non clone?

Messaggio da alez »

ragno ha scritto:Mi pare di aver capito il tipo di richiesta.

...

Ma se utilizzi un bootloader compatibile arduino perdi la possibilita' di utilizzare il V-BUS e viceversa se utilizzi il V-BUS perdi la possibilita' di utilizzare l'IDE.
Mi pare che usando la libreria V-USB portata per Arduino, si potrebbe usare sia l'IDE che il V-USB
In pratica c'e' un escamotage: visto che l'IDE genera un hex funzionante a tutti gli effetti si deve solo modificare il profilo della board (credo che sia possibile senza troppi problemi), flashando il chip non via seriale, ma direttamente tramite programmatore tipo usbasp, al limite anche manualmente, utilizzando avrdude come se il chip fosse vergine senza nessun bootloader: c'e' inoltre il vantaggio di poter disporre di tutta la memoria flash.
Chiaro, tra l'altro vedo che come opzioni di programmatore prevede appunto l'uso di USBasp e molti altri

E' chiaro che se l'atmega si deve poi presentare come periferica usb hid non puo essere utilizzato con la board arduino (a meno di modifiche hardware) e il codice deve contenere tutta la gestione (V-BUS) dello stesso e l'i/o deve essere indirizzato verso l'usb.
Si questo mi era chiaro, infatti prevedevo di costruire una semplice shield tipo questa:

http://www.practicalarduino.com/project ... b-keyboard

alla fine dell'opera si avrebbe la USB originale da usare come USB-to-Serial incorporata per la programmazione / debug ed una USB emulata da V-USB per i nostri porchi scopi :lol:
Di norma invece se utilizzi una board arduino tutto l'i/o (da e verso il pc) e' seriale.

Nulla pero' ti impedisce di utilizzare una soluzione ibrida e piu' economica con il chip programmato direttamente (usbasp) con il codice sorgente che utilizza le librerie dell'ide arduino, senza bootloader e senza la board arduino, interfacciando il chip ad un convertitore usb-ttl (che costa pochi euro), un po' come funziona il fork sanguino.

Inoltre IMHO, rimane piu' semplice ed affidabile utilizzare la classe Serial() piuttosto che effettuare l'i/o su usb come periferica hid, anche perche' dal lato pc si puo' utilizzare un semplice script in bash per colloquiare col atmega.

saluti
ragno
Per le comunicazioni standard e di debug penso anche io.






Quando mi parlasti la prima volta di Arduino allo scorso VDR DAY l'avevo un po sottovalutato, perché pensavo che fosse uno dei tanti chip proprietari tipo Basic Stamp ecc..., insomma il solito PIC o simile con un bel bootloader ed IDE a pagamento che funzionano solo su winzoz e non giustificano il costo.

Grazie a questa cosa dell'USB IR receiver mi sono messo finalmente a guardarlo e devo dire che è veramente una piattaforma interessante, per cui mi piacerebbe per quanto possibile sfruttarla e rimanere sul suo standard per realizzare qualcosa per VDR, in modo da continuare a contribuire nel contempo anche allo sviluppo di Arduino.

Grazie per avere condiviso le tue conoscenze :D

Sto buttando giù due appunti qui:

http://al3z77.altervista.org/dokuwiki/d ... rt:arduino
Ciao alez
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Arduino... clone o non clone?

Messaggio da ragno »

alez ha scritto:
Quando mi parlasti la prima volta di Arduino allo scorso VDR DAY l'avevo un po sottovalutato, perché pensavo che fosse uno dei tanti chip proprietari tipo Basic Stamp ecc..., insomma il solito PIC o simile con un bel bootloader ed IDE a pagamento che funzionano solo su winzoz e non giustificano il costo.

Grazie a questa cosa dell'USB IR receiver mi sono messo finalmente a guardarlo e devo dire che è veramente una piattaforma interessante, per cui mi piacerebbe per quanto possibile sfruttarla e rimanere sul suo standard per realizzare qualcosa per VDR, in modo da continuare a contribuire nel contempo anche allo sviluppo di Arduino.

Grazie per avere condiviso le tue conoscenze :D

Sto buttando giù due appunti qui:

http://al3z77.altervista.org/dokuwiki/d ... rt:arduino
Beh, anche se c'ho solo smanettato un po', a me e' sempre piaciuto come progetto (oltre a un poco di sano patriottismo): open, multipiattaforma, ben supportato dagli sviluppatori e molto gratito a livello community, con tanti utenti "enthusiast" e tante buone idee...
Non nascondo che le volte che ho "sbolognato" dell'hardware ricavando qualche euro, corso degli anni ho spesso utilizzato il ricavato per comprare qualcosa di "arduino". Ho anche il modulo ethernet, ma non c'e' paragone con la versatilita' e potenzialita' di una Dockstar (soprattutto a 10-20 euro :) ) magari proprio interfacciata ad una board arduino.

Forse hanno solo "cannato" la 1.0 dell'ide che e' stata poco testata dagli sviluppatori "esterni" e quindi non troppo compatibile con le librerie terze. Problemi di gioventu, di ogni cambio di major release.

Riguardo ai progetti (board arduino), oltre alla classica "stazione meteo ed altro" (sono in attesa di un sensore combinato di temperatura ed umidita' ordinato dal solito cinese), non mi viene in mente molto altro. Indubbiamente le potenzialita' sono notevoli e basta guardare un po' su youtube per capire che certa gente oltre che geniale e proprio fuori di testa... :lol: :lol: :lol:

Per VDR (chip atmel in board diy) invece la mia fantasia non si spinge oltre ad un controllo intelligente delle ventole in pwm con monitor temperatura interna con sensore ds1820 (magari con orologio anche a pc spento) e forse l'inutile (perche' non credo si possa fare meglio di graph-lcd con render vga) l'"usbizzazione" della gestione di semplici display lcd: ci sono gia pronti i progetti lcd2usb e glcdusb.

Tu hai qualche idea in particolare? :)

Buone feste
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Arduino... clone o non clone?

Messaggio da alez »

Ho approfittato dei saldi e di una cordata con un amico, Arduino 2009 originale a poco + di 18 euri compresa spedizione :D meno di un clone :mrgreen:
Ciao alez
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: Arduino... clone o non clone?

Messaggio da davidea »

link????
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Arduino... clone o non clone?

Messaggio da alez »

Store ufficiali italiani, il 2009 è in saldo su tutti gli store perchè fuori produzione, ad esempio robotitaly
Ciao alez
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Arduino... clone o non clone?

Messaggio da ragno »

Beh, non e' male che i prezzi siano piu' popolari. :)

Comunque, per chi non ha comprato ancora un arduino, il 2009 e' un'ottima board, Secondo me anche migliore dell'UNO, visti gli hack che sono stati effettuati sul chip FTDI. Ho un 2009 clone con optiboot che consente velocita' maggiori nella programmazione da ide e non ho mai avuto problemi.
Per il resto ricordate che sempre che quello che conta l'atmel ed in tutte le board classiche c'e' sempre un 168 oppure un 328...

saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: Arduino... clone o non clone?

Messaggio da davidea »

preso il seeeduino
http://www.futurashop.it/allegato/7300- ... t=&d=25,50

nel negozio sotto casa, arriva la prox settimana.
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Arduino... clone o non clone?

Messaggio da alez »

Ma hai preso un clone per evitare le spese di spedizione?
Ciao alez
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: Arduino... clone o non clone?

Messaggio da davidea »

ho preso il clone, perche' mi e' sembrato di capire che e' compatibile al 99% , dovrebbe aver in meno solo la selezione delle tensioni, ma in piu' ha delle uscite opzionali che potrebbero tornare utili.
fatto minch..ata??
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Arduino... clone o non clone?

Messaggio da alez »

Secondo me no, se l'hai fatto per gli opzional in +, quello che chiedevo era se l'avevi preso per il fatto che ti arriva sotto casa.

Per il prezzo, spendi meno con quello originale :D

Intanto, oltre al duemilanove originale, ho anche usato uno dei 2 atmel 328 che mi sono arrivati dalla UK, dato che avevano pre burned il bootloader di Arduino, per testarli prima di dare il feedback ho fatto un clone di freeduino su breadboard (nella parte di sinistra, la parte di destra contiene parti di vecchi test che non c'entrano niente)

porta seriale RS-232, MAX232N e atMega328:

[URL=http://imageshack.us/photo/my-images/71 ... readb.jpg/]Immagine
Ciao alez
Rispondi