Midterm Project Report: Aqua Arcade– A Pinball Odyssey

A. “AQUA ARCADE: A PINBALL ODYSSEY” – Nicole Cheah – Andy Garcia

The Project From All Angles: 

B. CONTEXT AND SIGNIFICANCE

The goal of our project was to create an engaging game of pinball to deliver a powerful message on ocean conservation– more specifically we wanted to create a fun experience linking gameplay to the overarching concern of ocean conservation.

 I think our target audience for this project is not limited to any age or particular demographic– as the topic is so relevant to everyone living on Earth.  Humans are indirectly affected by ocean pollution as they consume micro-plastics through the food chain subconsciously and unknowingly. We wish to, through our project, shed light on this ever-growing issue but in a very inviting way– so one is attracted to test out the project upon first glance and whilst and after playing and interacting with it, they will catch on with the ‘theme’ and ‘message’ we are trying to share. We wanted our project to look ‘fun’ and ‘inticing’ and what our final project ended up looking like (with cartoon animals on it and bright colours), I am sure would intice the younger ages, however not-to-say, adults would also be intrigued and drawn-in. I think our pinball machine is of special value and unique to its audience and itself as it functions more than just a simple and ordinary pinball game that you could find at any arcade– it is rather a message of what effect humanity’s waste decisions hold on aquatic life while being a medium of entertainment and interaction, bringing people together to have fun but also think about the bigger picture. We bring a significant issue and embed it into a fun, interactive project that has no particular specific audience– it is for anyone it draws in!

In creating our proposal prior to actually building the full physical component of this project, we conducted research as a group that helped us gain inspiration on what we should base our midterm project on– the theme / message. We decided to choose ‘ocean conservation’ as our main theme of focus after reading a few articles on the concerning ever-growing problem of the impact of waste pollution on marine life and build-up in oceans. We found the topic extremely sad to read as so much marine life has been destroyed due to human’s careless actions. Some articles we read include those from: Forbes India, The Ocean Cleanup, Mercury News, and The Convention on Migratory Species (CMS). I think, like we wrote in our proposal, we were really interested in linking this concept to the ‘aesthetics’ or the ‘decoration’ of our project– we thought this would be a really great way to express the theme and also an easy way for the player to quickly catch-on. Adding onto this, we took inspiration from certain articles in what we should include (aesthetics-wise) in our physical component of a pinball machine– for example, what waste or animals we should include. As mentioned in our proposal: “the first two articles from Forbes India and The Ocean Cleanup, delve into the escalating issue of plastic pollution in our oceans and how these plastics end up in the ocean in the first place, respectively. The last two articles that we read from Mercury News and The Convention on Migratory Species (CMS) opened our eyes to which animals in particular suffer the most from plastic pollution being littered in their habitats. They cite several cases such as, how whales are ingesting shocking amounts of plastic per day and how migratory species are one of the most vulnerable to plastic pollution.” I think now reflecting upon how we decorated our project and what we wrote, we definitely included the components that we read in articles into our physical project. 

In terms of previous projects and interactions that we were inspired by, if you refer down to the ‘reference photo’ under this section, you can see a pinball machine that we were inspired by and liked the design of. I think in terms of scale, we were originally looking at doing something similar for our final product, however, we ended up going with a much smaller scale as we found it a) much more manageable to play, b) smaller size was easier to handle in terms of the kind of cardboard we used, and finally c) we were able to use more sensors and decorate more intricately in the small area of our final product. I think comparing the reference photo to our final project– there are definetely noticeable differences between the two: a) the concepts are indeed super different (the reference photo is more arcade style, while ours focuses more on a theme); b) scale, as mentioned earlier, is very different. However, I must say, we did like the skeleton of the structure of their project in where everything was laid out (for example, with where the flippers were, etc…)

