Description



Steel Ice & Stone is a multi-media interactive installation.
Nine suspended LED panels and sensor-triggered sound create an environment for memory recall.

Sunday, June 30, 2013

SIS Thought process and possibilities.

Hello! This is my first post to the SIS blog, and I'm excited to be working on this project.

This is going to be something of a mouthful. Here's where the project is right now.

Below is the current parts list. It's not complete and will undergo revision as the design changes, forseeably by way of sensing and display. It's been suggested to me that I do more research about IR sensors, and I'll be posting about not long from now. We also have an LED panel coming which we have yet to decide upon the use of. Should it be incorporated, we'll need to rework some of the parts.

1. The Arduino Leonardo: $24.95 ($22.46 for 10 units) https://www.sparkfun.com/products/11286
I've decided on the Leonardo instead of the Uno because it's a bit cheaper and maintains compatibility with the MP3 Player Sheild I have in mind.

2. Sparkfun's MP3 Player Shield for the Arduino: $39.95 ($35.95 for 10 units) https://www.sparkfun.com/products/10628

3. 2 gb Micro SD Card: $5.49 http://www.newegg.com/Product/Product.aspx?Item=20-208-244&SortField=0&SummaryType=0&Pagesize=100&PurchaseMark=&SelectedRating=-1&VideoOnlyMark=False&VendorMark=&IsFeedbackTab=true&Page=2#scrollFullInfo
This may change depending on which method of playing 2 sounds at the same time I choose (more below)

4. 100k resistor: $0.15 ($0.14 for 10 units) http://www.parallax.com/Store/Components/Resistors/tabid/149/ProductID/217/List/1/Default.aspx?SortField=ProductName,ProductName
Chosen with the IR LED and sensor below in mind. Will probably change as I intend to research alternative IR sensors.

5. IR LED: $0.99 ($0.86 for 10 units) https://www.sparkfun.com/products/9349
May change as I look into other IR sensors. The original idea was for it to be a backup in low IR light settings.

6. IR sensor: $1.95 ($1.76 for 10 units) http://www.adafruit.com/products/157?gclid=CIP6m8jBr7cCFc-f4AodZCsACg
This is likely to change as Professor Marantz has suggested I look deeper into the different types of IR sensors out there.

7. Veho 360 PortableSpeaker: $11.49 http://www.bhphotovideo.com/bnh/controller/home?O=&sku=737448&Q=&is=REG&A=details
This will likely change if we go with the LED panel.

8. Sony CycleEnergy portable USB power supply: $19.95 http://www.focuscamera.com/sony-cycle-energy-usb-portable-lithium-ion-power-supply-and-adapter-for-charging-usb-devices-on-the-go-walkman-ipod-ipad-portable-games-phones.html?gclid=CNj6-Ke6r7cCFQqi4AodVQ8ATA
If we use the LED panel, we'll drop this and either tap into it for power, or slap a powerstrip on the back.

9. 2 port USB hub: $9.99 http://www.newegg.com/Product/Product.aspx?Item=N82E16817397012&nm_mc=KNC-GoogleAdwords&cm_mmc=KNC-GoogleAdwords-_-pla-_-Hubs-_-N82E16817397012&gclid=CKvb9qWb5LcCFY19OgodhDYAKQ I add this to the list so that the power supply can power both the unit and the speaker.

10. Remote control: $7.05 http://www.tigerdirect.com/applications/searchtools/item-details.asp?EdpNo=4456088&SRCCODE=WEBGOOPA&cm_mmc_o=mH4CjC7BBTkwCjCV1-CjCE&gclid=CICl_4CX5LcCFSdnOgodRXwA2g
For whatever control purposes we may need while troubleshooting the installation of the units.

11. Wire: $2.50 https://www.sparkfun.com/products/8022

Cost to build 1: $124.46
Cost to build 12: $1306.63

With the intention of using the Arduino, a couple road bumps were encountered, but not without possible solutions:

Problem #1: 
We want the device to play two sound files at the same time after a second sensor is triggered, and the Arduino isn't designed for multitasking.

Possible solutions:

#1:Read and buffer two files one after the other: 
The MP3 sheild I've found doesn't have functions built into it to play files. Instead, sample code for playing an MP3 file has been provided by Sparkfun. As many instances of file reading and music playing code work, this involves reading a snippet (buffer) of the file. Then you throw that buffer at the hardware or other code responsible for sound, and do that again with the next buffer with such timing that the file is played as intended. We could alternate which file we play from to play both files, since each buffer would in theory be smaller than perceivable by humans. Pros: Simple, just toggle a boolean variable to signify the use of the other file. Cons: We don't know how it'll sound. There's a balance between the size of our buffer and how fast the Arduino can read between the two. The larger our buffer, the more likely it is to sound like the sound is cutting between two files. The smaller our buffer, the more likely the Arduino is to be unable to play both files with the proper timing.

#2:Interleave the files on the spot:
We could tell the Arduino to combine both sound file buffers into one and then play that new buffer. Pros: Completely dynamic. Cons: Not quite as simple as it sounds. We have to figure out some code for exporting two sound bites as one. Luckily, the MP3 sheild supports a variety of file formats, like WAV and AIFF, making the process theoretically simpler, and we can rummage through Audacity's source code and find out how it exports multiple tracks to one file).

#3:Make a lot (a looot) of files where the two sounds are playing at the same time:
We could take the two files and increment file A ahead of file B by some odd milliseconds (and vice versa), export that file, and then repeat the process with an offset greater than the previous one. Then, the Arduino can choose a sound file based on when the second sensor is trigered during the first audio playback. Pros: A very simple brute force approach, the creation of the sounds could be scripted. I presume people are supposed to be walking through the installation, so the delay between the triggering of the sensor and the second sound playing wouldn't be an issue, allowing a larger interval between sound files. Cons: Size. I'm not yet sure of how big or long the files are, but for our purposes it probably wont be an issue.

Out of those 3, I think the first and third make the most sense to me. I'm leaning towards the third personally, at least as a fallback.

Problem #2: We may be using glass covered LED panels instead of canvas. This makes audio trickier, as glass is a nice material for muffling sound.

Possible solutions:

#1: A speaker bar:
Professor Marantz suggested a speaker bar be placed on the unit, similarly to TVs and some monitors. Pros: It's already engineered to serve a such a purpose. Cons: I can't think of any. We just have to find a bar that's as wide as or smaller than our units (we can throw on pieces of wood painted to look like the speakers for filling out the edges). Unsure: Placement. The pros and cons of placement come with how we mount the unit. We con't want it to be top heavy if we have a stand, and we don't want it to rock if we use wires from above (though I think we nixed wires)

#2: Origaudio Rock-It speakers:
Found at www.origaudio.com/shop/index.php?dispatch=product_id=29877 these speakers are like pick up mics in reverse. They stick to a surface and send vibrations through it, turning the surface into a speaker of sorts. Pros: It's discrete and will turn the unit into a speaker. Cons: These speakers work best with shapes that are conic, or otherwise work well with sound. We're dealing with a flat pane. I'm also having trouble finding documentation of these speakers working with glass surfaces, which tells me that people don't think it's worth showing off. However, most of the showing off that I have seen is "Look at how loud this is!" and that's nice, but this installation is going to be in a closed space.

I think the first will work without a doubt, but I'd love to play with the second.

Things to do:
#1: Look deeper into IR sensors
#2: Get my hands on some of those parts and see what sound solution works best. If none are good, think of something new or look at a different microcontroller.
#3: Greet and tinker with the panel upon its arrival.

That's all for now.

No comments:

Post a Comment

Thanks for your feedback.