Wavebot

1,059

8

4

Introduction: Wavebot

Wavebot is an artbot that converts sound to images. Using a controllable pen, it draws the waveforms of the currently playing audio. Wavebot consists of a soft- and hardware part.

Software
The open-source software Processing is used to analyse an audio file or microphone input. Using the minim library, it calculates the coördinates of the waveform and sends them to an Arduino using a serial connection.

Hardware
An arduino with motor shield is used to drive a motor and a servo. The motor is used to advance a roll of paper, on which a pen, controlled with the servo, draws the waveforms. As Wavebot was a prototype (yet functional), it has a wooden enclosure with lots of tape.

Code
Arduino: http://mdastudent.khlim.be/~cmdi_5120071/1213/icti/wavebot.ino
Processing: http://mdastudent.khlim.be/~cmdi_5120071/1213/icti/wavebot.pde

(make sure to have the Minim library installed)


Be the First to Share

    Recommendations

    • The 1000th Contest

      The 1000th Contest
    • Battery Powered Contest

      Battery Powered Contest
    • Hand Tools Only Challenge

      Hand Tools Only Challenge

    4 Discussions

    0
    Sembot
    Sembot

    3 years ago

    Hai,

    I found a code that fits what I want ( I think )

    Normally should be replaced in the bottom line 300 by 1023 but it does not work right, does anyone know the reason

    val = map (fall, 0, 300, 0, 179);
    Also you must speak fairly loudly, how come it
    I am using a MAX4466 electret microphone amplifier B0B # 5646, an Arduino Uno and SG90 9G servos

    Who can help

    At last i need a motor or servo motor, with a potentiometer in order to measure the speed also in the programma

    #include <Servo.h>

    Servo myservo;
    int val;
    int SoundInPin = A0;
    void setup()
    {
    myservo.attach(9);
    pinMode(SoundInPin, INPUT);
    }
    void loop()
    {
    int sensorValue = analogRead(SoundInPin);
    val = analogRead(0);
    val = map(val, 0, 300, 0, 179);
    myservo.write(val);
    delay(15);
    }

    Kind Regards

    0
    Sembot
    Sembot

    3 years ago

    Hai,

    I can open the 2 source codes , can you help me please

    Kind Regards

    0
    TeisD
    TeisD

    Reply 3 years ago

    Hey Sembot

    The code used to be hosted on my school server, but I'm afraid it's lost forever.

    It shouldn't be too hard to rewrite though. I think some parts of this nice guide on Minim could get you started.

    0
    Sembot
    Sembot

    Reply 3 years ago

    Hai ,

    Thanks for the quick info ,but I am a bad programmer

    I'll have to look a little further on the internet for a solution

    In any case, thanks for the effort

    Kind regards