Blog

FM Ghost Box – Step 3 – Becoming a ‘Ghost Box’

 

becomingaghostbox1 I think the best thing we can do is blaze a trail, right or wrong forge ahead.

The paranormal field is so vast, so uncharted, that we all need to be inventors and pioneers!

If you’re a skeptic, that’s awesome… If you’re one of those “You’re wrong because I just know” or “I’ve never tried that but I know it doesn’t  work”- then  I feel sorry for you.

The idea is have fun! Try something new surprise yourself and let everyone else worry about what they’re doing!

 

First Step toward Coding a Ghost Box

Let’s try some new code and take the first step towards a new ghost box!

Download the Modified Code

This code will create a sweeping radio either up or down.
3 = up  4 = down

//  Based on the Origanl  sample code of  www.elechouse.com   @brief   example of FMRX_MODULE
//  This radio can be pruchased at  www.elechouse.com
//  GBH  1/2/2014 Mod for "Ghost Box "  
#include 
#include 
float channel;
void setup(void)
{
Serial.begin(9600); // setup serial communications to the host
i2c_init(); // Setup IC2 for use pins (A4 and A5) arduino uno 
fmrx_read_reg(fmrx_reg_r); // Start FMRX 
fmrx_set_volume(8);// Set Default start up Volume

 

Changing the value on the next line will increase or decrease the signal strength used to determine the radio has found a station.

  fmrx_set_rssi(0); // This tells the radio what is a strong enough signal to stop on .. we use 0 -5 for better low signal responce
fmrx_select_band(BAND_US);   //  select a band, parameter:  BAND_EU:       87-108MHz, Europe  BAND_US:       87-108MHz, USA  BAND_JP:       76-91MHz, JAPAN  BAND_JP_WIDE:  76-108MHz, JAPAN wide
channel=fmrx_seek(SEEK_DOWN); // find a chanel to start on. 
}
/* commands are 1 increase volume 2 decrease volume 3 scan  up x to exit 4. scan down x to exit */
void loop(void)
{
static int vol=8;
if(Serial.available()>0){
switch(Serial.read()){
case '1': // Increase Volume
if(vol < 0x0F){
vol++;
}
fmrx_set_volume(vol);
Serial.print("Volume+:");
Serial.println(vol);
Serial.print("\r\n");
break;
case '2': // decrease volume
if(vol > 0){
vol--;
}
fmrx_set_volume(vol);
Serial.print("Volume-:");
Serial.println(vol);
Serial.print("\r\n");
break;
case '3': // Scan up Exit on 'x'
do{        
channel = fmrx_seek(SEEK_UP);
Serial.print(channel);
Serial.print("\r\n");
delay(150); // change this amount to increase time stopped on a station 
if(Serial.read()=='x'){break;} // Enter  'x' to exit scan up
}
while (1==1);
break;
case '4': // Scan Down Exit on 'x'
do{       
channel = fmrx_seek(SEEK_DOWN);
Serial.print(channel);
Serial.print("\r\n");
delay(150); // change this amount to increase time stopped on a station 
if(Serial.read()=='x'){break;} // Enter  'x' to exit scan up
}
while (1==1);
break;
}
}
}

 

Leave Reply