Bom dia,
preciso fazer um codigo onde ele funcione apenas uma vez apos apertar o botão
exemplo
usarei um botao e um modulo de som
apos apertar o botão o codigo do som pode ou não ser executado caso detect o som necessario e para novamente. para usar novamente é necessario que o botão seja novamente apertado.
entao deixa eu te explicar melhor.
vou utilizar um botao e uma placa de detecção de som.
ao precionar o botao e soltar, a placa de som entra em funcionamento e caso ela detect o som o comando sera enviado e o programa deve parar. so podera funcionar novamente se eu apertar o botão.
int son = 2; // pino out do módulo conectado ao pino 2
int bot = 3; // pino 3--->botao--->GND
void setup() {
pinMode (son, INPUT);
pinMode (bot, INPUT_PULLUP);
}
void loop {
while (digitalRead (bot) == HIGH); // aguarde a pulsação
while (digitalRead (bot) == LOW); // aguarde a liberação do botão
while (digitalRead (son) == LOW) { // enquanto não houver som, ele funciona
// seu programa
}
}
int son = 2; // pino out do módulo conectado ao pino 2
int bot = 3; // pino 3--->botao--->GND
int led1 = 10;
int led2 = 13;
void setup() {
pinMode (son, INPUT);
pinMode (bot, INPUT_PULLUP);
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
}
void loop {
while (digitalRead (bot) == HIGH); // aguarde a pulsação
while (digitalRead (bot) == LOW); // aguarde a liberação do botão
while (digitalRead (son) == LOW);{// enquanto não houver som, ele funciona
// seu programa
if (digitalRead(son) == HIGH)
Muito obrigado meu amigo
funcionou perfeitamente graças a você.
deixa eu te perguntar uma duvida se é possivel.
sobre esse modulo de detecção de som, eu poderia limitar a captação de sons de certas frequencias?? exemplo gostaria que ele so funcionasse com frequencias de 4000hrz a 6000hrz.
Não com esse módulo, esse módulo só detecta o volume do som, (ajustável com o trimmer), você terá que usar um com saída analógica como:
E detectar essa faixa de frequências? Suponho que sim (não sei como fazê-lo), mas talvez usar uma biblioteca de transformação Fourrier consiga algo. Para isso, outro colega terá que ajudá-lo.