Criado em outubro de 2016, Oficina de Ideias é uma empresa registrada, que busca construir conhecimentos nas áreas da eletrônica, programação e mecânica clássica, unindo a prática com a teoria.
BANANIANO COM 9 NOTAS
Pessoal este é o sketch do piano de bananas. É só copiar e colar no programa do arduino. A montagem do circuito está lugo abaixo:
O fio da esquerda (que está sozinho) é o aterramento. Caso esteja usando pilhas, você vai precisar segurar nele para o circuito funcionar. Se estiver com o arduino conectado no computador, e o mesmo conectado na rede elétrica, todo o circuito já vai estar aterrado por meio do fio neutro que vem da tomada. Neste caso você não vai precisar daquele fio. Os outros 9 fios vão nas bananas. Os resistores são de 10KOhms, com exceção do resistor do led que é de 220 Ohms.
Vejam como fica a montagem do circuito:
O link para assistir o video é: https://www.youtube.com/watch?v=Mu2MQWVw3yY
#include <CapacitiveSensor.h>
/*
CapitiveSense Library Demo Sketch
Paul Badger 2008
Uses a high value resistor e.g. 10M between send pin and receive pin
Resistor effects sensitivity, experiment with values, 50K - 50M. Larger resistor values yield larger sensor values.
Receive pin is the sensor pin - try different amounts of foil/metal on this pin
*/
CapacitiveSensor cs_2_3 = CapacitiveSensor(2, 3); // 10M resistor between pins 2 & 3, pin 3 is sensor pin, add a wire and or foil if desired
CapacitiveSensor cs_2_4 = CapacitiveSensor(2, 4); // 10M resistor between pins 2 & 4, pin 4 is sensor pin, add a wire and or foil
CapacitiveSensor cs_2_5 = CapacitiveSensor(2, 5); // 10M resistor between pins 2 & 5, pin 5 is sensor pin, add a wire and or foil
CapacitiveSensor cs_2_6 = CapacitiveSensor(2, 6); // 10M resistor between pins 2 & 6, pin 6 is sensor pin, add a wire and or foil if desired
CapacitiveSensor cs_2_7 = CapacitiveSensor(2, 7); // 10M resistor between pins 2 & 7, pin 7 is sensor pin, add a wire and or foil
CapacitiveSensor cs_2_8 = CapacitiveSensor(2, 8); // 10M resistor between pins 2 & 8, pin 8 is sensor pin, add a wire and or foil
CapacitiveSensor cs_2_9 = CapacitiveSensor(2, 9); // 10M resistor between pins 2 & 9, pin 9 is sensor pin, add a wire and or foil if desired
CapacitiveSensor cs_2_10 = CapacitiveSensor(2, 10); // 10M resistor between pins 2 & 10, pin 10 is sensor pin, add a wire and or foil
CapacitiveSensor cs_2_11 = CapacitiveSensor(2, 11); // 10M resistor between pins 2 & 11, pin 11 is sensor pin, add a wire and or foil
int tom = 450;
int tempo = 0;
int registro = 0;
void setup()
{
cs_2_3.set_CS_AutocaL_Millis(0xFFFFFFFF); // turn off autocalibrate on channel 1 - just as an example
Serial.begin(9600);
pinMode(12, OUTPUT); // led
pinMode(13, OUTPUT); // buser
}
void loop()
{
long start = millis();
long total1 = cs_2_3.capacitiveSensor(30);
long total2 = cs_2_4.capacitiveSensor(30);
long total3 = cs_2_5.capacitiveSensor(30);
long total4 = cs_2_6.capacitiveSensor(30);
long total5 = cs_2_7.capacitiveSensor(30);
long total6 = cs_2_8.capacitiveSensor(30);
long total7 = cs_2_9.capacitiveSensor(30);
long total8 = cs_2_10.capacitiveSensor(30);
long total9 = cs_2_11.capacitiveSensor(30);
Serial.print(millis() - start); // check on performance in milliseconds
Serial.print("\t"); // tab character for debug windown spacing
Serial.print(total1); // print sensor output 1
Serial.print("\t");
Serial.print(total2); // print sensor output 2
Serial.print("\t");
Serial.print(total3); // print sensor output 3
Serial.print("\t");
Serial.print(total4); // print sensor output 4
Serial.print("\t");
Serial.print(total5); // print sensor output 5
Serial.print("\t");
Serial.print(total6); // print sensor output 6
Serial.print("\t");
Serial.print(total7); // print sensor output 7
Serial.print("\t");
Serial.print(total8); // print sensor output 8
Serial.print("\t");
Serial.println(total9); // print sensor output 9
// nota Do
if (total1 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 264; // tonalidade da nota do
tone(12, tom, tempo);
}
// nota Re
if (total2 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 297; // tonalidade da nota re
tone(12, tom, tempo);
}
// nota Mi
if (total3 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 330; // tonalidade da nota mi
tone(12, tom, tempo);
}
// nota Fa
if (total4 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 350; // tonalidade da nota Fa
tone(12, tom, tempo);
}
// nota Sol
if (total5 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 392; // tonalidade da nota Sol
tone(12, tom, tempo);
}
// nota La
if (total6 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 440; // tonalidade da nota La
tone(12, tom, tempo);
}
// nota Si
if (total7 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 494; // tonalidade da nota Si
tone(12, tom, tempo);
}
// nota Do
if (total8 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 523; // tonalidade da nota Do
tone(12, tom, tempo);
}
// nota Re
if (total9 > 3)
{
digitalWrite(13, HIGH);
tempo = 100; // tempo de duracao da nota
tom = 587; // tonalidade da nota Re
tone(12, tom, tempo);
}
delay(10); // arbitrary delay to limit data to serial port
digitalWrite(13, LOW);
}
Assinar:
Postagens (Atom)
Nenhum comentário:
Postar um comentário