miscellaneous+interesting+links



Wilson resource page on energy harvesting [|http://userwww.sfsu.edu/~swilson/emerging/artre375.energyharvesting.html]

Robotgames in San Franicsco June 12-14 http://robogames.net/index.php[|Robogames home]

Miscellaneous Interesting Links

here is the code for the analogue synthesizer. Peter Knight, via, Jeff Ray

//Auduino, the Lo-Fi granular synthesiser//

//by Peter Knight, Tinker.it http://tinker.it//

//Help: http://code.google.com/p/tinkerit/wiki/Auduino// More help: http://groups.google.com/group/auduino

Analog in 0: Grain 1 pitch //Analog in 1: Grain 2 decay// Analog in 2: Grain 1 decay //Analog in 3: Grain 2 pitch// Analog in 4: Grain repetition frequency

Digital 3: Audio out (Digital 11 on ATmega8)

Changelog: //19 Nov 2008: Added support for ATmega8 boards// 21 Mar 2009: Added support for ATmega328 boards //7 Apr 2009: Fixed interrupt vector for ATmega328 boards// 8 Apr 2009: Added support for ATmega1280 boards (Arduino Mega)


 * 1) include 
 * 2) include 

uint16_t syncPhaseAcc; uint16_t syncPhaseInc; uint16_t grainPhaseAcc; uint16_t grainPhaseInc; uint16_t grainAmp; uint8_t grainDecay; uint16_t grain2PhaseAcc; uint16_t grain2PhaseInc; uint16_t grain2Amp; uint8_t grain2Decay;

//Map Analogue channels
 * 1) define SYNC_CONTROL (4)
 * 2) define GRAIN_FREQ_CONTROL (0)
 * 3) define GRAIN_DECAY_CONTROL (2)
 * 4) define GRAIN2_FREQ_CONTROL (3)
 * 5) define GRAIN2_DECAY_CONTROL (1)//

Changing these will also requires rewriting audioOn


 * 1) if defined(__AVR_ATmega8__)

On old ATmega8 boards. //Output is on pin 11//


 * 1) define LED_PIN 13
 * 2) define LED_PORT PORTB
 * 3) define LED_BIT 5
 * 4) define PWM_PIN 11
 * 5) define PWM_VALUE OCR2
 * 6) define PWM_INTERRUPT TIMER2_OVF_vect
 * 7) elif defined(__AVR_ATmega1280__)

On the Arduino Mega //Output is on pin 3//


 * 1) define LED_PIN 13
 * 2) define LED_PORT PORTB
 * 3) define LED_BIT 7
 * 4) define PWM_PIN 3
 * 5) define PWM_VALUE OCR3C
 * 6) define PWM_INTERRUPT TIMER3_OVF_vect
 * 7) else

For modern ATmega168 and ATmega328 boards //Output is on pin 3//


 * 1) define PWM_PIN 3
 * 2) define PWM_VALUE OCR2B
 * 3) define LED_PIN 13
 * 4) define LED_PORT PORTB
 * 5) define LED_BIT 5
 * 6) define PWM_INTERRUPT TIMER2_OVF_vect
 * 7) endif

//Smooth logarithmic mapping//

uint16_t antilogTable[] = { 64830,64132,63441,62757,62081,61413,60751,60097,59449,58809,58176,57549,56929,56316,55709,55109, 54515,53928,53347,52773,52204,51642,51085,50535,49991,49452,48920,48393,47871,47356,46846,46341, 45842,45348,44859,44376,43898,43425,42958,42495,42037,41584,41136,40693,40255,39821,39392,38968, 38548,38133,37722,37316,36914,36516,36123,35734,35349,34968,34591,34219,33850,33486,33125,32768 }; uint16_t mapPhaseInc(uint16_t input) { return (antilogTable[input & 0x3f]) >> (input >> 6); }

//Stepped chromatic mapping//

