Join our kickstarter for the PiShield, a sensor interface for Raspberry Pi
We’d like to invite you to join our kickstarter campaign for the PiShield, which allows you to easily connect up to 8x analog 5V sensors and 4x digital I2C devices to the Raspberry Pi. See https://www.kickstarter.com/projects/infusion/pishield-sensor-interface-board-for-raspberry-pi
If you’re interested in this new way of working with sensors on the Raspberry Pi, please join in and help us make the PiShield a success !
Thanks for your support,
I-CubeX
Using pduino and Firmata to read values from the Grove I2C Touch sensor
Hi @alexandros
code is below, if you can figure anything out that would be great !
/* GroveI2CTouchTest.pde - Sample code for the SeeedStudio Grove I2C Touch Sensor
http://seeedstudio.com/wiki/index.php?title=Twig_-_I2C_Touch_Sensor_v0.93b
Prerequisite: A modification of the Grove I2C Touch sensor is needed Solder a pin to
the INT terminal in the I2C sensor to connect it to one pin in Arduino Created by
Wendell A. Capili, August 27, 2011. http://wendellinfinity.wordpress.com
Released into the public domain.*/
#include <Wire.h> // include I2C library
#include <i2c_touch_sensor.h>
#include <MPR121.h>
// include our Grove I2C touch sensor library
// initialize the Grove I2C touch sensor
// IMPORTANT: in this case, INT pin was connected to pin7 of the Arduino
// (this is the interrupt pin)
i2ctouchsensor touchsensor; // keep track of 4 pads' states
//boolean padTouched[4];
long previousMillis = 0;
long interval = 100;
void setup()
{
Serial.begin(9600); // for debugging
Serial.print("begin to init");
Wire.begin(); // needed by the GroveMultiTouch lib
touchsensor.initialize(); // initialize the feelers // initialize the containers
//for(int i=0; i<=3; i++)
//{
// padTouched[i]=false;
//}
}
void loop()
{
unsigned char MPR_Query=0;
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
touchsensor.getTouchState();
}
for (int i=0;i<12;i++)
{
if (touchsensor.touched&(1<<i))
{
Serial.print("pin ");
Serial.print(i);
Serial.println(" was touched");
}
}
}
/*
touchsensor.readTouchInputs(); // test read the touch sensors
// loop through our touch sensors 1 to 4
for(int i=0; i<=3; i++)
{
// get the touch state based on pin #
if(feelers.getTouchState(i))
{
if(!padTouched[i])
{ // print in serial that it was touched
Serial.print("Pad ");
Serial.print(i);
Serial.println(" was touched");
}
// flag the touch sensor state
padTouched[i]=true;
}
else
{
if(padTouched[i])
{
// print in serial that it was released
Serial.print("Pad ");
Serial.print(i);
Serial.println(" was released");
} // reset the touch sensor state
padTouched[i]=false;
}
}*/
Bela ultra-low-latency embedded audio-sensor platform
Hi everyone!
Our lab has made a new high-performance embedded platform called Bela (http://bela.io) which is designed for creating digital musical instruments and interactive audio systems. We've been developing this for the past two years, and we just launched it on Kickstarter:
https://www.kickstarter.com/projects/423153472/bela-an-embedded-platform-for-low-latency-interact
The most important unique feature of Bela is that it has extremely low latency of less than 1 millisecond between action and sound, which is a lot faster than anything else out there. There are also some useful features for profiling sensors and a built-in browser-based development environment. Basically it is the platform I have always wanted for my own audio projects and instrument building, and now we're excited to be launching it to a broader community of musicians and engineers.
The board doesn't run Pd directly, but patches can be compiled using Enzien Audio's Heavy compiler - so you can address all sensor IO's from the patch.
The project is open-source hardware and software, and the campaign is run through the university.
Cheers,
Chris
Bela tech details:
Audio: 16-bit stereo audio I/O at 44.1kHz
Audio power output: 2x 1W 8ohm speaker amplifiers (available when powered from DC jack)
Analogue In: 8x 16-bit analogue inputs at 22.05kHz
Analogue Out: 8x 16-bit analogue outputs at 22.05kHz
Digital channels: 16x digital GPIO at 44.1kHz or 88.2kHz
Analogue I/O is also software configurable to give 4 channels at 44.1kHz or 2 channels at 88.1kHz
More info:
http://bela.io
http://twitter.com/BelaPlatform
https://www.facebook.com/belaPlatform/
Call for Participation: ANTHEMITY
Call for Participation
sound artists, musicians, Europeans by choice or fate
ANTHEMITY – A participative installation about the Anthem of Europe
Europe, who or what are you? A place of multicultural exchange, of cross-fertilisation? Cradle of human rights and democracy? Or just a bureaucratic monster, threatening national sovereignty, and quite pointless in view of globalisation? Is Europe as a political amalgamation paying attention to social aspects? Where will this lead to?
Utopian Europe, as a region of cohabitation, is deep-rooted in symbols. Symbols that manifest the supra-national merging: a common currency, a common fag and a common Anthem of Europe, the Prelude from “Ode to the Joy”, Beethoven's 9th Symphony. Referring to the unspoken motto: „All humans will become brothers”.
Our daily life is already using the possibilities of the European Union: we can travel around, sell and buy items, settle and work wherever we want. With a minimum of bureaucratic efort. The European Union as a step forward to a pacifstic and democratic World Union? Or is Brussels a symbol of the post-democratic society, where economics are the new sovereigns?
Somewhere in between, the inhabitants of Europe have to position themselves. The installation ANTHEMITY focuses on the anthem and asks to what extent an European identity might be discovered. For that reason, it is necessary to involve the inhabitants of Europe:
All of you – those who have found a home in the European Union, and those of you still looking for a home in the EU, take the European Anthem and inscribe yourself into it. Deconstruct it. Take parts of it, recomplete it, inject missing items or moods... make your own interpretation!
ANTHEMITY is a stage and soundboard for your version. In this project, several speakers will be arranged in a room. You will find several versions announced here later on. Some as a sketch, other ones as a detailed documentation.
As ANTHEMITY is the master's thesis of Philipp Weber in European Media Studies at the University of Potsdam and the University of Applied Science Potsdam, it is not possible at the moment to come up with too many details.
But pd is used for all installations and the patches will be released in this forum and on the website as soon as I'm allowed to.
Be part of it from now on and send your track to: http://www.dropitto.me/anthemity (password: imeu)
Details:
Advice: Due to legal circumstances, I'm not able to hand out the ofcial score of the Anthem.
Listen to: mms://webstream.ec.europa.eu/scic/press/euanthem/WindOrchestra_320kbs.mp3
Read about: http://europa.eu/about-eu/basic-information/symbols/anthem/index_en.htm
Length: 2'07"
name and format: YourName-YourCountry.wav (all other formats will be recoded automatically.)
Licence: creative commons oder member of a collecting society? Please send me an email to me: pweber@uni-potsdam.de.
All entries submitted by August, 10th 2012 will take part at the premiere in Berlin.
Further details coming soon. Visit: http://philmstelle.de/projects/anthemity.html
Philipp Weber is always happy to hear from you: pweber@uni-potsdam.de
Running your patches on Android usind PdDroidParty in 10 Steps
Just a report back. I've finally succeeded in getting my app to function stand-alone and now have it available in the Android Market. The free version is available on the Android Market here: What Comes Around Free. Here are the steps I followed to get it working for me.
After installing Ubuntu on a spare computer (along with the rpl command as detailed before), I managed to get the scripts to run, but still couldn't get the "ant install" to function as expected.
I went back to the Windows 7 PC and tried the Eclipse route again. This time I laid the proper groundwork and resolved a lot of errors by importing everything as per Peter Brinkmann's instructions on the Pd Everywhere forum.
"[...] make sure that you’ve cloned pd-for-android and its dependencies like this:
git clone git://gitorious.org/pdlib/pd-for-android.git
cd pd-for-android
git submodule init
git submodule update
Now you need to import btmidi/BluetoothMidi and pd-for-android/PdCore/jni/libpd into Eclipse (make sure to use
File -> Import… -> General -> Existing project…). Now you can import PdCore. If you see error messages, those are probably due to bugs in Eclipse, and you should be able to sort them out by refreshing and cleaning everything once or twice. (This is the annoying part…)"
I had to fix additional Eclipse errors on my system by setting the Java Compiler Compliance Level to 1.6 for each of the imported projects.
Next I tried to import the project I created by running the scripts in Linux into Eclipse on the Windows machine, but it seems as if one of the scripts deletes the Eclipse project. I went back and imported the originally downloaded PdDroidParty project from the MySynthesizer folder. The project imports under the title PatchSelector. Again, I set Java Compiler Compliance Level to 1.6 (right-click PatchSelector in the Package Explorer - it's under Java Compiler). I also had complaints until I set the Project Build Target to Android 2.2 (right-click PatchSelector in the Package Explorer - it's under Android).
This left me with 9 final errors related to the SVGParser. I resolved this by right-clicking PatchSelector in the Package Explorer and going to Build Path/Configure Build Path/Add JARs and selecting svg-android.jar under PatchSelector/libs in my workspace directory. I remember having to restart Eclipse a couple of times to get rid of spurious errors (!)
Next I renamed PatchSelector to my own title (in my case WhatComesAround) by right-clicking in the Package Explorer and choosing Refactor/Rename.
I copied across files that were created when I ran the Linux scrips, notably:
* patch.zip (res/raw folder) - this zip contains a folder called "patch", itself containing your pd patch as a droidparty_main.pd file, as well as a file titled VERSION-169 (in my case) - it doesn't seem to have an extension and simply contains the text 169
* I placed my splash.svg in the same folder (res/raw)
* my icon.png in the folder res/drawable
* the same icon.png in bin/res/drawable
* in the res/values folder, an patch.xml and strings.xml
Next I set about renaming files and occurrences within files with my own names - one of the Linux scripts does this, but I did it by hand on the Windows machine using Windows Grep (http://www.wingrep.com/) to search for all instances, and changing names inside Eclipse. I replaced all occurrences of PdDroidParty with my own name (WhatComesAround), a single instance of PdDroid Party with What Comes Around, as well as any mention of MySynthesizer (again with WhatComesAround).
After testing in the emulator I exported signed .apk's from Eclipse - one for a free and one for a paid version.
Pure Data Workshops at the Bauhaus Summer School, Weimar 8th-12th Aug.
Pure Data is an easy to learn data-flow programming language for musicians and artists, especially for interactive multimedia projects. It allows the creation of musical compositions, sound design, instruments, interactive installations, real-time video processing and more.
Its design is inspired by the way early telecommunication switchboards and modules of analogue synthesizers were interconnected by patch cords. Pure Data is free open source software. It runs on Linux, OS X, Windows and even mobile devices.
The workshop will give you the opportunity to choose your curriculum individually from a number of parallel sessions of the best Pure Data instructors and well known community members on a wide range of topics and levels. The evenings will feature concerts and performances and will be free for the workshop participants.
The course language is English.
http://www.uni-weimar.de/summerschool/en/welcome/culture-media/creating-interactive-art-and-music/
The Bauhaus Summer School will also take care of you if you need accomodation and help with visa etc.
Here is a preliminary schedule of the workshops:
http://www.uni-weimar.de/medien/wiki/PDCON:Start/Schedule
Animata / eyesweb / MAC
Hi kinolab, here interesting news for you:
As a gift for the beginning of 2011, there's a new "unstable" version
of OpenNI & Sensor modules with MacOSX support!
Other new features:
* Added support for multiple sensors.
* Improved README! (much more detailed instructions...)
* Some bug fixes...
Previous version features:
* A brand new .NET wrapper and .NET samples (OpenNI.net).
NITE binaries for all supported platforms (including MacOSX) will also
be released very soon.
The source code is located at:
https://github.com/OpenNI/OpenNI/tree/unstable
https://github.com/PrimeSense/Sensor/tree/unstable
GitHub:
git clone https://github.com/OpenNI/OpenNI.git -b unstable
git clone https://github.com/PrimeSense/Sensor.git -b unstable
Binaries:
Windows:
http://openni.org/sites/default/files/unstable/OpenNI-Bin-Win32-v1.0....
http://downloads.primesense.com/unstable/Sensor-Bin-Win32-v5.0.0.25.exe
Ubuntu 10.10 x86:
http://openni.org/sites/default/files/unstable/OpenNI-Bin-Linux32-v1....
http://downloads.primesense.com/unstable/Sensor-Bin-Linux32-v5.0.0.25...
Ubuntu 10.10 x64:
http://openni.org/sites/default/files/unstable/OpenNI-Bin-Linux64-v1....
http://downloads.primesense.com/unstable/Sensor-Bin-Linux64-v5.0.0.25...
MacOSX 10.6:
http://openni.org/sites/default/files/unstable/OpenNI-Bin-MacOSX-v1.0...
http://downloads.primesense.com/unstable/Sensor-Bin-MacOSX-v5.0.0.25....
We're really amazed from the awesome response of the community!
And thanks for everyone that's helped.
Ziv.
Arduino, ultrasonics and Pd: HELP needed for degree project!
Dear Pd'ers… I'm fairly new to Pd and have been using it during my 'Audio Production' degree at SAE college in London. I'm here to ask for help on my final degree project, which aims to control objects within Pd by way of proximity sensors connected to Arduino.
I have had moderate success, first using a Sharp GPD12 IR sensor connected to an analog port on an Arduino Diecimila, then a Devantech SRF02 connected via I2C to Arduino. I have managed to get Pure Data reading the sensor values using the Pure Data example included in SimpleMessageSystem (http://www.arduino.cc/playground/uploads/Code/SimpleMessageSystem.zip)... and only altering the number of the comport the Arduino appears on.
On the Arduino end, I have added the SimpleMessageSystem library, and am using the following sketch to run one or both of the sensors depending on whether or not I omit the SRF02 or GPD12 parts of the code.
// top //
#include <Wire.h>
#include <Servo.h>
#include <SimpleMessageSystem.h>
int sensorPin = 0;
int sensorValue = 0;
Servo servo1;
#define sensorAddress 0x70
#define readInches 0x50
#define readCentimeters 0x51
#define readMicroseconds 0x52
#define resultRegister 0x02
void setup()
{
Wire.begin();
Serial.begin(9600);
}
void sendCommand (int address, int command) {
Wire.beginTransmission(address);
Wire.send(0x00);
Wire.send(command);
Wire.endTransmission();
}
void setRegister(int address, int thisRegister) {
Wire.beginTransmission(address);
Wire.send(thisRegister);
Wire.endTransmission();
}
int readData(int address, int numBytes) {
int result = 0;
Wire.requestFrom(address, numBytes);
while (Wire.available() < 2 );{
}
result = Wire.receive() * 256;
result = result + Wire.receive();
return result;
}
void loop()
{
// SRF02 READING //
sendCommand(sensorAddress, readInches);
delay(70);
setRegister(sensorAddress, resultRegister);
int sensorReading = readData(sensorAddress, 2);
Serial.println(sensorReading);
delay (200);
// GPD12 READING //
sensorValue = analogRead(sensorPin);
int range = (6787 / sensorValue);
Serial.println(range);
delay(200);
}
// bottom //
Pure data is picking up the sensor's output as a decimal number, through the serial port, correctly, and showing this as a number in the SPECIAL CHARACTER section of the Pd patch, which I can then use to control various Pd parameters, like a slider for example.
If printing both sensor readings to the serial, the Pd patch will pick up the two sensor values alternately, but there seems no way of differentiating the two sensors within Pd, as they both come through the serial. I have tried prepending the serial print at the Arduino stage with a tag such as "IR" or "UL" for each sensor, but this simply ends up in nothing coming through in Pd.
Using one sensor gives the ability to control parameters with a fairly narrow detection range, but for the final version I would like to incorporate 4 or 5 sensors in order that I can cover nearly a full 360 degree range.
After a bit of research I have gone and bought 4 x Maxsonar EZ0's. They've got a wider range than the Devantech sensors, and can operate via I2C, serial or PWM. A number of people online seem to mention the improved stability when operating via PWM, so I thought this could be kinda useful.
I am going to London Hackspace tomorrow to get help with wiring up the sensors to my Arduino Diecimila, but for now, my main problem seems to be how to achieve greater communication between Pure Data and the sensors. It's all very good and well being able to take the decimal readout from an analog input to give one set of values in Pd, but I would like to know how to either to read (and trigger) each sensor discretely via PWM, or to somehow differentiate between each sensor's analog output, so that I can have the different sensors controlling different objects within Pd.
As well as SimpleMessageSystem, I looked at using the Pduino object. But to be honest, it is either not working properly (I have noticed reported issues with bugginess), or I am being stupid, as it has totally boggled my brain. In theory though, it seems like it should be able to do what I want, ie. send and receive commands between Arduino and Pd.
****************************************
So…. my questions for anyone out there with a knowledge of using Arduino + multiple sensors (preferably Maxsonar EZ's) with Pd are:
What is most appropriate for my project?
- Simple Message System or Pduino?
- analog or PWM?
And how do I get proper communication between the two platforms so I can discern discrete values from each sensor?
I'd really like to get a discussion going with this as (a) it would really help me in my degree (which ends in about 4 weeks!!!) and (b) I really want to share what I am doing, especially as the discussions on Arduino/Pd communication on the various forums seem a little patchy (at least for noobs like me). I also hope to continue my research in the future, sharing any findings I make with the community…
****************************************
PS. In the sharing spirit, please check out the Radio Tuner patch I've just posted over on the patch section of this forum - it's my first successful attempt at Pd... I hope you enjoy
Make art - call for projects "in-between design" - deadline 31st July
_
_ _ ____ _ _ ||
| | | | ||_ | | || | |
| || | | || | | ||| | |_____
| | || | | | ____ | | | | |
| | | | | | | | | | || | |_
|| || || || || || ||
|| ____ _______ _________
|| || | | | | _
| || | | ||| | | || ||
from | __ | | _ | | |
4 to 7 | | | | | | ||__ ||
NOVEMBER 2010 || || || |_| ||
*CALL FOR PROJECTS*
The sixth edition of make art – in-between design: rediscovering
collaboration in digital art – will take place in Poitiers (FR), from
the 4th to the 7th of November 2010.
make art is an international festival dedicated to the integration
of Free/Libre/Open Source Software (FLOSS) in digital art.
make art offers performances, presentations, workshops and an
exhibition, focusing on the encounter between digital art and free
software.
*in-between design: rediscovering collaboration in digital art*
Today's market production accelerates the spread of non-critical and
standardized aesthetics, by means of locked top-down distribution
mechanisms and a series of tools that enforce it. At the same time
new forms of methodologies inspired or powered by free software,
participatory practices and peer-to-peer networks are fueling many
Internet subcultures. Some of these emerging practices will lead to
competitive social productions, while other will remain as pure
artistic experiments.
By adopting production and distribution methods based on free software
and open standards and by sharing the sources of one's work with
others, the collective knowledge base and aesthetic sensibilities can
freely interact to explore uncharted, hybrid directions which no
longer reflect the supremacy of a single idea.
- Does the sharing of artworks "recipes" and tools help debunk
the myth of the isolated design genius? - By leaving the possibility of ongoing development and refinement,
is it possible to ever produce a "final" design? - Can these methods and technologies inspire new forms of creation or
tools, beyond self-referential productions? - Is it wishful thinking to approach collaborative graphical design
in the same way as an open source software project? - Is Free and Open Source licensing a catalyst for creation or does
it add an extra level of complexity? - Can the limitation of one license trigger new forms of constrained
creativity?
We're currently seeking new, innovative media art and design works and
projects focusing on the above theme and questions:
- graphical artworks and installations
- lectures
- project presentations
- software and hardware demos
We're also seeking audiovisual performances that will take place
during the festival evenings.
The submitted projects must fit this focus and be made in a free/libre
and open source environment, this includes both its optional
dependencies or production tools and the operating system. We are
asking you to publish the sources of your project under a free culture
license of your choice or release it into the public domain.
Projects that do not meet these criteria will not be considered.
*How to apply*
Submission form and a list of additional requirements are available at:
http://makeart.goto10.org/call/
Deadline: *Saturday 31 July 2010*
Incomplete or late applications will not be processed.
*Timeline*
31st of July 2010 – Deadline call for proposals
Beginning of September – Selected projects notifications
4th-7th of November 10 – make art 2010 - Poitiers (FR)
For examples of previous editions, please visit the archives :
http://makeart.goto10.org/
make art is powered by GOTO10
Questions about "homemade" sensors
Hi!
I want to make my own DJ-program and controller. I have made one in Max/MSP before and thought I'd try PD (Pure Data) this time. I think I can manage that, but the controller will be harder. I want to make it as much from scratch as I can, using homemade sensors and sensor-interfaces from gamepads or something like that. I want them to use OSC to communicate with PD. For starters I want to have buttons (cue/play), sliders (the speed/pitch of the song) and something that rotates without start- or stop-points (also speed/pitch of sound (when spinning this forward the speed goes up, when spinning it backward the speed goes down), adjusting cue-points, and, maybe later, scratching). I know that homemade sensors are unstable and deteriorate with time, but hope I can learn more about this and maybe find information about materials that don't deteriorate as much or how to make them not deteriorate. Can someone point me in the right direction here? Maybe to a better forum for these types of things? Or to some kind of tutorial or guide? I have searched the internet and this forum, without finding anything.
If I can't use homemade sensors, I wonder where I can find the types of sensors I need and maybe if it would be better to use Phidgets or Arduino or something like that. And in that case – what things like that? Can I just buy slider/fader from some kind of electronics-store and connect it to a sensor-interface I made from a gamepad? Do I need to calibrate something? How do I find information about these things? Can you recommend specific sensors or stores?
The goal is to spend as little money as possible, but it has to be possible for me to be able to build this within “reasonable” time and without spending much time practicing and reading.
Thank you!