Posts | Comments

Planet Arduino

Archive for the ‘sound’ Category

Who doesn’t love a good robot? If you don’t — how dare you! — then this charming little scamp might just bring the hint of a smile to your face.

SDDSbot — built out of an old Sony Dynamic Digital Sound system’s reel cover — can’t do much other than turn left, right, or walk forwards on four D/C motor-controlled legs, but it does so using the power of a Pixy camera and an Arduino. The Pixy reads colour combinations that denote stop and go commands from sheets of paper, attempting to keep it in the center of its field of view as it toddles along. Once the robot gets close enough to the ‘go’ colour code, the paper’s  orientation directs the robot to steer itself left or right — the goal being the capacity to navigate a maze. While not quite there yet, it’s certainly a handful as it is.

With the care of a maker, [Arno Munukka] takes us under the hood of his robot to show how he’s made clever use of the small space. He designed a duo of custom PCBs for the motors and stuck them near the robot’s top — you can see the resistors used to time the steps poking through the robot’s case, adding a functional cosmetic effect. The Arduino brain is stuck to the rear, the Pixy to the front, and the power boards are snug near the base. Three USB ports pepper the robot’s posterior — a charging port, one for programming the Arduino, and a third to access the Pixy camera.

What do you think — had a change of heart regarding our future overl– uh, silicon-based friends? Yes? Well here’s a beginner bot to will get you started.


Filed under: Android Hacks, Arduino Hacks, robots hacks

DriveInSpeakersOpener-8 copyEver used a drive-in movie speaker? Build your own and listen to your tunes in retro style.

Read more on MAKE

The post Revive Old Drive-In Speakers with a Modern LED Twist appeared first on Make: DIY Projects and Ideas for Makers.

4_670
Red is an optic-sound electronic object that uses simple light sources and optical elements to create audiovisual performance. The machine was named as a color because at the center of the work there is a red glass crystal and a flexible Fresnel lens. Dmitry Morozov aka :: vtol: : created it using Arduino with pure data and python scripts:

The project includes many reworked electronic devices – a CD-rom, an old scanner, reused electric motors. Multiple moving elements provide wide variability for rather primitive optical elements. It is accomplished by constant change of focal length between the light source, crystal and lens, as well as by changing the crystal’s tilt angle and mechanical distortion of the lens. The object works autonomously, by algorithm with many accidental events tied to feedback, with sensors defining the position of various mechanical elements in relation to the range of their movement. The sound part has up to 4 voices which depend on the activity of various elements. The sound is also in direct interaction with actual position of those elements, and basically is voicing the process of movement, brightness of light, and intensity of the piece.

Watch how it works in this hypnotic video:

sound-570x321

Sound Blocks is a tool to teach children and adults what sound is made of. The project was shortlisted in the Expression category of the IXDA Interaction Awards and it was developed by John Ferreira, Alejandra Molina, Andreas Refsgaard at the CIID using Arduino.

soundblocks

The device allows people to learn how, with a few parameters, it’s possible to create new sounds and, also, imitate real world sounds. Users can control waveform, sound decay or wave length and volume of three channels, all mixed together:

Sound blocks first and foremost was created as a tool to experiment with sound, it is playful and engaging.

Watch the video interview to discover more about the project and hear some noise:

DSC01696_670

There’s a mineral called pyrite with a interesting nickname, fool’s gold, because it has a superficial resemblance to gold and it’s by far the most frequently mineral mistaken for gold. Even if it’s pretty abundant, there’s a rare form of pyrite which is crystallised in radial shape (as unusual disc spherulites), taking the shape of a disc. The amazing fact is that the only deposit where pyrites of such morphology are found is in Illinois (USA) and the discs are dated around 300 million years ago!

Dmitry Morozov (aka ::vtol::), a media artist living in Moscow, had the chance to use a pyrite disc and created Ra,  a sound object / synthesizer running on Arduino Nano. Ra uses laser for scanning the irregularities of the surface of the disc and further transforms this data to produce sound:

This project originated as a result of an interesting set of circumstances – a pyrite disc was given to me as a gift by a mineral seller in Boulder city (USA). Upon hearing about my works, she asked to do something with such crystal, and refused to take payment for getting it. In the same period, I was reading articles on various ways of archiving and preservation of sounds from the first, historical sources of the recorded sound – wax discs and other fragile carriers. All technologies were based on the usage of lasers. Inspired by these projects, I set out to create a self-made laser sound reader which would be able to produce sound from various uneven surfaces, using minimal resources to achive it. Thus emerged the idea to construct an instrument using the pyrite disc and a self-made laser sound reader.

The production of the object was possible thanks to the commission of the Sound Museum in St.-Petersburg which now has Ra in its collection.

Check the bill of materials and other details on Dmitry’s website. Explore other projects by Dmitry featured on Arduino Blog.

DSC016533_670

DSC01696_670

