---
# System prepended metadata

title: arduino code from our circuit

---

# 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

}
}