Geluid frequentie herkennen met Piezo

Arduino specifieke Software
Berichten: 2
Geregistreerd: 09 Jun 2017, 16:45

Geluid frequentie herkennen met Piezo

Berichtdoor Nos-Ra-TiA » 09 Jun 2017, 17:01

Beste medearduino gebruikers,

Ik loop met het volgende idee, zou het mogelijk zijn om met een piezo en arduino een vaste geluidsfrequentie te herkennen? bijvoorbeeld 1000Hz of 500Hz, en alle overige Frequenties filteren. Aangezien ik nog een beginner ben, weet ik niet waar te beginnen. Via internet had ik een stukje code gevonden die dan de trilling kon opmeten zodra ik daar extra code aan wil toevoegen dan krijg ik heel veel errors.

Zou iemand mij hiermee kunnen helpen met het programmeren?

Alvast bedankt.

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Geluid frequentie herkennen met Piezo

Berichtdoor nicoverduin » 09 Jun 2017, 17:13

Welke errors? En is het een zuivere frequentie? of is het samengesteld waardoor je eigenlijk fast-fourier transformaties moet uitvoeren.
Zet anders je sketch ff hier neer dat praat wat gemakkelijker
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 2
Geregistreerd: 09 Jun 2017, 16:45

Re: Geluid frequentie herkennen met Piezo

Berichtdoor Nos-Ra-TiA » 12 Jun 2017, 14:21

Beste Nico bedankt voor je reactie.
Om mee te beginnen heb ik het volgende stukje code.

Code: Alles selecteren
const int PIEZO_PIN = A0; // Piezo output

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  int piezoADC = analogRead(PIEZO_PIN);
  float piezoV = piezoADC;
  Serial.println(piezoV);
delay(300);
}


Als ik het allemaal goed heb begrepen, kan er dan analoog tot 5 volt via de piezo gemeten worden. Vanaf hier wil ik dan kijken hoe ik dit kan omzetten in f =1/T. Ik weet ook niet zeker of van analoog naar digitaal 1023 hier iets mee te maken kan hebben.

Het is een zuivere geluidsfrequentie.


nicoverduin schreef:Welke errors? En is het een zuivere frequentie? of is het samengesteld waardoor je eigenlijk fast-fourier transformaties moet uitvoeren.
Zet anders je sketch ff hier neer dat praat wat gemakkelijker

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Geluid frequentie herkennen met Piezo

Berichtdoor nicoverduin » 12 Jun 2017, 15:22

a) De sketch klopt niet:
1. de analoge read geeft een int waarde die repersenteert : (5V / 1024) * waarde = gemeten spanning
2. float piezoV blijft een int omdat je ze zonder meer overneemt. Dat moet je 'casten'' door er bijv. (float)piezoAC van te maken. Maar dan blijf je het probleem houden van punt 1 hier boven
b) Je moet het piezo signaal versterken
1. De piezo geeft een hele lage spanning af en moet versterkt worden
c) Een sinus heeft een positief en negatief signaal
1. Een sinus heeft een positieve en negatief gedeelte. Dus moet js de ingang 'zwevend' maken op 2.5V. Via een weerstands ladder (2x 10K bijv.) tussen de 5V en GND. Op het midden knooppunt gooi
je dan een koppelcondensator van pak 'm beet 100nF. De andere kant van de microfoon knoop je aan de koppel condensator. De ander poot van de piezo gooi je aan GND

Hier wat meer info: https://arduino.stackexchange.com/quest ... audio-jack
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: erayevohukcc en 23 gasten