If we recall what I wrote earlier in the semester in, ‘Group Research Project: Research Response’ in regards to how I define the term, ‘interaction,’ I wrote: “The way in which I would describe the term ‘interaction’ is something that, I feel, is dependent on two factors– (1) a ‘connection and reaction’ cycle and (2) time. The first factor is the ‘cycle’ and I believe it acts as something similar to a feedback loop where –in the case of interactive art– there is some kind of connection between the artwork and observer that is the binding point / bridge between two foreign unfamiliar entities. Time and effort goes hand-in-hand and this shows why time matters and why I have set it as the second component of my definition of ‘interaction.’ This example can be directly applied to interactive art pieces– I believe it’s the time one spends that really ‘makes’ or ‘breaks’ the experience that the original artist intends to give their target audience– especially for an interactive piece. I think the way interactive pieces are time-dependent is definitely a limitation / challenge as since the experience is dynamic and not static– one is not able to judge the art at face-value, but rather the audience needs to take their own time to decipher how to even interact with the project on their own.” Pointing to the reference photo below (the project we were inspired by) and pinball machines in general, I think the definition I created to what interaction means to me really falls in line with both (the project and pinball machines in general). I think this because in regards to the (1) ‘connection and reaction’ cycle and (2) time component as I mentioned in my definition, pinball machines trigger these two in the way: (1) for the connection reaction cycle– when our audience is playing our pinball machines it is the binding point / bridge between two foreign unfamiliar entities (artwork and observer) and (2) how the person’s success in winning our game is definitely time and effort dependent. 

Reference Photo: 

C. CONCEPTION AND DESIGN

Having already used and played pinball machines throughout our childhood, Tammy, Jess and I a) already kind of knew which components we had to make, b) had a picture of what was expected out of our final project, and could picture c) what kind of interaction our final user testers would have with our project. Knowing already what a pinball machine was and how it works, we just had to figure out which materials we could buy in Shanghai or use from the Interaction Lab workspace / resources to make certain functions work and be flawless. Several questions we asked ourselves when thinking about this included: What kind of cardboard should we use for our physical prototype base (this was important as it was the sturdy foundation that people would be tampering with while playing our game)? What material should our flippers be? In regards to our flippers– what material would be best to apply force to whichever ball we choose to use? What kind of ball should we use? Should we use a big ball or a small marble? In regards to the whole ‘interactive’ process and using Arduino and sensors– we had to think how to intersect two factors: how to play the game (win and lose) and incorporate sensors throughout the face of our physical component so that it is flawless but able to send signals to our code to indicate a ‘win or loss.’

As mentioned in our proposal, our original plan for the materials / elements we were going to use in our prototype was “crafting our pinball game using sustainable materials such as cardboard for the main structure + 3D printed ‘buttons; incorporate LEDs, utilizing red lights with the bad buzzer to signify the harm caused by waste to marine life and green lights with the positive buzzer sound to represent responsible waste disposal.” Please refer to the two concept sketches we drew down below for reference of what we visualized our first prototype skeleton would look like. For our final prototype– we ended up using sturdy cardboard as our base, skewer sticks, elastic bands, copper wire, hot glue, super glue, carved out by laser wood cutter flippers, metal ball, and popsicle sticks.

I think the only big thing we changed mid-project was the flippers that was used in the bottom-middle of the pinball machine to flick the ball upwards (with force) in order for the ball to hit the copper wires. Just for some background for the copper wires– we decided to use a metal ball instead of our original plan of using a marble because Andy suggested we could use both copper wire and metal ball and when the metal ball touch the copper wire it sends a signal and with this makes the LED light up. This is how we decided to program our game– so we tied the copper wire around the skewer sticks to make triangles (refer to Appendix below) and whenever the ball would hit the copper wire we coded the project so that when it hits the light would turn on. When the metal ball would hit it again (already lit up triangle), it would turn off. In the end we coded our project to play sound– a happy noise for when someone ‘wins’ (a win was considered all three triangles lit up, refer to appendix below to see an example of what a ‘win’ scenario would look like) and sad noise for when someone ‘loses.’ Back to talking about the problem we had with the flippers– — more specifically, we started creating our flippers using just cardboard (thick pieces), hot glue, and skewer sticks. If you go down to the Appendix section under the ‘flippers’ part you can see how flimsy they were, especially in the video. After many people commented on how they were flimsy and often would get stuck, we decided for our final project to use the laser wood-cutting machine in the lab to make wooden flippers which were a lot more sturdy as we hot glued two together. Our prototype and final project– the base was mostly the same, it was just the flippers and pushers that we changed up as this mechanism was one of the most important components of our project as it was the only way the player could push the ball up the face of our machine in the efforts to hit the three triangles surrounded by wire.

Please note that all of what I have just described (materials and the trouble we went through with the flippers) can be found in the appendix section. 

I think the criteria we used to select the materials we included in our project was their structural integrity. We chose every component very carefully and you can see how precise we were with our details even down to choosing a metal ball that were attracted to conductive copper wires– I think everyone who tested our project did not realize until after a bit how ‘smart’ our pinball machine was in how it had sensors seamlessly placed and disguised throughout the machine. 

