I'am trying to use this Code from the following Site:
http://electricgeocaching.blogspot.de/2010/09/gemini-puzzle-caches.html
It is about using a nRF24L01.
I'am using a arduino pro mini and a nRF24L01.
I have connected everything as described in the Code.
But there is no Output on the lcd display?
#include <Spi.h>
#include <mirf.h>
#include <LiquidCrystal.h>
#include <string.h>
// Pins
#define pinUnused 0
// LCD
#define pinD4 14 // analog 0
#define pinD5 15 // analog 1
#define pinD6 16 // analog 2
#define pinD7 17 // analog 3
#define pinEnable 18 // analog 4
#define pinRS 19 // analog 5
// nRF24L01+
#define pinCSN 9
#define pinCE 10
#define pinMOSI 11
#define pinMISO 12
#define pinSCK 13
LiquidCrystal lcd( pinRS, pinEnable, pinD4, pinD5, pinD6, pinD7 );
#define deviceNumber 1
#define device1Name "geminiOne"
#define device1Final " N 38 xx.xxx' "
#define device1Alone "Awaiting Castor."
#define device2Name "geminiTwo"
#define device2Final " E 23 xx.xxx' "
#define device2Alone "Awaiting Pollux."
#define RF_DR_LOW 5
#define RF_PWR_LOW 1
#define RF_PWR_HIGH 2
#define cacheMessage "Gemini Geocache "
#define copyrightMessage " (C)R10N "
#define successMessage "Final Position: "
void setup( void )
{
Serial.begin(38400);
lcd.begin( 16, 2 );
lcd.clear();
lcd.noAutoscroll();
Mirf.csnPin = pinCSN;
Mirf.cePin = pinCE;
Mirf.init();
Mirf.setRADDR( ( deviceNumber == 1 ) ? (byte*)device1Name : (byte*)device2Name );
Mirf.setTADDR( ( deviceNumber == 1 ) ? (byte*)device2Name : (byte*)device1Name );
Mirf.payload = sizeof( unsigned long );
uint8_t settings = ( 1 << RF_DR_LOW ) | ( 1 << RF_PWR_LOW ) | ( 1 << RF_PWR_HIGH );
Mirf.configRegister( RF_SETUP, settings );
Mirf.config();
randomSeed( analogRead( pinUnused ) );
displayMessage( cacheMessage, copyrightMessage );
delay( 2000 );
}
void displayMessage( const char* line1, const char* line2 )
{
lcd.setCursor( 0, 0 );
lcd.print( line1 );
lcd.setCursor( 0, 1 );
lcd.print( line2 );
}
void sendData( void )
{
unsigned long now = millis();
Mirf.send( (byte*)&now );
while( Mirf.isSending() )
delay( random( 10 ) );
}
bool readData( void )
{
bool dataFound = false;
while( Mirf.dataReady() )
{
byte data[Mirf.payload];
Mirf.getData(data);
dataFound = true;
}
return dataFound;
}
void loop( void )
{
sendData();
if( readData() == true )
{
displayMessage( successMessage, ( deviceNumber == 1 ) ? device1Final : device2Final );
unsigned long now = millis();
while( millis() <= (now + 1000) )
sendData();
}
else
{
displayMessage( cacheMessage, ( deviceNumber == 1 ) ? device1Alone : device2Alone );
}
}