Select a site from within the area bounded by Victoria Street, Elizabeth Street, Latrobe Street and Russell Street. These streets represent the outer boundary of the area you are to look for sites.
Group tour of sites for feedback. The expectation is that each student will get 10-minute response to his or her work.
Please ensure that you have documentation of your project.
Site:
Laneway off Stewart St.
Completed Audio Graffiti Circuit mk1 ready for installation.
Total cost: less than 2 spray cans.
Audio Graffiti
Melbourne's CBD laneways are one of the highlights of its artistic street culture.
Using a low cost microcontroller, a piezo speaker and a battery as a power source I will create "audio graffiti."
Background research:
Audio Graffiti links:
http://geothought.blogspot.com.au/2010/05/location-based-art-audio-graffiti.html
http://forum.watmm.com/topic/80914-audio-terrorism/
http://hacknmod.com/hack/audio-bombing-more-hooligan-fun/
http://www.mobilemusicworkshop.org/docs/ChiaYingLee_mmw07.pdf
FM Transmitter Concept:
http://www.dgen.net/blog/music-and-astronomy/audio-graffiti/
The Philantropist is a Hip Hop beat producer that calls himself an Audio Graffiti Artist:
http://dawcast.com/048-philantropist-interview-audio-graffiti-artist/
Sounddropper - Audio Graffiti App:
http://www.billboard.com/biz/articles/news/1162090/sounddropper-uk-based-audio-graffiti-app-bombing-the-urban-landscape
http://www.dgen.net/blog/music-and-astronomy/audio-graffiti/
Audio Graffiti - Melbourne Poetry Map:
https://maps.google.com.au/maps/ms?ie=UTF8&oe=UTF8&msa=0&msid=216306916037869073740.000487c36fc74368e8924&dg=feature
Related:
http://www.graffitimarkuplanguage.com/gml-recording-machine/
http://www.imdb.com/title/tt1278449/
I opted to use Morse Code as the simplest method to transmit my name sonically through lowcost components.
Total cost of my Audio Graffiti mk1 circuit, less than the cost of 2 spray cans.
International Morse code is composed of five elements:
short mark, dot or "dit" (·) — "dot duration" is one time unit long
longer mark, dash or "dah" (–) — three time units long
inter-element gap between the dots and dashes within a character — one dot duration or one unit long
short gap (between letters) — three time units long
medium gap (between words) — seven time units long
short mark, dot or "dit" (·) — "dot duration" is one time unit long
longer mark, dash or "dah" (–) — three time units long
inter-element gap between the dots and dashes within a character — one dot duration or one unit long
short gap (between letters) — three time units long
medium gap (between words) — seven time units long
Arduino code:
/*
lysmorse // simple audiograffiti based on Blink example code
RMIT september 2014
International Morse code is composed of five elements:
short mark, dot or "dit" (·) — "dot duration" is one time unit long
longer mark, dash or "dah" (–) — three time units long
inter-element gap between the dots and dashes within a character — one dot duration or one unit long
short gap (between letters) — three time units long
medium gap (between words) — seven time units long[
*/
int led = 13; // board LED
int spk = 12; // speaker positive pin
int tonefreq = 2400; // sets tonefrequency
int dot = 60; // dot time unit & interelement gap
int dash = 180; // dash time unit & gap between letters
int gap = 420; // gap between words
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(spk, OUTPUT);
Serial.begin(9600);
}
void loop() {
// L = .-..
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dash); // wait 0.18 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.print(" ");
delay(dash); // between letters
// Y = -.--
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dash); // wait 0.18 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(2, tonefreq); //
delay(dash); // wait 0.18 seconds
noTone(2); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dash); // wait 0.18 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.print(" ");
delay(dash); // between letters
// S = ...
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.print(" ");
delay(dash); // between letters
// D = -..
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dash); // wait 0.18 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.print(" ");
delay(dash); // between letters
// E = .
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.print(" ");
delay(dash); // between letters
// X = -..-
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dash); // wait 0.18 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dash); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.print(" ");
delay(dash); // between letters
// I = ..
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Serial.print(" ");
delay(dash); // between letters
// C = -.-.
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dash); // wait 0.18 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print("-");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dash); // wait 0.18 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dot);
Serial.print(".");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
tone(12, tonefreq); //
delay(dot); // wait 0.06 seconds
noTone(12); // stop tone
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(dash);
Serial.println();
delay(60000); // delay for 1 minute
}
Improvements to be made for mk2:
Solar power.
Weatherproofing.
Optimized code for long term installs.
More interesting sonic signature.
9v Doesn't Last Long:
http://www.bildr.org/forum/viewtopic.php?f=20&t=552
http://procrastinatingintheheat.com/tag/arduino/page/2/