Archive for December, 2006

Botanicalls on Rocketboom

botanicalls_rocketboom.jpg

Rocketboom featured Botanicalls today as part of their overview of the ITP Winter Show. We were also pleased to hear from the ITP faculty that Botanicalls could continue to be installed at ITP for the next six months so the system can be developed further.

It was a terrific show with a large and appreciative crowd. The four Bontanicalls team members, Rebecca Bray, Kate Hartman and Kati London and myself, were helped by the comments and suggestions of our classmates and instructors in the Sustainability, Project Development Studio, Network Objects and Network Effects classes at ITP.

Botanicalls Debut

The Botanicalls project made its debut at the ITP Winter Show on December 17th. Botanicalls allows thirsty plants to place phone calls for human help. Rather than driving a wedge between people and nature, the project uses technology to bring people into closer relationships with their natural environment. Humans can also phone the plants to learn about their origins and characteristics, including how they like to be cared for. You can call the plants right now at +1-212-202-8348.

Each plant has its own voice and will report when it needs water, if it has been over-watered or under-watered or if it is getting too much or to little light. Plants will also call back with thank-you messages when they’ve been properly cared for.

The Botanicalls web site contains a complete system diagram, including a description of the networking and call-processing system that is used.

XBee Time Broadcast Clock


XBee Broadcast Time as received by Luscious Electric Delight - click for movie
(L.E.D. created by Leif Krinkle with Rob Faludi and Benedetta Piantella)

The real-time clock which broadcasts time to the entire ITP floor via XBee ZigBee radio is now complete. Its time signal can be picked up by any project on the floor that incorporates standard 802.15.4 radios, and used for anything from time display to inter-project synchronization. The XBee Time Broadcast Clock code is written in PIC Basic Pro. It now incorporates regular updates from NIST servers. Time is stored and maintained locally on a DS1307 real-time clock chip, available on a convenient breakout board from Spark Fun.


Schematic of XBee Broadcast RTC Clock (essential components)

To pick up the signal at ITP, simply set the PAN address on your XBee to C or CC (the c is for clock). The signal is simultaneously broadcast to all 65,534 addresses within that network. PAN C is in a human-friendly format and PAN CC is formatted to be easily machine-readable. Here’s sample Arduino code for reading and parsing the real-time clock broadcasts.

This project is the first in a planned series of objects that will create an “information landscape” at ITP. Each object will provide information that other projects and objects can use, along with publishing actions which are publicly available so that the object can be externally controlled.

clock_zigbee.jpg

Human Empowered, Pixel Optimized Camera Rendering Asynchronous Process


Ariel’s Portrait

Sai Sriskandarajah, Matt Chmiel, Teresa Porter and I created the Human Empowered, Pixel Optimized Camera Rendering Asynchronous Process for the Physical Computing without Computers course at ITP. This project recreates the digital camera rendering process, but instead of using microprocessors, human beings are enlisted to encode, digitize and render the image.


Matt Encodes

The first step in the process was to divide the image into individual pixels. We discussed and experimented with several possibilities, including dead reckoning, a latticework direct imaging grid and windowpane method. Finally we settled on using a medium-format camera’s focusing screen, with a grid drawn on it so that it would be easy to distinguish where each pixel was, and comfortably read off values. Next we experimented with pixel size and bit depth. A 8 x 8 grid produced too low resolution for an image to be interesting. We then attempted a 16 x 16 grid which too longer to read off, but created a reasonably recognizable portrait image.


Filled imaging grid
Continue reading ‘Human Empowered, Pixel Optimized Camera Rendering Asynchronous Process’

XBee Dongle

XBeeDongle_DP.jpg

New Micros makes an nifty yet expensive XBee Dongle carrier that plugs an XBee radio directly into your computer’s USB port. It’s also available bundled with an XBee Pro. The schematic indicates that the hardware handshaking pins are connected, so this dongle should work for firmware upgrades as well.

XBeeDongleCarrier_DP.jpg

ITP ZigBee Wiki for PAN IDs

ZigBeeWiki.jpg

Setting your own unique PAN ID prevents your radios from conflicting with other people’s projects. Most importantly, it prevents other people from accidentally interfering with your projects. Everyone at ITP that is using ZigBee 802.15.4 radios should select one or more unique PAN IDs for themselves, and set all their radios to use those PAN IDs by default. Here’s how to do it on the XBee brand ones:

  1. Select a unique hex number between 0 and FFFE and note it here: http://social.itp.nyu.edu/cgi-bin/itpwiki/wiki.cgi?ZigBee
  2. Connect to your XBee serially, using screen in Terminal on the Mac or Hyperterm on the PC
  3. Get into command mode (+++) and issue the ATID command, followed by your chosen PAN ID
  4. Issue the ATWR command to write your new settings into the firmware, so that they persist even when you turn off power to the XBee

EXAMPLE: If you chose the PAN ID 23A1 you could issue the following commands (where <cr> indicates a carriage return):
    +++
    ATID23A1<cr>
    ATWR<cr>

XBee Direct I/O with ADC

XBee radios can now record and output multiple channels of digital and analog data without using microcontrollers. The latest firmware (version 10A1) supports up to seven channels of analog input, nine channels of digital I/O and two channels of analog (pulse-width modulation) output. These will be great for creating small sensor modules or miniature output modules with low power and very low complexity.

Andrew Schneider and I cobbled a couple experimental modules together last weekend, and I recreated them for a demonstration to my Project Development Studio class. Here’s the presentation on XBee Direct that I gave to the class. Firmware updates can be performed with MaxStream’s X-CTU software, and you’ll certainly need to do this if your XBee’s were purchased before 2007.

Direct I/O should be considered for wearables, remote controls, toys, covert sensors, computational jewelry or anything airborne. Photos of the input and output circuits are below, along with the AT commands for this setup, with one analog (potentiometer) and one digital (switch) input, and the corresponding outputs (motor & LED):

INPUT MODULE:
ATID3456 –> PAN ID
ATMY1 –> my address 1
ATDL2 –> destination address 2
ATD02 –> input 0 in analog mode
ATD13 –> input 1 in digital in mode
ATIR14 –> sample rate 20 milliseconds (hex 14)
ATIT5 –> samples before transmit 5
ATWR –> write settings to firmware

OUTPUT MODULE:
ATID3456 –> PAN ID
ATMY2 –> my address 2
ATDL1 –> destination address 1
ATP02 –> PWM 0 in PWM mode
ATD15 –> output 1 in digital out high mode
ATIU1 –> I/O output enabled
ATIA1 –> I/O input from address 1
ATWR –> write settings to firmware


Input Module with Potentiometer and Switch


Output Module with Vibrator Motor and LED