Concept Sketches / Drawings:

D. FABRICATION AND PRODUCTION

As mentioned in the previous section, I think that the two most challenging parts of our project that we had to overcome and ‘figure out’ were dealing with the flippers and the code portion of our project. I think additionally, another challenge we ran into throughout the user sessions or whenever someone would come over to our station to test our project was when our wires were faulty or when our soldered wires got loose and we had to redo them. I think this was really frustrating but we were able to figure out solutions for each individual problem so that on presentation day we could present our project working at its full capacity / capability: 1) all three lights could turn on and 2) when all three lights were on a happy sound would play to indicate to the player that they have won, 3) and vice versa if they lost within 60 seconds (the timer that we set for how long the game is) a sad sound will play. I think we were successful in following through with our initial concept (ocean conservation theme) and bringing our idea of the ‘pinball machine’ to life. I think at first we thought it would be incredibly challenging, but through many trial and error rounds and testing, we were able to figure out how to properly engineer and construct our project to work well. 

In terms of how I personally contributed to the project– I think that I chipped in for most steps of the project, we as a team, Tammy, Jess and I, worked on every step of the project together and helped each other in making the process go faster and be more efficient. I think since we were friends already, it was really easy working with them and quite fun! I think the only time when we divided roles was when Tammy was more focused on working on the code, while Jess and I spent a lot of time trying to construct, carefully place, and glue down the copper wires. After we figured out our own parts, we came together to test whether the copper wire signal was working and whether it was connected to the LED. We did not have a set or strict process when working together– our mentality was more-so, ‘lets spend as much time as we can to finish this, as long as it takes, and figure it out component-by-component.’ I think we really believed in trial-and-error and by testing lots and lots we were able to refine our project slowly but effectively (as all the components be-it the ball-launcher, flipper, and pusher, copper wire signals, all worked out in the end). 

The User Testing Session was critical for us and we really learnt a lot from our peers, Professor, LAs, and our personal user testers. Here are the notes we took during the session of certain areas we could improve on based off of people’s experience playing our game: 

“Our User Testing Comments / Problems (Notes):

(1) incorporate buzzer for music (indicating win/lose), blinking lights for winning– a reward;

(2) include a sign for objective (for all lights to light up! for example);

(3) flippers need more space in between (redo this– right flipper is not as strong);

(4) lights don’t work as well, rewire sensors;

(5) switches need to have more resistance, some get stuck;

(6) rules ned to be more obvious;

(7) high score point system;

(8) add copper tape?;

(9) delete ability for it to dim the second time it touches (restart button; everything sets to 0 but every time you touch it is always lit up);

(10) feeding the ball back into slingshot;

(11) triangles need to be better placed);

(12) “pressing better than pulling” sometimes flippers get stuck;

(13) slingshots should have more resistance? (use stronger rubber band?);

(14) work on positioning of all of the sensors (better positioning = perhaps easier to score points);

(15) advanced motor on the popsicle stick (automatic spinning, but we worry about aesthetics then)? the popsicle sticik on motor can spin randomly to throw bal in weird direction;

(16) lights flashing?;

(17) more paint + decoration;

(18) add sign indicating what kind of game it is (objective would be helpful, they need to figure out that all three need to light up, in the actual presentation we cannot explain anything so make sure goal is clear and user has some way of knowing when first looking at the project;

(19) want the project to kind of be like ‘sensory overload’ with music, etc…;

(20) reset button for player (sensor indicating round is over;

(21) left pusher gets stuck;

(22) add more lights (when the buzzer goes off for win, they light up);”

Please look below the text in this section to see some videos from our User Testing Session– one video is of Andy playing with our project and of Brian Kwok and Will Liang– the two user testers (they are both Senior students) we invited to the session to help us give constructive feedback. If you read the notes above, you will notice that there are some overlapping comments / comments that are repeated and I think the more problems we heard and the more overlapping they were– the more we understood the need to change that particular component. So I think that overlapping component was mainly a) fix the flippers, b) add more sensory elements, so music, etc…, and c) some type of score system or incentive to win.  I think because pinball machines are quite well known around the world– upon looking at the project, all the user testers during the session had some kind of inkling on how to use the project without us telling them any instructions. I think some people had trouble understanding the pushers and how they worked– some people would pull on them, and we were not able to figure this out up until the final presentation date, however, it is something we can definitely fix and learn from for our final project or if we do something similar such as re-make a pinball machine in the future. 

With all of this being said, and definitely keeping in mind our initial and dynamic project goals as we moved through the whole building, testing, and presenting process, I think our various production choices and changes we made were completely justified and effective. Us changing the initial elastics that were supposed to be around the triangle skewer sticks to copper wires and changing the cardboard hard glue flippers to sturdy wood ones made by a laser machine brought our project to the next level and the whole concept never changed– from the start of the production process when we were making our cardboard base to the very end when we were decorating and coding, our project still was a fun interactive game with a underlying message of ocean conservation (the goal, like mentioned all throughout section B of this report). 

User Testing Day Videos: 

^^Will Liang (Senior student, Left) and Brian Kwok (Senior student, Right) at our user testing session 

^^Andy playing our game!

E. CONCLUSIONS

I think certain things that I have taken away from this learning experience / full course of this midterm project include knowing how hard one must work to make something work both physically (physical component) and electronically (coding + sensors). I think I take away strong time-management skills, balancing this class among other midterms was a really hard thing to do but I found various coping mechanisms and will bring this on for future projects within this course– especially for the final project (which I know will be around exam time as well). I think I also take away the skill of building a pin-ball game machine. I have never done something like this before, and my interest for making this sort of thing really grew on me throughout the project and is definetely something I wish to further explore in the future– be-it in this class or in my free-time. I found making each individual component of the game extremely satisfying and when everything was put together and working, even more rewarding. I also really loved seeing people play our game and getting to connect over it– this made me really happy and also made me understand how something so simple can bring so much joy. I strive to make some more things like this project so that I can feel the same way I did after accomplishing everything we did with this project.

I furthermore want to say that every setback and failure we encountered be-it with the physical components malfunctions (flippers, pushers, etc…) or code (copper wires and ball not sending signal to LED), I will take this all as a learning experience into my next projects in this class or in the future as the experience was incredibly valuable! 

Please find below the references we used throughout our project– from the start to the end, especially in the proposal portion and the Appendices for the full code we used for our final project, and additional images and videos with guiding comments.

F. REFERENCES

https://all3dp.com/2/arduino-game-project/

https://projecthub.arduino.cc/Frogger1108/homemade-arduino-pinball-machine-65b3db

https://www.forbesindia.com/article/bharatiya-vidya-bhavan039s-spjimr/the-evergrowing-problem-of-plastic-pollution-in-the-oceans/85821/1 

https://theoceancleanup.com/ocean-plastic/

https://www.mercurynews.com/2022/11/01/whales-off-california-coast-eat-10-million-pieces-of-tiny-plastic-pollution-a-day-new-stanford-study-estimates/

https://www.cms.int/en/news/new-un-report-finds-migratory-species-are-likely-among-most-vulnerable-plastic-pollution

G. APPENDIX

Materials List:

  • For our final prototype– we ended up using sturdy cardboard as our base, skewer sticks, elastic bands, copper wire, hot glue, super glue, wood flippers cut out by laser wood cutter, metal ball, and popsicle sticks.
  • Components we changed:
    • Elastic bands around the three triangular skewer stick poles to copper wire around the sticks. With this, when the metal ball touches the copper wires it sends a signal due to the wires being conductive (both metal). 
    • Cardboard hot glue flippers to wood flippers cut out by laser wood cutter. 

^^We were originally going to use marbles, but we switched to using a metal ball mid-production process due to its conductive nature. 

^^Fun fact! We had to eat four whole chocolate and vanilla ice-creams in order to get popsicle sticks for our project. We used the popsicle sticks to imitate the motion of ‘fidget-spinners’ and placed it on the face / front of our pinball machine. The popsicle sticks, which moved similar to the motion also of wind turbines, helped give the a) ball more momentum when going up and down the machine and b) gave the player more visual stimuli. 

Additional Images and Videos:

Prototype (Pre-User Session)– Building the Base

Wiring Explained!–

Testing the Functions Out– Testing, testing, and more testing! (note: this stage was really trial & error, getting people to try out and test our prototype helped us understand the areas we needed to focus and spend more time on)– the videos here are from when we first started the project all the way to the mid-point all the way to the final testing stages

Fixing the ‘flippers’– one of the biggest problems we had with our project was that they were flimsy and not strong enough to push the metal ball with enough force up the surface of the pinball machine to hit the ‘trash cans’ / copper wires in order to light up the LED and win the game

^^You can see in these videos how they get constantly stuck!

^^What our original flippers looked like (the back-side; how they were glued on); extremely messy and easy to get stuck

^^Laser wood cutter machine we used in order to make the final version flippers we used. 

Visual representation on what it looks like to ‘win the game’ & drawing, spray-painting, and decorating in preparation of making the final version– Working on the aesthetics of the physical component

^^Tammy spray-painting the back of our ‘Aqua Arcade’ (sign shown below) sign. We spray-painted the back-side with dark blue, and this can be seen below also later in the Appendices in the ‘presentation section’ when you can see the back-side of the project. 

Showcasing functions of our project at the documentation studio–

Final Version of Physical Component on Presentation Day–

 

The Full Final Code We Used For Our Project:

int pushButton1 = 2;  // wire 1

int pushButton2 = 6;  // wire 2

int pushButton3 = 4;  // wire 3

int pushButton4 = 8;  //start button

int led1 = 13;

int led2 = 12;

int led3 = 11;

int led1hitnum = 0;

int led2hitnum = 0;

int led3hitnum = 0;

//int buttonState = 0;

long startTime = –1;  // starts out as stopped

#include “pitches.h”

// notes in the melody:

int melody[] = {

 NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C4

};

// note durations: 4 = quarter note, 8 = eighth note, etc.:

int noteDurations[] = {

 8, 8, 8, 4, 8, 8, 8, 2, 4

};

int melody2[] = {

 NOTE_C4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_G3, NOTE_E3, NOTE_C3

};

// note durations: 4 = quarter note, 8 = eighth note, etc.:

int noteDurations2[] = {

 8, 4, 8, 8, 8, 8, 8, 8, 8, 8

};

// the setup routine runs once when you press reset:

void setup() {

 // initialize serial communication at 9600 bits per second:

 Serial.begin(9600);

 // make the pushbutton’s pin an input:

 pinMode(pushButton1, INPUT);

 pinMode(pushButton2, INPUT);

 pinMode(pushButton3, INPUT);

 pinMode(pushButton4, INPUT);

 pinMode(led1, OUTPUT);

 pinMode(led2, OUTPUT);

 pinMode(led3, OUTPUT);

}

// the loop routine runs over and over again forever:

void loop() {

 int buttonState4 = digitalRead(pushButton4);

 // print out the state of the button:

 //Serial.println(buttonState);

 delay(1);  // delay in between reads for stability // moved up from loop, green and yellow don’t work

 // // read the input pin:

 int buttonState = digitalRead(pushButton1);

 //print out the state of the button:

 //Serial.println(buttonState);

 delay(10);  // delay in between reads for stability

 if (buttonState == 1) {

   //Serial.println(led1hitnum);

   led1hitnum = led1hitnum + 1;

   if (led1hitnum % 2 == 1) {

     digitalWrite(led1, HIGH);

   } else {

     digitalWrite(led1, LOW);

   }

   delay(100);

 }

 int buttonState2 = digitalRead(pushButton2);

 //Serial.println(buttonState2);

 delay(10);  // delay in between reads for stability

 if (buttonState2 == 1) {

   //Serial.println(led2hitnum);

   led2hitnum = led2hitnum + 1;

   if (led2hitnum % 2 == 1) {

     digitalWrite(led2, HIGH);

   } else {

     digitalWrite(led2, LOW);

   }

   delay(100);

 }

 int buttonState3 = digitalRead(pushButton3);

 // print out the state of the button:

 //Serial.println(buttonState3);

 delay(10);  // delay in between reads for stability

 if (buttonState3 == 1) {

   //Serial.println(led3hitnum);

   led3hitnum = led3hitnum + 1;

   if (led3hitnum % 2 == 1) {

     digitalWrite(led3, HIGH);

   } else {

     digitalWrite(led3, LOW);

   }

   delay(100);

 }

 if (buttonState4 == HIGH) {

   startTime = millis();

   tone(7, 262);  //

   delay(500);

   noTone(7);

 }

 if (led1hitnum % 2 == 1 && led2hitnum % 2 == 1 && led3hitnum % 2 == 1) {

   if (millis() – startTime < 60000) {

     win();

   }

 }

 if (startTime != –1 && millis() – startTime > 60000) {

   noTone(7);       // turn it off

   startTime = –1;  // mark as stopped again

 }

 Serial.println(millis() – startTime);

 //Serial.println(millis() – startTime);

    if (millis() – startTime > 600000) {

     lose();

   }

 }