There’s a mineral called pyrite with a interesting nickname, fool’s gold, because it has a superficial resemblance to gold and it’s by far the most frequently mineral mistaken for gold. Even if it’s pretty abundant, there’s a rare form of pyrite which is crystallised in radial shape (as unusual disc spherulites), taking the shape of a disc. The amazing fact is that the only deposit where pyrites of such morphology are found is in Illinois (USA) and the discs are dated around 300 million years ago!

Dmitry Morozov (aka ::vtol::), a media artist living in Moscow, had the chance to use a pyrite disc and created Ra,  a sound object / synthesizer running on Arduino Nano. Ra uses laser for scanning the irregularities of the surface of the disc and further transforms this data to produce sound:

This project originated as a result of an interesting set of circumstances – a pyrite disc was given to me as a gift by a mineral seller in Boulder city (USA). Upon hearing about my works, she asked to do something with such crystal, and refused to take payment for getting it. In the same period, I was reading articles on various ways of archiving and preservation of sounds from the first, historical sources of the recorded sound – wax discs and other fragile carriers. All technologies were based on the usage of lasers. Inspired by these projects, I set out to create a self-made laser sound reader which would be able to produce sound from various uneven surfaces, using minimal resources to achive it. Thus emerged the idea to construct an instrument using the pyrite disc and a self-made laser sound reader.

The production of the object was possible thanks to the commission of the Sound Museum in St.-Petersburg which now has Ra in its collection.

Check the bill of materials and other details on Dmitry’s website. Explore other projects by Dmitry featured on Arduino Blog.

DSC016533_670






Kingduino Uno R3 Compatible Microcontroller - Atmel ATmega328

Turnigy TGY-SM-3317SR 360? Analog Robot Servo 2.2kg / 86RPM / 19g

Took the electronics from two of these and connected them to the servo motors to control the mirrors
Turnigy TGY-SM-3317SR 360? Analog Robot Servo 2.2kg / 86RPM / 19g


Kingduino Compatible 5V 650nm PCB Laser Diode Module

Microphone Sound Input Module

Russian blue cat
I found this cat really helped with the programming 






Very simple sketch

I tinkered for a while to get the patterns I liked and the transitions 

#include

Servo myservo1; // create servo object to control a servo
Servo myservo2;

int patterns[] =
{
92,88,
70,85,
60,85,
80,85,
85,85,
70,85,
85,0,
85,110,
85,115,
70,88,
5,30,
135,45,
92,88,
180,0,
50,100,
85,85,
100,105,
70,0,
75,0,
105,115
};

int NumPatterns = 0;



int laserPin = 3; // LED connected to digital pin 9
int ledPin = 4; // LED connected to digital pin 9
int MicPin = 1; // potentiometer connected to analog pin 3
int LevelPin = 0;
int pos = 0; // variable to store the servo position

int val = 0; // variable to store the read value
int val2 = 0;
int tick = 500;
int TickMod = 500;
int Sweep = 0;
int LaserPWM = 0;
int LaserPWMvector = 1;

int Mirror1 = 0;
int Mirror2 = 0;

int Mic = 0;
int Level = 0;

int LevelIndex = 0;
int LevelBuf[200] = {0, };
int LevelMean = 0;

int LevelValueIndex = 0;
int LevelValueBuf[10] = {0, };

int ShutOffBits = 50;
int Active = 0;



void setup()
{
Serial.begin(9600);

pinMode(laserPin, OUTPUT); // sets the pin as output
pinMode(ledPin, OUTPUT); // sets the pin as output
myservo1.attach(8); // attaches the servo on pin 9 to the servo object
myservo2.attach(9); // attaches the servo on pin 9 to the servo object

pos = 30;
myservo1.write(pos);

pos = 95;
myservo2.write(pos);

digitalWrite(laserPin, HIGH);

randomSeed(analogRead(0));

NumPatterns = sizeof(patterns);

}

void loop()
{
tick++;

Mic = analogRead(MicPin);

LevelMean = CalcLevelMean();

Level = CalcLevelValue();

if(LevelMean > ShutOffBits)
Active = 1;
else
Active = 0;

if((tick % 10) == 0)
{
//LaserPWM += LaserPWMvector;
val = abs(Level - LevelMean);
if(val < 1) val = 1;
if(val > 5) val = 5;

if(LaserPWMvector > 0)
LaserPWM += val;
else
LaserPWM -= val;

if(LaserPWM < 0) { LaserPWM = 0; LaserPWMvector = 1; StepPattern("PWM == 0n");}
if(LaserPWM > 255){ LaserPWM = 255; LaserPWMvector = 0-1; }
}

val = LaserPWM;

if(Active > 0)
analogWrite(laserPin, val); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
else
digitalWrite(laserPin, LOW);

//val = map(abs(Level - 512), 0, 512, 0, 255);

//analogWrite(ledPin, val);


if((tick % 100) == 0)
SendData("");

//if(abs(Level - 512) > 100)
// StepPattern("LOUD");

delayMicroseconds(1000);

if((tick % 100) == 0)
SetMirrors("");


}


void StepPattern(char* txt)
{

Sweep += 2;
if(Sweep > (NumPatterns - 2)) Sweep = 0;

}

