Letture valori sensore rumore KY-038

Ciao a tutti,
metto le mani avanti dicendo che sono novizio :slight_smile:

Ho acquistato il sensore in oggetto e sto riscontrando problemi nell'utilizzarlo.
Ho provato sia in analogico che in digitale, ma in entrambi i casi ho lo stesso problema.

Quando inizio la lettura dei dati, anche se produco un rumore, il valore letto non cambia.
Cioè, accendo Arduino nel silenzio, legge un valore di 50 (che poi magari posso regolare col trimmer, ma vabbè), batto le mani o batto un colpo ed il valore resta uguale.
Passando al digitale, magari il valore è 1020 e rimane cosi nel tempo.
Ovviamente la lettura è continua, tipo una al secondo.

Questa la porzione di sketch:

int suonomax = 55; // soglia per far scattare mic
}
void loop() {
 if(analogRead(A3) >= suonomax) {
    flash2();
    Serial.println("rilevato suono");    
  }
   else {
      digitalWrite(15, LOW); // spegne il led ROSSO se in allarme della funzione flash2
  }

Per fare un po di debugging, ho provato così nel loop:

int n = analogRead(A3);
  Serial.println(n);

e mi conferma che il valore non cambia anche se faccio più rumore.

Cosa/dove sbaglio?
Ho provato anche a sostituire il microfono, ma il risultato non cambia.

Grazie a chi mi aiuterà.

  1. ?? è un sensore di fiamma, cosa c'entra il suono ?
  2. il chip LM393 è un comparatore, serve per avere sul digitale 1 o 0 a seconda della sensibilità che imposti con il trimmer (che imposta la "sensibilità" del comparatore)
  3. le istruzioni di test, se manca la parola chiave if... non testano nulla

(analogRead(A3) >= suonomax) { non ha senso
if(analogRead(A3) >= suonomax) { un senso c'è l'ha

nid69ita:

  1. ?? è un sensore di fiamma, cosa c'entra il suono ?
  2. il chip LM393 è un comparatore, serve per avere sul digitale 1 o 0 a seconda della sensibilità che imposti con il trimmer (che imposta la "sensibilità" del comparatore)
  3. le istruzioni di test, se manca la parola chiave if... non testano nulla

(analogRead(A3) >= suonomax) { non ha senso
if(analogRead(A3) >= suonomax) { un senso c'è l'ha

Dai, però era evidente che fossero 2 errori di scrittura.......
Ti ho aggiunto l'if al del post ed ho corretto il titolo.
Ora che il post ha un senso però il valore del rumore non è cambiato :confused:

Cercando in internet, il KY-026 è un sensore di fiamma
posta il link al modulino che hai comprato, di modulini per il rumore (non suono) c'e' ne sono molti.

Credo si riferisca al sensore ky-026 che spero sia un sensore di rumore...
Comunque, come diceva anche nid, in analogico usi la analogRead e hai dei valori tra 0 e 1023, mentre in digitale usi la digitalRead e hai HIGH o LOW e regoli la soglia col trimmer.
Prova a postare lo sketch completo

nid69ita:

  1. ?? è un sensore di fiamma, cosa c'entra il suono ?

Stesso dubbio di @nid69ita....
Non è che ti riferisci al modulo KY-037?
Perché quel modulo trae in inganno molti per via del pin denominato A0 che potrebbe far pensare ad un'uscita analogica associata al volume, mentre di fatto è solo un set-point.
Il modulo in pratica è utilizzabile come segnale digitale, con la possibilità di impostare un livello "soglia" per l'attivazione.

Guys, oggi sono disallineato con me stesso.
Ho corretto il titolo, si tratta del sensore KY-038.

z3n0:
Ho corretto il titolo, si tratta del sensore KY-038.

Che è più o meno come il KY-037 (cambia solo la capsula microfonica se non sbaglio).

tra l'altro, il led che segnala il rilevamento del rumore è costantemente acceso. ho portato il trimmer fino al minimo, valore 30, ma anche nell'assoluto silenzio resta acceso.

Qualcosa sbaglio, ma cosa?

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.