Pages
Softwearables Identi.Ca- softwearables: Helen Keller and vocal vibrations.. http://ur1.ca/dy8gh
- softwearables: New word of the day: Skeuomorphism --> http://ur1.ca/drm67
- softwearables: Great and highly varied collection of music, available under various Creative Commons licenses : http://ur1.ca/4p9k0
- softwearables: Don’t let the myths fool you: the W3C’s plan for DRM in HTML5 is a betrayal to all Web users: http://ur1.ca/djh8g
- softwearables: Report on "Hacking the Gender Gap" workshop http://ur1.ca/db7xz
Categories
Archives
- March 2013
- February 2013
- November 2012
- June 2012
- May 2012
- November 2011
- October 2011
- August 2011
- July 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- November 2010
- October 2010
- August 2010
- July 2010
- May 2010
- April 2010
- February 2010
- December 2009
- October 2009
- September 2009
- August 2009
- March 2009
- February 2009
- January 2009
Images
- Softwearables Photographs of the projects and research, from public appearances to prototypes.
Blogroll
Ellentriek Feed- Ellentriek #17: Hack your knitting machine with Knitic!Ellentriek goes textile: liberating knitting machines Saturday 18th May 2013 10am – 6pm Pianofabriek Exhibition space Rue du Fortstraat 35, 1060 Brussels In the eighties and nineties electronic knitting machines were readily available. But it was never a simple task to knit an image, a drawing, photograph, text you designed yourself with it. You could […]
- MakeyMakey – versionsMakey Makey is a nice and fun Open Hardware project, developed by Mit researchers Jay Silver and Eric Rosenbaum. It’s an Arduino based project that could get started through crowdfunding. Basically you can turn any conductive surface into a sensor: bananas and other fruit/vegetables, cutlery, water, metal tools, conductive dough, human skin…When you connect […]
- Ellentriek Recup@RecyclartYour copy machine, scanner or mobile phone has broken down and even the second hand shop is no longer interested in getting it fixed for sale. No worry, you can still find interesting bits and parts such as motors, lenses, microphones or amplifiers hidden within. In this workshop you will learn to dismantle broken electronic […]
- Charger – battery compatabilityFor a project this set-up was bought: https://shop.sensestage.eu/nl/batterijen/28-battery-kit-small-400-mah.html It consists of a Polymer Lithium Ion battery (3.7V) with a capacity of about 400 mAh and a LiPo Charger Basic – Mini-USB. Now, for another project we have a Li-Ion recheargable battery, 3.6 Volt (for example this one) Now, the question is if the b […]
- Ellentriek #17: Hack your knitting machine with Knitic!
Raspberry Pi and touch
Not the greatest picture —> today I tried to combine the Rapsberry Pi with Makey Makey (basically a microcontroller that enables you to turn almost all conductive material into Keyboard input: left click, arrows or space).
It works out of the box with the Raspberry Pi default Linux distribution called Rasbian.
This opens up quite some possiblities: a tiny computer with a microcontroller –> with ethernet and a sound card —->
….
(fill in blanks with potential)
A paper, vinyl and fabric cutter
A new machine has arrived in Variable: a paper, vinyl and fabric cutter. The budget was limited, so we had to look in depth for machines that were not too expensive and that worked with Linux. The ideal scenario was to find a second hand (semi-)professional machine. Alas, none were available for our budget. A pity, because the lower level machines tend to work with sticky mats, and other potentially proprietary bits and bobs. I was 85% percent sure that the Graphtec Silhouette Cameo SD worked on Linux. However I was not sure how hard or easy this would be.
These were the links and references I had before buying it.
The blogpost by Alexandre Prokoudhine gives a nice overview about the possibilities:
http://www.libregraphicsworld.org/blog/entry/vinyl-cutting-on-linux-the-real-deal
The sofware and drivers provided for the vinylcutters do not work with cups, they work differently. They all start with vectordrawings and SVG’s. So Inkscape is a potential starting point for what you want to be cut.
Inkcut = Fail
Some of the proposed software should work directly within Inkscape, such as Inkcut, which should be a kind of plugin. I installed Inkcut, because it looked the most promising interface-wise.
However, the software Inkcut is no longer being developed. After installing it, nothing appeared..
Next!
Robocut = Initial fail BUT!!
https://gitorious.org/robocut
https://launchpad.net/robocut
On Gitorious and Launchpad – Lanchpad directs you to Gitorious..
https://translate.googleusercontent.com/translate_c?act=url&depth=1&hl=en&ie=UTF8&prev=_t&rurl=translate.google.com&sl=auto&tl=en&u=http://custom.ultramini.net/ritagliare-parti-modellismo-silhouette-cameo/&usg=ALkJrhhlIN0Ee83pSqu2U5Y_-VX6r9WwEw
This post seemed really promising. The Ultramini blog in Italian confirmed the compatability of the cutter with Ubuntu (I run Mint, which is also a Debian/Ubuntu based distribution of Linux). He uses Robocut, but he did some modifications. As he indicated, Robocut does not work out of the box. It did run, but the vinylcutter was invisible. I e-mailed Ultramini and very quickly he sent me his modified version of Robocut. I tried it after installing the next software: Graptecprint, as the mail came after I started out with this driver.
————–> Scroll to read more about Robocut..
Graphtecprint = Succes with initial confusion!
http://vidar.botfu.org/graphtecprint
https://github.com/jnweiger/graphtecprint
There is a blog and a github page for Graphtecprint. The confusing part comes in the instructions: on the Github page they indicate you should download the .tar – however, there is no tarball (.tar.gz) on this page. So I used a bit of personal experience to deduct what the instructions should be for the github page. Afterwards I saw it was available on the blog page. The code on Github is more complete. You also need to run it from the commandline and it uses.ps files you can make in Inkscape when you print to file. This is a bit clumsy.
Install, run.. Fail.. Darn!
Luckily the commandline tells me what is going wrong: it is looking for a particular file –> this seems to be a python script, which is also in the downloaded software folder. I had to copy both .py scripts to my usr/local/bin folder. This is not very elegant, but.. It worked!
Now what to cut!!
Very quickly I made an Inkscape test, with the Cricks font (based on vinyl letters – nice loop!), a circle and a word in Inkscape calligraphy. I only had paper, no vinyl.
First mistake: where should the paper be:
Not all was cut on the paper itself.
Next mistake, the caligraphy letters create too many cutting lines, so they fail. Cricks comes out nicely, the P does lose it’s inner shape. and the circle was round.
Next step: fabric! I chose felt. Textile has it’s own knife, different from the paper and vinyl knives. Alas this was a big failure. The felt was too thick, or too flaky. On top of that, it ruins the sticky mat.. And it just did not work. Ouch!
Robocut revisited = No Success !! yet— perhaps with a little more help
I unzipped Ultramini!’s altered version of Robocut. In the zip you have a install.txt, which basically tells you how to install the program. Of course, I did not go to Gitorious, because my code came from Ultramini!
For the moment it does not want to compile. I will update this post when it does! Robocut is worth the effort, because they provide you with reg marks (reference marks) and you cut directly from SVG. There is also a sweet animation function. Hopefully more news soon!
It feels good to strikethrough
In the meantime, he wrote a blogpost in English explaining what he did including the code in a zip file.
Grazie per la spiegazione!
Report on CourtCircuitCourt
Last summer I went to Nantes to CourtCircuitCourt:
From 23 July 10:00 to 28 July 18:00
Court Circuit Court – Short Circuit / Short Process
PiNG 38 rue du Breil – 44100 Nantes – FranceWhat links a digital hacker who designs projects in a lab, a member of a CSA (Community Supported Agriculture) who believes in sustainable local produce and supports a farmer, and citizens who share experience and knowledge online? Perhaps it is the desire to redefine the relationship between production and consumption, the need to be an empowered citizen rather than passive consumer. To create, grow, reconfigure and question – to ‘hack’ society and transform it.
Short Circuit / Short Process is the first edition of PiNG’s Summer Lab. A 6 day-workshop where hackers, open source geeks and DIY (Do It Yourself) advocates come together with community activists to collaborate, co-create and co-produce through workshops, experiments, discussions and performance.
Court Circuit Court: Social fabrics: on protocols, textile and salutations.
Constant member Wendy Van Wynsberghe hosts an atelier on salutations and greeting rituals. Make textile sensors that initiate new ways of greeting each other with Arduino, sound and conductive thread.This meeting is supported by the Grundtvig’s Life Long Learning Program: http://ec.europa.eu/education/lifel…
http://www.courtcircuitcourt.net/
summerlab2012 —> from asso PiNG on Vimeo.
This is a small ensemble of links, pictures and a lot more..
The nice thing about Ping! is their care for documentation – so basically my work here is very limited!
- Ping’s list of press articles, linked blogposts, radio interviews etc
- A post on the Summerlab and a small contextualisation in French
- A fun fanzine was made during the Summerlab
- Ping’s pictures
- Constant’s pictures
- List of participants
- The pictures of the participants
- The impressive wiki where all resources were posted
- Some links on networks and security – many more on the Wiki and pads
https://safermobile.org/the-mobile-security-survival-toolkit-for-activists-and-journalist/
http://greatfirewallofchina.org/index.php?siteurl=http%3A%2F%2Fwww.drmomma.org%2F2010%2F10%2Fchicken-nuggets-other-pink-meat.html
https://en.wikipedia.org/wiki/Tahoe-LAFS
- Group Picture!

