Difference between revisions of "Visual Beats"

From ESE205 Wiki
Jump to navigation Jump to search
m (Protected "Visual Beats" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(55 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
=== Overview ===  
 
=== Overview ===  
 
----
 
----
This project is inspired by Cymatics, the study of visualizing sound through the representation of physical mediums. The common method to visualize sound in Cymatics is by creating a frequency on a plate that vibrates a medium (such as sand or water) placed on top. The more in tune a frequency is to the plate, the more complex of a geometric shape (nodal lines) the sand creates. We initially plan on experimenting with an online frequency generator and a metal plate in order to see different kinds of standing waves we can form. Once we have found specific frequencies that resonate well with the plate, we will choose one frequency and convert it into a tone playable through a button all through the works of an Arduino. If this is successful, we will add more buttons with varying tones so that people can play around, creating their own beats in order to “see” what physical form their music takes on.
+
All objects have a set of natural frequencies at which they vibrate. These frequencies have unique standing wave patterns that can be seen by mediums such as sand. The sand vibrates until it arrives at the nodal positions where it comes to rest and collectively result in symmetric patterns. We initially plan on experimenting with an online frequency generator and a metal plate in order to see the different kinds of standing waves we can form. [[File:Butterfly.png|thumb|upright=0.70|alt=Butterfly at 528Hz.|One of the patterns produced by our project.]]Once we have found specific frequencies that resonate well with the plate, we will choose one frequency and convert it into a tone playable through a button by the works of an Arduino. If this is successful, we will add more buttons with varying tones so that people can play around, creating their own beats in order to “see” what physical form their music takes on.
  
 
==== The Team ====
 
==== The Team ====
Line 7: Line 7:
 
* Han Wang
 
* Han Wang
 
* Li Gao
 
* Li Gao
*Will Luer
+
*Will Luer (TA)
  
 
=== Objectives ===  
 
=== Objectives ===  
 
----
 
----
* Finding several frequencies that produce symmetric shapes  
+
* Finding several frequencies that produce symmetric shapes <ref>Rossing, Thomas D.  [http://scitation.aip.org/content/aapt/journal/ajp/50/3/10.1119/1.12866;jsessionid=R9JZ0gT7b6kg-6S9JEwxvgzk.x-aip-live-06: "Chladni’s law for vibrating plates."] AAPT. Scitation, June 1998. Web. 7 Sept. 2016.</ref>
** Reference: [http://scitation.aip.org/content/aapt/journal/ajp/50/3/10.1119/1.12866;jsessionid=R9JZ0gT7b6kg-6S9JEwxvgzk.x-aip-live-06: Chladni’s law for vibrating plates] by Rossing (Page 271)
+
* Having at the least one symmetric pattern that is playable on the Arduino button.
* Having at the least 1 diametric and radial node pattern that is playable on the Arduino button.
+
** (Only if the former is successful) Add several more buttons that create shapes at other patterns
** The higher the count on both diametric and radial nodes, the better
 
* (Only if the former is successful) Add several more buttons that create shapes at other patterns
 
 
*      Balancing the plate
 
*      Balancing the plate
 
*      Reducing the noise on the plate
 
*      Reducing the noise on the plate
Line 22: Line 20:
 
----
 
----
 
Most of the hardware we will use can be purchased, but there are still many foreseen challenges we will encounter:
 
Most of the hardware we will use can be purchased, but there are still many foreseen challenges we will encounter:
* We don’t know the resonant frequencies of our specific plate are, so we will have to find them using a range of frequencies from 20Hz to 2kHz (range is considered in order to stay safe and based on an [http://iopscience.iop.org/article/10.1209/0295-5075/111/64004/meta#epl17406eqn9 article] that ran a similar experiment)
+
* We don’t know what the resonant frequencies of our specific plate are, so we will have to find them using a range of frequencies from 20Hz to 2kHz (range is considered in order to stay safe and based on an [http://iopscience.iop.org/article/10.1209/0295-5075/111/64004/meta#epl17406eqn9 article] that ran a similar experiment)
* Preventing damage to exciter/amp (clipping, overheating, etc) by making sure our physical design has some form of ventilation
+
* Preventing damage to exciter/amp (clipping, overheating, etc)
 
* We may exceed our budget if our trials keep failing, so we need to form detailed plans on how we will run our experiments in order to prevent going over our budget
 
* We may exceed our budget if our trials keep failing, so we need to form detailed plans on how we will run our experiments in order to prevent going over our budget
* Finding the most effective way to reuse and not waste our sand
 
 
* Assembling all our equipment in a neat and organized way for demo (for example: where we will be placing the amplifier and Arduino/circuit board as they are separate compartments to our main apparatus)
 
* Assembling all our equipment in a neat and organized way for demo (for example: where we will be placing the amplifier and Arduino/circuit board as they are separate compartments to our main apparatus)
*      Making sure that the least amount of manual changes have to occur when using a button to perform a design. If we are successful and end up with making more than one button then we need to find a way to make sure we don't have to toggle such things as the "Sub Volume" and "Crossover" knobs when demoing.
 
 
*      Perfectly leveling the aluminum plate onto the exciter
 
*      Perfectly leveling the aluminum plate onto the exciter
 
*      If we get to the point of adding more than one button: Transitioning between one frequency to another should be smooth and not abrupt
 
*      If we get to the point of adding more than one button: Transitioning between one frequency to another should be smooth and not abrupt
Line 57: Line 53:
 
*      ~$145
 
*      ~$145
  
=== Schematics ===  
+
=== Design & Solutions ===  
 
----
 
----
  
*As for the materials of our plate, there are several materials listed on the article we found that has been proved to work well with our exciter, including aluminum. However, the frequency range that is produced is influenced by different factors(i.e. different material and exciter pairing). So there is not too much data we can refer to, but we will have to do experiments and figure out by ourselves.
+
==== Mechanical ====
 +
*First design:
 +
[[File:3-D_graphing.png|thumb|upright=0.40|alt=The first mechanical design.|The first mechanical design that wasn't meant to be. (Speaker is hidden, but meant to be between PVC and plate)]]
 +
**We originally wanted to use a large diameter PVC where the exciter could stick snuggly in on top and surround it by a foam insulator. However, we couldn't conceptualize how we would keep the PVC intact to a platform. We also didn't really understand the process of noise canceling until thorough research showed us that wrapping the PVC in foam would not be as effective. Thus, we had to figure out a new design.
 +
[[File:Exciter.jpeg|thumb|left|150px|Close up of the exciter.|Exciter seen screwed using nuts and glued to the aluminum plate.]]
 +
*Second design:
 +
**Our next plan was to take advantage of the screw hole in the exciter and tighten it between some object using a nut to hold the exciter in place. We had a black pipe with a hole capable of tightening a machine screw and nut between, so we glued the pipe horizontally onto a wooden platform and screwed on the exciter.
 +
[[File:IMG 0148.jpeg|thumb|right|100px|View of the aluminum plate.|View of the aluminum plate/wooden platform within the container.]]
 +
**We super glued the exciter's plate onto the center of the aluminum plate.
 +
**We then placed the platform, equipped with the speaker and plate, into a tub we bought from Walmart to control sand mess.
 +
**Here, we noticed we were in a bit of an issue as the aluminum plate wasn't as balanced as we expected it would have turned out. The aluminum plate also created a bit of uneasy noise due to not being efficiently sturdy. What would happen is rather than just hearing the sound created by the speaker, we would hear noisiness of the aluminum plate from it's flexibility in vibration.
  
*We plan on using a tub we bought from Walmart to control sand mess.
+
*Improvements:
 +
**In order to tackle balancing and reduction in unwanted noise, we used 2 elastomeric pads placed diagonally from each other at corners of the aluminum plate. We weren't worried about it affecting the patterns as small dampening from the pads should only reduce the infinite peaks at resonance to large and finite, but not change the shapes created. We only bought 2 pads since we wanted to stay under budget and although 4 would have been even better, they turned out to be effective enough in taming the noise and assisting with balance.
  
*We will connect a 12 bit [https://www.sparkfun.com/datasheets/BreakoutBoards/MCP4725.pdf DAC] to the Arduino board to generate a pure frequency(click the DAC to see the detail of the exact DAC). DAC will convert digital signal (which the arduino reads) to analog signal (which the amplifier can read).
+
==== Arduino ====
 +
*First design:
 +
**We connected a 12 bit [https://www.sparkfun.com/datasheets/BreakoutBoards/MCP4725.pdf DAC] to the Arduino board to convert our digital frequency to an analog in order for the amplifier to the read the signal.
 +
**Code: We modified a sample code which originally plays a melody from Arduino digital pins. We then added [https://www.arduino.cc/en/Reference/Tone Tone() function] to generate a square wave of the specified frequency (and 50% duty cycle) on a digital pin on Arduino board.
 +
**We started having trouble when we figured that connecting the DAC to the amplifier wouldn't be that simple. Eventually, we figured we could get an 8mm headphone jack breakout board that could connect to our auxiliary cable. Once we received and worked with this breakout board, we had a lot of trouble getting any sound to output from connecting it to the DAC.
 +
 
 +
*Second design:
 +
**There happened to be another DAC within the headphone jack breakout-board and therefore the breakout-board was searching for a digital signal to convert while we kept trying to supply it an analog signal. We decided to remove the original DAC and only hook up a 8mm headphone jack breakout board and a potentiometer. An [https://www.walmart.com/ip/Griffin-3-Flat-Auxiliary-Audio-Cable/17188961 audio cable] then connects the headphone jack to an amplifier.
 +
[[File:Circuitvb.png|thumb|upright=0.60|alt=The circuit connecting Arduino to potentiometer.|The Arduino connected to only the potentiometer]]
 +
**[https://www.amazon.com/Gikfun-Breakout-Headphone-Arduino-AE1223/dp/B01KFP0HBG/ref=sr_1_fkmr0_1?ie=UTF8&qid=1480541812&sr=8-1-fkmr0&keywords=8mm+headphone+jack+breakout+board Headphone Jack Breakout Board]: This headphone jack can send the digital signal to whatever headphone/amp/speak it connects. Although it is a TRRS headphone jack, we only need to connect sleeve and tip pin for this project.  For the hookup, we first break off a strip of 4-pins of 0.1" male header and stick the LONG pins down into a breadboard. We then place the breakout board on top so the short ends of the header stick up through the pads. Next we solder each pin using a soldering iron and solder, to make solid connection on each pin.  After all pins are soldered, we connect the sleeve pin on the headphone jack to the digital pin on Arduino (which generates the frequency). Then we connect the tip pin to Arduino's ground pin.
 +
**[https://www.sparkfun.com/products/9806 Potentionmeter]: The potentiometer can be used as a variable resistance. Here it will be used to control an electrical potential (i.e., voltage), which the Arduino will be able to read via the [https://www.arduino.cc/en/Reference/AnalogRead analogRead()]. Consequently, the potentiometer should be connected to an analog input pin. In our final code we generated four specified frequencies: 110Hz, 494Hz, 496Hz and 528Hz to pin 3 of the Arduino.  Here is the [https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-2-reading-a-potentiometer tutorial] for the hookup.
  
 
=== Theory/Resources/Misc ===
 
=== Theory/Resources/Misc ===
 
----
 
----
The choices for the items under our budget are not arbitrary:
+
Reasoning for specific items:
* The amplifier and subwoofer were chosen based on an article found on in the American Journal of Physics (AAPT). The article conducted an identical experiment and recommended using an amplifier that outputs at least 15 Watts and thus a sub that can handle such power
+
* The amplifier and subwoofer were chosen based on an article found on in the American Journal of Physics (AAPT)<ref>Jensen, Harald C. [http://scitation.aip.org/content/aapt/journal/ajp/23/8/10.1119/1.1934080?ver=pdfcov "Production of Chladni Figures on Vibrating Plates Using Continuous Excitation."] AAPT. Scitation, July 2005. Web. 05 Sept. 2016.</ref>. The article conducted an identical experiment and recommended using an amplifier that outputs at least 15 Watts and thus a sub that can handle such power.
** Article: [http://scitation.aip.org/content/aapt/journal/ajp/23/8/10.1119/1.1934080?ver=pdfcov Production of Chladni Figures on Vibrating Plates Using Continuous Excitation] by Harald C. Jensen (Page 504)
+
* We concluded with a thickness of 0.063 for the Aluminum Sheet as as it satisfies the 6 assumptions presented in Kirchoff’s Plate Theory <ref>Tuan, P. H., J. C. Tung, P. Y. Chiang, H. C. Liang, K. F. Huang, and Y. F. Chen. [http://iopscience.iop.org/article/10.1209/0295-5075/111/64004/meta#epl17406eqn9 "Resolving the formation of modern Chladni figures."] IOP Science. N.p., 5 Oct. 2015. Web. 7 Sept. 2016.</ref>
* We concluded with a thickness of 0.063 for the Aluminum Sheet as as it satisfies the 6 assumptions presented in Kirchoff’s Plate Theory
 
** Article: [http://iopscience.iop.org/article/10.1209/0295-5075/111/64004/meta#epl17406eqn9 Resolving the formation of modern Chladni figures] (A Letters Journal Exploring the Frontiers of Physics)
 
** Text: [https://vtechworks.lib.vt.edu/bitstream/handle/10919/28489/Chapter4ThinPlates.pdf?sequence=10] (Page 83-86)
 
  
 
Reproducibility of different shapes do not rely on the assembly of the setup:  
 
Reproducibility of different shapes do not rely on the assembly of the setup:  
* The only two factors needed to reproduce a shape found is by using the same frequency and the arbitrary boundary conditions created (Noted from [http://scitation.aip.org/content/aapt/journal/ajp/23/8/10.1119/1.1934080?ver=pdfcov Jensen's Article] (Page 505))
+
* The only two factors needed to reproduce a shape found is by using the same frequency and the arbitrary boundary conditions created
 
** We will not be experimenting with different boundary conditions and will only be using the center of the plate as the point of excitation (unfortunately, this will reduce the chances of us finding complex symmetrical patterns, but will not restrict us too far);Also, placing our exciter at the center of the plate will buildup the standing waves on the plate, so that the desired sand patterns will be more obvious.
 
** We will not be experimenting with different boundary conditions and will only be using the center of the plate as the point of excitation (unfortunately, this will reduce the chances of us finding complex symmetrical patterns, but will not restrict us too far);Also, placing our exciter at the center of the plate will buildup the standing waves on the plate, so that the desired sand patterns will be more obvious.
  
 
=== Gantt Chart ===
 
=== Gantt Chart ===
 
----
 
----
[[File:Ganttchart(11.4).png ]]
+
[[File:Ganttchart(11.4).png]]
  
 
=== Results ===
 
=== Results ===
 
----
 
----
* Successfully stored and used tones from the Arduino, which was controlled by a potentiometer.
+
* We successfully stored and used tones from the Arduino, which are manually accessible by a potentiometer. Out of several patterns we found (from 110Hz – 528Hz), we ended with choosing to show the Circle (110Hz), Vertical Waves(494Hz), Horizontal Waves(496Hz), and the Butterfly(528Hz).
* We collected up to 7 patterns from 110Hz – 498 Hz
+
*The plate wasn't perfectly balanced for the demo due to a last minute fallback. The machine screw that held down the exciter to the platform was the only support that held the speaker upright, and thus eventually ended up unscrewing. This happened right before the demo and caused us too long of a delay to reset the pads causing our plate to be slightly off balance and noisy during the demo.
** 110Hz - circle
+
 
** 160Hz - square
+
{|style="margin: 0 auto;"
** 294Hz - sad mario
+
| [[File:Circle.png|thumb|upright=0.40|alt=Circle at 110Hz.|The Circle: 110Hz]]
** 528Hz - butterfly
+
| [[File:Horizontalwaves.png|thumb|upright=0.40|alt=Horizontal Waves at 496Hz.|Horizontal Waves: 496Hz]]
** 494Hz - vertical lines
+
| [[File:Verticalwaves.png|thumb|upright=0.40|alt=Vertical Waves at 494Hz.|Vertical Waves: 494Hz]]
** 496Hz - horizontal lines
+
| [[File:Butterfly.png|thumb|upright=0.40|alt=Butterfly at 528Hz.|The Butterfly: 528Hz]]
** 498Hz - double infinity
+
|}
* Kept the plate somewhat balanced and stable for the demo
 
  
 
===== Comparing Results to Objectives =====
 
===== Comparing Results to Objectives =====
* We were able to use one elastomer pad to balance out the plate and reduce the noise emitted by the plate.
+
* We were able to use the elastomer pads to balance out the plate and reduce the noise emitted by the plate, but weren't able to reset the placement of these in time after our screw came loose right before demo.
 
* We were successful in finding quite a few patterns, especially with a complex pattern turning out on 528Hz.
 
* We were successful in finding quite a few patterns, especially with a complex pattern turning out on 528Hz.
 
* Not only did we have one frequency available to play, but were able to demonstrate others during demo.
 
* Not only did we have one frequency available to play, but were able to demonstrate others during demo.
**    We initially planned on adding more buttons to present the extra frequencies, but since we were limited in pins to use we resorted to using a potentiometer instead.
+
**    We initially planned on adding more buttons to present the extra frequencies, but since we were limited in pins to use on the Arduino, we resorted to using a potentiometer instead.
  
 
===== Critical Decisions =====
 
===== Critical Decisions =====
* A major downfall of our project was the tiny screw that held down the exciter to the platform. Since this was the only support that held the speaker upright, it eventually ended up unscrewing. This happened right before the demo and caused us too long of a delay to reset the pads causing our plate to be slightly off balance and noisy during the demo.
+
* Having only a machine screw hold down the speaker was a very poor choice. It managed to be efficient until minutes before the demo when the screw came loose from the nut and dropped the speaker/plate. We had to dismantle everything off the platform and screw the speaker/plate back on.
* Initially, we had stored one tone and one melody, that would play one resonating frequency during the chorus, to use on the potentiometer. During the demo, people wanted to see the other patterns so we erased the melody and added 3 extra patterns.  
+
* Initially, we had stored one tone (528Hz) and one melody, that would form a pattern when the frequency was 294Hz, to use on the potentiometer. During the demo, people wanted to see the other patterns so we erased the melody and added 3 extra patterns.  
* We decided to glue the aluminum plate straight to the exciter’s plate. We could have had even less flexibility and a stronger design if we had screwed them together.
+
* We decided to glue the aluminum plate straight to the exciter’s plate. We could have had even less flexibility and a stronger design if we had screwed them together.
 +
**    One of our reasonings for not changing this was because we were stuck on the idea that the exciter was causing flexibility because it wasn't designed to take on so much weight. Thus, screwing the plate to the exciter might have not made a difference. Although, we should have tried since we were basing it off of a conjecture and especially since Humberto recommended us to do it.
  
 +
[[File:294vb.mov|300px|thumb|center|The melody that we didn't get a chance to perform during demo. (Displays a pattern when the melody hits the 294Hz tone)]]
 +
 +
===== For the Future =====
 +
* Harmonics
 +
** Starting with one pure tone and gradually adding overtones (harmonics) might be able to manipulate the patterns we see and also give us more creative tones to play with.
 +
* Supporting the plate not at the center
 +
** Currently using center as a support, we could find more interesting patterns at arbitrary areas of our plate depending on where were place the exciter under our plate.
 +
* More power
 +
** To find even more complex patterns, we’ll need to play with more speaker/amp power.
 +
 +
===References===
 +
----
  
  

Latest revision as of 05:23, 15 December 2016

Overview


All objects have a set of natural frequencies at which they vibrate. These frequencies have unique standing wave patterns that can be seen by mediums such as sand. The sand vibrates until it arrives at the nodal positions where it comes to rest and collectively result in symmetric patterns. We initially plan on experimenting with an online frequency generator and a metal plate in order to see the different kinds of standing waves we can form.

Butterfly at 528Hz.
One of the patterns produced by our project.

Once we have found specific frequencies that resonate well with the plate, we will choose one frequency and convert it into a tone playable through a button by the works of an Arduino. If this is successful, we will add more buttons with varying tones so that people can play around, creating their own beats in order to “see” what physical form their music takes on.

The Team

  • Sudeep Raj
  • Han Wang
  • Li Gao
  • Will Luer (TA)

Objectives


  • Finding several frequencies that produce symmetric shapes [1]
  • Having at the least one symmetric pattern that is playable on the Arduino button.
    • (Only if the former is successful) Add several more buttons that create shapes at other patterns
  • Balancing the plate
  • Reducing the noise on the plate

Challenges


Most of the hardware we will use can be purchased, but there are still many foreseen challenges we will encounter:

  • We don’t know what the resonant frequencies of our specific plate are, so we will have to find them using a range of frequencies from 20Hz to 2kHz (range is considered in order to stay safe and based on an article that ran a similar experiment)
  • Preventing damage to exciter/amp (clipping, overheating, etc)
  • We may exceed our budget if our trials keep failing, so we need to form detailed plans on how we will run our experiments in order to prevent going over our budget
  • Assembling all our equipment in a neat and organized way for demo (for example: where we will be placing the amplifier and Arduino/circuit board as they are separate compartments to our main apparatus)
  • Perfectly leveling the aluminum plate onto the exciter
  • If we get to the point of adding more than one button: Transitioning between one frequency to another should be smooth and not abrupt

Budget


Owned

Est. Total

  • ~$145

Design & Solutions


Mechanical

  • First design:
The first mechanical design.
The first mechanical design that wasn't meant to be. (Speaker is hidden, but meant to be between PVC and plate)
    • We originally wanted to use a large diameter PVC where the exciter could stick snuggly in on top and surround it by a foam insulator. However, we couldn't conceptualize how we would keep the PVC intact to a platform. We also didn't really understand the process of noise canceling until thorough research showed us that wrapping the PVC in foam would not be as effective. Thus, we had to figure out a new design.
Exciter seen screwed using nuts and glued to the aluminum plate.
  • Second design:
    • Our next plan was to take advantage of the screw hole in the exciter and tighten it between some object using a nut to hold the exciter in place. We had a black pipe with a hole capable of tightening a machine screw and nut between, so we glued the pipe horizontally onto a wooden platform and screwed on the exciter.
View of the aluminum plate/wooden platform within the container.
    • We super glued the exciter's plate onto the center of the aluminum plate.
    • We then placed the platform, equipped with the speaker and plate, into a tub we bought from Walmart to control sand mess.
    • Here, we noticed we were in a bit of an issue as the aluminum plate wasn't as balanced as we expected it would have turned out. The aluminum plate also created a bit of uneasy noise due to not being efficiently sturdy. What would happen is rather than just hearing the sound created by the speaker, we would hear noisiness of the aluminum plate from it's flexibility in vibration.
  • Improvements:
    • In order to tackle balancing and reduction in unwanted noise, we used 2 elastomeric pads placed diagonally from each other at corners of the aluminum plate. We weren't worried about it affecting the patterns as small dampening from the pads should only reduce the infinite peaks at resonance to large and finite, but not change the shapes created. We only bought 2 pads since we wanted to stay under budget and although 4 would have been even better, they turned out to be effective enough in taming the noise and assisting with balance.

Arduino

  • First design:
    • We connected a 12 bit DAC to the Arduino board to convert our digital frequency to an analog in order for the amplifier to the read the signal.
    • Code: We modified a sample code which originally plays a melody from Arduino digital pins. We then added Tone() function to generate a square wave of the specified frequency (and 50% duty cycle) on a digital pin on Arduino board.
    • We started having trouble when we figured that connecting the DAC to the amplifier wouldn't be that simple. Eventually, we figured we could get an 8mm headphone jack breakout board that could connect to our auxiliary cable. Once we received and worked with this breakout board, we had a lot of trouble getting any sound to output from connecting it to the DAC.
  • Second design:
    • There happened to be another DAC within the headphone jack breakout-board and therefore the breakout-board was searching for a digital signal to convert while we kept trying to supply it an analog signal. We decided to remove the original DAC and only hook up a 8mm headphone jack breakout board and a potentiometer. An audio cable then connects the headphone jack to an amplifier.
The circuit connecting Arduino to potentiometer.
The Arduino connected to only the potentiometer
    • Headphone Jack Breakout Board: This headphone jack can send the digital signal to whatever headphone/amp/speak it connects. Although it is a TRRS headphone jack, we only need to connect sleeve and tip pin for this project. For the hookup, we first break off a strip of 4-pins of 0.1" male header and stick the LONG pins down into a breadboard. We then place the breakout board on top so the short ends of the header stick up through the pads. Next we solder each pin using a soldering iron and solder, to make solid connection on each pin. After all pins are soldered, we connect the sleeve pin on the headphone jack to the digital pin on Arduino (which generates the frequency). Then we connect the tip pin to Arduino's ground pin.
    • Potentionmeter: The potentiometer can be used as a variable resistance. Here it will be used to control an electrical potential (i.e., voltage), which the Arduino will be able to read via the analogRead(). Consequently, the potentiometer should be connected to an analog input pin. In our final code we generated four specified frequencies: 110Hz, 494Hz, 496Hz and 528Hz to pin 3 of the Arduino. Here is the tutorial for the hookup.

Theory/Resources/Misc


Reasoning for specific items:

  • The amplifier and subwoofer were chosen based on an article found on in the American Journal of Physics (AAPT)[2]. The article conducted an identical experiment and recommended using an amplifier that outputs at least 15 Watts and thus a sub that can handle such power.
  • We concluded with a thickness of 0.063 for the Aluminum Sheet as as it satisfies the 6 assumptions presented in Kirchoff’s Plate Theory [3]

Reproducibility of different shapes do not rely on the assembly of the setup:

  • The only two factors needed to reproduce a shape found is by using the same frequency and the arbitrary boundary conditions created
    • We will not be experimenting with different boundary conditions and will only be using the center of the plate as the point of excitation (unfortunately, this will reduce the chances of us finding complex symmetrical patterns, but will not restrict us too far);Also, placing our exciter at the center of the plate will buildup the standing waves on the plate, so that the desired sand patterns will be more obvious.

Gantt Chart


Ganttchart(11.4).png

Results


  • We successfully stored and used tones from the Arduino, which are manually accessible by a potentiometer. Out of several patterns we found (from 110Hz – 528Hz), we ended with choosing to show the Circle (110Hz), Vertical Waves(494Hz), Horizontal Waves(496Hz), and the Butterfly(528Hz).
  • The plate wasn't perfectly balanced for the demo due to a last minute fallback. The machine screw that held down the exciter to the platform was the only support that held the speaker upright, and thus eventually ended up unscrewing. This happened right before the demo and caused us too long of a delay to reset the pads causing our plate to be slightly off balance and noisy during the demo.
Circle at 110Hz.
The Circle: 110Hz
Horizontal Waves at 496Hz.
Horizontal Waves: 496Hz
Vertical Waves at 494Hz.
Vertical Waves: 494Hz
Butterfly at 528Hz.
The Butterfly: 528Hz
Comparing Results to Objectives
  • We were able to use the elastomer pads to balance out the plate and reduce the noise emitted by the plate, but weren't able to reset the placement of these in time after our screw came loose right before demo.
  • We were successful in finding quite a few patterns, especially with a complex pattern turning out on 528Hz.
  • Not only did we have one frequency available to play, but were able to demonstrate others during demo.
    • We initially planned on adding more buttons to present the extra frequencies, but since we were limited in pins to use on the Arduino, we resorted to using a potentiometer instead.
Critical Decisions
  • Having only a machine screw hold down the speaker was a very poor choice. It managed to be efficient until minutes before the demo when the screw came loose from the nut and dropped the speaker/plate. We had to dismantle everything off the platform and screw the speaker/plate back on.
  • Initially, we had stored one tone (528Hz) and one melody, that would form a pattern when the frequency was 294Hz, to use on the potentiometer. During the demo, people wanted to see the other patterns so we erased the melody and added 3 extra patterns: .
  • We decided to glue the aluminum plate straight to the exciter’s plate. We could have had even less flexibility and a stronger design if we had screwed them together.
    • One of our reasonings for not changing this was because we were stuck on the idea that the exciter was causing flexibility because it wasn't designed to take on so much weight. Thus, screwing the plate to the exciter might have not made a difference. Although, we should have tried since we were basing it off of a conjecture and especially since Humberto recommended us to do it.
The melody that we didn't get a chance to perform during demo. (Displays a pattern when the melody hits the 294Hz tone)
For the Future
  • Harmonics
    • Starting with one pure tone and gradually adding overtones (harmonics) might be able to manipulate the patterns we see and also give us more creative tones to play with.
  • Supporting the plate not at the center
    • Currently using center as a support, we could find more interesting patterns at arbitrary areas of our plate depending on where were place the exciter under our plate.
  • More power
    • To find even more complex patterns, we’ll need to play with more speaker/amp power.

References


  1. Rossing, Thomas D. "Chladni’s law for vibrating plates." AAPT. Scitation, June 1998. Web. 7 Sept. 2016.
  2. Jensen, Harald C. "Production of Chladni Figures on Vibrating Plates Using Continuous Excitation." AAPT. Scitation, July 2005. Web. 05 Sept. 2016.
  3. Tuan, P. H., J. C. Tung, P. Y. Chiang, H. C. Liang, K. F. Huang, and Y. F. Chen. "Resolving the formation of modern Chladni figures." IOP Science. N.p., 5 Oct. 2015. Web. 7 Sept. 2016.