uint16_t midiTable[] = { 17,18,19,20,22,23,24,26,27,29,31,32,34,36,38,41,43,46,48,51,54,58,61,65,69,73, 77,82,86,92,97,103,109,115,122,129,137,145,154,163,173,183,194,206,218,231, 244,259,274,291,308,326,346,366,388,411,435,461,489,518,549,581,616,652,691, 732,776,822,871,923,978,1036,1097,1163,1232,1305,1383,1465,1552,1644,1742, 1845,1955,2071,2195,2325,2463,2610,2765,2930,3104,3288,3484,3691,3910,4143, 4389,4650,4927,5220,5530,5859,6207,6577,6968,7382,7821,8286,8779,9301,9854, 10440,11060,11718,12415,13153,13935,14764,15642,16572,17557,18601,19708,20879, 22121,23436,24830,26306 }; uint16_t mapMidi(uint16_t input) { return (midiTable[(1023-input) >> 3]); }

//Stepped Pentatonic mapping//

uint16_t pentatonicTable[54] = { 0,19,22,26,29,32,38,43,51,58,65,77,86,103,115,129,154,173,206,231,259,308,346, 411,461,518,616,691,822,923,1036,1232,1383,1644,1845,2071,2463,2765,3288, 3691,4143,4927,5530,6577,7382,8286,9854,11060,13153,14764,16572,19708,22121,26306 };

uint16_t mapPentatonic(uint16_t input) { uint8_t value = (1023-input) / (1024/53); return (pentatonicTable[value]); }

void audioOn { //ATmega8 has different registers TCCR2 = _BV(WGM20) | _BV(COM21) | _BV(CS20); TIMSK = _BV(TOIE2); TCCR3A = _BV(COM3C1) | _BV(WGM30); TCCR3B = _BV(CS30); TIMSK3 = _BV(TOIE3); Set up PWM to 31.25kHz, phase accurate TCCR2A = _BV(COM2B1) | _BV(WGM20); TCCR2B = _BV(CS20); TIMSK2 = _BV(TOIE2); }
 * 1) if defined(__AVR_ATmega8__)
 * 1) elif defined(__AVR_ATmega1280__)
 * 1) else//
 * 1) endif

void setup { pinMode(PWM_PIN,OUTPUT); audioOn; pinMode(LED_PIN,OUTPUT); }

void loop { //The loop is pretty simple - it just updates the parameters for the oscillators.//

//Avoid using any functions that make extensive use of interrupts, or turn interrupts off.// They will cause clicks and poops in the audio.

//Smooth frequency mapping// syncPhaseInc = mapPhaseInc(analogRead(SYNC_CONTROL)) / 4;

//Stepped mapping to MIDI notes: C, Db, D, Eb, E, F...// syncPhaseInc = mapMidi(analogRead(SYNC_CONTROL));

//Stepped pentatonic mapping: D, E, G, A, B syncPhaseInc = mapPentatonic(analogRead(SYNC_CONTROL));

grainPhaseInc = mapPhaseInc(analogRead(GRAIN_FREQ_CONTROL)) / 2; grainDecay = analogRead(GRAIN_DECAY_CONTROL) / 8; grain2PhaseInc = mapPhaseInc(analogRead(GRAIN2_FREQ_CONTROL)) / 2; grain2Decay = analogRead(GRAIN2_DECAY_CONTROL) / 4; }