- A detail image of my workshop

- The Kissing Protocol – Nantes version
- Post-event: a small questionnaire
Thanks everyone – it’s one of these events that resonate some months after!
(We made a Pirate Box!! Thanks Labomedia!!)
This meeting is supported by the Grundtvig’s Life Long Learning Program
Posted in Hack, Hardware, interview, Organization, Report, Softwearables
Tagged Ping, summerlab
Leave a comment
Ultrasonic City
For the last three months I have been working on urban audio environments, called “Ultrasonic City”. The first public shape this took on was in the form of an interactive installation. Here’s a short description:
“What do you hear in the city? What sounds are only perceptible in the ultrasonic realm, where bats and crickets communicate? Sounds which are so high, our human ears cannot perceive them. This acoustic world becomes audible and it slowly fades into the more familiar sounds of the city.”
Auditory
The urban sound world is quite dense. By extracting the ultrasound I wanted to reveal a sonic universe or even add another layer to the field recordings. When you hear only the ultrasonic layer of the city, you hear a place devoid of human voices. They simply do not reach that high. Some very quiet sounds get enhanced, such as rubbing your fingers together, frottements in French. In a parc at sunset you hear the foraging bats, whilst at the same time, our human ears only register ducks, planes and other humans. A swimming pool gets reduced to splashes, you do not hear the children shriek nor play. Plastic, metal, water all produce ultasounds.
With the help of ACSR, I was able to record the same place in the city ultrasonically and with high quality “normal” microphones. This revealing/unravelling/hiding of layers of sound I want to present in this installation.
Visual
The interaction happens on the moment you trigger the sound by touching the embroidery. The hand embroidered images visually represent the places in the city you are listening too. The embroidery was designed and mostly made by Dennis Marien.
Here are some images of the embroidery. All areas delineated by fluorescent yellow are active zones, so are all punched with grey loopy conductive yarn.
This started out as a solo project, I started from the sound and was thinking about how to represent the sound “spaces” in simplified embroidered images. By coincidence I met Dennis, a comic artist who realised a beautiful small graphic novel where all drawings were hand sewn. Dennis’s enthusiasm was contageous and I let him freewheel on the imagery. Go with the flow.
We all embroidered (Dennis, his mum, my partner and me) – this is a very slow and labour intensive way of illustrating. The electronics and sound part ended up on my plate.
Here is a video of the installation in it’s current form. You can play it with Firefox or another html5 compatible browser or with VLC.
It’s a bit strange to make a video of an installation – we had to do it in one take, in half an hour, with no external microphone.
- Video of the installation made by a regular camera
- Video of the installation made by smartphone
This summer I will delve deeper into the audio part, in the studio running Ardour in ACSR. I will try to make a radiophonic narrative with this material.
Thanks C & V & C!
Posted in Building, Hardware, Softwearables
Tagged electronics, embroidery, Installation, Ultrasonic City
Leave a comment
Domestic Science Club @ INVITRO – Thursday 31/5/2012 from 19h
Domestic Science Club welcomes you Thursday 31/5/2012 at Recyclart/INVITRO.
20:30h Wendy Van Wynsberghe – The Kissing Protocol
Wendy Van Wynsberghe will demonstrate some greeting protocols, re-enacted by the public. How can a group greet each other? Can we make new future greetings? By means of current, conductive textile, threads and sensors, cheeks will be dressed up, and make contact.
21: 30h David Elchardus and Gosie Vervloessem – Gravity
David and Gosie will try to fly to the moon and back, with the help of a little black hole.
Ongoing : Marthe Van Dessel, the one and only DJette, will cycle around
with her boom box bike.
A boom box bike is a bicycle ghettoblaster to play recorded music in public space. This one has an extra effect: speed of the music is set by the speed of biking. Sound documentaries and promotional melodies will linger in the Marolles air.
Domestic Science Workshop is open during the event. We organize a miniature sandbag throwing lowland game.
Hope to see you there.
Wendy, Naomi, Marthe and Gosie
http://www.domesticscienceclub.be
Interpunctie & Talking posters
As many other human beings who once apon a time were present in the bolwerK realm, I received an invitation to come to Kasterlee, to the Frans Masereelcentrum. The object was clear: work with the bolwerK archive. The form, size, way in which to deal with this archive was open. As Masereel is the place to print (silk screen, letterpress and lots of other stuff I don’t even know the name of), I decided that the way of dealing with the archive should be through print, a topic I know nothing about.
I do feel comfortable around electronics and physical computing. So I started thinking about a meeting point between these two with the *archive archive archive* mantra repeating in the back of my head.
So, after some thinking I stumbled upon the existence of conductive paint. http://www.bareconductive.com/
And I ordered a jar.
And then what…
…
Posters!
Posters as interfaces!
Talking posters, playing soundfiles related to the bolwerK archive!
Capacitive interactive posters, playing soundfiles related to the bolwerK archive!
I had cracked it.
The idea was there.
In my head.
In Kasterlee it was the challenge to see whether the reality in my head could/would correspond with the physical realm, including one microcontroller (Arduino), a waveshield for playing sound, some resistors, paper, conductive thread and somebody who masters screenprinting. And the code for the Arduino. And the soundfiles. Hmm. Not there yet…
With the added sauce of stress concerning a misplaced laptop power supply (mine), I managed to get the painted prototype (not silkscreened) working, it gave me data, numbers in the serial port as you can see on the pictures.
![]()
![]()
I was very lucky that Bare Conductive had just put up a manual on working with the paint entitled: “Building a Capacitive Proximity Sensor using Bare Paint”. Translated for non-techies this means that when you hover your hand over the conductive surface, something can happen.
http://www.bareconductive.com/capacitance-sensor
Then came these serious tasks: make an image for the silkscreen installation, screenprint it, sew a conductive thread in the conductive printed surface, make the capacitive sensor work with sound. Then, multiply the amount of posters by three…
I chose two images for the posters: a hand and a circle. A hand because this part of the body is quite central in the bolwerK projects I was involved with (handshakes, greetings, excercises for hand and wrist…). The hand is like a shadow stuck to the paper. The image of a circle has multiple meanings: a circle can be a “bol” in Dutch, a circle can be a full stop (part of interpunction), as it is very black it could even be a black hole, a gateway to another universe, a vortex in which the archive may be evaporated or redefined…
From this part of the text onwards, I will guide you to through some images.
The hand has been cut out in a red foil, because everything which is red will become the positive image when you screenprint.

