Squeema
JeeNode setup: wireless sensor
I finally go around to ordering my JeeNode's which are a cheap Arduino clone with a few less input pins but with a wireless transmitter build in as standard.
Hardware you'll need
Installing the software
JeeNodes are compatible with the Arduino software
- Solder all the bits onto the JeeNode.
- Download software
- INterface
- Lib.'s
- http://jeelabs.net/projects/cafe/wiki/Ports
- http://jeelabs.net/projects/cafe/wiki/RF12
- Choose the right board
- Tools > Board > Atmega328
- Compile the code by clicking on the round 'play' button (top left)
- Upload bite code to the JeeNode,
- choose TTY USB connection.
- If all went well you should get a "Done uploading." message.
Errors:
- When uploading we first got: "avrdude: stk500_recv(): programmer is not responding".
- Something wrong with the board :( tested the same program upload on a JeeNode that is known to work and there was no problem uploading.
- Microcontroller chip is in the wrong way. The end with the semi-circle should match the picture on the board.
Testing
RF receiver init done.
F v 16859 348 406 482
F v 16866 415 412 446
F v 16845 433 422 433
F v 16828 434 426 429
F v 16817 429 425 425
F v 16811 424 422 422
F v 16806 419 417 417
F v 16801 414 413 413
F v 16797 410 409 409
F v 16792 406 405 405
F v 16789 402 401 401
F v 16784 398 397 397
F v 16781 394 393 393
F v 16776 390 388 388
F v 16773 386 385 385
F v 16768 382 381 381
F v 16765 379 377 377
Using it with SuperCollider (SC)
http://arduino.cc/playground/Interfacing/SuperCollider
Install the Quark, in SC:
Quarks.update("arduino"); Quarks.install("arduino");
Recompile SC (Cmd + K)
Run the following line-by-line to see how it works. You'll need to change the address of the serial port to whatever your computer is using (see what the Arduino serial command is using).
// ===================================================================== // Arduino // // This class encapsulates communication with an Arduino I/O // board. Subclasses handle the details of a specific serial protocol. // // When a message arrives (according to the protocol), the 'action' // instance variable is invoked, with the expanded message contents. // // Messages are sent to the board with the 'send' method. it takes any // number of arguments, the meaning of which again are again protocol // specific.
// ===================================================================== // SimpleMessageSystem_example_1 (from the SMS distribution) // see http://www.arduino.cc/playground/Code/SimpleMessageSystem
p = ArduinoSMS("/dev/tty.usbserial-A1000ecP", 115200); // was 9600 (changed by thor) p.action = { |... msg| msg.postln };
// read digital inputs p.send($r, $d);
// read analog inputs p.send($r, $a);
// write digital input 13 p.send($w, $d, 13, 1); p.send($w, $d, 13, 0);
// flash LED on digital pin 13 ( fork { 8.do { p.send($w, $d, 13, 1); 1.25.wait; p.send($w, $d, 13, 0); 0.25.wait; } } )
// write analog output 0 p.send($w, $a, 0, 128);
// close port p.close;