tag:blogger.com,1999:blog-4266541617504511202024-03-21T21:49:40.367-07:00Harp Laser BlogWelcome to Harp Laser Blog! Here you will find all sorts of information about Laser Harps like the one Jean Michel Jarre plays live in concert including in his "Rendevous 2" song. Thanks for visiting!Ruetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-426654161750451120.post-48525473994849367272012-02-19T15:45:00.001-08:002012-02-19T15:45:28.051-08:00Parts list for unframed laser harpParts List for unframed laser harp:<br />
<br />
Protoboard<br /> Jumper Wire<br /> Arduino Uno<br /> Step motor<br /> Resistor 220 ohms 1/4W<br /> ULN2003<br /> 2N2222 TRANSISTOR<br /> LDR Light Sensor<br /> MIDI jack<br /> 5k TRIMPOT<br /> Wine Cork Stopper<br /> Small Mirror Piece<br /> Green Laser Pointer<br /> Green Laser Safety Goggles<br /> White Gloves<br /> Power Supply, 5V DC, regulated 1A minimum<br /> Power Supply, 15V DC, regulated 5A minimum<br /> Power Supply, 9V DC, regulated 1A minimumRuetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.com15tag:blogger.com,1999:blog-426654161750451120.post-88682358547879837552012-02-16T06:27:00.000-08:002012-02-16T06:27:07.117-08:00<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dy_bRKufBvKFBIFV9wjHG0aQuXttrS0b3iw-RYAhJpsYY50ewW-z2QLacpi0Saf-MXaEBgkoDajUhMwL9KLBg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />Ruetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.com4tag:blogger.com,1999:blog-426654161750451120.post-88342689599731503242012-02-15T17:23:00.002-08:002012-02-15T17:23:46.433-08:00<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzMfmRP1-kbl7oCBnMTdcfa-JruEqTGYac38ZfmzRU_pthjOYzYUr0_DW7zVPD46RqXa1iUFAh_azMo-ru-j6pzOFGQVdYQfbqfi9zZb39-Asq0jqwj8ImN2g0E2ublceOcdHuCd4G1Cg2/s1600/DSC00521.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzMfmRP1-kbl7oCBnMTdcfa-JruEqTGYac38ZfmzRU_pthjOYzYUr0_DW7zVPD46RqXa1iUFAh_azMo-ru-j6pzOFGQVdYQfbqfi9zZb39-Asq0jqwj8ImN2g0E2ublceOcdHuCd4G1Cg2/s320/DSC00521.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJIc8VhgUtavuUUTqFbwAAGiBuHJ-gDOrQ3_7VSBltA_pApcvN1E5eAT_91hzytwk3uEEk7VQPxrEXcwx_KwIbw89OMs4AIhge7lLLpvPPQ7KwWu1QMsHQuw0fb-3HsK1jfJ0LF6z_5Ci1/s1600/DSC00522.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJIc8VhgUtavuUUTqFbwAAGiBuHJ-gDOrQ3_7VSBltA_pApcvN1E5eAT_91hzytwk3uEEk7VQPxrEXcwx_KwIbw89OMs4AIhge7lLLpvPPQ7KwWu1QMsHQuw0fb-3HsK1jfJ0LF6z_5Ci1/s320/DSC00522.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuyQbeS_6R2L5F0CUKJT73SLLHyWCeOYGejTIUnrWHLeayTwwYtRoH2Vp7lDIuGnL_vT6JLfiAkiDaR6hhj-F5Ge-0sKseh89_iVHaxfkdV9tRXN00le6AHzNe3iU9qcV1fP6KRyehDdKd/s1600/DSC00523.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuyQbeS_6R2L5F0CUKJT73SLLHyWCeOYGejTIUnrWHLeayTwwYtRoH2Vp7lDIuGnL_vT6JLfiAkiDaR6hhj-F5Ge-0sKseh89_iVHaxfkdV9tRXN00le6AHzNe3iU9qcV1fP6KRyehDdKd/s320/DSC00523.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHNpoPYJoVYiY5vP6a5BvzfIYQECZCwUVpGGRsJlbvmRJG4zDBSHp1JCCCpzPqdWKPurGs2NUq9Sx_-NQkAyHd-iaJuwOCXHTDgYKmJ4GevildTn_aXmyWno5I6tzzlDwhTeqrMr05lwAS/s1600/DSC00524.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHNpoPYJoVYiY5vP6a5BvzfIYQECZCwUVpGGRsJlbvmRJG4zDBSHp1JCCCpzPqdWKPurGs2NUq9Sx_-NQkAyHd-iaJuwOCXHTDgYKmJ4GevildTn_aXmyWno5I6tzzlDwhTeqrMr05lwAS/s320/DSC00524.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimHTcMUtpkYBzoRACuVO0PYcPKlSXzhqd3adktyaTNFiKao15eUJ8enQXkNrzEMj4do8xJY4-_EL43ybiKkaoMmr4T6Cl10YSfkOUMIhGdTHgmTLJGoAj7sAQHfedpDRihTIt4FppEVFcL/s1600/DSC00525.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimHTcMUtpkYBzoRACuVO0PYcPKlSXzhqd3adktyaTNFiKao15eUJ8enQXkNrzEMj4do8xJY4-_EL43ybiKkaoMmr4T6Cl10YSfkOUMIhGdTHgmTLJGoAj7sAQHfedpDRihTIt4FppEVFcL/s320/DSC00525.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEietcbJOZA_F530D_uYbA1SCdBy03H-d-mUCgP3kEoY4YgQJCE3qohdphL27E2ASDQPWJ78Zp1LVPdJI74GqmlXHTRHy68XIgUu9atM2tnWyjy36FEeOEk8ypvOm2HDGdzCOXYdjppkYdMR/s1600/DSC00526.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEietcbJOZA_F530D_uYbA1SCdBy03H-d-mUCgP3kEoY4YgQJCE3qohdphL27E2ASDQPWJ78Zp1LVPdJI74GqmlXHTRHy68XIgUu9atM2tnWyjy36FEeOEk8ypvOm2HDGdzCOXYdjppkYdMR/s320/DSC00526.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAI6TvB8l8j48zBNokJ9FjbSrt5-X7Ao7IcRe0yj2zuB-GnDRJmlMwrawJNE5ezUQdoKw-99OiPacfAN60OaWqr-12mPb-cMZM35tPd4izylYaepk7jFbarTH0XmPqdVuA0a1ZTUHxm4f5/s1600/DSC00527.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAI6TvB8l8j48zBNokJ9FjbSrt5-X7Ao7IcRe0yj2zuB-GnDRJmlMwrawJNE5ezUQdoKw-99OiPacfAN60OaWqr-12mPb-cMZM35tPd4izylYaepk7jFbarTH0XmPqdVuA0a1ZTUHxm4f5/s320/DSC00527.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjZ0yqRyH_Z7IIoLvwFSHbx_gzZ5qEWdPxfYquNkaVYBlk03ZzC3BkZfO14nbddBD1DOVLtyXPJsGXzmHz6wXr0rXpAYyVZMR5GKIhXZzGNKKcWCHtS0QA3-R9sbfTWgOmC9SKm4kBufaD/s1600/DSC00528.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjZ0yqRyH_Z7IIoLvwFSHbx_gzZ5qEWdPxfYquNkaVYBlk03ZzC3BkZfO14nbddBD1DOVLtyXPJsGXzmHz6wXr0rXpAYyVZMR5GKIhXZzGNKKcWCHtS0QA3-R9sbfTWgOmC9SKm4kBufaD/s320/DSC00528.JPG" width="320" /></a></div>
<br />Ruetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.com12tag:blogger.com,1999:blog-426654161750451120.post-6129113565980925672012-02-14T16:45:00.001-08:002012-02-14T16:45:37.605-08:00<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxQ5ybqbEczf31-2bbSV8rZno0jXgy0uaxr-ow8XaOTGwM5RXdhmqpVmgDxJ2kiZbhRWA0ncLJ0npyGh78MXw' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeqoW_EYoReJDMVYAZD8PHRhKs7UspOd4LcesP38kPMmsQmbagPgVFFo_8F_D_aSEge76e0ZGZmjFtlkqEj37tAnI3rem_aDkq6rvPDMDFTXaR5rnqFOqqRA64Xi-yqO1Pn3NmNYIjJYJs/s1600/DSC00519.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeqoW_EYoReJDMVYAZD8PHRhKs7UspOd4LcesP38kPMmsQmbagPgVFFo_8F_D_aSEge76e0ZGZmjFtlkqEj37tAnI3rem_aDkq6rvPDMDFTXaR5rnqFOqqRA64Xi-yqO1Pn3NmNYIjJYJs/s320/DSC00519.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ1jwGphaKin0sZhb0QlkqjQmoU4vTQNyYteUB8azE7ERv0eMRu1pJptTBTa-RhidFHPhruaLKDNQpm9G5z7rrbHHmAUN4U4QUMCiiw7kBeBrZcm_ZfRvQu6BhGlBFK35J0q32MQ48-CzL/s1600/DSC00512.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ1jwGphaKin0sZhb0QlkqjQmoU4vTQNyYteUB8azE7ERv0eMRu1pJptTBTa-RhidFHPhruaLKDNQpm9G5z7rrbHHmAUN4U4QUMCiiw7kBeBrZcm_ZfRvQu6BhGlBFK35J0q32MQ48-CzL/s320/DSC00512.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4F8ZSqwftSSxxVjKbaHg-yZmKcTpaUcKKjypr5-_XobxudHd-Yg8INzx4z-tCfVL5l-J8jiOOe0lpU_86xBrcwMrr_3a5P_EaiL5y4JJPRcp786zvReqBi43whh00uI3tQOXhA1XwoR1g/s1600/DSC00513.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4F8ZSqwftSSxxVjKbaHg-yZmKcTpaUcKKjypr5-_XobxudHd-Yg8INzx4z-tCfVL5l-J8jiOOe0lpU_86xBrcwMrr_3a5P_EaiL5y4JJPRcp786zvReqBi43whh00uI3tQOXhA1XwoR1g/s320/DSC00513.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhokogWjIRHaOwm5NxqI9whaGfCvZBnuplu76nEqxn_qcAzxOAuXZkvyFNiz-WIwAy0S-kezsWWkRP4J6BT6tc6Bcgvm5zYVfTJ4O-6u-0LRKHCVvaZkF1aVOVtfVOQmSiV5AvC5CrKptsQ/s1600/DSC00514.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhokogWjIRHaOwm5NxqI9whaGfCvZBnuplu76nEqxn_qcAzxOAuXZkvyFNiz-WIwAy0S-kezsWWkRP4J6BT6tc6Bcgvm5zYVfTJ4O-6u-0LRKHCVvaZkF1aVOVtfVOQmSiV5AvC5CrKptsQ/s320/DSC00514.JPG" width="320" /></a></div>
<div style="text-align: center;">
Some pics and first test video.</div>Ruetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.com9tag:blogger.com,1999:blog-426654161750451120.post-77839610380786376382012-02-13T15:34:00.000-08:002012-02-21T20:14:27.950-08:00Fritzing drawing and Arduino Code v5.0Here is what I have already:<br />
<br />
Fritzing drawing:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJ5if0vva3Y4y1h0EzJ0FVhqsG5FV63ucUA6mCZNt5216g7jAg-tG-Frc0LTd0-qUeh2fkC2qxfjRRg1ovcUW1ecAl70IK5h2dZX8Ec65Ygofqyd_-dfR1rpyouqwXiBxrt2mczYDoXHA/s1600/ruete-laser-harp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJ5if0vva3Y4y1h0EzJ0FVhqsG5FV63ucUA6mCZNt5216g7jAg-tG-Frc0LTd0-qUeh2fkC2qxfjRRg1ovcUW1ecAl70IK5h2dZX8Ec65Ygofqyd_-dfR1rpyouqwXiBxrt2mczYDoXHA/s320/ruete-laser-harp.jpg" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
Arduino Code (v5.0 updated):<br />
<br />
<br />
// Ruete's Open Source Laser Harp v5.0<br /> // Free for home use. Comercial use proibited.<br /> // v5.0 updates:<br />
// frame expanded width<br />
// optmized settings for sensor<br />
// optimized settings for laser brightness and blanking <br />
<br /> // Circuito MIDI:<br /> // * digital in 1 conectado ao MIDI jack pin 5 (DO MIDI JACK)<br /> // * MIDI jack pin 2 conectado ao ground (DO ARDUINO)<br /> // * MIDI jack pin 4 (DO MIDI JACK) conectado ao +5V (DO ARDUINO) por um resistor de 220-ohm <br /><br />int buttonPresses = 0; // quantas vezes a nota foi tocada<br /><br />int LaserState = LOW; // laser "off"<br />int sensor = 8 ; // valor do sensor calibrado<br />int delayligado = 5; //minimo 2 para aparecer direito o laser<br />int delaymexe = 3; //delay entre movimentos minimo 3<br />int delaydesligado = 0; // minimo 0<br />long previousMillis = 0; // guarda ultima vez que o laser foi atualizado<br />const int LaserPin = 7; // define pin do arduino para o laser<br />long timer = 100; // intervalo que o laser vai pisca em milisegundos<br /><br />int val = 100;<br /><br />// define os pins do motor no arduino<br />int motorPin1 = 8;<br />int motorPin2 = 9;<br />int motorPin3 = 10;<br />int motorPin4 = 11;<br /><br /><br /><br />int note9 = 0x33; <br />int note8 = 0x32; <br />int note7 = 0x30; <br />int note6 = 0x2E; <br />int note5 = 0x2C; <br />int note4 = 0x2B; <br />int note3 = 0x29; <br />int note2 = 0x24; <br />int note1 = 0x24; <br /><br />// setup ------------------------------------------------------------<br />void setup() <br />{<br /> <br /> <br /> // do motor:<br /> pinMode(8, OUTPUT);<br /> pinMode(9, OUTPUT);<br /> pinMode(10, OUTPUT);<br /> pinMode(11, OUTPUT);<br /> <br /> // do laser:<br /> pinMode(LaserPin, OUTPUT); <br /> <br /> // do led:<br /> pinMode(13, OUTPUT);<br /><br /> // ativa frequencia MIDI (baud rate):<br /> Serial.begin(31250);<br />}<br /><br />void noteOn(int cmd, int pitch, int velocity)<br /> {<br /> Serial.write(cmd);<br /> Serial.write(pitch);<br /> Serial.write(velocity);<br /> }<br /> <br />//-------------------------------------------------------------------------------------------<br />// inicio do loop ---------------------------------------------------------------------------<br />void loop()<br />{<br /> <br /> <br /><br />// movimento horario ---------------------------------------------------------- <br /><br />digitalWrite(LaserPin, HIGH); // liga laser 1<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if ( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note1, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note1, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /><br /> digitalWrite(LaserPin, LOW); // desliga laser 1<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------- <br /> digitalWrite(motorPin1, HIGH); // comanda o motor para mexer para 2<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW); <br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 3<br /> digitalWrite(motorPin2, HIGH);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW); <br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 2<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note2, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note2, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 2<br /> delay(delaydesligado); <br /><br />//-------------------------------------------------------------------<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 4<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, HIGH);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 5<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, HIGH);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 3<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note3, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note3, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 3<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------ <br /> digitalWrite(motorPin1, HIGH); // comanda o motor para mexer para 6<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 7<br /> digitalWrite(motorPin2, HIGH);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /><br /> digitalWrite(LaserPin, HIGH); // liga laser 4<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note4, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note4, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 4<br /> delay(delaydesligado); <br /><br />//-----------------------------------------------------------------<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 8<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, HIGH);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 9<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, HIGH);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 5<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note5, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note5, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 5<br /> delay(delaydesligado); <br /><br />//-------------------------------------------------------------------<br /> digitalWrite(motorPin1, HIGH); // comanda o motor para mexer para 10<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 11<br /> digitalWrite(motorPin2, HIGH);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 6<br /> delay(delayligado); <br /> //********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note6, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note6, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 6<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------ <br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 12<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, HIGH);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 13<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, HIGH);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 7<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note7, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note7, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 7<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------<br /> digitalWrite(motorPin1, HIGH); // comanda o motor para mexer para 14<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 15<br /> digitalWrite(motorPin2, HIGH);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 8<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note8, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note8, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 8<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 16<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, HIGH);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 17<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, HIGH);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 9<br /> delay(delayligado); <br />//********************************************************************************************************************************** ** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note9, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note9, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /><br /><br /> digitalWrite(LaserPin, LOW); // desliga laser 9 <br /> delay(delaydesligado); <br /><br />//----------------------------------------------------------------------------- <br />// movimento anti-horario ----------------------------------------------------- <br /><br />//------------------------------------------------------------------ <br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 16<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, HIGH);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 15<br /> digitalWrite(motorPin2, HIGH);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 8<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note8, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note8, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 8<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------ <br /> digitalWrite(motorPin1, HIGH); // comanda o motor para mexer para 14<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 13<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, HIGH);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 7<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note7, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note7, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 7<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------ <br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 13<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, HIGH);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 12<br /> digitalWrite(motorPin2, HIGH);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 6<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note6, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note6, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 6<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------<br /> digitalWrite(motorPin1, HIGH); // comanda o motor para mexer para 11<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 10<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, HIGH);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 5<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note5, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note5, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 5<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------ <br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 9<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, HIGH);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 8<br /> digitalWrite(motorPin2, HIGH);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 4<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note4, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note4, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 4<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------ <br /> digitalWrite(motorPin1, HIGH); // comanda o motor para mexer para 7<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 6<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, HIGH);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 3<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note3, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note3, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 3<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------- <br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 5<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, HIGH);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 4<br /> digitalWrite(motorPin2, HIGH);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> <br /> digitalWrite(LaserPin, HIGH); // liga laser 2<br /> delay(delayligado); <br />//********************************************************************************************************************************** <br />if( (analogRead(0) >sensor ) && (buttonPresses == 0) ) //se o sensor esta ativado E ainda nao começou a tocar entao toca a nota++++++++++++<br /> <br /> { <br /> // faça A -----------------------------------------------------------------------------------------------------------<br /> digitalWrite(13, HIGH); // acende o led <br /> noteOn(0x90, note2, 0x7F); // toca a nota no: channel 1 = (0x90), nota = (note), volume = (0x7F)<br /> buttonPresses++; // aumenta o valor do buttonPresses (para avisar que a nota ja comecou a tocar)<br /> } <br /> <br />// -------------------------------------------------------------------------------------------------------------------- <br />else if(analogRead(0) <sensor ) // e se o sensor esta desativado +++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> <br /> { // // faça B = silencia a nota<br /> digitalWrite(13, LOW); // desliga o led <br /> noteOn(0x90, note2, 0x00); // silencia a nota no: channel 1 (0x90), nota = (note), volume de silencio = (0x00)<br /> buttonPresses = 0; // zera o "buttonPresses"<br /> } <br />//**********************************************************************************************************************************<br /> digitalWrite(LaserPin, LOW); // desliga laser 2<br /> delay(delaydesligado); <br /><br />//------------------------------------------------------------------ <br /> digitalWrite(motorPin1, HIGH); // comanda o motor para mexer para 3<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, LOW);<br /> delay(delaymexe); // espera o motor<br /> digitalWrite(motorPin1, LOW); // comanda o motor para mexer para 2<br /> digitalWrite(motorPin2, LOW);<br /> digitalWrite(motorPin3, LOW);<br /> digitalWrite(motorPin4, HIGH);<br /> delay(delaymexe); // espera o motor<br /> <br /><br /> <br />}<br />// final do loop para mexer o motor e ligar/desligar laser (volta para o começo do loop)-----<br />//-------------------------------------------------------------------------------------------<br />
<br />
<br />
<br />
<a name='more'></a><br />
Fell free to ask questions and contribute for a better project..<br />
<br />
<br />
Have fun!<br />
<br />
<br />
<br />Ruetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.com59tag:blogger.com,1999:blog-426654161750451120.post-55613644437771497452012-01-14T13:07:00.000-08:002012-01-14T13:06:12.181-08:00<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/lOdHCMOe7kc?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: center;">
Jean Michel Jarre Live in Concert using his Laser Harp to play Rendevous II song.</div>Ruetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.com0tag:blogger.com,1999:blog-426654161750451120.post-44882513862809337942012-01-14T13:04:00.001-08:002012-01-14T13:09:03.145-08:00<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/lamXXZEEqRU?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: center;">
Here is an example of DJs using a Laser Harp (sold by a company I am not affiliated with)</div>Ruetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.com0tag:blogger.com,1999:blog-426654161750451120.post-8844810743934934122012-01-14T11:14:00.001-08:002012-02-02T11:11:39.471-08:00<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFUauUrGAMutqoTOY3mwqEemWX3mWQWvzZaUQ5hf_nITJFVwAzeh9gU3mLAxXGOXhnXN2vTwHORy7KN2ZxP0eylSu0U1Oqvt5elb60D8fQBQTiBgmBzmNJ91w0z0mX0J1K-dHzzmCkiRdZ/s1600/harp-laser-plans-schematics-diy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFUauUrGAMutqoTOY3mwqEemWX3mWQWvzZaUQ5hf_nITJFVwAzeh9gU3mLAxXGOXhnXN2vTwHORy7KN2ZxP0eylSu0U1Oqvt5elb60D8fQBQTiBgmBzmNJ91w0z0mX0J1K-dHzzmCkiRdZ/s320/harp-laser-plans-schematics-diy.jpg" width="320" /></a></div>
<br />
<div style="text-align: center;">
Here is a picture of my Laser Harp v1 (framed version) </div>
<br />
It is a framed Laser Harp I developed using and arduino, a green laser, lots of passion and googling!<br />
<br />
If you want to build a Framed Laser Harp you can google for Stephen Hobley and you will find plenty of info about that.. <br />
<br />
Now if you want to make a Frameless Laser Harp like the one Jean Michel Jarre 's used to play Rendezvous 2 Live in concert at his Europe Tour 2011., it is a lot more difficult...<br />
<br />
I am currently working on this project and almost done with it. <br />
<br />
Since technology has developed so much it is now possible to build your own homemade DIY Frameless Laser Harp.<br />
<br />
<br />
I saw a couple of adds on the internet selling Frameless Laser Harps for US$1.200,00 and up (only the controller and sensor part). Then I would have to buy an ILDA green laser projector also. And then pay around 100% more for import taxes on top of all this.<br />
<br />
<br />
<br />
That´s when I decided to give it a try at building it myself!<br />
<br />
Turns out Laser Harp v2 (unframed) is almost completed.<br />
<br />
Bookmark this website, and come back soon as I will post the complete schematics and programing here so you will be able to make yourself one too (without being a technical geek).<br />
<br />
<br />
<br />
<br />
<br />
Enjoy!<br />
<br />
<br />Ruetehttp://www.blogger.com/profile/06859848791529435588noreply@blogger.com6