Pages: [1]   Go Down
Author Topic: SCHEDA AUDIO WTV020 SD --- script di controllo  (Read 661 times)
0 Members and 1 Guest are viewing this topic.
Oristano
Offline Offline
Sr. Member
****
Karma: 0
Posts: 252
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sono riuscito a controllare (mi pare) bene la schedina audio WTV020 SD ...

la comunicazoine può avvenire tramite due linee una di CLOCK ed una di DATA secondo il seguente schema


questa è la funzione originale usata dalla SOMO che utiliza lo stesso integrato in una sua scheda ....
Code:
void sendData(int ThisSong)
{
int TheSong = ThisSong;
int ClockCounter=0;
int ClockCycle=15;//0x0f;

digitalWrite(pinClock,HIGH);     // Hold (idle) for 300msec to prepare data start
delay(300);
digitalWrite(pinClock,LOW);       //Hold for 2msec to signal data start
delay(2);  //2msec delay
 
      while(ClockCounter <= ClockCycle)
    { digitalWrite(pinClock,LOW);
      if (TheSong & 0x8000)
       {digitalWrite(pinData,HIGH);
       }
        else
       {digitalWrite(pinData,LOW);
    }
    TheSong = TheSong << 1;
    delayMicroseconds(200);      //Clock cycle period is 200 uSec - LOW
     digitalWrite(pinClock,HIGH);
    ClockCounter++;
    delayMicroseconds(200);      //Clock cycle period is 200 uSec - HIGH
   }

digitalWrite(pinData,LOW);
digitalWrite(pinClock,HIGH);    // Place clock high to signal end of data
}

la stessa SOMO in un altro script usa questo
Code:
void sendCommand(int addr)
{
  digitalWrite(clockPin, LOW);
  delay(2);
  for (int i=15; i>=0; i--)
  {
    delayMicroseconds(50);
    if((addr>>i)&0x0001 >0)
      {
        digitalWrite(dataPin, HIGH);
        //Serial.print(1);
      }
    else
       {
         digitalWrite(dataPin, LOW);
        // Serial.print(0);
       }
    delayMicroseconds(50);
    digitalWrite(clockPin, HIGH);
    delayMicroseconds(50);
   
    if(i>0)
    digitalWrite(dataPin, LOW);
    else
    digitalWrite(dataPin, HIGH);
    delayMicroseconds(50);
   
    if(i>0)
    digitalWrite(clockPin, LOW);
    else
    digitalWrite(clockPin, HIGH);
  }
 
  delay(20);
}

entrambi funzionano bene ... 

io ho provato a rifarlo ... e ho fatto così:
Code:
void sendCommand(int addr)
{
 digitalWrite(pinClock,HIGH); delay(300); digitalWrite(pinClock,LOW); delay(2);  // guardare il datasheet del WTV020
 for (int i=15; i>=0; i--)
  {
    digitalWrite(pinClock, LOW);
    if((addr>>i)&0x0001 >0){digitalWrite(pinData, HIGH);} else {digitalWrite(pinData, LOW);}
    delayMicroseconds(100);
    digitalWrite(pinClock, HIGH);
    delayMicroseconds(100);
    }
}
anche questo funziona (mi pare) bene ...

qual'è la Vs opinione al riguardo ... a me mi sembra che la mia versione sia più rispettosa di quanto indicato nel datasheet  .... mi fate sapere cosa ne pensate??? ...  grazie
« Last Edit: September 16, 2012, 07:34:34 am by Paolo S » Logged

Oristano
Offline Offline
Sr. Member
****
Karma: 0
Posts: 252
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non interessa a nessuno l'argomento????  smiley-sad sigh! sigh!
Logged

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

Probabilmente nessuno ha questa scheda.
Però potresti ad esempio dirci questo chip dove si reperisce, quanto costa, che cosa può fare e cosa ci hai fatto tu.... se hai riprodotto dei suoni da un file oppure se li hai generati tu.
Logged


Oristano
Offline Offline
Sr. Member
****
Karma: 0
Posts: 252
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie leo... se non ci fossi tu qui ..... smiley-lol

la scheda l'ho acquistata qui per meno di 5 euro, compreso di spedizione ...
http://www.ebay.com/itm/160806790230?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

sostanzialmente è una schedina audio che "suona" i file memorizzati nella scheda microSD ....
I file devono essere in formato .ad4 .. ottenuti convertendo il formato mp3 con software specifico della SOMO ...

qualcuno dice che può riprodurre anche il fomato waw .. ma io non ho provato. Mi sono limitato a convertire dei mp3 in ad4, con il softaware della SOMO ed a farli riprodurre dalla schedina....

a me pare che fuznioni bene per quello che intendo fare io (accompaganre con messaggi audio il telecomndo DTMF che ho postato altrove)....

chiedevo informazioni riguardo al modo di gestire il prorocollo di comunicazioune a due vie con il segnale di clock e di data ..
non capisco bene quelli originali della somo (i primi due) perchè non mi pare che rispettino i tempi derivati dal datasheet

mentre mipare (se non sbaglio) che il mio sia più corrispondente ai tempi del datascheet

cosa ne dici?

grazie per l'interessamnento comunque..
« Last Edit: December 22, 2012, 05:01:22 am by Paolo S » Logged

Pages: [1]   Go Up
Jump to: