FM Transmitter V2.0 problemi

Salve a tutti,

ho acquistato un trasmettitore dall'elechouse dove viene spiegato come collegare velocemente il modulo ad Arduino.
Fm Transmitter -> Arduino
GND->GND
VCC->5v
SDA->A4
SCL->A5

/**
  @file    fmrx_demo.ino
  @author  www.elechouse.com
  @brief   example of FMRX_MODULE
  
    For this demo, input command format like &xxxx to set select band,
 (eg:if you want to set FM 95.6MHz,then input &0956 and send).
  
  @section  HISTORY
  
  V1.0 initial version
  
    Copyright (c) 2012 www.elechouse.com  All right reserved.
*/

#include <FMTX.h>

float fm_freq = 90;  // Here set the default FM frequency
void setup(void)
{

  Serial.begin(9600);
  Serial.print("FM-TX Demo\r\n");
  /**
  Initial, set FM channel and select your area:
 USA
 EUROPE
 JAPAN
 AUSTRALIA
 CHINA
  */
  fmtx_init(fm_freq, EUROPE); 
  Serial.print("Channel:");
  Serial.print(fm_freq, 1);
  Serial.println("MHz");
}

void loop(void)
{
  /** check for data setting new frequency.  Users could input data from Serial monitor. Data 
    must start with '&' and followed by 4 numbers, such as &8000. The first two is the integer part
    of new frequency (Unit: MHz), and the last one is the decimal part. And the channel must between 70MHz
    and 108Mhz. For example,  &756 is 75.6MHz, and &666 is out of range.
  */
   if(Serial.available()){
    switch(Serial.read()){
      case '&':
        u8 i,buf[4];
         float ch;
         i=0;
         delay(30);
         while(Serial.available()&&i<4){
           buf[i]=Serial.read();
           if (buf[i]<= '9' && buf[i]>= '0') { 
           i++;}
           else{
           i=0;
           break;
           }
         }
         if (i==4){
           ch = (buf[0]-'0')*100+(buf[1]-'0')*10+(buf[2]-'0')*1+0.1*(buf[3]-'0');
           if(ch>=70&&ch<=108){
             Serial.print("New Channel:");
             Serial.print(ch, 1);
             Serial.println("MHz");
             fmtx_set_freq(ch);
           }else{
             Serial.println("ERROR:Channel must be range from 70Mhz to 108Mhz.");
           }
         }else{
           Serial.println("ERROR:Input Format Error.");
         }
         
         while(Serial.available()){
           Serial.read();
         }
        break;
    }
  }
}

Fin qua tutto bene, unzippo la libreria fornita dalla casa produttrice, apro lo sketch, carico su Arduino il tutto. Apro il Monitor Seriale e compare la scritta FM-RX come sul codice. A questo punto dovrebbe esserci la possibilità di poter cambiare la frequenza con &xxxx quindi ad esempio volendo 108.0 Mh -> &1080. Il problema è essenzialmente che qualsiasi comando invio non succede nulla, il monitor non da alcuno segnale di vita.
Ora, il modulo fornito è il 2.0 che sia i fornitori di ebay, sia il support del sito mi hanno confermato essere la versione successiva alla 1.0 che è quella mostrata in figura. Il supporter mi ha confermato che il codice non è cambiato, non c'è stato alcun update.

Qualcuno sa aiutarmi? Bisogna modificare il codice? Il modulo può essere difettoso?

http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=168_170&products_id=2206&zenid=v8n38o52rp8fje4grbu9fr9i47

Quale modello di Arduino hai?
A4 e A5 vale solo per Arduino UNO e altri col ATmega328. Arduino MEGA e Arduino Leonardo hanno la I2C su altri pin:
http://arduino.cc/de/Reference/Wire

Ciao Uwe

... e magari modifica anche il titolo del thread ... che quello è un Ricevitore FM e non un trasmettitore !!!

Inoltre, come da regolamento, punto 6, cortesemente non scriverlo in maiuscolo !

Guglielmo

Ho Arduino Uno.

Lo scopo del modulo è creare una specie di stazione radio, si chiama ricevitore?
Ho scritto esattamente il nome riportato sul prodotto stesso, dubito possano essersi sbagliati anche loro.

Andrea

androide10:
Ho scritto esattamente il nome riportato sul prodotto stesso, dubito possano essersi sbagliati anche loro.

Ma tua sai che differenza c'è tra un Trasmettitore radio ed un Ricevitore radio ??? :astonished: :astonished: :astonished:

Allora ... sul sito è chiaramente indicato come "FM Radio Receiver Module -- Arduino compatible", ed è giusto, quindi ... o sulla scatola hanno scritto una boiata, o ... stai leggendo qualche altra cosa ... :roll_eyes:

Comunque è un RICEVITORE ... senza ombra di dubbio !!! ]:smiley: ]:smiley: ]:smiley:

Guglielmo

Oddio scusatemi, il link che avevo inserito era sbagliato, sono talmente simili i due che per sbaglio li ho confusi.
Edito anche sul post iniziale.

http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=168_170&products_id=2206&zenid=v8n38o52rp8fje4grbu9fr9i47

androide10:
Oddio scusatemi, il link che avevo inserito era sbagliato, sono talmente simili i due che per sbaglio li ho confusi....

Ahhhhh .. ok ... ora ci siamo XD XD XD

Guglielmo

Qualche soluzione? :smiley:

Andrea

non usare lo sketch per l'Rx, ma quello per il Tx

@ Brunello : Mi sembra quello del TX ... ho scaricato anche io la libreria e c'è dentro quello li ... :roll_eyes:

@ androide10 : Prova intanto con uno scanner I2C a vedere se vede il modulo sul bus ... lo trovi QUI :wink:

Guglielmo

Ha ragione, inizialmente avevo postato quello sbagliato, avendo sbagliato link, poi ho editate anche quello.

Lo scan per l'i2c l'avevo già eseguito con risultati positivi.

A questo punto sono riuscito a far cambiare la frequenza sul monitor seriale, il fatto è che non trasmette comunque.

Andrea

Niente, tutto risolto, magari provvederò a fare una piccola guida utilizzando un LCD e un potenziometro in futuro vista la scomodità della porta seriale.

Qualcuno sa quanto può trasmettere in campo aperto un'antenna di 30cm?

androide10:
Qualcuno sa quanto può trasmettere in campo aperto un'antenna di 30cm?

allora, come da manuale del prodotto, l'antenna dovrebbe essere circa :

Theoretically the antenna length for 100Mhz is 75cm.

... mentre per il resto :

In most countries, it is illegal to build personal radio station if your radio station signal covers a large area. Without any external amplifier and with our simple antenna, this module could transmit about 50m in open area. We test it in a building. And we adjust the module’s antenna and location to make sure it would not interfere with neighbors.

Guglielmo

dal datashhet 96-113 dBµV ......... tipico 103dBµV

quindi si va' da 100µW ..... a 5mW ..... tipico 800µW

50 metri sono solo teorici, diciamo che con i valori tipici gia' a 10 metri e' dura.

Ho chiesto visto che le misure dichiarate sono sempre un po' fasulle. :smiley: :smiley:

Grazie di tutto.

Andrea