Witam
Mam do zrealizowania projekt kompetencyjny "Cyfrowe echo" cały projekt ma opierać się na ATmega32, a program ma być napisany w C (AVR Studio). Schemat nie był problemem gdyż częścią analogową (podłączenie mikrofonu i głośnika) wzorowałem na tym: Link, wprowadziłem tylko 2 modyfikacje, podłączyłem mikrofon do ADC, a głośnik do OC2 z myślą wykorzystania PWM. Niestety problem pojawił się gdy nadszedł czas pisania programu :/ wstępne założenie było takie, że do generowania opóźnień użyje buforu kołowego, ale obawiam się, że ten pomysł nie jest do końca dobry gdyż uzyskane opóźnienie będzie małe (ATmega będzie taktowana kwarcem 16MHz), a jeszcze trzeba tym opóźnieniem sterować... dochodzą też dwa problemy związane z odbiorem i generacją dźwięku mianowicie czy sygnał z mikrofonu nie będzie za słaby dla ADC i czy to PWM nie będzie mi przypadkiem charczało.
Dlatego też chciałbym się poradzić i zapytać jak ten problem ugryźć tak, żeby sobie zębów nie wybić... i nie nabawić się nerwicy...
Schemat (prosiłbym też o jego sprawdzenie) wartości takie jak w pierwowzorze
Tak na szybko mogę napisać, że sterowanie opóźnieniem ma się obywać przy pomocy przycisków (S1, S2) lub po rs232 z komputera (przez specjalny program) natomiast wartość opóźnienia będzie wyświetlana na LCD.
P.S.
I tak sobie myślę, że maksymalne opóźnienie powinno wynosić 1 sek. a minimalne 0 sek. (dźwięk z wejścia jest od razu przekazywany na wyjście).
Pozdrawiam
Rafał
Mam do zrealizowania projekt kompetencyjny "Cyfrowe echo" cały projekt ma opierać się na ATmega32, a program ma być napisany w C (AVR Studio). Schemat nie był problemem gdyż częścią analogową (podłączenie mikrofonu i głośnika) wzorowałem na tym: Link, wprowadziłem tylko 2 modyfikacje, podłączyłem mikrofon do ADC, a głośnik do OC2 z myślą wykorzystania PWM. Niestety problem pojawił się gdy nadszedł czas pisania programu :/ wstępne założenie było takie, że do generowania opóźnień użyje buforu kołowego, ale obawiam się, że ten pomysł nie jest do końca dobry gdyż uzyskane opóźnienie będzie małe (ATmega będzie taktowana kwarcem 16MHz), a jeszcze trzeba tym opóźnieniem sterować... dochodzą też dwa problemy związane z odbiorem i generacją dźwięku mianowicie czy sygnał z mikrofonu nie będzie za słaby dla ADC i czy to PWM nie będzie mi przypadkiem charczało.
Dlatego też chciałbym się poradzić i zapytać jak ten problem ugryźć tak, żeby sobie zębów nie wybić... i nie nabawić się nerwicy...
Schemat (prosiłbym też o jego sprawdzenie) wartości takie jak w pierwowzorze
Tak na szybko mogę napisać, że sterowanie opóźnieniem ma się obywać przy pomocy przycisków (S1, S2) lub po rs232 z komputera (przez specjalny program) natomiast wartość opóźnienia będzie wyświetlana na LCD.
P.S.
I tak sobie myślę, że maksymalne opóźnienie powinno wynosić 1 sek. a minimalne 0 sek. (dźwięk z wejścia jest od razu przekazywany na wyjście).
Pozdrawiam
Rafał
