Show Posts
Pages: [1] 2 3 ... 8
1  Community / Exhibition / Gallery / Systolic: a Fibre Optic suit controlled using a Pulse Rate Monitor on: April 23, 2014, 08:50:48 am

just wanted to share a project we developed last year, for a dance platform event up here in Liverpool.
The piece consisted of a trapeze performer wearing a light up costume built using fiber optic fabric and a laser cut black fabric masking. Using the pulse sensor monitor (,) we were able to measure the performers heart and use the data (via wifi) to control audio visual parameters for the piece. The RGB values of the suit were driven by this data, alongside the sound scape which was designed in SuperCollider.We were able to route the heart rate data very quickly from the performer to the computer, then process the data though a Processing app and send it back to the costume with pretty much zero latency. By placing the computer in the middle of this equation we were able to also use the data to control audio parameters (e.g the panning of the sound scape was controlled by the pulse) and also create a synthesized heartbeat, so rather than using a microphone we used the data (converted into OSC values) to control a synthesizer. We ended up using two arduino uno's with wifi shields. one was connected to the sensor and the other to the lights. Although this could have been done with one arduino we were worried about the volume of data and decided to go for this safer option to reduce latency.
below are some images and a video of the final results:

2  Using Arduino / General Electronics / Re: issue with PNP transistor // pwm control appears to be in reverse? on: August 14, 2013, 03:00:05 pm
thanks for the swift replies!
yes, makes sense now, annoyingly I need to use Common Cathode LED's otherwise it seems like it would be a lot easier.
@CrossRoads => you don't by any chance have a schematic of sorts to help illustrate the required setup? am i correct in understanding i need to have a PNP and NPN transistor in place? side by side.. one controlling the other..?
3  Using Arduino / General Electronics / issue with PNP transistor // pwm control appears to be in reverse? on: August 14, 2013, 02:35:08 pm
i am just working on a little project involving some common cathode RGB led's. I am using the following schematic

which works great at lighting up the led, however i only just noticed that it actually works in reverse. i.e. when I send a value of 0 it will light up to maximum brightness and when I send a value of 255 it is totally dim. I am confused, and not totally clear what is causing this problem? is this an issue with using PNP transistors? am totally baffled, but also sure that it must be a fairly easy solution, just can't figure it out and the internet is not proving too helpful..

any ideas?
4  Using Arduino / General Electronics / Re: rgb led won't fade correctly on: July 29, 2013, 02:25:27 pm
thanks larry - problem solved!
5  Using Arduino / General Electronics / rgb led won't fade correctly (SOLVED) on: July 29, 2013, 01:50:18 pm

hoping to pick someone's brain to help me understand where i am going wrong. I have a few RGB led's (common Cathode) that i want to control via an arduino but with an external power supply. The LED's in question are these
wired up with 330R 0.5W resistors (I want to run this at 12v)

I have been using the schematic kindly put together by a different arduino forums user:

Using some of these PNP transistors I had lying around: but when i wire it up the led does not fade all the way to black.. I am a bit confused as to what the fault is, my first guess is the PNP transistor, but could someone advise me what would be a more suitable one for my application?

am i also correct in my understanding that i need to have a common ground between the arduino GND and the power supply?

6  Community / Exhibition / Gallery / Re: The Kronos Begins - Arduino controlled stepper sequencer on: April 17, 2013, 01:04:11 pm
thanks - yeah the arduino was pretty essential, although i did sweat over it given that we were using it for new years eve and you just cannot mess it up! the story is pretty long, it made even less sense on the night! but once we shot all the additional scenes it started to tie together better..

there are some more photos from the event here:
7  Community / Exhibition / Gallery / The Kronos Begins - Arduino controlled stepper sequencer on: April 16, 2013, 07:25:07 am
An experiment in filmmaking, "The Kronos Begins" is a fictitious sci-fi adventure based around a real New Year's Eve club night at Liverpool's (and arguably the UK's) finest club The Kazimier. Audience members were asked to come dressed as extras for one of four scenes, which were played out on the night. Footage from these scenes were then intercut with footage shot after the event which were then combined with detailed model and FX work and a full score and sound design to make up the final 22-minute short film.

Below is a short video of the Kronos built for The Kronos Begins event held at The Kazimier, Liverpool. The sculpture uses 1200 individually addressable 5050CMD RGB led pixels, controlled using a Joshua1 systems interface and sequenced using Chamsys MagicQ software. The mechanical robotics of the Kronos are sequenced using a custom built Processing application and Arduino  over OSC

Github repository can be found here:

8  Using Arduino / Programming Questions / Re: Twitter controlled plant feeder - advice sought on: February 11, 2013, 08:44:40 am
i want to read On Kawara's twitter feed - and every time he tweets the message "I AM STILL ALIVE #art" (which he does daily and is the only thing he does with the twitter account) i want the plant to be watered.

9  Using Arduino / Programming Questions / Re: Twitter controlled plant feeder - advice sought on: February 11, 2013, 08:17:11 am
currently it does not do anything really - this is just a sample code that i took off the internet to connect to twitter and see how it works.. i was looking to see how it is possible to extract the relevant time stamp from the twitter message itself, but not sure how to go about it..
10  Using Arduino / Programming Questions / Twitter controlled plant feeder - advice sought on: February 11, 2013, 07:17:37 am

just working on a little art project with a friend and was hoping to get some advice.
The aim is to have a plant watered everytime the artists On Kawara tweets ( daily message "I AM STILL ALIVE #art" the idea being that his daily tweet keeps this plant alive. I have worked out the electronics using a simple electronic valve from sparkfun.. however the code is proving a bit more tricky. There are plenty of fanstastic examples of using twitter for home automation or for generally reading a tweet.. however the problem we have encountered is that the tweet from On Kawara is always the same so the method of seeing wether or not a new *different* tweet has been posted does not work so well as the content does not change, the only real variable is the time and date of the tweet, i am not sure how to extract that information from twitter.. it is essential for the integrity of the work that the water is controlled directly by the tweet in question and only when On Kawara tweets it. I was wondering if anyone had any suggestions.. the example code i was working with looks like this:

  Twitter Client with Strings
 This sketch connects to Twitter using an Ethernet shield. It parses the XML
 returned, and looks for <text>this is a tweet</text>
 You can use the Arduino Ethernet shield, or the Adafruit Ethernet shield,
 either one will work, as long as it's got a Wiznet Ethernet module on board.
 This example uses the DHCP routines in the Ethernet library which is part of the
 Arduino core from version 1.0 beta 1
 This example uses the String library, which is part of the Arduino core from
 version 0019. 
  * Ethernet shield attached to pins 10, 11, 12, 13
 created 21 May 2011
 by Tom Igoe
 This code is in the public domain.
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 };
IPAddress ip(192,168,1,30); //<<< ENTER YOUR IP ADDRESS HERE!!!

// initialize the library instance:
EthernetClient client;

const int requestInterval = 60000;  // delay between requests

char serverName[] = "";  // twitter URL

boolean requested;                   // whether you've made a request since connecting
long lastAttemptTime = 0;            // last time you connected to the server, in milliseconds

String currentLine = "";            // string to hold the text from server
String tweet = "";                  // string to hold the tweet
boolean readingTweet = false;       // if you're currently reading the tweet

void setup() {
  pinMode(2, OUTPUT);
  // reserve space for the strings:

// initialize serial:
  // attempt a DHCP connection:
  if (!Ethernet.begin(mac)) {
    // if DHCP fails, start with a hard-coded address:
    Ethernet.begin(mac, ip);
  // connect to Twitter:

void loop()
  if (client.connected()) {
    if (client.available()) {
      // read incoming bytes:
      char inChar =;

      // add incoming byte to end of line:
      currentLine += inChar;

      // if you get a newline, clear the line:
      if (inChar == '\n') {
        currentLine = "";
      // if the current line ends with <text>, it will
      // be followed by the tweet:
      if ( currentLine.endsWith("<text>")) {
        // tweet is beginning. Clear the tweet string:
        readingTweet = true;
        tweet = "";
      // if you're currently reading the bytes of a tweet,
      // add them to the tweet String:
      if (readingTweet) {
        if (inChar != '<') {
          tweet += inChar;
        else {
          // if you got a "<" character,
          // you've reached the end of the tweet:
          readingTweet = false;
          if(tweet == ">I AM STILL ALIVE #art"){
           digitalWrite(2, HIGH);
           Serial.println("LED ON!");
          if(tweet != ">I AM STILL ALIVE #art"){
           digitalWrite(2, LOW);
           Serial.println("LED OFF!");
          // close the connection to the server:
  else if (millis() - lastAttemptTime > requestInterval) {
    // if you're not connected, and two minutes have passed since
    // your last connection, then attempt to connect again:

void connectToServer() {
  // attempt to connect, and wait a millisecond:
  Serial.println("connecting to server...");
  if (client.connect(serverName, 80)) {
    Serial.println("making HTTP request...");
  // make HTTP GET request to twitter:
    client.println("GET /1/statuses/user_timeline.xml?screen_name=on_kawara&count=1 HTTP/1.1");
  // note the time of this connect attempt:
  lastAttemptTime = millis();
11  Using Arduino / Motors, Mechanics, and Power / Re: advice needed for linear actuator control on: October 31, 2012, 10:49:29 am
just tried it.. no response as yet.. looking online it seems that the setup requires some more components than i had not anticipated, a number of capacitors etc. I have ordered a simple motor shield from ebay that uses the same L298 driver, so will see how i get on with that..
12  Using Arduino / Motors, Mechanics, and Power / Re: advice needed for linear actuator control on: October 30, 2012, 07:52:41 am
re: mike, glad i could be of help.

just had another quick question regarding this thread, hoping someone might be able to shed some light.
After getting the linear actuator working with the H-bridge driver SN754410 I had lying around (, I wanted to find a more suitable driver that could produce the 2A required for the linear actuator in question (the one i had tested with could only output 1.2A.. and I want to be able to get the maximum out of these motors).

I ordered the following component : - which appears to be able to output 2A (per channel), however I cannot seem to get it to work, should it behave the same way as the other h bridge adapter?
I have wired it up as follows:

output 1 & 2 => motor pins
supply voltage => 12v external supply
input 1 & 2 => arduino pins 2, 3
enable a => arduino
gnd => gnd
logic supply voltage => arduino + 5v

the code i have (same as the one tested succesfully on the SN754410) is real simple :

  const int motor1Pin = 2;    // H-bridge leg 1 (pin 2, 1A)
  const int motor2Pin = 3;    // H-bridge leg 2 (pin 7, 2A)
  const int enablePin = 4;    // H-bridge enable pin
  const int clutchPin = 8;

void setup() {

    // set all the other pins you're using as outputs:
    pinMode(motor1Pin, OUTPUT);
    pinMode(motor2Pin, OUTPUT);
    pinMode(enablePin, OUTPUT);
    pinMode(clutchPin, OUTPUT);

    // set enablePin high so that motor can turn on:
    digitalWrite(clutchPin, HIGH);
  void loop() {
    // if the switch is high, motor will turn on one direction:
       if (Serial.available()) {

    char ser =;

     if(ser == 'a'){
      digitalWrite(enablePin, HIGH);
      digitalWrite(motor1Pin, LOW);   // set leg 1 of the H-bridge low
      digitalWrite(motor2Pin, HIGH);  // set leg 2 of the H-bridge high
      digitalWrite(enablePin, LOW);
     if(ser == 'b'){
       digitalWrite(enablePin, HIGH);
      digitalWrite(motor1Pin, HIGH);  // set leg 1 of the H-bridge high
      digitalWrite(motor2Pin, LOW);   // set leg 2 of the H-bridge low
      digitalWrite(enablePin, LOW);
     if (ser == 'c'){
       digitalWrite(clutchPin, LOW);
       digitalWrite(clutchPin, HIGH);
     if (ser == 'd'){
       digitalWrite(clutchPin, LOW);

but i cannot get any response out of the motor, is there a difference in the two h-bridge adapters that i have missed? should i wire this up differently?

any help would be greatly appreciated

13  Using Arduino / Motors, Mechanics, and Power / Re: advice needed for linear actuator control on: October 23, 2012, 12:35:22 pm
noisier than I planned for but as they are being used in a capacity where there is a lot of other sound design I don't think it will pose an issue, their main attraction for me was the price and the electromechanical clutch, which works really well. As for speed, it takes about 1.2 seconds to fully extend..
14  Using Arduino / Motors, Mechanics, and Power / Re: advice needed for linear actuator control on: October 23, 2012, 07:56:56 am
linear actuator arrived today, and seems to work great with the h-bridge setup, as retrolefty pointed out the direction of the actuator is controlled via the flip in polarity, with the clutch needing a separate 12v (via mosfet) control cable running from the arduino. I also needed to connect the earth from the actuator to the gnd coming out of the mosfet..
overall seems to work well, next step is to get the whole thing working over OSC..

15  Using Arduino / Motors, Mechanics, and Power / Re: advice needed for linear actuator control on: October 22, 2012, 11:45:19 am
apologies for late reply, was away for the weekend.

zoomkat: with the suggested h-bridge (TLE5206) I am not sure how I would be able to activate the electromagnetic clutch.. other than that it seems a well priced H-bridge and more than capable of driving the actuator in question.

retrolefty: I was also confused by the description regarding the polarity of the yellow / orange and is why I thought an H-bridge was required, having used them in the past to reverse the direction of simple little DC motors it seemed like the solution. However, what confused me was the electromagnetic clutch and how to activave it through the h bridge, reading your comments and also kf2qd it seems that using a separate arduino output to activate the clutch (via a MOSFET) would achieve the desired effect.

the actuator should be here tomorrow, so will try out the different suggestions and see what works, getting a potentiometer working as per kf2qd's instructions would be great..

thanks again
Pages: [1] 2 3 ... 8