void win() {

 //for(int thisNote = 0; thisNote < 9; thisNote++) {

 for (int thisNote = 0; thisNote < 9; thisNote++) {

   // to calculate the note duration, take one second divided by the note type.

   //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.

   int noteDuration = 1000 / noteDurations[thisNote];

   tone(7, melody[thisNote], noteDuration);

   // to distinguish the notes, set a minimum time between them.

   // the note’s duration + 30% seems to work well:

   int pauseBetweenNotes = noteDuration * 1.30;

   delay(pauseBetweenNotes);

   // stop the tone playing:

   noTone(7);

   digitalWrite(led1, LOW);

 }

 delay(10000);

}

void lose() {

 for (int thisNote = 0; thisNote < 12; thisNote++) {

   // to calculate the note duration, take one second divided by the note type.

   //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.

   int noteDuration = 1000 / noteDurations2[thisNote];

   tone(7, melody2[thisNote], noteDuration);

   // to distinguish the notes, set a minimum time between them.

   // the note’s duration + 30% seems to work well:

   int pauseBetweenNotes = noteDuration * 1.30;

   delay(pauseBetweenNotes);

   // stop the tone playing:

   noTone(7);

   digitalWrite(led1, HIGH);

 }

 delay(10000);

}

/*************************************************

  Public Constants

*************************************************/

#define NOTE_B0 31

#define NOTE_C1 33

#define NOTE_CS1 35

#define NOTE_D1 37

#define NOTE_DS1 39

#define NOTE_E1 41

#define NOTE_F1 44

#define NOTE_FS1 46

#define NOTE_G1 49

#define NOTE_GS1 52

#define NOTE_A1 55

#define NOTE_AS1 58

#define NOTE_B1 62

#define NOTE_C2 65

#define NOTE_CS2 69

#define NOTE_D2 73

#define NOTE_DS2 78

#define NOTE_E2 82

#define NOTE_F2 87

#define NOTE_FS2 93

#define NOTE_G2 98

#define NOTE_GS2 104

#define NOTE_A2 110

#define NOTE_AS2 117

#define NOTE_B2 123

#define NOTE_C3 131

#define NOTE_CS3 139

#define NOTE_D3 147

#define NOTE_DS3 156

#define NOTE_E3 165

#define NOTE_F3 175

#define NOTE_FS3 185

#define NOTE_G3 196

#define NOTE_GS3 208

#define NOTE_A3 220

#define NOTE_AS3 233

#define NOTE_B3 247

#define NOTE_C4 262

#define NOTE_CS4 277

#define NOTE_D4 294

#define NOTE_DS4 311

#define NOTE_E4 330

#define NOTE_F4 349

#define NOTE_FS4 370

#define NOTE_G4 392

#define NOTE_GS4 415

#define NOTE_A4 440

#define NOTE_AS4 466

#define NOTE_B4 494

#define NOTE_C5 523

#define NOTE_CS5 554

#define NOTE_D5 587

#define NOTE_DS5 622

#define NOTE_E5 659

#define NOTE_F5 698

#define NOTE_FS5 740

#define NOTE_G5 784

#define NOTE_GS5 831

#define NOTE_A5 880

#define NOTE_AS5 932

#define NOTE_B5 988

#define NOTE_C6 1047

#define NOTE_CS6 1109

#define NOTE_D6 1175

#define NOTE_DS6 1245

#define NOTE_E6 1319

#define NOTE_F6 1397

#define NOTE_FS6 1480

#define NOTE_G6 1568

#define NOTE_GS6 1661

#define NOTE_A6 1760

#define NOTE_AS6 1865

#define NOTE_B6 1976

#define NOTE_C7 2093

#define NOTE_CS7 2217

#define NOTE_D7 2349

#define NOTE_DS7 2489

#define NOTE_E7 2637

#define NOTE_F7 2794

#define NOTE_FS7 2960

#define NOTE_G7 3136

#define NOTE_GS7 3322

#define NOTE_A7 3520

#define NOTE_AS7 3729

#define NOTE_B7 3951

#define NOTE_C8 4186

#define NOTE_CS8 4435

#define NOTE_D8 4699

#define NOTE_DS8 4978

Leave a Reply

Your email address will not be published. Required fields are marked *