Difference between revisions of "JeeNode notater"
From Teknologisk videncenter
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