Go Down

Topic: arduino, TEA5767, switch (Read 236 times) previous topic - next topic

lotro

ci sarebbe un altra soluzione? il modulo è già saldato e non posso dissaldare tutto.

gpb01

ciao a tutti, ho cercato su internet varie soluzioni per non far bloccare l'arduino se disconnetto il bus I2C, ma non ho trovato niente di utile.
Hai visto QUESTA ?

Attenzione:

1. è molto vecchia
2. non so se è compatibile con l'IDE nuovo
3. usa gli stessi identici metodi della Wire, quindi .. se usi librerie che richiamano la Wire.h va in conflitto ed occorre correggerle tutte

Quindi ... tutta da provare e verificare ...  :smiley-confuse:

Guglielmo
Search is Your friend ... or I am Your enemy !

lotro

si l'ho provata ma da davvero un sacco di problemi, a sto punto preferisco non mettere lo switch e staccare il jack delle casse. se non trovo altre soluzioni farò così anche se come soluzione fa davvero pena.
non riesco neanche a settare il mute da programma

gpb01

#18
Jun 09, 2016, 03:01 pm Last Edit: Jun 09, 2016, 03:02 pm by gpb01
si l'ho provata ma da davvero un sacco di problemi
Sarebbe interessante sapere quali ti ha dato, così da poterli verificare ...

A me, a parte un problema di casting nel metodo write() e il dover rimpiazzare la Wire in tutte le librerie usate assieme ad essa ... non ha dato altri grossi problemi ... ::)

Guglielmo
Search is Your friend ... or I am Your enemy !

cam9500

Ciao, ma scusate....  però se il bus non è utilizzato mentre stacca l'alimentazione non dovrebbe capitare nulla se le resistenze di pullup rimangono alimentate e magari di un valore più basso (che so, 4,7k).
Certo è che l'alimentazione va scollegata quando il bus è inutilizzato.
Potrebbe settare i pin sda/scl come ingresso e poi togliere alimentazione e vedere se va.

Al riavvio prima rialimenta, magari un delay per stabilizzare il tea e poi ripristina a4 ed a5 come uscite.

Importante non mettere a massa l'alimentazione del tea quando non ha il vcc (che probabilmente tira giù sda/scl, "cybeths #3" )

Stefano

lotro

bisogna verificare che la radio si spenga però. con il pull-up collegato all'alimentazione non è detto che la radio si spenga. posso comunque fare un prova

cam9500

No spe... le resistenze di pullup sono sulla linea dati (interne ad arduino da 47k o esterne). Se togli il positivo di alimentazione al tea si spegne, non serve che gli dai una massa.
A meno che non intendi che il tea non prenda alimentazione dal bus i2c che lo trovo molto raro...

Tra l'altro, leggendo l'application note qui:
http://www.rockbox.org/wiki/pub/Main/DataSheets/application_note_tea5767-8.pdf
a pagina 58 parla di un bit di stand-by (data byte 4, bit 5) magari ti risolve tutto....

Stefano

lotro

ho letto il datasheet, esiste anche un bit per il muto, ma sinceramente non so davvero come andare a gestirlo

gpb01

#23
Jun 09, 2016, 03:40 pm Last Edit: Jun 09, 2016, 03:41 pm by gpb01
ho letto il datasheet, esiste anche un bit per il muto, ma sinceramente non so davvero come andare a gestirlo
Perché ? Leggi Byte 0 (così ti salvi come è programmato), metti il bit 7 a 1 se vuoi mute, a 0 se non lo vuoi e lo riscrivi ... dove è la difficoltà ? :o

Guglielmo

P.S.: Nel datasheet lo chiamano 1st data byte ... ma normalmente si numerano a partire da 0 ;)
Search is Your friend ... or I am Your enemy !

gpb01

Se hai difficoltà nel gestire direttamente il bus I2C con le chiamate alla Wire, usa allora QUESTA libreria per il TEA5767 molto più completa di quella del playground e con il metodo ... mute()  :D

E' corredata anche da alcuni utili esempi ...

Buon studio ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

lotro

Ok  gentilissimo, la guardo subito.
Grazie mille

cam9500

Ciao, il muto pone a 0 l'audio (è il volume a zero) ma la circuiteria interna rimane in funzione. Se vuoi risparmiare energia testa lo stand-by ;)

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy