Pages: 1 2 [3] 4 5 ... 9   Go Down
Author Topic: Arduino e TV  (Read 9285 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, capito.
Io ho la 2009 e comunque richiede un cavo per FTDI, ho visto in giro che qualcuno lo ha costruito a partire da un normale cavo Nokia, credo proprio che prendero l'atmega già pronto!
Il programmatore esterno è molto costoso?

Tornando a tvout, io sono fuori casa, hai per caso visto in Video_gen.h se c'è corrispondenza o no con i valori Che ha scritto AWOL sul forum inglese?
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se hai il 2009 nel playground c'è il progettino per poter programare un Atmega usando la scheda Arduino come programmatore.

Un programmatore vero e proprio non costa moltissimo. Dai 20-25 euro in su.

Ultima cosa: ho riguardato la libreria. Io avevo aperto la 5.91 con audio, ma nella versione Beta 1 non c'è traccia dell'impossibilità di usare il modo PAL. Tu quale avevi usato?
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Aggiornamento:
stamattina mi è arrivato il pacco da RS.
Finalmente ho potuto provare TvOut. Effettivamente la Beta1 va senza bisogno di modifiche, per cui se a te non si vede forse hai dei falsi contatti.
Logged


0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Eccomi, oggi non ho avuto il tempo di rispondere, ho fatto l'ordine, un paio  di giorni e ho tutto.
L'atmega l'ho preso con bootloader del UNO, io ho la 2009 dovrebbe essere compatibile, altrimento posso metterlo su Arduino e caricare il boot della 2009
Ho controllato la libreria è la 5.91 con audio, adesso scarico la beta 1 anche io, sono contento che funziona!
Ciao.
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

L'unico rammarico è che non è possibile cambiare la risoluzione base.
Di default viene dato un misero 120x96. Nonostante in alcuni file ci sia scritto che si possa cambiare questi valori, alla luce dei fatti non è possibile.
Già con 128x104 la TV non riconosce più il segnale. Eppure stando a quanto scritto nei file, basta che ((ris_x/8)*ris_y)<SRAM dell'Atmega e che ris_x MOD 8 = 0. Avendo un Atmega328 ho 2 KB di SRAM: 128x104 sono 1664 byte. Eppure non va. Boh...

Adesso vorrei modificare lo sketch di esempio (DemoPAL) per fargli caricare i font da una EEPROM esterna. Ma la vedo dura, perché mi sa che devo modificare profondamente il codice e vedo che esso contiene anche delle parti in assembly... Non vorrei che andando a fare letture su memorie esterne si alterino i tempi per cui poi sballa tutto! Se così fosse il mio progetto di costruire un minicomputer usando un Atmega come GPU non può usare TvOut a meno di una profonda revisione.
Logged


0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Adesso vorrei modificare lo sketch di esempio (DemoPAL) per fargli caricare i font da una EEPROM esterna.
Intentdi i contenuti che vuoi visualizzare a schermo? Vuoi alleggerire lo sketch?
Qualche tempo fa avevo letto che Arduino ha una piccola EEPROM se me lo confermi, io la userei per salvare almeno le preferenze del SO.
Io avevo pensato di usare una SD per caricare parti di codice e file txt.
Io non posso fare nulla fino a domani notte, a pensare che già ci sei..
Quote
Di default viene dato un misero 120x96

E' vero la risoluzione è bassissima, TvText mi pare fatto meglio, per la gestione del testo e dovrebbe avere risoluzione maggiore, l'ideale sarebbe stato usare entrambe le librerie, a seconda dell'esigenza, ma pure li non so, con un Arduino e un ATmega singolo che usano lo stessa uscita RCA, forse fattibile ma complesso da realizzare.
Non vedo l'ora di mettermi a "spippolare" e farmi un idea.
Tu su che tipo di televisore lo stai provando?
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vedo che la cosa sta prendendo parecchio entrambi  ;D
Bene! E' quel che ci vuole, entusiasmo per affrontare le difficoltà e sapere di non essere soli, sennò passa subito la voglia  smiley-wink

Dunque, andiamo con ordine.
L'Atmega ha 3 memorie:
FLASH
SRAM
EEPROM

Nella prima vengono memorizzati il bootloader ed il codice del programma; nel secondo le variabili; la terza RAM non è generalmente usata a meno che non venga esplicitamente fatto, però di solito viene usata solo per salvare dati a lungo termine.

TvOut carica in FLASH le immagini della demo ed i font (usa PROGMEM nella dichiarazione delle variabili), per tenere la SRAM libera per il buffer video.

Rileggendo quanto detto, vorrei spostare su memoria ESTERNA al microcontrollore il buffer video, non i font, che comunque potrebbero essere ridotti ad 1 solo (6x8) ed "infilato" nella EEPROM interna. Vorrei spostare il buffer video perché, ripeto fino alla paranoia, voglio rendere l'Atmega una GPU, quindi ci sarebbe un altro microcontrollore o un processore che genera le immagini (grafiche o testuali) e le "piazza" nella memoria comune. Da qui l'Arduino GPU dovrebbe prelevare i dati e mandarli a video.
Ho già uno schema per far ciò, quello che manca sarebbe il codice.

Intanto volevo iniziare con TvOut, poi se era possibile convertire tutto ad AVGA sarebbe stato meglio, sia per la resa cromatica che per la risoluzione video.

Ah, ti demoralizzo subito: non pensare di caricare parti di codice da un supporto esterno e farli eseguire ad un Atmega. Non si può fare: gli Atmega (e cmq i microcontrollori) eseguono solo il codice caricato nella loro memoria interna. Ci ho già sbattuto il capo in questa cosa...  :'(

Ora vado a "spippolare" un po'. Vediamo se riesco a mettere il buffer da un'altra parte. Ho solo paura dei timing del segnale video: secondo me va tutto a pu.... alle ortiche  ;D
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

PS: TvText non è difficile. Basta programmare l'Atmega sull'Arduino e poi riportarlo su una breadboard. Stasera ci provo, dovrei avere tutto l'occorrente.

PS2:
ti do un altro link:
http://www.linusakesson.net/scene/craft/
E' un Atmega88 a 20 MHz, eppure guarda cosa fa...  :o
Logged


0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Vedo che la cosa sta prendendo parecchio entrambi
Una cifra!
Quote
vorrei spostare su memoria ESTERNA al microcontrollore il buffer video, non i font, che comunque potrebbero essere ridotti ad 1 solo (6x8) ed "infilato" nella EEPROM interna
Va bene il buffer video, ma il concetto dei font non mi è chiaro, cosa significa essere ridotti a 1 (6x8)?. Purtroppo non ho il mio pc sotto mano, sto navigando tra netbook e ipad fino a domani sera, me la devo studiare bene questa libreria!
Quote
Ho già uno schema per far ciò, quello che manca sarebbe il codice.
Mmmm vedere vedere!
Quote
Ah, ti demoralizzo subito: non pensare di caricare parti di codice da un supporto esterno e farli eseguire ad un Atmega. Non si può fare: gli Atmega (e cmq i microcontrollori) eseguono solo il codice caricato nella loro memoria interna. Ci ho già sbattuto il capo in questa cosa...  
Ok, io però pensavo, ti ripeto mi ci devo mettere, magari dico cretinate, quello che a me interessa è caricare da SD porzioni di testo, lo sketch dovrebbe copiare il contenuto di un file txt dentro una variabile e visualizzarlo a schermo, non parlo di eseguibili.
Questo è fattibile?
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Va bene il buffer video, ma il concetto dei font non mi è chiaro, cosa significa essere ridotti a 1 (6x8)?
Scusa, non hai la libreria. Se apri l'esempio DemoPAL vedrai che carica tutti i font disponibili, che sono appunto 3 (i numeri sono le dimensioni X*Y): 4*6, 4*8 e 8*8. Ogni font è composto da 96 caratteri. Capisci che sono centinaia di byte inutili.

Quote
Mmmm vedere vedere!
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1293464810/all
Lo schema rappresenta una RAM condivisa. Alle 2 estremità SX e DX ci starebbero gli Atmega/Arduino. Uno dovrebbe scrivere nella RAM, ed uno leggerebbe i dati e li manderebbe a video.

Quote
Ok, io però pensavo, ti ripeto mi ci devo mettere, magari dico cretinate, quello che a me interessa è caricare da SD porzioni di testo, lo sketch dovrebbe copiare il contenuto di un file txt dentro una variabile e visualizzarlo a schermo, non parlo di eseguibili.
Questo è fattibile?
Beh, sì. Si tratta bene o male di mandare a video dei dati.

Stavo provando a programmare l'Atmega con la demo di TvText ma ottengo una sfilza interminabile di errori. Ho paura che la libreria sia stata scritta o per una vecchia versione dell'IDE di Arduino oppure per l'IDE di AVR (il costruttore degli Atmega). Non riesco proprio a compilarla, le mie conoscenze del linguaggio sono limitate... Peccato!  :'(

Ora mi dirigo verso il letto. Sarò online un'altra oretta o 2 col portatile ma non potrò più fare prove perché il "laboratorio" ce l'ho al piano di sopra  :smiley
Logged


0
Offline Offline
Full Member
***
Karma: 1
Posts: 121
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Leo,
ho bisogno di una mano , sto' lavorando al porting di TVOut sulla mia piattaforma che sto' rendendo compatibile con arduino ...
http://www.virtualrobotix.com/forum/topics/multipilot-20-sample-will-be
Questo e' il thread .. la macchinetta che ho tirato insieme ha una bella potenza di calcolo 72 mhz dai benchmark che ho fatto e che puoi trovare nel thread di virtual robotix , ho visto che rispetto ad un arduino mega riesco ad avere fino a 24x di prestazioni , la mia domanda era queta ... riesco ad aumentare la risoluzione rispetto a quella standard che si ha ora ? seconda domanda ... ma se volessi sovrapporre ad un segnale video preesistente le immagini del micro hai idea di come posso fare ?
Vorrei aggiungere la funzione osd alla mia scheda quindi oltre fare da IMU e gestione automatica del volo , volevo sfruttare la libreria tvout e aggiungere questa funzione senza mettere su micro della maxim o aggiungere altre amenita' esterne ...
Ti piacerebbe darmi una mano su questa cosa nel mio progetto.
Grazie
Roberto
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@redfox:
ciao. premetto una cosa, alla luce del tuo progetto: tu ne sai 100 volte più di me di elettronica  smiley-wink
Casomai dovresti darmela tu la mano...  :smiley

Cmq, credo che per variare la frequenza debba essere rivisto il codice di TvOut perché probabilmente si manda il segnale fuori timing e questo non è più riconosciuto dalla TV perché non rientra nel range accettato.

L'OSD è una funzione che o fai via codice, ma qui devi saperne un bel po' di generazione di segnale video e devi giocartela con il canale Alpha, oppure deputi la miscelazione ad un hardware apposito. Ma non so aiutarti in nessuna delle due cose.

Io e Francesco stiamo "spippolando", stiamo imparando i rudimenti della generazione video. Forse potresti (e otterresti anche di più) guardare sui forum di progetti quali Uzebox.
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Francesco:
mi sa che la libreria di TvOut non è una libreria per l'IDE di Arduino ma una libreria da usare per applicativi in C puro. Ecco perché non si importa...
Logged


0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Scusa, non hai la libreria. Se apri l'esempio DemoPAL vedrai che carica tutti i font disponibili, che sono appunto 3 (i numeri sono le dimensioni X*Y): 4*6, 4*8 e 8*8. Ogni font è composto da 96 caratteri. Capisci che sono centinaia di byte inutili.
leo non mi perdere la pazienzaaa!!!  smiley No serio, adesso ho afferrato, eheheh credo! Stavamo parlando delle tre grandezze dei caratteri disponibili..vero??
Quote
Beh, sì. Si tratta bene o male di mandare a video dei dati.
Se dico allo sketch di aprire un file di testo presente in una sd, copiarne il contenuto in una variabile stringa e stamparlo ho difficoltà? Credo sia diverso leggere il contenuto di un file e usarlo come coordinate per creare un immagine, capisci cosa intento? Probabilmente non sono chiaro..
Quote
mi sa che la libreria di TvOut non è una libreria per l'IDE di Arduino ma una libreria da usare per applicativi in C puro. Ecco perché non si importa...
TvText.
Quando ho scompattato il pacchetto, così a occhio il dubbio mi era venuto, guardando il codice mi era sembrato troppo simile al c puro, ma visto che tanto ero in alto mare per altre 1000 cose ho rimandato, mi rendo conto che devo studiare tanto perchè ho commesso molte leggerezze, purtroppo ieri e oggi sono stati giorni morti per me, sono fuori casa e praticamente leggo solo il forum, se ero a casa "con tutto l'occorrente" mi sarei guardato un bel po' di cose, con la libreria funzionante sicuramente qualcosa potevo vedere.
Quote
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1293464810/all
Lo schema rappresenta una RAM condivisa. Alle 2 estremità SX e DX ci starebbero gli Atmega/Arduino. Uno dovrebbe scrivere nella RAM, ed uno leggerebbe i dati e li manderebbe a video.
Ho dato un occhiata  smiley è ora di dormire, anche se qua c'è da perderci il sonno  smiley la cosa che mi ha fatto ridere è che il primo schema non l'avevi capito, il secondo, che a mio avviso era più incasinato del primo invece l'hai capito  :o
Comunque così a occhio tutto è fattibile, mah! tanto chi mi corre dietro??
« Last Edit: January 12, 2011, 07:29:02 pm by Francy » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Intendi una specie di file "vettoriale", che so.. qualcosa tipo una sfilza di coord_x, coord_y - coord_x, coord_y - coord_x, coord_y ecc...?
E disegnare i singoli bit?

Adesso mi sto leggendo questo thread:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1272593798/0
E' lì che è stato postato TvOut ed è lì che hanno affrontato diversi problemi ed hanno sviluppato la libreria.
Sto cercando di capire come mai non riesco a modificare la risoluzione. Lì si dice che è un problema di memoria ma se la libreria è stata sviluppata su un Atmega168, che ha metà memoria di un 328, perché non posso modificare la risoluzione da 120x96? Boh...

Adesso stacco. Ci sentiamo domani. Ciao.
Logged


Pages: 1 2 [3] 4 5 ... 9   Go Up
Jump to: