# arduino code from our circuit ATTINY84 chip operates between 2.7-5.5 volts. Esta es la programación que trae cargada el chip en este momento, la cual si deseas la puedes modificar utilizando arduino software. */ //Declaración de variables: int freq[18]= {174,285,396,417,528,639,741,852,963,348,570,792,834,956, 1278, 1482, 1704, 1926}; /* cada número corresponde a una nota musical en la escala de solfeggio la cual está calibrada a 528 que es la frecuencia de resonancia del amor y no al 440 como la escala más convencional. Tiene 18 notas declaradas, se pueden agregar más, quitar o cambiar. */ int intervalo [7]= {25,50,100,200,400,800,1600}; /* estos valores corresponden los intervalos posibles que habrá entre cada nota. Hay 7 y están en milisegundos */ int touch; // es nuestro sensor de contacto int pot; // el otro controlador que es un potenciómetro int led = 6; // hay un led conectado al pin 1pwm int speaker = 7; //Hay una bocina conectada al pin 0 pwm void setup() { // lo que sucede una sola vez pinMode(speaker, OUTPUT); //la bocina es una salida pinMode(led, OUTPUT); // el led es una salida } void loop() { pot= analogRead (A2); // hay un pot conectado al pin A3 que envía una datos para leer touch = analogRead(A3); // hay un remache conectado al pin A2 que envía datos para leer int val = map(touch, 0, 1023, 0, 17); /* touch da valores de 0 a 1023, pero vamos a ajustarlo de 0 a 17 valores, que corresponden a las notas que declaramos. */ int va2= map(pot, 0, 1023, 0, 7); /* el potenciómetro da valores de 0 a 1023 valores, pero vamos a ajustarlo para de valores de 0 - 7, que son los intervalos que programamos. */ if (touch > 20){ // si touch es mayor que 20 (umbral de sensibilidad del sensor) tone (speaker, freq[val]); delay (intervalo[va2]); /* la speaker da una serie de notas que se tocan con sensor de contacto y cada nota va separada por un intervalo de tiempo que se ajustan con el potenciómetro */ digitalWrite(led, HIGH); delay (intervalo[va2]); digitalWrite(led, LOW); delay (intervalo[va2]); // los led van al ritmo del sonido } else{ noTone (bocina); digitalWrite(led, LOW); //de lo contrario la speaker no suena y los led se apagan } }