UP | HOME

Week 16 Assignments

Table of Contents

Week 16 Assignment

For this week assignment I describe my final project, a net shaped interactive playground.

What will it do?

Net playground will enable people to play in public spaces using existing infraestructures in a new way. Net interections will be used as a low resolution RGB display that is able to detect people playing.

Technically speaking, it will be a controller that connects with an array of processors, embedded into the joints, that processes sensor inputs, sends data back to main controller and then updates the RGB color display according to game being played.

For additional information, please check my original description for the different games that could be programmed in this device.

Who's done what beforehand?

There are some examples of interactive playgrounds from reference companies like Kompan, and it's ICON series. In most cases, they are either stand alone games or big structures with an added platform. There is no reuse of existing infraestructures or integrations.

Some other companies like HPC are also exploring this area, but their descriptions are quite vague and there is almost no technical information about how it could work. Quote: "HPC Interactive is based upon a unique technological platform of mini computers, as decentrlized satelites that communicate using light, sound and touch. Satelites could be integrated in any pre-existing game, creating a big unique social computer." Some examples are available on their youtube channel (and some of their shapes even resemble my designs for previous weeks of FabAcademy!!)

On the technical side, I was planning to create interactive nodes with a processor. Some good examples on this area are the BlinkM leds, that offer a bus of up to 127 directly addresable lights using i2c. Their price is however quite high (15$ each unit). There is a Ghetto version available on Instructables that offers firmware compatibility, but in any case, the game logic control is absent and should have to be programmed independently.

What materials and components will be required? Where will they come from? How much will it cost? What parts and systems will be made? What processes will be used?

I will create a portable reduced net to serve as a demo unit. My net will be 3x3, with 9 sensor units and single sided. The big ones, available in the parks usually have 25 for each side, making it out of the budget (and time frame) of this final project to build 50 identical sensor units plus controlling station plus the net itself.

The components then will be:

  • The net
  • Controlling station
  • Sensor units

Hare are the BOM for the different components:

BOM - Net

WhatWhere from?How muchMade?Process
Supporting structureRecicled from MSB0$yesCNC router
RopeUsed or bought0-10$no
Nuts (24) M8Hardware store1.20$no
Bolts (12) M8x50Hardware store0.60$no
Hinge (2)Hardware store4.00$no
Zip tides (12)Hardware store0.60$no

I will use the nuts and bolts to hold the rope into the laterals of the frame. The frame will be milled using the CNC router and a couple of hinges will connect both parts to make it portable.

BOM - Sensor box

On the electronic parts, I'm testing to options i2c and rs-485 for communications, given the lenght of the bus. Maybe it won't be a problem on the 9 nodes version, but it could be on larger deployments. The ATTiny support for i2c is achieved using USI instead of having it available natively, and I'm wondering if it could be better to use ATMega instead both for the controller and the sensors. Buying in large numbers in digikey, it's even cheaper for some processors! p.e ATTINY48-AUD-KR-ND sells for 1.61 and ATMEGA48A-AU-ND for 1.94. But, if we buy 25 pieces, it goes down to 1.35 for the tiny and 1.21 for the mega.

Another plus is larger memory, native rs-485 libraries and Arduino compatibility that could be an aid for the troubleshooting. Regarding this topic, I've researched about the different ATMegas, and here are the prices for 25 units:

ProcessorPrice (25 pieces)
ATMEGA48A1.21
ATMEGA88A1.33
ATMEGA168A1.52
ATMEGA328A1.74

Given I need to do some testing I ordered some samples to ATMega of most of the processors I could use in SOIC and PDIP format to do an in depth analysis, considering all previous factors

Adding rs-485 poses some additional expenses as and adapter module has to be attached to the processor. I ordered some samples for Maxim (MAX485-MAX487) series to try to use them. As rs-485 is a physical layer protocol, I need some higher level protocol to control the bus. I'm researching on freemodbus and DMX512, as it would expand the compatiblity of this device with all kind of lightning equipment available.

I'm also testing some options for detections as explained below in the questions to be answered.

This BOM is tentative, and simply reflects all component costs and options. Research will allo me to decide for the right components.

WhatWhere from?How muchMade?Process
ATTiny44A-SSU-ND (9)Inventory11.7$No
ATMEGA328-AU-ND (9)Inventory21.62$No
LED RED/GREEN/BLUE (9)Inventory4.60$No
PHOTOTRANSISTOR NPN SMD PLCC-2 (9)Inventory2.52$No
ResistorsInventoryTBDNo
Maxim 485 Module (10)Digikey32.5$+S&HNo
Sensor BoardInventoryTBDYesCNC Mill
Sensor enclosureInventoryTBDYes3D Printing
Electric Wire (0.5 mm) (5 m lenght)Electronic store3.00$No

BOM - Control Board

For the control board I will build a custom board connected to 4 big buttons to select the game. The upper side of the box will be laser cutted wood while the rest of the enclosure will be 3D printed.

Control BoardInventoryTBDYesCNC Mill
Control Board enclosureInventoryTBDYes3D Printing
Control Board enc topRecycled0$YesLaser Cut
Control Board decorationRecycled0$YesVinyl Cut
ButtonsRecycled0$No

What questions need to be answered?

There are several questions to be answered like:

  • Should I use i2c or rs-485?
  • Should I use the ATTiny or ATMega?
  • Should I program in C or use Arduino/Arduino-core to program processors?
  • Are inventories' phototransistor suitable for sunlight conditions?
  • Should I use infrared leds to light the user hands to make it work better?

What tasks need to be completed? What is the schedule?

There are several tasks for each part:

Net

  • Design the frame structure in OpenSCAD
  • Mill the structure using CNC Mill
  • Assamble the whole structure and circuit cables

Sensor Board

  • Use a protoboard to test the different configurations (processor/communications)
  • Transfer the selected design to an Eagle board
  • Mill 9 boards
  • Design the 3D printed enclosure
  • Print the enclosures (9)
  • Solder all boards
  • Assamble and fix to the net the boards

Controller Board

  • Use a protoboard to test configuration (processor/communications)
  • Transfer the selected design to an Eagle board
  • Mill the board
  • Design the 3D printed enclosure
  • Print the enclosure
  • Solder the board
  • Assamble and fix it to the net

Programming

  • Develop a basic testing program
  • Program basic games

    During this week I will create the frame structure and test the electronic circuits. I plan to mill the boards during the weekend. Next week I will 3D print the pieces once the net is built. I plan to develop test patterns and a basic tic-tac toe for the 29th May Final presentation. I will develop some other games afterwards and publish some videos of final configuration.

How will it be evaluated?

The net controller should offer a good response to end user actions and enable him to play some games seamlessly. It should also include several different technologies that I've learned along the course such as: electronics production, embedded programming, inputs, outputs, interface programming, computer-controled design, cutting and milling and 3D printing.

If there are materials enough to do it I would like to try to create the boxes or enclousures using molding and casting, and some accesories using composites to include all lessons in my project ;)

Update: There was no budget to include molding and casting or composites into my final project.

Date: 2013-05-07 Tue

Author: César García Sáez

Org version 7.9.3f with Emacs version 24

Validate XHTML 1.0