Difference between revisions of "JeeNode notater"
From Teknologisk videncenter
m (Created page with "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 <source lang=c> /// @dir blink_ports /// Ports library demo,...") |
m |
||
(3 intermediate revisions by the same user not shown) | |||
Line 84: | Line 84: | ||
} | } | ||
</source> | </source> | ||
+ | Denne kode er brugt til afstands test af det wireless signal | ||
+ | <source lang=c> | ||
+ | /// @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); | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | Læs mere og se video på: [http://www.elmholt.eu/techblog www.elmholt.eu]<br/><br/> |
Latest revision as of 00:25, 10 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