Arnautovich Inserito: 4 novembre 2018 Segnala Inserito: 4 novembre 2018 Ciao a tutti, premetto che al mondo dell'elettronica mi sono avvicinato da poco. Ho collegato un microfono e un led al mio arduino in modo che, quando il microfono sente un suono, il led si accende. Il problema è che quando carico il programma, il led si accende e non si spegne più, nonostante non ci siano rumori (a parte il rumore della ventola del pc), e non capisco come mai. Il microfono l'ho comprato su amazon (i pin li ho saldati io) ed è questo: https://www.amazon.it/perfk-Amplificatore-Microfono-Electret-Regolabile/dp/B079GW8GY4/ref=sr_1_15?ie=UTF8&qid=1541350176&sr=8-15&keywords=microfono+arduino Mentre il programma che carico è il seguente: int ledPin=13; int sensorPin=7; boolean val =0; void setup(){ pinMode(ledPin, OUTPUT); pinMode(sensorPin, INPUT); Serial.begin (9600); } void loop (){ val =digitalRead(sensorPin); Serial.println (val); if (val==HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
ilguargua Inserita: 4 novembre 2018 Segnala Inserita: 4 novembre 2018 Se stacchi il sensore dal pin 7 cosa accade? Hai provato a misurare con un multimetro che tensione è presente all'uscita del sensore? Ciao, Ale.
Arnautovich Inserita: 5 novembre 2018 Autore Segnala Inserita: 5 novembre 2018 ho provato a staccare il sensore dal pin 7 e, una volta ricaricato il programma, il led resta spento. Mi procuro comunque un multimetro per misurare la tensione all'uscita del sensore? Perchè non avendolo in casa dovrei ordinarlo. Grazie in anticipo, Lorenzo.
ilguargua Inserita: 5 novembre 2018 Segnala Inserita: 5 novembre 2018 7 ore fa, Arnautovich scrisse: ho provato a staccare il sensore dal pin 7 e, una volta ricaricato il programma, il led resta spento. Non c'è bisogno di ricaricare il programma, a meno che tu non lo voglia sostituire con un altro. Qual'è lo scopo di questo dispositivo? Temo che la schedina con il microfono non sia adatta per quello che vuoi, perlomeno cosi com'è. Ciao, Ale.
Arnautovich Inserita: 5 novembre 2018 Autore Segnala Inserita: 5 novembre 2018 è un progetto scolastico che sto cercando di eseguire gradualmente, l'obiettivo finale sarebbe quello di dargli dei comandi vocali, solo che non riesco nemmeno a far funzionare il microfono e non capisco come mai. Grazie, Lorenzo.
Livio Orsini Inserita: 5 novembre 2018 Segnala Inserita: 5 novembre 2018 Tu stai usando il microfono con un ingresso digitale, quindi per avere variazioni di stato dell'ingresso la tensione dovrà essere o > 2.5V o < 2.0V; se è <2V sarà letta come 0 (LOW), altrimenti come 1(HIGH). Quindi per prima cosa verifica, con trasduttore collegato, che tensione è presente sul pin 7. Io ti suggerirei di fare 2 cose: Amplifica il tuo microfono Collega il microfono ad un ingresso analogico, acquisisci il segnale e poi lo compari con una soglia che imposterai tu per avere lo scatto da acceso/spento del LED. PS Hai le caratteristiche del microfono? data sheet? Sigla?
ilguargua Inserita: 5 novembre 2018 Segnala Inserita: 5 novembre 2018 1 ora fa, Arnautovich scrisse: l'obiettivo finale sarebbe quello di dargli dei comandi vocal La vedo dura con quel modulo e l'Arduino, al massimo puoi discriminare tra presenza di suono o meno. Comunque, prova con questo schema : L'ingresso dell'Arduino diventa l'A0 anziche il 7, e cambia il programma così : byte sensorPin = A0; byte ledPin = 13; int sensValue = 0; int soglia = 20; void setup(){ pinMode(ledPin, OUTPUT); //pinMode(sensorPin, INPUT); Serial.begin (9600); } void loop (){ sensValue = analogRead(sensorPin) - 512; Serial.println (sensValue); if (abs(sensValue) > soglia) { digitalWrite(ledPin, HIGH); delay(200); } else { digitalWrite(ledPin, LOW); delay(200); } } Regola la sensibilità della scheda microfono quasi al massimo, con dei suoni presenti il LED dovrebbe perlomeno emettere qualche lampeggio. Cambiando il valore della variuabile 'soglia' o il trimmer sulla scheda dovresti essere in grado di cambiare la sensibilità. Ciao, Ale. 3 minuti fa, Livio Orsini scrisse: Collega il microfono ad un ingresso analogico, acquisisci il segnale e poi lo compari Oops, ci siamo intrecciati con Livio, comunque vedo che eravamo giunti + o - alle stesse conclusioni... Ciao, Ale.
Arnautovich Inserita: 5 novembre 2018 Autore Segnala Inserita: 5 novembre 2018 La sigla del microfono dovrebbe essere "MAX4466", mi procuro il prima possibile un multimetro per misurare la tensione al pin, dopo di che proverò ad applicare le modifiche che mi avete consigliato. Vi tengo aggiornati e nel caso riscontrassi ulteriori problemi, ridomando vista la disponibilità. Vi ringrazio molto, Lorenzo.
Livio Orsini Inserita: 5 novembre 2018 Segnala Inserita: 5 novembre 2018 Il MAX4466 è un modulo per arduino costituito da un microfono alettrete e relativo amplificatore con guadagno tarabile, c'è un piccolo potenziometro nel lato posteriore. Ma tu il datasheet del modulo lo hai letto? Dovrebbe fornire circa 200 mVpp in uscita per un livello di normale conversazione, ma puoi arrivare sino al clipping di 5 Vpp, secondo il guadagno tarato. In rete dovresti anche trovare librerie adatte ad ottenere FFT con arduino. Con un tester forse non riuscirai a fare misure corrette, ci vorrebbe un oscilloscopio; oppure se sei in un ambiente con poco o nulla rumore e se riesci ad emettere un leggero fischio con ampiezza e freqaunza abbastanza costante, puoi anche tarare con un multimetro.
Arnautovich Inserita: 8 novembre 2018 Autore Segnala Inserita: 8 novembre 2018 Grazie mille a tutti, sono riuscito a risolvere il mio problema e passo allo step successivo. Vi ringrazio ancora per la disponibilità, mi rifarò sentire in caso di ulteriori dubbi. Saluti, Lorenzo.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora