🎹 Piano de papel con sensor t√°ctil

 

Piano de papel con sensor t√°ctil

Un piano de papel que se basa en el toque humano para la salida de audio mediante transistores.

 

Componentes y suministros

TRANSISTOR 2N3904 (NPN)
√ó 1
Cables de puente macho/macho
√ó 1
Industrias adafruit ada1536 imagen
Alarma sonora
√ó 1
Kingbright wp7113sgd
LED de 5 mm: verde
√ó 1
Ph a000067 iso (1) wzec989qrf
Arduino Mega 2560
√ó 1

Acerca de este proyecto

El concepto del piano t√°ctil es simple. El voltaje se alimenta a trav√©s del colector del transistor NPN. Tambi√©n se agrega un cable abierto en el colector para agarre. En cuanto a la base del transistor, est√° conectado al piano de papel. El emisor est√° conectado al LED que conduce a tierra, y un pin anal√≥gico tambi√©n lee el voltaje en el emisor. Si una persona toca el cable con la mano con la tecla del piano, la persona conecta la base y el colector juntos, proporcionando as√≠ un camino alternativo para que la corriente fluya desde el colector al emisor, esencialmente las manos son una forma de interruptor para activar /desactivar se√Īales. El pin anal√≥gico detecta el cambio de voltaje, que luego proporciona una salida de audio basada en el pin de la tecla del piano.

V√ćDEO DE PIANO:

https://drive.google.com/file/d/1_wpoYDR0XaQcjk

para obtener más información sobre los transistores y sus principios de funcionamiento Рhttps://learn.sparkfun.com/tutorials/transistors/all

– cosas a tener en cuenta:

las llaves tienden a conducir electricidad en el mismo papel, por lo que es recomendable cortar y pegar las llaves a una l√°mina de pl√°stico.

codificado

códigos pianísticos.arduino
int pin[7] = {A0,A1,A2,A8,A9,A10,A11}; // pin that reads voltage
int x;int y;int z;
 #define speaker 3                     // speaker output pin
int volts[10] = {analogRead (pin[x])};  //stores 10 readings of voltage for ONE pin
                //number of samples for the average mean vaule is 10
int sum;int sum1;int average;       // aVERAGE VARIABLES
int store [7];                    //stores AVERAGE reading of voltages of ALL pins

void setup() {
  
for (x = 0;x<=6; x++){
pinMode (pin[x], INPUT);
pinMode(speaker,OUTPUT);

Serial.begin (115200);}}                     

void loop() {
const int samples = 10;  
                     
    for ( x = 0; x <= 6 ; x++){   
      for ( y = 0;y<= 9 ; y++){               
       analogRead (pin [x]);                    //read voltage at each pin
        volts [y] = analogRead (pin [x]);          // store voltage of each pin in the array volts(up to 10 values as the array can only store 10 values)
        sum = volts[y];                    // sum of all the votlage (10 values)
        sum1 = sum += analogRead (pin [x]);  //add the previous analog reading to the current
        average = sum1/samples;
         store [x] = average; 
          Serial.println ("");
          Serial.println (store [5]);}}


const int EV =97;                     //value obtained through testing and observing how the voltage changes during serial.
   
  if ( (store [0]) > EV){   // if average voltage for the first pin value stored in the array (pin A0) is larger than 97
tone (speaker,195.9977);}   // tone(pin,frequency) to play

  
   else if ((store [1]) > EV ){
    tone (speaker,220.0000);}
    

     else if(store [2] > EV){                                                               
     tone(speaker,246.9417);}                                     
                                    
        
  else if (store [3] > EV ){                                            
     tone ( speaker,261.6256);}
     
      
       else if (store [4] > EV){
        tone (speaker,293.6648);}
         
            
         else if (store [5] > EV){
           tone(speaker,329.6276);}
             
                
                else if (store [6] > EV){
                  tone(speaker,523.2511);}

                  else {noTone(speaker);}} // prevents speaker from playing continuously.

diagramas

diagrama de circuito (para UNA TECLA DE PIANO).
Descargar

este es el diagrama de circuito para el piano. En la imagen de portada, se puede ver que es complicado, por lo tanto, este circuito es para UNA SOLA TECLA DE PIANO. El colector está conectado a dos elementos, a saber, un riel de 5 voltios y un cable que la persona debe sujetar para completar el circuito. La base está conectada a la tecla del piano y el emisor está conectado al LED, que conduce a un pi analógico para leer el cambio de voltaje, así como la tierra.

En cuanto al zumbador, está conectado a un pin digital para su cable vivo, por lo que solo emite audio cuando hay un cambio de voltaje que es captado por el pin analógico y obviamente conectado a tierra en la masa.

Se recomienda enf√°ticamente crear un riel de tres para simplificar el circuito para todas las teclas. Estos rieles consisten en un riel vivo para 5v de arduino, un riel de tierra y un riel de cable manual.

Imagen WhatsApp 2018 11 18 a 20 57 39 lbsycs7wi4

Fuente Arduino.cc