Pages: 1 ... 5 6 [7] 8 9   Go Down
Author Topic: Arduino e TV  (Read 13616 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

Quote
Siccome sono bloccato perché ancora il programmatore non mi è arrivato ed il mio Atmega è lì che mi guarda senza poter far nulla, mi son messo a rileggere le specifiche del TellyMate.

Io ho Arduino 2009 quindi penso che posso programmare l'ATmega semplicemente mettendolo su Arduino.

Quote
Nota2:usando TX e/o RX, l'uso del TellyMate taglia fuori l'uso di qualsiasi altro componente che comunichi con l'Arduino tramite seriale.

Questo impedirebbe l'uso di dispositivi esterni di output come la tastiera


Quote
Collegando solo il pin TX puoi mandare unicamente dati al TellyMate senza poter ricevere da esso informazioni, nel senso che è solo un sistema passivo: gli dici di scrivere "A" e lui scrive "A". Collegando anche il pin RX diventa attivo, nel senso che puoi chiedergli se nella locazione 0,0 c'è un carattere.

Questo è vero, ma comunque, ne permetterebbe l'utilizzo, se volto solo a visualizzare o leggere dati da un file, che verrebbe fatto da Arduino e poi mandato all' ATmega.
Purtroppo non ho i 2 1n4148 quindi non posso fare delle prove.

Mi domando se entrambi leggessero da una memoria comune, questo problema non si presenterebbe?
Logged

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

1)
Con l'Arduino 2009 tu puoi farlo ma non mettendo il chip semplicemente sullo zoccolo. Devi fare il ponticello con il connettore ISP oppure programmarlo mettendolo su breadboard.

2)
Ho riguardato la libreria PS/2 e dovrebbe usare solo quei 2 pin in lettura, il DATA e l'IRQ. Poi i dati mandandoli via seriale andrebbero sul TellyMate, quindi fino a qui non ci sono problemi.

3)
Non ti servono i diodi per fare il collegamento al cavo TV. Io l'ho fatto senza e va benissimo. Bastano le 2 resistenze.

4)
L'altro giorno ho provato con TvOut a mettere i font su una EEPROM ma non sono riuscito a visualizzare nulla. Non so se ho cannato qualcosa a livello di codice (probabile) oppure se è proprio per una questione di tempi di accesso. Ieri parlando con un mio amico ingegnere elettronico, mi ha confermato comunque che accedendo a RAM esterna bisogna valutare bene i timing perché basta perdere anche un colpo di clock che va tutto alle ortiche. Quindi per ora credo proprio che la strada dell'invio dei dati ad un Atmega che funga da chip video sia la più praticabile.

Stamattina ho pensato anche al possibile circuito.
Sull'Arduino scheda verrebbe messo l'ìinterprete Bitlash compilato con la libreria PS/2 e relativi input da tastiera per leggere l'input dall'utente mentre l'Atmega esterno, il TellyMate, sarebbe collegato tramite TX/RX e fungerebbe da chip video.

Non è difficile, vorrei solo che mi arrivasse 'sto ca@@o di programmatore... è 18 gg che l'ho ordinato, maledette feste....  >smiley-sad
Logged


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

Quote
Devi fare il ponticello con il connettore ISP

Eh??

Quote
Non ti servono i diodi per fare il collegamento al cavo TV. Io l'ho fatto senza e va benissimo. Bastano le 2 resistenze.

Come mai sono riportati nella foto?

Quote
il TellyMate, sarebbe collegato tramite TX/RX e fungerebbe da chip video.

Non avevamo detto che usando TX e RX non sarebbe stato possibile usare altri componenti che comunico con Arduino via seriale?
Logged

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

1)
non puoi programmare un bootloader semplicemente mettendo il chip nello zoccolino. Devi usare o l'Arduino come programmatore (come riportato qui: http://arduino.cc/en/Tutorial/ArduinoISP) oppure facendo un ponticello dal chip FTDI al connettore ISP. Ma non mi chiedere di più perché sono cose che ho letto sul forum ma che non ho sperimentato non avendo il 2009.

2)
Qualcuno li aggiungeva ma in realtà non servono a meno che tu non ci attacchi la corrente o la tua TV vada in corto, avendo quindi un ritorno di corrente verso l'Arduino. Ripeto, io l'ho fatto senza.

3)
Sì, però ho visto che sia la libreria PS/2 in realtà non necessita di TX/RX dato che legge la tastiera dal pin DATA.
Ora, siccome il TellyMate sarebbe il dispositivo solo da mettere in ricezione, puoi mandargli i dati tramite semplice Serial.print fatto proprio da Bitlash.
Quindi credo che ALMENO SULLA CARTA le 3 cose possano coesistere. Ma non posso dartene la certezza finché non provo.
Logged


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