SIGNAL(PWM_INTERRUPT) { uint8_t value; uint16_t output;

syncPhaseAcc += syncPhaseInc; if (syncPhaseAcc < syncPhaseInc) {// Time to start the next grain grainPhaseAcc = 0; grainAmp = 0x7fff; grain2PhaseAcc = 0; grain2Amp = 0x7fff; LED_PORT ^= 1 << LED_BIT; //Faster than using digitalWrite }//

Increment the phase of the grain oscillators grainPhaseAcc += grainPhaseInc; grain2PhaseAcc += grain2PhaseInc;

//Convert phase into a triangle wave value = (grainPhaseAcc >> 7) & 0xff; if (grainPhaseAcc & 0x8000) value = ~value;// Multiply by current grain amplitude to get sample output = value * (grainAmp >> 8);

//Repeat for second grain value = (grain2PhaseAcc >> 7) & 0xff; if (grain2PhaseAcc & 0x8000) value = ~value; output += value * (grain2Amp >> 8);//

Make the grain amplitudes decay by a factor every sample (exponential decay) grainAmp -= (grainAmp >> 8) * grainDecay; grain2Amp -= (grain2Amp >> 8) * grain2Decay;

//Scale output to the available range, clipping if necessary output >>= 9; if (output > 255) output = 255;//

Output to PWM (this is faster than using analogWrite) PWM_VALUE = output; }

Call to participate in the 3rd Nokia Ubimedia MindTrek Awards Competition MindTrek Conference September 30th – October 2nd, 2009 | Tampere, Finland

[]

Registration for the competition ends on 7th August 2009 at 15:00 (+2 GMT)...

An award sum in the height of 7.000 Euros will be given to the best ubimedia project!

The purpose of the competition is to encourage makers of digital media to generate ideas and develop new and innovative ubimedia products & services. The entries are expected to take a stand on the following questions, for example:

• How does ubiquitous computing affect media environments? • What are intelligent media environments like? • What will the location- and context-aware media services of the future be like?

A few other examples are: • Pervasive and ubiquitous games • Ambient installations • Artistic works related to ubiquitous media and computation • Business models • Ambient and ubiquitous media technology • Ubiquitous and ambient media services, devices, and environments • Context aware, sensing, and interfaces for ubiquitous computation • Ergonomics, human-computer interaction designs, and product prototypes • Software, hardware and middleware framework demonstrations • Ambient television • etc.

The total award sum for the Nokia Ubimedia MindTrek competition category is 7 000€. The sum can be awarded to one entry, divided between several entries or not awarded at all if the award criteria set by the jury are not fulfilled.

All ubimedia, ubiquitous, pervasive, or ambient products or product and service concepts which have been finalized during the previous year after 1st January 2008 are eligible to take part in the competition. How to participate? Please check out the website [] for entry forms and actual information.

In case of questions, please contact: [|ubiaward@mindtrek.org]



Maker Faire is looking for student work
 * []

[|Arduino top 40 projects] from Hack n Mod



[|Robogames] in San Francisco June 12-14



[|Flaming Lotus Girls]

Hydraulic/fire serpent mother opening Sat 3/7

[|Fritzing] - A visual layout program for Arduino and other projects



http://intelligentenvironments.org/conferences/ie09

The paper submission deadline is the 13th of March

I would like to invite those of you who are active in the field of Intelligent Environments and particularly on the design of intelligent spaces for supporting human everyday activities or mediated communication as well as the critical use of these technologies for artistic expression, to submit a paper for the session that me and Prof Rieser chair on the issues of "Art and Design of Intelligent, Hybrid Environments". Please check out : http://intelligentenvironments.org/conferences/ie09/specialsessions/08 for more info on this session, or maybe on other sessions too.

Such disciplines include, but are not limited to:
 * Ambient Intelligence
 * Ubiquitous Computing
 * Pervasive Computing
 * Intelligent Agents and Agent Technologies
 * Middleware and Programming Models
 * Context aware Systems
 * Networking and Communications
 * Human-Computer Interaction
 * Multimodal Spoken Language Dialogue Systems
 * Knowledge Management
 * Domestic and Rehabilitation Robotic systems
 * Smart sensors and actuators
 * Smart Materials
 * Space and Architecture
 * Art and Design
 * Social Aspects
 * Legal and Ethical Aspects
 * Smart Environments Applications
 * Virtual Environments

[|New Flexible touchscreen]from ASU flex screen research group

Eric Paulos [|Manifesto of Open Disruption and Participation] [|Eric Paulos] 20 Feburary 2009 Critique of the usefulness emphasis of ubiquitous computing research

[|La Vida - International Artificial Life Competition]



=Dorkbot= code details: when: Feb 25 2009 Wednesday 7:30pm where: Parisoma 1436 Howard (bet 10th & 11th) SF, CA 94103 http://parisoma.com speakers: California Academy of Sciences http://bbinet.com http://www.rotorbrain.com/jtfdesign/ http://www.CornfieldElectronics.com/ FREE but donations to Parisoma much appreciated! dorkbotsf tshirts will be on sale again! get them before they totally run out! $20 cash BYO-whatever! The space is small so come early to be sure you have a spot... there may be a birthday celebration afterwards so stick around! http://dorkbot.org/dorkbotsf/ you know the usual -if you want to open dork (5-10 min quickie presentation) be sure you're up front and ready to go after the last speaker! ...........
 * Sasha Harris-Cronin (with Jonathan Ross and Richard Shields) - Behind the Scenes at
 * Jonathan Foote - Robots and Things that Glow
 * Mitch Altman - TV-B-Gone: From Thought to (Bizzare and Cool) Reality

code

Ars Electronica [|Next Great Idea Competition] Support of art research



[|Sensors Magazine] everything you want to know about sensors of all kinds

[|Skynet wants futuristic robot designs]



[|greener gadgets show] \

Welcome to Pachube, a service that enables you to connect, tag and share real time sensor data from objects, devices, buildings and environments around the world. The key aim is to facilitate interaction between remote environments, both physical and virtual.



The key aim is to facilitate interaction between remote environments, both physical and virtual. Apart from enabling direct connections between any two environments, it can also be used to facilitate many-to-many connections: just like a physical "patch bay" (or telephone switchboard) Pachube enables any participating project to "plug-in" to any other participating project in real time so that, for example, buildings, interactive installations or blogs can "talk" and "respond" to each other. Pachube is a little like YouTube, except that, rather than sharing videos, Pachube enables people to monitor and share real time environmental data from sensors that are connected to the internet. Pachube acts between environments, able both to capture input data (from remote sensors) and serve output data (to remote actuators). Connections can be made between any two environments, facilitating even spontaneous or previously unplanned connections. Apart from being used in physical environments, it also enables people to embed this data in web-pages, in effect to "blog" sensor data.

Pachube makes use of Extended Environments Markup Language (EEML) and an EEML Processing library is available to connect directly to Pachube without needing to know or understand EEML. A basic API makes it possible to both serve and request data in CSV and EEML format. In addition, for those operating behind a firewall, or with non-static URLs, or who wish to update less frequently than usual, the API enables manual update by an HTTP PUT request. There is a tutorial available for beginner/intermediate Arduino and Processing users to connect Arduino to Pachube (both as an input and as an output). Relevant URLs: - http://www.pachube.com/ (the home of Pachube) - [|http://www.ugotrade.com/2009/01/28/pachube-patching-the-planet-interview...] (interview with Pachube's founder) - http://eeml.org/ (Extended Environments Markup Language) - http://eeml.org/library/ (EEML library for Processing) More about [|the team behind Pachube is available here].

The 6th International Conference on Ubiquitous Intelligence and Computing (UIC-09) - Building Smart Worlds in Real and Cyber Spaces -

Brisbane, Australia, 7-10 July, 2009

[|http://www.itee.uq.edu.au/~uic09]

Technically Sponsored by IEEE TF on Ubiquitous Intelligence and Computing

Conference papers published by LNCS Workshop papers published by IEEE

Co-located with the ATC'09 conference

=
Ubiquitous sensors, devices, networks and information are paving the waytowards a smart world in which computational intelligence is distributedthroughout the physical environment to provide reliable and relevantservices to people. This ubiquitous intelligence will change the computing landscape because it will enable new breeds of applications and systems to be developed and the realm of computing possibilities will be significantly extended. By enhancing everyday objects with intelligence, many tasks and processes could be simplified, the physical spaces where people interact like the workplaces and homes, could become more efficient, safer and more enjoyable. Ubiquitous computing, or pervasive computing, uses these many "smart things/u-things" to create smart environments.

A smart thing can be endowed with different levels of intelligence, and may be context-aware, active, interactive, reactive, proactive, assistive, adaptive, automated, sentient, perceptual, cognitive, autonomic and/or thinking. Research on ubiquitous intelligence is an emerging research field covering many disciplines. A series of grand challenges exist to move from the current level of computing services to the smart world of adaptive and intelligent services. Started in 2005, the series of UIC conferences has been held in Taipei, Nagasaki, Three Gorges (China), Hong Kong and Oslo. UIC-09 will include a highly selective program of technical papers, accompanied by workshops, panel discussions and keynote speeches. Established as a premier venue in the area of ubiquitous intelligence and computing, UIC-09 will offer a forum for researchers to exchange ideas and experiences in developing intelligent/smart objects, environments and systems.

The UIC-09 topics include but are not limited to the following: 1. Ubiquitous Intelligence/Smart Systems
 * Sensor, Ad Hoc & Mesh Networks
 * Peer-to-peer Networks
 * Mobile Social Networking
 * Knowledge Representation and Ontology
 * Wearable, Personal and Body Area Systems
 * Middleware and Intelligent Platforms
 * Intelligent Services and Architectures
 * Agents, Swarm/Amorphous Systems
 * Context-aware Systems

2.Ubiquitous Intelligence/Smart Environments
 * Smart Room, Home, Office, Laboratory
 * Smart Building, Library, School, Campus
 * Smart Shop, Hospital and City, etc.
 * Vehicle, Road, Traffic & Transportation
 * Healthcare and Elder Care Services
 * Pervasive Learning, Games, Entertainment
 * Other Intelligent/Smart Applications

3.Personal/Social/Physical Aspects
 * Real/Cyber World Modeling and Semantics
 * User/Object Identity and Activity Recognition
 * Adaptive User Interfaces
 * Security, Privacy, Safety and Legal Issues
 * Emotional, Ethical and Psychological Factors
 * Implication and Impact of Ubiquitous Intelligence
 * Relations between Real and Cyber Worlds

4. Ubiquitous Intelligent/Smart Objects
 * Electronic Labels, Cards, E-Tags and RFID
 * Embedded Chips, Sensors & Actuators
 * MEMS, NEMS, Micro & Biometric Devices
 * Smart Appliances and Wearable Devices
 * Material, Textile, Cloth, Furniture, etc.
 * Embedded Software and Agents

P E R C O M 2 0 0 9 http://www.percom.org Galveston, Texas March 9-13, 2009

C A L L F O R P A R T I C I P A T I O N

Early Registration Deadline: February 15, 2009

=
IEEE International Conference on Pervasive Computing and Communications(PerCom)Sponsored by: the IEEE, the IEEE Computer Society,the University of Texas at Arlington,

=
IEEE PerCom, now in its seventh year, is established as the worldwidepremier scholarly venue in the areas of pervasive computing andcommunications. Since 2003, the conference has grown significantlyin terms of quality and variety of the technical programs - it isrecognized as a top tier conference by most universities andorganizations across the world.

U.S. based students planning to attend PerCom 2009 may apply for travel support sponsored by the U.S. National Science Foundation. Please visit the conference website and click on the appropriate side tab for more information.

The conference boasts many workshops that have become popular and prestigious in the community. The Mark Weiser Best Paper award sponsored by Elsevier Publications is the most prestigious annual research paper award given in pervasive computing. The best of the best technical papers from PerCom are published in a special issue of the Pervasive and Mobile Computing Journal. Demonstration sessions at PerCom show case the very best working prototypes. Recently introduced events such as the Work-in-Progress Posters and the PhD Forum are already high quality events with a very competitive acceptance process.

Ma

Keynotes:

"Make IT Matter: The Opportunities and Responsibilities of Pervasive Computing Research," Gregory D. Abowd, School of Interactive Computing, Georgia Tech

"After Motes and Multihop: Mobile Phones and the Global Mobile Sensor Network," Andrew Campbell, Dartmouth College

List of Accepted Papers organized by Sessions

Best Papers

WenZhan Song, Renjie Huang, Behrooz Shirazi, "TreeMAC: Localized TDMA MAC Protocol for Real-time High-data-rate Sensor Networks" (Washington State University)

Ilias Leontiadis, Paolo Costa, Cecilia Mascolo, "Persistent Content- -based Information Dissemination in Hybrid Vehicular Networks" (University College London, Microsoft Research, University of Cambridge)

Jiayang Liu, Lin Zhong, "uWave: Accelerometer-based Personalized Gesture Recognition and Its Applications" (Rice University)

Context-Awareness

Mobile Sensor Applications

Pervasive Applications and Systems

Pervasive Middleware Technologies

Pervasive Networking

Pervasive Privacy

Quality of Information (QoI)

Security for Pervasive Networking

Topics in Sensor-based Solutions