Arduino laten schakelen op 500 Hz signaal
5 berichten
• Pagina 1 van 1
- maartenf2006
- Berichten: 2
- Geregistreerd: 02 Jul 2016, 00:00
Arduino laten schakelen op 500 Hz signaal
Hallo,
Voor mij is dit allemaal geheel nieuw en heb een algemene vraag.
Ik vroeg mij af of het mogelijk is om een arduino een ouput signaal te laten geven met als trigger een akoestisch signaal van 500Hz +/-10 %.
Hierbij zou ik als deze eenmaal output geeft, dit ook graag voor 20 seconden willen vasthouden ook al zou het signaal van 500Hz al weer afwezig zijn.
Kan iemand mij hierbij helpen, met de achterliggende gedachten dat ik hiermee nog geheel in de kinder schoenen sta.
Alvast bedankt, mvg Maarten
Voor mij is dit allemaal geheel nieuw en heb een algemene vraag.
Ik vroeg mij af of het mogelijk is om een arduino een ouput signaal te laten geven met als trigger een akoestisch signaal van 500Hz +/-10 %.
Hierbij zou ik als deze eenmaal output geeft, dit ook graag voor 20 seconden willen vasthouden ook al zou het signaal van 500Hz al weer afwezig zijn.
Kan iemand mij hierbij helpen, met de achterliggende gedachten dat ik hiermee nog geheel in de kinder schoenen sta.
Alvast bedankt, mvg Maarten
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Arduino laten schakelen op 500 Hz signaal
Ja het is zeker mogelijk maar nog wel een paar vragen:
a) hoe komt jouw akoestisch signaal binnen?
Verder:
a) bekijk de functie pulseIn in de arduino reference (al zul je daar vermoedelijk minder aan hebben omdat het een analoog signaal is en niet digitaal)
b) bekijk blink without delay hoe je een timer moet gebruiken
c) bekijk hoe je een button moet programmeren in de tutorial voor digitale pinnen
Dit is ook interessant voor je : https://www.pjrc.com/teensy/td_libs_FreqMeasure.html
of dit : https://forum.arduino.cc/index.php?topic=64219.30
Studiestof zat lijkt mij.
a) hoe komt jouw akoestisch signaal binnen?
Verder:
a) bekijk de functie pulseIn in de arduino reference (al zul je daar vermoedelijk minder aan hebben omdat het een analoog signaal is en niet digitaal)
b) bekijk blink without delay hoe je een timer moet gebruiken
c) bekijk hoe je een button moet programmeren in de tutorial voor digitale pinnen
Dit is ook interessant voor je : https://www.pjrc.com/teensy/td_libs_FreqMeasure.html
of dit : https://forum.arduino.cc/index.php?topic=64219.30
Studiestof zat lijkt mij.
- maartenf2006
- Berichten: 2
- Geregistreerd: 02 Jul 2016, 00:00
Re: Arduino laten schakelen op 500 Hz signaal
Hallo Nico,
Heel erg bedankt voor je reactie.
Ik zou het signaal met een sound detector module van arduino binnen laten komen om dat ik daarmee ook het volume niveau kan regelen.
Als het mogelijk is mag de arduino pas output geven als het signaal langer als 1,5 seconden aanwezig is.
Het liefst zou ik voor dit project de meest eenvoudige uitvoering willen gebruiken.
En het is nog een beetje abracadabra voor me, maar als je het niet probeert dan zal ik het ook nooit leren dacht ik maar zo.
Nogmaals bedankt
Heel erg bedankt voor je reactie.
Ik zou het signaal met een sound detector module van arduino binnen laten komen om dat ik daarmee ook het volume niveau kan regelen.
Als het mogelijk is mag de arduino pas output geven als het signaal langer als 1,5 seconden aanwezig is.
Het liefst zou ik voor dit project de meest eenvoudige uitvoering willen gebruiken.
En het is nog een beetje abracadabra voor me, maar als je het niet probeert dan zal ik het ook nooit leren dacht ik maar zo.
Nogmaals bedankt
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Arduino laten schakelen op 500 Hz signaal
Dat maakt het iets complexer. Dit is nu een goede reden om een flowchart te maken om je gedachten te ordenen.
Re: Arduino laten schakelen op 500 Hz signaal
die tijden zijn erg eenvoudig, precies zoals nico zegt met een simpele timer.
het analoge signaal, oppikken en filteren is wat meer werk, maar is zeker te doen.
je kunt het signaal op een analoge manier filteren dat er alleen iets doorgelaten wordt bij 500 Hz.
Maar het kan ook in software, door te kijken naar de nuldoorgangen en min,max signalen.
je slaat gedurende 10 ms een hoop data op bijvoorbeeld elke 0.000001 s (dat klinkt weinig maar de arduino kan nog veel sneller.)
dan kun je met FFT kijken of er 500 Hz aanwezig is.
je kunt ook kijken of de volgende maximum (of nuldoorgang) etc 2 ms later is.
dus je gaat eerst een maximum zoeken gedurende 2 ms of langer
en als je een maximum hebt (binnen 10%) dan kijk je of je 2 ms later weer een max hebt, zo ja dan heb je 500 Hz, zo nee dan heb je dat niet.
nadeel van deze simpele methode is wel dat 1000 Hz ook triggert, net zoals alle harmonischen.
het analoge signaal, oppikken en filteren is wat meer werk, maar is zeker te doen.
je kunt het signaal op een analoge manier filteren dat er alleen iets doorgelaten wordt bij 500 Hz.
Maar het kan ook in software, door te kijken naar de nuldoorgangen en min,max signalen.
je slaat gedurende 10 ms een hoop data op bijvoorbeeld elke 0.000001 s (dat klinkt weinig maar de arduino kan nog veel sneller.)
dan kun je met FFT kijken of er 500 Hz aanwezig is.
je kunt ook kijken of de volgende maximum (of nuldoorgang) etc 2 ms later is.
dus je gaat eerst een maximum zoeken gedurende 2 ms of langer
en als je een maximum hebt (binnen 10%) dan kijk je of je 2 ms later weer een max hebt, zo ja dan heb je 500 Hz, zo nee dan heb je dat niet.
nadeel van deze simpele methode is wel dat 1000 Hz ook triggert, net zoals alle harmonischen.
paul deelen
shooter@home.nl
shooter@home.nl
5 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Majestic-12 [Bot] en 72 gasten