Remote temperature and humidity sensor (Sodaq) - Receiver Help


i working on building remote temperature , humidity sensor displays data locally on oled screen , transmits wirelessly, via xbee, arduino oled via xbee.

i able display data locally, not sure how code receiver.

(i have set xbee's in @ mode , 1 coordinator , other router. can send "hello world!", extent of able do...)

your , guidance appreciated!  :)

below parts list , transmitter code (which resides on transmitter arduino).

2- sodaq kits
http://store.manylabs.org/products/k0120

2- oled displays 128x64
http://store.manylabs.org/collections/devices/products/g0101

1- digital temperature , humidity sensor (dht22
http://store.manylabs.org/collections/devices/products/g0102

2- xbee pro s3b 900hp rpsma
http://www.digi.com/products/wireless-wired-embedded-solutions/zigbee-rf-modules/point-multipoint-rfmodules/xbee-pro-900hp

code below:

#
code: [select]


#include <dht.h>
#include <wire.h>
#include <seeedoled.h>

dht dht;

#define dht22_pin a0
#define aref 3.3
#define batvoltpin a7

void setup()
{
    serial.begin(9600);
    serial.println("dht test program ");
    serial.print("library version: ");
    serial.println(dht_lib_version);
    serial.println();
    serial.println("type,\tstatus,\thumidity (%),\ttemperature (f)\ttime (us)");
   
    wire.begin();
    seeedoled.init();  //initialze seeed oled display
    ddrb|=0x21;       
    portb |= 0x21;

    seeedoled.cleardisplay();          //clear screen , set start position top left corner
    seeedoled.setnormaldisplay();      //set display normal mode (i.e non-inverse mode)
    seeedoled.setpagemode();           //set addressing mode page mode
    seeedoled.settextxy(0,0);          //set cursor xth page, yth column 
 

}

void loop()



{
    // read data
    serial.print("dht22, \t");

    uint32_t start = micros();
    int chk = dht.read22(dht22_pin);
    uint32_t stop = micros();

    switch (chk)
    {
    case dhtlib_ok:
        serial.print("ok,\t");
        break;
    case dhtlib_error_checksum:
        serial.print("checksum error,\t");
        break;
    case dhtlib_error_timeout:
        serial.print("time out error,\t");
        break;
    default:
        serial.print("unknown error,\t");
        break;
    }
    // display data
    serial.print(dht.humidity, 1);
    serial.print(",\t");
    serial.print(dht.temperature * 9.0 / 5.0 + 32.0, 1);
    serial.print(",\t");
    serial.print(stop - start);
    serial.println();

    seeedoled.settextxy(1,0);
    seeedoled.putstring("temp (of): ");
    seeedoled.putfloat(dht.temperature * 9.0 / 5.0 + 32.0 , 1);

    seeedoled.settextxy(3,0);
    seeedoled.putstring("% humidity: ");
    seeedoled.putfloat(dht.humidity, 1);

/*
* pin connected middle of 10m , 2m resistor
* between vcc , gnd.
* actual battery voltage is:
* <adc value* aref * (10+2) / 2 * 1023
*/
//battery (raw value)
int batteryread = analogread(batvoltpin);
float voltage = batteryread * aref * 6.0 / 1023;
serial.println(voltage);

    seeedoled.settextxy(5,0);
    seeedoled.putstring("voltage: ");
    seeedoled.putfloat(voltage);   
    delay(2000);
   
}
//
// end of file
//


photo of project:



Arduino Forum > Using Arduino > Networking, Protocols, and Devices (Moderator: fabioc84) > Remote temperature and humidity sensor (Sodaq) - Receiver Help


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support