void SetMirrors(char* txt)
{

if(Active > 0)
{
val = random(0,100);

//Serial.print("nRANDOM: ");
//Serial.print(val);
//Serial.print("n");

if(val > 500)
{
val = abs(Level - LevelMean) + (Mic - 512);

val = map(val, 0, 512, 0, 20);

Serial.print("MUSIC:");
Serial.print(val);

pos=90+val;
myservo1.write(pos);

pos=90-val;
myservo2.write(pos);


}
else
{
//Serial.print("nSWEEPn");

val2 = abs(Level - LevelMean);


pos = Mirror1;

val = (patterns[Sweep] - Mirror1) /10;

if(val < 1) val = 1;

pos += val;

pos = patterns[Sweep] + val2;

myservo1.write(pos);

Mirror1 = pos;



pos = Mirror2;

val = (patterns[Sweep + 1] - Mirror2) /10;

if(val < 1) val = 1;

pos += val;

pos = patterns[Sweep + 1] - val2;

myservo2.write(pos);

Mirror2 = pos;

}

}
else
{
pos = 90;
myservo1.write(pos);
myservo2.write(pos);
}

//SendData(txt);
}

void SendData(char* txt)
{
if(strlen(txt) > 0)
{
Serial.print("n");
Serial.print(txt);
Serial.print("n");
}

Serial.print("Sweep:");
Serial.print( Sweep);

Serial.print("tLevel - LevelMean: ");
Serial.print(abs(Level - LevelMean));

Serial.print("tMirror1 & Mirror2: ");
Serial.print( Mirror1);
Serial.print(" ");
Serial.print( Mirror2);


Serial.print("tLaserPWMvector:");
Serial.print( LaserPWMvector);
Serial.print("tLaserPWM:");
Serial.print( LaserPWM);
Serial.print("tLevelMean:");
Serial.print( LevelMean);
Serial.print("tLevel:");
Serial.print(analogRead(LevelPin));
Serial.print("tmic:");
Serial.print(analogRead(MicPin));
Serial.print("n");

}

int CalcLevelMean()
{

LevelBuf[LevelIndex] = analogRead(LevelPin);

if((++LevelIndex) > 199)
LevelIndex = 0;

double ltot = 0.0;
for(int i = 0;i < 200;i++)
ltot += (double)LevelBuf[i];

return (int)(ltot / 200.0);
}

int CalcLevelValue()
{

LevelValueBuf[LevelValueIndex] = analogRead(LevelPin);

if((++LevelValueIndex) > 10)
LevelValueIndex = 0;

double ltot = 0.0;
for(int i = 0;i < 100;i++)
ltot += (double)LevelValueBuf[i];

return (int)(ltot / 100.0);
}


Lug
04

Arduino sound to Laser

arduino, laser, servo, sound, Turnigy Commenti disabilitati su Arduino sound to Laser 


Kingduino Uno R3 Compatible Microcontroller - Atmel ATmega328

Turnigy TGY-SM-3317SR 360? Analog Robot Servo 2.2kg / 86RPM / 19g

Took the electronics from two of these and connected them to the servo motors to control the mirrors
Turnigy TGY-SM-3317SR 360? Analog Robot Servo 2.2kg / 86RPM / 19g


Kingduino Compatible 5V 650nm PCB Laser Diode Module

Microphone Sound Input Module

Russian blue cat
I found this cat really helped with the programming 







Feb
23

A collective instrument capturing breathe with paper windmills

Ableton Live, arduino, arduino uno, Exhibition, Featured, max/msp, music, music installation, sound, windmill Commenti disabilitati su A collective instrument capturing breathe with paper windmills 

cataSopros

Cata Sopros is interactive sound installation running on Arduino Uno and created by Elas Duas, a multidisciplinary studio based in the city of Guimarães (Portugal). If you translate the title from portuguese it means: Breathe Catchers. In fact the project is a collective musical instrument made with paper windmills transforming the users’ breathe into sounds:

The windmills have inbuilt electret microphones that were connected to an Arduino Uno. The sensor data was then sent to MaxMSP and the sounds were played with Ableton Live. The video was shot at the cloister of the beautiful Alberto Sampaio museum in Guimarães, Portugal.

Enjoy the video:

Gen
02

Sound Activated Outlet

arduino, clapper, Microcontroller, sound, switch Commenti disabilitati su Sound Activated Outlet 

F89F9LJI49RMTLA.MEDIUM

by DIY Hacks and How Tos @ instructables.com:

The Clapper was a popular gadget in the 80’s and 90’s. It let you turn appliances on and off just by clapping. This can be pretty useful, but it has some limitations. First there is the problem of loud noises accidentally turning the lights off. Also, you can’t control multiple outlets independently of each other.

So I decided to make programmable version of the Clapper using an Arduino microcontroller. The Arduino lets you set codes for each outlet. This eliminates false triggering and lets you control multiple outlets independently. Your lamp could be turned on and off with one clapping pattern and your fan could be controlled with another pattern.

Sound Activated Outlet - [Link]



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook