Difference between revisions of "JeeNode notater"

From Teknologisk videncenter
Jump to: navigation, search
m
m
Line 151: Line 151:
 
}
 
}
 
</source>
 
</source>
Læs mere og se video på: [http://www.elmholt.eu/wordpress]<br/><br/>
+
Læs mere og se video på: [http://www.elmholt.eu/wordpress www.elmholt.eu]<br/><br/>

Revision as of 19:46, 4 January 2013

Først skal boardet bare kunne læse en værdi og udsende en værdig. Det er her testet med en kontakt og en lysdiode

/// @dir blink_ports
/// Ports library demo, blinks leds on all 4 ports in slightly different ways.
/// @see http://jeelabs.org/2009/02/14/ports-library-for-arduino/
// 2009-02-13 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

#include <JeeLib.h>

Port one (1);

// leds are connected to pins 2 (DIO) and 3 (GND) with a series resistor

void setup() {
	one.mode(OUTPUT);
        pinMode(5, INPUT);
}

void loop() {
        int inputval = digitalRead(5);
	one.digiWrite(inputval);  // Make the LED toggle
        //delay(1000);
}

Dernæst skal den kunne læse en værdi og sende den via wireless til en anden node og vise det på den.

/// @dir pingPong
/// Demo of a sketch which sends and receives packets.
// 2010-05-17 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

// with thanks to Peter G for creating a test sketch and pointing out the issue
// see http://news.jeelabs.org/2010/05/20/a-subtle-rf12-detail/

#include <JeeLib.h>

Port leds (1);
MilliTimer sendTimer;
byte payload[2] = "a";
byte needToSend;


void setup () {
    Serial.begin(57600);
    Serial.println(57600);
    Serial.println("Send and Receive");
    rf12_initialize(1, RF12_868MHZ, 33);
    pinMode(5, INPUT);
    leds.mode(OUTPUT);
}

void loop () {
    if (rf12_recvDone() && rf12_crc == 0) {
        //receiveLed(1);
        //payload[0] = digitalRead(5);
        Serial.print("OK ");
        for (byte i = 0; i < rf12_len; ++i)
        {
            Serial.print((char)rf12_data[i]);
            
        }
        leds.digiWrite((byte)rf12_data[0]);
        //receiveLed(rf12_data[0]);
        Serial.println();
        
        delay(100); // otherwise led blinking isn't visible
        //receiveLed(0);
    }
    
    if (sendTimer.poll(500))
        needToSend = 1;

    if (needToSend && rf12_canSend()) {
        needToSend = 0;
        int pinstate = digitalRead(5);
        payload[0] = (byte)pinstate;
        //leds.digiWrite(pinstate);
        //sendLed(1);
        rf12_sendStart(0, payload, sizeof payload);
        //payload[0]++;
        //delay(100); // otherwise led blinking isn't visible
        //sendLed(0);
    }
}

Denne kode er brugt til afstands test af det wireless signal

/// @dir pingPong
/// Demo of a sketch which sends and receives packets.
// 2010-05-17 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

// with thanks to Peter G for creating a test sketch and pointing out the issue
// see http://news.jeelabs.org/2010/05/20/a-subtle-rf12-detail/

#include <JeeLib.h>

Port leds (1);
MilliTimer sendTimer;
byte payload[2] = "a";
byte needToSend;


void setup () {
    Serial.begin(57600);
    Serial.println(57600);
    Serial.println("Send and Receive");
    rf12_initialize(1, RF12_868MHZ, 33);
    pinMode(5, INPUT);
    leds.mode(OUTPUT);
    payload[0] = 0;
}

void loop () {
    if (rf12_recvDone() && rf12_crc == 0) {
        //receiveLed(1);
        //payload[0] = digitalRead(5);
        Serial.print("OK ");
        for (byte i = 0; i < rf12_len; ++i)
        {
            Serial.print((char)rf12_data[i]);
            
        }
        leds.digiWrite((byte)rf12_data[0]);
        //receiveLed(rf12_data[0]);
        Serial.println();
        
        delay(100); // otherwise led blinking isn't visible
        //receiveLed(0);
    }
    
    if (sendTimer.poll(1000))
        needToSend = 1;

    if (needToSend && rf12_canSend()) {
        needToSend = 0;
        //int pinstate = digitalRead(5);
        if ((int)payload[0]==1)
        {
             //Serial.println((char)payload[0]);
             payload[0] = 0;
        }
        else
             payload[0] = 1;
        //leds.digiWrite(pinstate);
        //sendLed(1);
        rf12_sendStart(0, payload, sizeof payload);
        //payload[0]++;
        //delay(100); // otherwise led blinking isn't visible
        //sendLed(0);
    }
}

Læs mere og se video på: www.elmholt.eu