The Wikipedia page on silkscreen & screenprinting has some great animated gifs:
![]()
Making the screen

Screen machinery (and Lieven and Wauter)

The screen is ready for printing

A close-up

Screenprinting – the movie
If the player does not work, click here.
The result: a hand and a sphere silkscreened with conductive paint, three layers on top of each other

A close-up of the conductive thread in the poster. I had to add conductive paint by hand with a paintbrush, in between printing the layers. Quite stressy and this requires clear instructions by the screenprinter and the “retouche” person.

The backside of the poster, showing the conductive thread

Another close-up of the conductive thread in the poster: the black conductive surface needs to be as smooth as possible. The ink quickly logs up the pores of the screen. It’s quite hard to make nice surfaces…

A colourful intervention in the poster by bolwerK: a cursor

Asking two nice graphic designers advice on how you place an image in a poster (the cursor). Apparently, it’s all about ratio’s.

Finalizing, hooking up electronics to the posters

The posters, ready and waiting for some electronic input

It works! The code needs some tweeking by e-mail afterwards.
When you hover your hand above one of the dots or the hand, a sound or a story will be played. I chose:
- An audio rendition of “Stops, or How To Punctuate” by Paul Allardyce (1855-1895), the part on the Full Stop. (Thanks F)
- A sound work by an invited artist, made in Kasterlee.
- And a Hello from Vorst, Brussels.

