• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Rozróżnienie częstotliwości
#1
Założenia sa takie. Komputer odtwarza krótki dźwięk z pliku wav.  Dwa dźwięki będące po prostu sinusoidą (lub prostokątem) o określonej dowolnie wybranej częstotliwości. Sygnał z wyjścia głośnikowego jest odczytywany przez Arduino i w zależności od od dźwięku podejmuje dalsze kroki.
Pewnie poste, ale nie mogę sobie z tym poradzić
 
Odpowiedź
#2
A z czym konkretnie masz problem? Może poszukaj jakiego projektu 'miernika częstotliwości na Arduino' i zobacz jak to jest zrobione.
 
Odpowiedź
#3
Witam.
Ja to bym ugryzł w ten sposób że, ów analogowy sygnał podnieść do takiego poziomu aby po wyprostowaniu i zachowaniu tylko górnych połówek sinusoidy przepuścić przez przerzutnik Schmitta po czym wprowadzić sygnał wyzwalający przerwanie które z chwilą np. zbocza narastającego mierzy jego długość (czas trwania od narastającego zbocza do opadającego). Czynność tą w celu uwiarygodnienia że mamy doczynienia z użytecznym sygnałem powtórzyć np. 10 razy i jeśli wynik jest taki sam (ewentualnie odrzucić inne wyniki) można założyć że był sygnał taki na jaki czekasz?
Z czasem program będziesz rozbudowywał (dopieszczał) o elementy które wyjdą w tzw. "praniu".
Od czegoś trzeba zacząć. Powodzenia.
 
Odpowiedź
#4
(14-03-2025, 20:52)KaDe napisał(a): Witam.
Ja to bym ugryzł w ten sposób że, ów analogowy sygnał podnieść do takiego poziomu aby po wyprostowaniu i zachowaniu tylko górnych połówek sinusoidy przepuścić przez przerzutnik Schmitta po czym wprowadzić sygnał wyzwalający przerwanie które z chwilą np. zbocza narastającego mierzy jego długość (czas trwania od narastającego zbocza do opadającego). Czynność tą w celu uwiarygodnienia że mamy doczynienia z użytecznym sygnałem powtórzyć np. 10 razy i jeśli wynik jest taki sam (ewentualnie odrzucić inne wyniki) można założyć że był sygnał taki na jaki czekasz?
Z czasem program będziesz rozbudowywał (dopieszczał) o elementy które wyjdą w tzw. "praniu".
Od czegoś trzeba zacząć. Powodzenia.

Są dwie postawowe metody mierzenia częstotliwości - pomiar czasu trwania okresu sygnału i pomiar liczby impulsów w zadanym przedziale czasu. Proponujesz tą pierwszą metodę - z tym, że wtedy należy zadbać o powtarzalność przetworzenia sygnału anologowego na postać cyfrową. Komparator musi wykrywał przejście z zera na jedynkę i odwrotnie dokładnie w tej samej fazie sygnału - co wymaga stałej aplitudy sygnału analogowego.

Sam pomiar nawet nie wymaga używania przerwań - procki mają wejście ICP (input capture) - polega to na tym, że jest sobie licznik/timer pracujący cały czas w kółko. I gdy na wejściu ICP zmienia się sygnał aktualna wartość licznika jest kopiowana do dedykowanego rejestru sprzętowego. Potem można go odczytać programowo, odjąć poprzednią wartość i od razu dostajemy sprzętowo zmierzoną długość impulsu.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości