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

  1. Solder all the bits onto the JeeNode.
  2. Download software
    • INterface
    • Lib.'s
      • http://jeelabs.net/projects/cafe/wiki/Ports
      • http://jeelabs.net/projects/cafe/wiki/RF12
  3. Choose the right board
    • Tools > Board > Atmega328
  4. Compile the code by clicking on the round 'play' button (top left)
  5. 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

  1. Install the Quark, in SC:

    Quarks.update("arduino"); Quarks.install("arduino");

  2. Recompile SC (Cmd + K)

  3. 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;