Você está na página 1de 2

Claro, aqui está um exemplo de código de bateria eletrônica com piezos e saída MIDI

via USB:

//
#include <MIDIUSB.h> // incluir a biblioteca MIDIUSB

const int piezoPin[] = {2,3,4,5,6,7,8}; // array para armazenar os pinos dos piezos
int piezoValue[] = {0,0,0,0,0,0,0}; // array para armazenar o valor dos piezos
int sens[] = {10,5,2,3,15,20,30}; // array para armazenar a sensibilidade dos
piezos

void setup() {
for (int i = 0; i < 7; i++) { // inicializar os pinos dos piezos como entrada
pinMode(piezoPin[i], INPUT);
}
MIDI.begin(1); // inicializar a comunicação MIDI
}

void loop() {
for (int i = 0; i < 7; i++) { // ler os valores dos piezos
piezoValue[i] = analogRead(piezoPin[i])/sens[i]; // dividir o valor lido pelo
fator de sensibilidade
MIDI.sendNoteOn(i, piezoValue[i], 1); // enviar mensagem MIDI Note On
}
}

Este código usa a biblioteca MIDIUSB para enviar mensagens MIDI Note On através do
conector USB do Arduino. Os pinos dos piezos são inicializados como entradas e os
valores dos piezos são lidos e enviados como velocidade das notas MIDI.

É importante notar que, dependendo da configuração dos seus piezos e da


sensibilidade desejada, pode ser necessário ajustar a escala dos valores lidos dos
piezos antes de enviá-los como velocidade das notas MIDI. Além disso, é importante
verificar se os pinos dos piezos correspondem às entradas do Arduino.

Na linha "MIDI.sendNoteOn(i, piezoValue[i], 1);" a variável "i" é usada para enviar


a nota MIDI, onde "i" representa o número de nota. Então, se você quiser mudar a
nota enviada, você pode alterar o valor de "i" para o número da nota desejada.

Outra forma é colocando a nota desejada no lugar de "i" e retirando a variavel "i"
da linha anterior. Por exemplo: MIDI.sendNoteOn(60, piezoValue[i], 1);

Além disso, é importante notar que o código acima assume que os piezos estão
conectados a entradas analógicas do Arduino. Se os piezos estiverem conectados a
entradas digitais, será necessário mudar a função de leitura de analogRead() para
digitalRead()

Espero que isso ajude!

Para ligar os piezos eletrônicos no Arduino, você deve conectar um terminal do


piezo ao pino de entrada do Arduino e o outro terminal ao GND (terra) do Arduino. É
importante verificar a polaridade dos terminais dos piezos, pois eles podem ser
sensíveis a polaridade invertida.

Para conectar os piezos eletrônicos ao Arduino, você precisará de fios de conexão.


Um fio deve ser conectado ao terminal do piezo e o outro fio deve ser conectado ao
GND do Arduino.

É importante lembrar de que os piezos eletrônicos precisam de uma fonte de


alimentação externa para funcionar, então você precisará conectar os piezos a uma
fonte de alimentação separada. Certifique-se de que a tensão e a corrente
fornecidas pela fonte de alimentação sejam adequadas para os piezos eletrônicos.

Para usar os piezos eletrônicos como bateria eletrônica, você pode fixá-los na
superfície de uma bateria, de modo que quando você bater na superfície da bateria,
os piezos gerarão sinais elétricos que podem ser lidos pelo Arduino.

Neste exemplo, criamos um novo array int "sens" que armazena a sensibilidade dos
piezos de forma independente. Então, dentro do loop, dividimos o valor lido pelo
método "analogRead" pelo fator de sensibilidade correspondente do array "sens"
antes de enviar a mensagem MIDI Note On.

Você também pode gostar