As you can see, the posters are connected with a cable to an Arduino and a waveshield. The waveshield is connected to a speaker.
Here is the final Arduino code. It is a Frankenscript of the code for capacitive sensors and the code for the djette (a bolwerK project). You need the waveshield library (AF_Wave) and the capacitive sensor library (CapSense).
Interpunctie03-111025a Arduino Code Zip
#include
#include
#include "util.h"
#include "wave.h"
#include
CapSense cs_9_7 = CapSense(9,7); // 10 megohm resistor between pins 4 & 2, pin 2 is sensor pin, add Bare Paint
CapSense cs_9_6 = CapSense(9,6); // OPTIONAL: for sensor 2, 10 megohm resistor between pins 9 & 6, pin 6 is sensor pin, add Bare Paint
CapSense cs_9_8 = CapSense(9,8); // OPTIONAL: for sensor 3, 10 megohm resistor between pins 9 & 8, pin 8 is sensor pin, add Bare Paint
/////////////////////////////////////////////////////////////////////////////// WAVESTUFF
AF_Wave card;
File f;
Wavefile wave; // only one!
uint32_t wavsamplerate = 22050;
char * wavname; // filename WAV file
uint8_t tracknum = 0;
void settrack(uint8_t num){
switch (num){
case 0:
wavname = “SOUND1.WAV”;
break;
/* case 1:
wavname = “TRACK1.WAV”;
break;
case 2:
wavname = “TRACK2.WAV”;
break;
case 3:
wavname = “TRACK3.WAV”;
break;
case 4:
wavname = “TRACK4.WAV”;
break;
case 5:
wavname = “TRACK5.WAV”;
break;
case 6:
wavname = “TRACK6.WAV”;
break;
case 7:
wavname = “TRACK7.WAV”;
break;
case 8:
wavname = “TRACK8.WAV”;
break;
case 9:
wavname = “TRACK9.WAV”;
break;
case 10:
wavname = “TRACK10.WAV”;
break;
case 11:
wavname = “TRACK11.WAV”;
break;
case 12:
wavname = “TRACK12.WAV”;
break;
case 13:
wavname = “TRACK13.WAV”;
break;
case 14:
wavname = “TRACK14.WAV”;
break;
case 15:
wavname = “TRACK15.WAV”;
break;
case 16:
wavname = “TRACK16.WAV”;
break;
case 17:
wavname = “TRACK17.WAV”;
break;
case 18:
wavname = “TRACK18.WAV”;
break;
case 19:
wavname = “TRACK19.WAV”;
break;
case 20:
wavname = “TRACK20.WAV”;
break;
case 21:
wavname = “TRACK21.WAV”;
break;
case 22:
wavname = “TRACK22.WAV”;
break;
case 23:
wavname = “TRACK23.WAV”;
break; */
}
card.reset_dir();
}
void ls() {
char fname[13];
int ret;
card.reset_dir();
putstring_nl(“Listing:”);
while (1) {
ret = card.get_next_name_in_dir(fname);
if (!ret) {
card.reset_dir();
return;
}
Serial.println(fname);
}
}
bool active_file = false;
void playfile(char *name) {
while (wave.isplaying) {
wave.stop();
}
card.reset_dir();
if(active_file) {
Serial.println(“closing previous file”);
card.close_file(f);
}
card.reset_dir();
f = card.open_file(name);
Serial.print(“opening new file “);
Serial.println(name);
if (!f) {
putstring_nl(” Couldn’t open file”);
return;
}
active_file = true;
if (!wave.create(f)) {
putstring_nl(” Not a valid WAV”);
return;
}
// ok time to play!
wave.play();
}
/////////////////////////////////////////////////////////////////////////////////////////// SETUP
void setup() {
cs_9_7.set_CS_AutocaL_Millis(0xFFFFFFFF); // turn off autocalibrate on channel 1 – just as an example
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println(“Talky Poster!”);
// Set the output pins for the DAC control. This pins are defined in the library
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
if (!card.init_card()) {
putstring_nl(“Card init. failed!”);
return;
}
if (!card.open_partition()) {
putstring_nl(“No partition!”);
return;
}
if (!card.open_filesys()) {
putstring_nl(“Couldn’t open filesys”);
return;
}
if (!card.open_rootdir()) {
putstring_nl(“Couldn’t open dir”);
return;
}
/*
pinMode(buttons[B_REED_SWITCH], INPUT); // reed switch
pinMode(buttons[B_NEXT], INPUT); // button next
pinMode(buttons[B_NORMAL], INPUT); // button normal
TCCR2A = 0;
TCCR2B = 1<
//Timer2 Overflow Interrupt Enable
TIMSK2 |= 1< */
ls();
}
/*
SIGNAL(TIMER2_OVF_vect) {
check_switches();
}
*/
/*void check_switches()
{
static byte previousstate[NUMBUTTONS];
static byte currentstate[NUMBUTTONS];
byte index;
for (index = 0; index < NUMBUTTONS; index++) { currentstate[index] = digitalRead(buttons[index]); // read the button if (currentstate[index] == previousstate[index]) { if ((pressed[index] == LOW) && (currentstate[index] == LOW)) { // just pressed justpressed[index] = 1; } else if ((pressed[index] == HIGH) && (currentstate[index] == HIGH)) { // just released justreleased[index] = 1; } pressed[index] = !currentstate[index]; // remember, digital HIGH means NOT pressed } //Serial.println(pressed[index], DEC); previousstate[index] = currentstate[index]; // keep a running tally of the buttons } } bool normal_mode = false; float avgSpeed = 0.0f; float curSpeed = 0.0f; unsigned long curTime, prevTime;*/ /////////////////////////////////////////////////////////////////////////////////////////// LOOP //boolean samplerate_changed = false; uint32_t lastReedRead = 0; void loop() { char c; long start = millis(); long total1 = cs_9_7.capSense(30); long total2 = cs_9_6.capSense(30); // OPTIONAL for sensor 2 long total3 = cs_9_8.capSense(30); // OPTIONAL for sensor 3 // Serial.print(millis() – start); // OPTIONAL: check on performance in milliseconds Serial.print(“t”); // OPTIONAL: tab character for debug windown spacing Serial.println(total1); // OPTIONAL: To use additional sensors,change Serial.println to Serial.print for proper window spacing Serial.print(“t2″); // OPTIONAL: tab character for window spacing for sensor output 2 Serial.print(total2); // OPTIONAL: print sensor output 2 Serial.print(“t3″); // OPTIONAL: tab character character for sensor output 3 Serial.println(total3); // print sensor output 3 if (total1>350) {
//if (!wave.isplaying) {
playfile(“SOUND1.WAV”);
//}
}
if (total2>130) {
//if (!wave.isplaying) {
playfile(“SOUND2.WAV”);
//}
}
if (total3>130) {
//if (!wave.isplaying) {
playfile(“SOUND3.WAV”);
//}
}
delay(200);
/* check_switches();
if(pressed[B_NEXT] && pressed[B_NORMAL]) {
justpressed[B_NEXT]=0;
justpressed[B_NORMAL]=0;
Serial.println(“two buttons pushed”);
}
else if( justpressed[B_NEXT] ) {
justpressed[B_NEXT]=0;
Serial.println(“B_NEXT pushed”);
settrack(tracknum);
Serial.println(wavname);
playfile(wavname);
tracknum++;
}
else if( justpressed[B_NORMAL] ) {
justpressed[B_NORMAL]=0;
Serial.println(“B_NORMAL pushed”);
normal_mode =!normal_mode;
if(normal_mode) {
Serial.print(“playing a fixed bitrate”);
wave.setSampleRate(wave.dwSamplesPerSec);
}
else {
Serial.print(“playing a dynamic bitrate”);
}
}
if(justpressed[B_REED_SWITCH])
{
justpressed[B_REED_SWITCH] = 0;
prevTime = curTime;
curTime = millis();
lastReedRead = curTime;
curSpeed = float(curTime – prevTime);
// cumulative average
const float alpha = 0.5f;
avgSpeed = avgSpeed * (1.0f – alpha) + curSpeed * alpha;
Serial.print(“curSpeed: “);
Serial.print(curSpeed);
Serial.print(” avgSpeed: “);
Serial.println(avgSpeed);
// TIMING constantes
//
const float x1 = 1000.0f; // slow sensor timing
const float x2 = 150.0f; // fast sensor timing
const float y1 = 5000.0f;
const float y2 = 25000.0f;
const float m = (y2-y1) / (x2-x1);
float fsamplerate = (avgSpeed * m ) – m * x1 + y1;
if (fsamplerate > 0.0f) wavsamplerate = fsamplerate;
else
wavsamplerate = 0.0;
samplerate_changed = true;
Serial.print(“fsamplerate: “);
Serial.println(fsamplerate);
Serial.print(” wavsamplerate: “);
Serial.println(wavsamplerate);
}
if (millis() – lastReedRead > 700) {
if(wavsamplerate>100) wavsamplerate -= 100;
samplerate_changed = true;
// lastReedRead = millis();
}
if(samplerate_changed && wave.isplaying && !normal_mode) {
if (wavsamplerate>25000) wavsamplerate= 25000;
wave.setSampleRate(wavsamplerate);
samplerate_changed = false;*/
}
I was lucky to get caught in the gravity pull of bolwerK. All collaborations were wonderful, crazy, sharp, complex, heavy, light at the same time. So, I guess, thanks, bolwerK! is quite appropriate.
Lieven – huge thanks for your patience with the stubborn conductive ink and putting up with the lack of time.
(slight warning, inviting artists to work on archive generates more data and bigger archive – end of warning)
Interactive posters
I’m at the Masereelcentrum – in the framework of Interpunctie, organized by Bolwerk. These are some images of a set-up of an interactive talking poster.
The black hand has been painted with conductive paint and functions well as a capacitive sensor.
The trick now is to link this physical proximity to trigger sound. It sounds easier than it is…
Posted in Softwearables
Tagged bolwerK, conductive paint, Frans Masereelcentrum, interactive, poster
Comments closed
Knitting the weather
A small post this time.
“Lea Redmond is interested in “conceptual knitting” – knitting projects that go beyond the pattern to become a small act of performance, community outreach or experimentation. In fact, she’s just embarked on a year-long public project, and you’re invited to join in.” From Craft.
A first project is a sky scarf, where each day you look at the sky and you choose a corresponding yarn colour.
Sweet.
Day one. Look outside. Decide on an average sky colour of the day. Knit.
Day two. Repeat script. {void () loop}
…
…
Don’t get too depressed by the skies from the low countries..