Ok capito!


Uploaded with ImageShack.us

Cerca di avere pazienza, queste cose non l'avevo mai fatte, stavo vedendo i pin su Arduino a quali corrispondono su ATmega, sulla foto l' Arduino tellymate è alimentato dall' Arduino main su 5V e GND tali pin di Arduino sull' ATmega corrispondono al 7 e l' 8 ? Non devo aggiungere altro tra Arduino a l' ATmega?
Grazie.
« Last Edit: January 17, 2011, 01:07:01 pm by Francy » Logged

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

Qui hai lo schema dell'Arduino:
http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
Così vedi quali pin vanno su quali porte.

P.S.:
non posso aiutarti di più perché sono a lavoro e non posso "spippolare" più di tanto  smiley-wink
« Last Edit: January 17, 2011, 01:16:42 pm by leo72 » Logged


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

Grazie!!
Senti ho dato un occhiata qua:
http://arduino.cc/en/Tutorial/ArduinoToBreadboard

Questa è la parte che mi interessa..
Minimal Circuit (Eliminating the External Clock)

Se dai un occhiata ci sono due schemi di collegamento, da quello che ho capito uno è per caricare il bootloader e l'altro per caricare gli sketches sull' ATmega "solo"

Ora, nel mio caso io ho un ATmega con bootloader UNO, quindi posso caricare gli sketch usando il collegamento Arduino TX RX --> ATmega su breadboard?

Non ho capito bene una parte:
Quote
you can burn the bootloader and upload programs onto your ATmega328 as described above. Be sure to select "ATmega328 on a breadboard (8 MHz internal clock)" when burning the bootloader. (If you select the wrong item and configure the microcontroller to use an external clock, it won't work unless you connect one.)

In realtà "ATmega328 on a breadboard (8 MHz internal clock)" andrà caricato sull' Arduino-programmatore?
Poi cambiando collegamenti, Arduino capirà che lo sketch che carico andrà sull'ATmega solo?

Ho scaricato il firmware del Tellymate, ci sono una vagonata di file, dove vanno inseriti? In che modo poi faro l'upload??

Ho un bel po' di confusione in testa..!!  :o
Logged

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

1)
Il uC integra un microprocessore per cui deve avere un clock di riferimento per poter lavorare. O gli fai usare il clock interno (solo 8 MHz, attenzione!) oppure gli metti un clock esterno (l'Arduino va a 16 ma gli Atmega328 sono certificati fino a 20).

2)
Esatto. Il primo disegno ("Burning the bootloader") serve per programmare il bootloader ad un uC che non ce l'ha oppure per cambiarlo ad uno che ce l'ha. Il bootloader serve per poter inviare gli sketch senza dover usare un programmatore ma semplicemente usando le linee RX/TX dell'Atmega.

3)
Sì, puoi inviare gli sketch collegando l'Atmega come nello schema n° 2 di quella pagina ("Uploading Using an Arduino Board"). Ricordati però di togliere l'Atmega dalla tua Arduino 2009 altrimenti programmi il chip di questa e non il chip sulla breadboard  smiley-wink

4)
Ho visto il firmware del TellyMate, non so se si riesce a riversare sull'Atmega usando il metodo del bypass con l'Arduino. Sommariamente andrebbe compilato e creato un file .hex da inviare al uC. Difatti nella cartella /firmware del TellyMate ci sono questi file precompilati per diversi Atmega. Forse puoi fare l'upload usando il programma avrdude, ma cerca su internet perché non vorrei darti info sbagliate.
Logged


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

Ok grande!
Quote
Sì, puoi inviare gli sketch collegando l'Atmega come nello schema n° 2 di quella pagina ("Uploading Using an Arduino Board"). Ricordati però di togliere l'Atmega dalla tua Arduino 2009 altrimenti programmi il chip di questa e non il chip sulla breadboard

Ma di togliere l'ATmega non mi pare lo dica da nessuna parte!!
Quindi "ATmega328 on a breadboard (8 MHz internal clock)" che trovo nella cartella Tool --> Board è da flashare sull' ATmega solo tramite l'Arduino 2009 senza ATmega sopra?
Penso di si dice all'ATmega "solo" di usare il suo clock interno..

I file .hex li ho visti nella cartella, adesso guardo pure avrdude.
L' unica cosa che non mi è chiara è:
il file .hex è un bootloader? O va considerato come uno sketch?

Comunque gli sketch di prova di TellyMate vanno caricati su Arduino.
Mi è sembrato che i vari sketch di esempio vanno mandati ad Arduino

EDIT: Una cosa del genere??::
http://www.ngcoders.com/downloads/arduino-hex-uploader-and-programmer
http://xloader.russemotto.com/
« Last Edit: January 17, 2011, 04:40:20 pm by Francy » Logged

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

Sì, è vero. Non lo dice. Anzi, devi tenere il chip altrimenti non puoi programmare il bootloader.

Cmq sto parlando un po' di "aria fritta" nel senso che non ho sotto mano il programmatore ne' posso fare prove. Quindi prendi un po' con le molle quello che scrivo perché sono poco esperto  :smiley

Un file .hex è un file binario che il programmatore legge e scrive byte per byte nella memoria dell'Atmega in una particolare zona protetta dai "fuse", in modo che l'upload di uno sketch non la cancelli.
Ah, ho visto che quando all'IDE dici di programmare il bootloader questo avvia avrdude in automatico. Però non so che impostazioni bisogna passargli per programmare il firmware di TellyMate.

L'unica è che tu faccia delle prove. Per ora non posso aiutarti che a parole  :'(

Gli sketch di prova di TellyMate sono per l'Arduino mentre il firmware è per l'Atmega solitario.
Logged


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

Ok forse ho capito.
SE e dico SE potessi usare uno di quei due programmi che ho linkato sopra:
Potrei cambiare ATmega su Arduino con l'altro che ho singolo e fare upload del file .hex contenuto nella cartella del firmware TellyMate, sono ispirato dal nome di un file: "TellyMate_M328p.hex".
A questo punto lo collego come già discusso precedentemente.

Infine carico i vari sketch su Arduino tramite l'IDE normalmente.
Nello sketch uso il comando Serial.println();
MA il firmware del TellyMate presente nell' ATmega "solo" rimane in ascolto sulla porta RX e manda a video l'output.

Giusto??
p.s. se è così come scritto i file .h nella cartella TellyMate dove vanno inclusi?
« Last Edit: January 17, 2011, 05:02:06 pm by Francy » Logged

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

Se fai il collegamento con la breadboard ed usi l'Arduino come programmatore, dovresti poter caricare il bootloader del TellyMate sull'Atmega solitario. Usa il file 328.hex.
Ricordati però che l'Atmega solitario necessita di un clock a 16 MHz per cui non puoi usare quello interno che è solo a 8: ti serve per forza un quarzo esterno.

Poi mandi uno sketch all'Arduino nel modo consueto. Sì.
Dallo sketch prova con il comando Serial.print, oppure carica anche un codice di prova prelevato dal sito di TellyMate, ce ne sono diversi.

Giusto.
In pratica l'Arduino funziona da terminale: in questo potresti benissimo caricare la libreria PS/2 e provare a leggere i tasti ed a mandarli all'Atmega "TellyMate" con Serial.print. Dovrebbe funzionare.
Quali file .h? I file .h sono del firmware, non servono allo sketch dell'Arduino: ricorda che sono 2 hardware separati, non hai una libreria da caricare come nel caso di TvOut.
Logged


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

Quote
Se fai il collegamento con la breadboard ed usi l'Arduino come programmatore, dovresti poter caricare il bootloader del TellyMate sull'Atmega solitario. Usa il file 328.hex.
Ricordati però che l'Atmega solitario necessita di un clock a 16 MHz per cui non puoi usare quello interno che è solo a 8: ti serve per forza un quarzo esterno.
Ho tutto però se collego così, che è perfetto, come faccio a dire all' IDE di flashare l' .hex di TellyMate? Mi pare che posso flashare solo alcuni firmware prestabiliti..
http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Se uso invece uno di quei due programmi che ho linkato:
http://www.ngcoders.com/downloads/arduino-hex-uploader-and-programmer
http://xloader.russemotto.com/
collegando il quarzo non dovrei avere problemi.
Logged

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

Difatti era il dubbio che avevo anch'io. Con l'IDE mi sa che puoi caricare solo i bootloader prestabiliti.
Io ti consiglio di usare "avrdude" (ce lo dovresti avere perché è nei requisiti di sistema dell'IDE). Se noti nella cartella "firmware" di TellyMate c'è anche un file .bat con i parametri da passare ad avrdude per programmare correttamente il bootloader ed i fuse.
Logged


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

Stasera provo XLoader, ARP Arduino Uploader e se non riesco avrdude che mi sembra più complicato.
Logged

Pages: 1 ... 5 6 [7] 8 9   Go Up
Jump to: