Pages: [1] 2 3 ... 7   Go Down
Author Topic: l'atmel display recuperato dal decoder  (Read 5492 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 2
Posts: 103
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

quest'estate ho smontato un decoder che si era rotto, al suo interno ho trovato un display composto da 4 bcd 7 segmenti controllati da un attiny2313. nella parte bassa della scheda ci sono 8 pin out a cui sono collegati 5 fili e facendo delle verifiche con il tester ho visto che c'è un 5volt, massa, slc tramite resistenza da 100ohm, sda tramite una resistenza da 100ohm e reset con un condensatore 10uF e una resistenza da circa 10kohm. ora la domanda è, che ci potrei fare?? allego 2 foto che ho fatto al display




* WP_000038.jpg (991.88 KB, 2592x1944 - viewed 47 times.)

* WP_000040 (2).jpg (872.15 KB, 2592x1944 - viewed 32 times.)
Logged

Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1745
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

quest'estate ho smontato un decoder che si era rotto, al suo interno ho trovato un display composto da 4 bcd 7 segmenti controllati da un attiny2313. nella parte bassa della scheda ci sono 8 pin out a cui sono collegati 5 fili e facendo delle verifiche con il tester ho visto che c'è un 5volt, massa, slc tramite resistenza da 100ohm, sda tramite una resistenza da 100ohm e reset con un condensatore 10uF e una resistenza da circa 10kohm. ora la domanda è, che ci potrei fare?? allego 2 foto che ho fatto al display



Potresti riprogrammare l'attiny per avere una comunicazione seriale con un eventuale arduino che lo controlla via seriale
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12345
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

certamente non puoi farci il caffé, ma visto che è già bell'e pronto per la comunicazione seriale (contrariamente a quello che dice cecé), puoi provare a collegarlo ad un altro micro, p.es. ad un Arduino (pin A4-A5) e mandargli qualche "cifra" per vedere come reagisce, il RESET lo devi usare con un impulso tipo LOW.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 2
Posts: 103
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per riprogrammarlo devo collegare i pin tx e rx dell'attiny ad arduino giusto?? questi due pin sono collegati al display
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12345
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

se stai chiedendo a cecé ti risponde lui, personalmente ti ho consgliato di provare ad usarlo così com'è, potrebbe funzionare senza toccare l'attiny...
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 2
Posts: 103
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

michele per reset cosa devo fare?? devo metterlo a massa?? facciamo prima come dici te, così vediamo come si comporta! sul decoder visualizzava il numero dei canale e qualche scritta come "SCAN" durante la ricerca dei canali
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9183
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

facciamo prima come dici te, così vediamo come si comporta! sul decoder visualizzava il numero dei canale e qualche scritta come

Se è realmente controllato tramite I2C, molto probabile, non ottieni nulla inviando valori a casaccio, l'I2C ha un ben preciso protocollo che come prima cosa richiede di conoscere l'address del device, questa cosa puoi facilmente verificarla utilizzando lo sketch I2Cscanner che ti dice l'address di tutti i device connessi sul bus.
Una volta che hai trovato l'address allora puoi provare ad inviare dei byte al display per vedere come reagisce, tieni presente che quasi sicuramente richiede l'invio di almeno due byte codificati come bcd (= 4 cifre display).

Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12345
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se visualizza sia numeri che lettere si può provare con la codifica standard ascii, mandano un byte per il controllo di ogni signola cifra.
Oppure come dici tu, usare 4 bit per ogni cifra, per usarlo solo come numerico.
Ovvio che bisogna tentare di interpretare il protocollo implementato.
Vito, devi cercare uno sketch che preveda la comunicazione I2C e come dice Astro, uno scanner (software) che legga l'identificativo del display, che dovrai inserire nella comunicazione sul bus I2C, in modo che sia ben chiaro che il destinatario dei dati è lui.
Il reset per ora lo puoi lasciare NON collegato.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 2
Posts: 103
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

allora appena collegato il tutto come da foto, caricato su arduino i2c_scanner e dal monitor seriale mi dice "I2C divice found at address 0x38 ! done". quindi l'indirizzo del display è "0x38". Il filo viola è slc sul display e quello grigiom sda sul display. avete per caso uno sketch per provare a far visualizzare qualcosa??


* WP_000043 (2).jpg (1096.89 KB, 2592x1944 - viewed 28 times.)
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12345
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

cerca sul playground, in fondo ti basta una semplice riga di invio dati in questo formato
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9183
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

allora appena collegato il tutto come da foto, caricato su arduino i2c_scanner e dal monitor seriale mi dice "I2C divice found at address 0x38 ! done". quindi l'indirizzo del display è "0x38".

Il fatto che I2Cscanner ha trovato l'address ti conferma che si tratta di un device I2C, adesso devi solo provare ad inviargli dati scrivendo sulla I2C utilizzando quell'address.
Io come prima prova gli manderei due byte contenenti i valori 0x01 0x02, se il display funziona come penso dovrebbe visualizzare "0102".
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12345
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

lui vorrebbe la sintassi per l'invio, credo.... smiley-grin
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 2
Posts: 103
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

lui vorrebbe la sintassi per l'invio, credo.... smiley-grin
anche se sarebbe bello avere una sintassi provo a guardare nel playground per vedere se trovo qualcosa
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 103
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
#include <Wire.h>
 
byte val = 0;
 
void setup()
 {
   Wire.begin(); // join i2c bus
 }
 
void loop()
 {
   Wire.beginTransmission(56); // transmit to device #44 (0x2c)
                               // device address is specified in datasheet
   Wire.write(val);             // sends value byte 
   Wire.endTransmission();     // stop transmitting
 
  val++;        // increment value
   if(val == 64) // if reached 64th position (max)
   {
     val = 0;    // start over from lowest value
   }
   delay(5);
 }

allora ho preso questo sketch dalla playground e guardando una tabella ascii presa su internet ho capito che per comunicare con il display dovevo mettere "56" per avere l'indirizzo "0x38" del display. ora il display si accende ed emette valori a casaccio che cambiano in continuazione. il pin reset è staccato. vi posto un'altra foto


* WP_000051 (2).jpg (909.63 KB, 2592x1944 - viewed 30 times.)
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9183
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

In base a quello che appare direi che è molto probabile che vengono controllati i singoli segmenti di ogni cifra in funzione dei bit del valore che invii, ovvero un byte è composto da 8 bit e 7 di questi corrispondono ai segmenti del display, se c'è anche il punto è legato all'ottavo bit.
Se invii una serie di valori dove metti a 1 solo un bit per volta per ogni byte in un attimo hai la codifica, usa il formato binario "0b00000000" mettendo a 1 solo un bit per volta.
Devi inviare 4 byte per volta, uno per ogni cifra del display, e non singoli byte per ogni invio.
Logged

Pages: [1] 2 3 ... 7   Go Up
Jump to: