Ferramentas do usuário

Ferramentas do site


arduino_fruit

Arduino Fruit

Foi criado este projeto para realização de uma palestra apresentada no Cedup de Chapecó, em outubro de 2014, para o curso técnico em Montagem e Manutenção de Computadores.

A ideia era divulgar o hackerspace e apresentar o que fizemos. O nome denominado para o projeto foi “Arduino Fruit”, um teclado musical baseado em frutas :)

A principal técnica utilizada foi a Capacitive Sensor. Esta é uma tecnologia que pode detectar a capacitância eléctrica do corpo humano.Os sensores capacitivos podem detectar qualquer coisa que seja condutor. Esta tecnologia pode ser utilizada para várias aplicações, para este case foram utilizados testes com as seguintes interfaces (limão, tomates, folhas, bananas, trilha de grafite, laranja).

Equipamentos utilizados:

1 Arduino, 1 proto board, 17 Jumpers, 8 resistores, 1 buzzer, cabo usb, 8 tomates.

Arquitetura:

Software

//INCLUI BIBLIOTECA
 
#include <CapacitiveSensor.h>
 
//NOTAS
 
 #define NOTE_C4  262 //DO
 #define NOTE_D4  294 //RE
 #define NOTE_E4  330 //MI
 #define NOTE_F4  349 //FA
 #define NOTE_G4  392 //SOL
 #define NOTE_A4  440 //LA
 #define NOTE_B4  494 //SI
 #define NOTE_C5  523 //DO
 
 #define COMMON_PIN      3  //PINO SEND
 #define BUZZER_PIN      A0 //PINO BUZZER
 #define NUM_OF_SAMPLES  1  //NUMEROS DE AMOSTRAS
 #define CAP_THRESHOLD   10 //SENSIBILIDADE
 #define NUM_OF_KEYS     8  //NUMERO DE NOTAS 
 
 //DEFINE FUNCAO COM AS PORTAS DE ENVIO E RESPOSTA
 #define CS(Y) CapacitiveSensor(3, Y)
 
 //VETOR COM NOTAS
 int notes[]={NOTE_C4,NOTE_D4,NOTE_E4,NOTE_F4,NOTE_G4,NOTE_A4,NOTE_B4,NOTE_C5};
 
 //VETOR COM FUNCOES PASSANDO AS PORTAS DE RESPOSTAS
 CapacitiveSensor keys[] = {CS(4),  CS(5), CS(6), CS(7), CS(8), CS(9), CS(10), CS(11)};
 
 //CONFIGURA O PROGRAMA - EXECUTA SOMENTE 1 VEZ
 
 void setup()
 { 
 
  //INICIALIZA COMUNICACAO COM A SERIAL
 
  Serial.begin(9600);
 
  //PERCORRE 8 NUMEROS
 
  for(int i=0; i<8; ++i)
   {
      //DESATIVA A CALIBRACAO AUTOMATICA
      keys[i].set_CS_AutocaL_Millis(0xFFFFFFFF);
   }
 
  //DEFINE PINO DO BUZZER COMO SENDO A SAIDA
 
  pinMode(BUZZER_PIN, OUTPUT);
 }
 
 //EXECUTA O PROGRAMA EM LOOPING
 
 void loop()
 {   
   //ANDA AS 8 NOTAS
 
   for (int i = 0; i < 8; ++i)
   {  
     Serial.println(keys[i].capacitiveSensor(NUM_OF_SAMPLES)); 
 
     //CASO O SENSOR DETECTAR ALGUM PULSO MAIOR QUE A SENSIBILIDADE
 
      if(keys[i].capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD)
      {
         Serial.println("toquei");
 
         //TOCA A NOTA
 
         tone(BUZZER_PIN, notes[i]);
         delay(100);//PERMANECE POR 100 MILIS
         noTone(BUZZER_PIN); //PARA A NOTA
      }
   }
 }

Fotos:

Biblioteca:

http://playground.arduino.cc/Main/CapacitiveSensor

Ademir Bresolin 2015/02/24 01:51

arduino_fruit.txt · Última modificação: 2015/02/24 02:04 por ademir