Ciao a tutti, vorrei rilevare delle frequenze audio usando un microfono con arduino,ho trovato un programma nel forum che però non mi funziona.Vorrei anche saper se serve una determinata tipologia di microfono.
Benvenuto. Essendo il tuo primo post, nel rispetto del regolamento, ti chiediamo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO... Grazie.
Qui una serie di link utili, non inerenti al tuo problema:
- qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- qui le pinout delle varie schede by xxxPighi: Pinout
- qui una serie di link generali utili: Link Utili
Grazie, ho appena finito di presentarmi
...... se serve una determinata tipologia di microfono
Più che altro serve un circuitino di amplificazione, un microfono, da solo, eroga molto poco
brunello22:
Più che altro serve un circuitino di amplificazione, un microfono, da solo, eroga molto poco
Non solo, deve anche rendere il segnale sinusoidale SOLO positivo visto che sugli ingressi di Arduno NON si possono inviare tensioni negative
Guglielmo
Grazie mille, io ho a disposizione un microfono della dfrobot 0034( già amplificato) e un sensore di vibrazione a disco piezoelettrico sempre della df .con il microfono riesco solo a rilevare l' intensità del suono, mentre con il disco piezoelettrico rilevo dei valori quando lo muovo con le dita, altrimenti sia con rumore o voce mi da 0. Ho utilizzato la analogRead che so non è il comando giusto, ma altrimenti non trovo programmi che non mi diano errori.So veramente poco sulla frequenza
... peccato che per misurare la frequenza devi usare un pin "digitale" e quindi ti serve un microfono amplificato che dia in uscita un segnale compreso tra 0 e ALMENO 3.3V o il pin digitale NON rileverà mai il passaggio da 0 a 1 e non potrai mai misurare una frequenza.
Ma tu esattamente COSA devi fare ?
Guglielmo
principalmente dovrei riconoscere il fischio, da un battito di mani. però mi servirebbe leggere e acquisire le frequenze del suono in modo da aggiungere altri suoni da riconoscere successivamente. Sarebbero degli interruttori vocali praticamente
potreste aiutarmi, é un progetto importante di scuola, é da tanto che ci sto dietro ma non riesco a proseguire
... NON credo che con Arduino sia cosa fattibile ... quello che puoi fare, al massimo, è riconoscere il "numero di battiti di mano" ed eventualmete per due battiti fare una cosa, per tre un'altra e quattro un'altra ancora, ma arrivare a separare le funzioni in baso a fischi, battiti di mano e altro, NON la vedo fattibile.
Altrimenti, prendi una bella Easy VR 3, che è in grado di discriminare un certo numero di parole e collega quella ad Arduino attraverso l'apposito shield.
Guglielmo
Vedi se questa libreria ti serve...
>paulus1969: ... e pensi che io non la conoscessi? Se non l'ho suggerita è perché lui NON ha un "segnale" di cui deve misurare la frequenza, ma un qualche cosa di cui deve fare un'analisi (... ad esempio analizzando l'inviluppo, ecc. ecc.) ... o pensi veramente di distinguere un battito di mani, un fischio, una serie di parole, ecc. ... dalla sola frequenza (... ammesso che riesci a misurarla) ? ? ?
Guglielmo
Potrebbe usarla per rilevare le frequenze di fischi diversi.
Meglio di niente
Guarda, la cosa migliore è la suddetta Easy VR 3 ... e fa proprio il riconoscimento di comandi vocali
Altrimenti il classico "clap clap" e riconosce i battiti di mani
Guglielmo
Potresti provare questa libreria, mai usata da me però
C'era anche un altro progetto su coolarduino ma il sito è giù e le pagine su Archive.org non hanno conservato anche lo sketch che era su Google Drive.