Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Praca Inżynier Elektronik
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Gong_SD "Nikogo nie ma w domu"

bobeer 07 Lip 2013 23:44 16362 11
  • Gong_SD "Nikogo nie ma w domu"
    Poniższy projekt dotyczy pomysłu który został w części zrealizowany już 10lat temu, ale dzisiaj mógł przybrać nieco inny wymiar, zaspokajając wybujałą wyobraźnię jego autora :). Dotyczy rzeczy całkiem zwykłej, jaką jest „przewodowy dzwonek mieszkaniowy”. Pierwszą odsłoną tego pomysłu była przewodowo-bezprzewodowa wersja zbudowana na 89c2051 sztuk dwie. Pierwszy układ procesorowy znajdował się po prostu w puszce z włącznikiem zasilanej „napięciem dzwonkowym”i umożliwiał funkcjonalność przyciskowo-śrubkową (dalej wyjaśnię co to takiego) z tym, że dane transmitowane były za pomocą małego wzmacniacza na częstotliwości 2x28MHz- jakimi taktowany był procesor nadajnika. Jako odbiornik użyty był układ radiowy FM nastrojony na tę częstotliwość (była to heterodyna z pll). Dane były przesyłane z użyciem uartów procesorów. Odbiornik sprawdzał ramkę i odgrywał prymitywną melodyjkę.
    Po 10 latach chciałem zaprezentować nieco ulepszoną wersję urządzenia opartego o ten pomysł.

    Opis rozpocznę od nadajnika, jako że jest mniejszy i prostszy w działaniu.
    Protoplastą tego układu kodującego był zwykły włącznik, który po prostu zwierał diodę prostowniczą umożliwiając przepływ prądu w obydwu kierunkach w instalacji dzwonkowej. Takie rozwiązanie umożliwiało zasilanie odbiornika dodatnimi połówkami a ujemne wykorzystywane były do wykrywania zadziałania przełącznika. Metoda sprosta i niezawodna. Postanowiłem więc nieco rozszerzyć możliwości przesyłania danych po przewodach zasilających. Do tego jakże skomplikowanego ;) zadania zaprzęgnąłem attiny13, chociaż 90s2343 w wersji zasilanej 5V też się nadawał. Pożądanymi cechami w tym zastosowaniu były przede wszystkim niskie napięcie zasilania oraz niski pobór prądu. Procesor pracuje tutaj z zegarem ~ 1MHz, i 1.5V napięcie zasilania nie sprawia mu trudności. Niestety z BOD trzeba zrezygnować, ale budzenie się do życia przetestowałem i nie ma z tym żadnego problemu, nawet przy powolnym naroście napięcia. Byłby natomiast jak zwykle problem z zawieszającymi procesor szpilkami na pinie reset, ale postaramy się go nie używać albo blokować kondensatorem ten port, co również skutecznie zwalczy tą rodzinną przypadłość. Na schemacie widać 3 przełączniki, ale w moim prototypie wykorzystuje tylko jeden podłączony do portu B.2. Można całkowicie zrezygnować z przełączników, ponieważ procesor wykrywa napięcie zmienne spowodowane przyłożeniem palucha do ... śrubek :). No i w tym miejscu zdradziłem swój super tajny system umożliwiający wtajemniczonym wywoływanie niestandardowych dźwięków, ale wróćmy do kwestii elektronicznych. Elektronika „zadajnika” jest skąpa. 4 diody prostownicze służą do zapewnienia zasilania układu podczas dodatnich połówek, i zapewniają odpowiednie napięcie zasilania procesora. Proponuję używać dobrej jakości diod, bo w przypadku awarii którejś „zenerki” zasilany układ pójdzie z dymem (attiny13 potrafił wytrzymać 9V ale nie służyło mu to zbytnio. Ostatecznie z powodu właśnie 5V zbyt delikatnej diody posłałem „w kosmos” dwa procesory : ). Tak więc jeśli instalacja dzwonkowa dostarcza prądu powyżej 1A, należy zapewnić zamknięcie obwodu, przez dedykowany ogranicznik prądowy, w innym razie diody mogą sobie nie poradzić. Rezystory służą do podniesienia portów w stan wysoki, oraz ograniczenia zbyt dużego prądu. Transoptor podaje ujemne połówki napięcia. (Niestety nie udało mi się wymyślić nic sprytniejszego w takiej konfiguracji zasilania. Transoptor wydaje się być tutaj niezastąpiony biorąc pod uwagę stopień komplikacji i niezawodność). Rezystor R12 może mieć zwarcie lub kilkaset omów, w zależności od wymaganego maksymalnego prądu na kolektorze. W przypadku wykorzystywania pinu reset wraz z S2 zalecam użycie kondensatora C9 o wartości kilka do kilkaset nF. Bez kondensatorów procesor nie zatrzaśnie się na amen, ale za którymś przyciśnięciem nieodprzężonego resetu w przypadku kiepsko kontaktujących styków włącznika może nie wystartować i będzie trzeba ponowić akcję. Włącznik S3 również w prototypie nie występuje, sugeruje jedynie możliwość rezygnacji z zadajnika (w przypadku uwzględnienia tego w programie odbiornika).






    Opis wysyłania danych przez nadajnik zadajnik:
    Dane są synchronizowane do napięcia przemiennego sieci dzwonkowej, bo ono właśnie służy tutaj do przesyłania informacji. Przerwanie INT0 procesora wywoływane jest dwa razy podczas trwania okresu napięcia w zależności od zbocza załączany jest transoptor ale tylko na czas jednego półokresu (zapewne można by ten czas jeszcze skrócić, ale puki co wystarcza energii zgromadzonej w „elektrolicie” chociaż napięcie zasilania tiny13 może spadać chwilowo do około 1.5V). Podczas dodatniej połówki napięcia, ten sam port wystawia poziom niski w celu zaświecenia zielonej diody LED, która może świecić tylko dzięki temu, że chwilowe napięcie zasilania sięga 2.5V. Dioda ta nie ma nic szczególnego do sygnalizowania oprócz migania z częstotliwością 100/256Hz, równocześnie mrugając w takt połówek sinusoidy 50Hz. Zaprogramowałem więc procesor, na zmianę wypełniania w granicach 20-80% zmiennego w ciągu około pól roku pracy układu (brak zmiany pwm po dłuższym czasie może świadczyć o nieprzewidzianych restartach programu). Procesor w zależności od wykrycia stanu niskiego na wejściach portów czujnikowych, wysyła odpowiednią ilość impulsów, przy czym maksymalnie 6, i zawsze jeden impuls na 6tej pozycji ujemnej połówki napięcia. Sygnały z portów są oczywiście odpowiednio programowo filtrowane, aby przypadkowe zadziałanie było niemożliwe, oraz trzymanie palca na śrubce (doprowadzenie 50Hz sygnału) nie powodowało wielokrotnego wysłania kodu. Temat nadajnika uważam za zamknięty przejdźmy więc do nieco bardziej skomplikowanej ale też ciekawszej części projektu.

    Drugą, główną częścią projektu jest „gong” oparty o układ attiny26. Procesor ten użyłem z dwu powodów. Pierwszy, to wbudowany generator 70MHz umożliwiający pracę pwm z częstotliwością ponad 500kHz, drugi powód, to zaleganie w pudełku kilku sztuk kupionych za czasów kiedy te procki stały po 6zł (to było około 9 lat temu, o attiny13 nikt wtedy jeszcze nie słyszał). No nareszcie można zaszaleć ;), mamy aż 1k słów do wykorzystania, więc można zbudować coś nieco mniej prymitywnego od zwykłego „tiny gada”. Tak, będziemy odgrywać dźwięki zapisane na karcie SD, z całkiem niezłym efektem. Ponieważ 16 bitów dynamiki jest nierealne, od razu mówię, że „pwm dac” działa w konfiguracji 7+7bit z częstotliwością około 500kHz. Takie parametry wydały mi się podczas prób najbardziej optymalne pod względem jakości. Rezystor 128k jest poskładany z dwóch, ale nie ma się co zbytnio przejmować dokładnością, wystarczające jest +-2k. Sygnał analogowy, po małej filtracji dostarczany jest do wzmacniacza na LM4871, który może oddać stosunkowo dużą moc, bo aż 1.5W na 8R. Ze względów dynamicznych regulacja głośności to 100R potencjometr w szereg z głośnikiem (po co ma szumieć bardziej jak może mniej, jeśli mamy sprawny głośnik i nie potrzebujemy tak dużej mocy). Wartości elementów wzmacniacza należy użyć jak na schemacie głównie ze względu na minimalizacje stuków przy włączaniu/ wyłączaniu układu, które przy 5V praktycznie nie występują zarówno przy włączaniu jak i wyłączaniu wzmacniacza. Przejdźmy do interfejsu z SD. Mimo że moje karty SD całkiem dobrze potrafią znosić napięcie 4.2V a nawet 5V, postanowiłem jednak nie nadwyrężać ich cierpliwości i zastosować prymitywny układ obniżający, zapewniając równocześnie poprawną komunikacje z procesorem zasilanym napięciem około 0.7V wyższym od karty SD. Tak więc tranzystor T1 pełni podwójnie ważną funkcję, umożliwiając odłączenie zasilania karty (jedyna metoda poprawnego resetu to „power cycle”), szczególnie ważne jeśli układ ma być używany w trybie powersave, oraz jak wspomniano do obniżenia napięcia z 4.2 do 3.5V. W przypadku niektórych kart może okazać się konieczny dodatkowy kondensator 1uF na zasilaniu, u mnie jednak był on zbędny. Nieszczęśliwie mimo posiadania USI procesor komunikuje się z kartą bez wspomagania sprzętowego, ponieważ porty PWM wykorzystują te same końcówki. Zachował się natomiast interfejs I2C, może jeszcze kiedyś się przyda. Jak widać na schemacie użyty został standardowy i prądożerny LM7805, ale w tym przypadku pobór prądu „w stanie spoczynku” powinien być odpowiednio duży, w celu zapewnienia prądu dla „zadjnika kodownika”. Elementy dołączone do INT0 procesora zapewniają odpowiednie sterowanie portu ujemnymi połówkami napięcia przemiennego, ograniczając prąd oraz filtrując ewentualne zakłócenia. Ale zaraz zaraz co tutaj robi czujnik światła ? Zapewniam że wszystko się wyjaśni w części opisującej walory użytkowe tej nietuzinkowej konstrukcji :)
    W międzyczasie opowiem nieco o sposobie dekodowania danych przez program procesora.
    Dane o czym już wspominałem w części nadajnika, są przesyłane z wykorzystaniem nie używanych do zasilania ujemnych połówek napięcia. Z powodu chęci minimalizacji opóźnienia, ilość przesyłanych „bitów” ograniczyłem do 6 co umożliwia przesłanie 5ciu różnych kodów. Transmitowana ramka składa się z pierwszej ujemnej połówki, oraz następujących po niej maksymalnie 5 impulsów, przy czym 6 półokres służy wyłącznie do umożliwienia odbiornikowi zinterpretowania odebranych impulsów jako poprawny kod. Po odebraniu jakiegoś impulsu program sprawdza, czy jest to pierwszy, czy kolejny bit z pomocą zapamiętanej zmiennej, zerowanej po ustalonym czasie większym od czasu wystąpienia kolejnych 6 impulsów jakie maksymalnie są oczekiwane z nadajnika.
    Każdy odebrany impuls powoduje inkrementację zmiennej zliczającej. Aby ramka została uznana za poprawną, musi koniecznie zawierać impulsy w miejscu pierwszej i szóstej połówki sinusoidy, w przypadku braku impulsu na 6tej pozycji ramka zostanie odrzucona (timeout). W przypadku większej ilości impulsów niż rozpoznawane 3+6ty (tail) odbiornik nie zareaguje, bo kody te nie są zaimplementowane. (Chyba że program działa w trybie power save, wtedy dzwonek jest włączany stanem niskim portu INT0, kształt sygnału nie ma znaczenia.).

    Program napisany jest w sposób umożliwiający odpowiednią reakcję na kod/sygnał, niezależnie od aktualnie wykonywanej procedury. np. podczas wybrzmiewania gongu naciśnięcie przycisku powoduje ponowne zrestartowanie dźwięku, to samo tyczy się momentu kiedy z głośnika dobiegają słowa informujące nas o czasie jaki upłynął od naciśnięcia przycisku lub śrubki. No cóż skoro doszliśmy do tego momentu, to już nie będę ukrywał, że urządzenie oprócz odgrywania sampli potrafi zapamiętać czas ostatniego naciśnięcia przycisku dzwonka, a dodatkowo opowie nam czy ktoś nacisnął przycisk „standardowy” czy była to śrubka o której powinny wiedzieć tylko osoby wtajemniczone :). Żeby ułatwić współprace z naszą „sekretarką – kapusiem”, która z reguły wisi w przedpokoju nad drzwiami. Postanowiłem, że będzie ona do nas gadać, tylko w przypadku kiedy czas od dzwonka jest >1min oraz mniejszy niż 3 doby, a wyzwolenie tej funkcjonalności nastąpi na skutek zmiany oświetlenia (jak wchodzimy do domu, to najczęściej zaświecamy światło w korytarzu). Wykrywanie światła polega na sprawdzeniu wartości przetwornika ADC w następujących po sobie interwałach 1 sekundowych. Jeśli różnica odczytów jest większa niż 30 wyzwalany jest dźwięk. Dodatkowo program automatycznie dołącza wbudowany w port pullup równolegle z rezystorem 100k. Umożliwia to niewielkie poszerzenie zakresu obsługiwanych prądów dla przetwornika ADC. W programie można łatwo przestawić czy reakcja ma być na gaszenie czy zaświecanie światła. Jeżeli zaświecenie światła nastąpi po upływie mniej niż 1min od dzwonka, to kapuś siedzi cicho, a o zdarzeniu zapomina ;) (informacja o czasie podawana jest w godzinach i minutach, po ustalonym czasie 1-255sekund, w tym momencie czas ten wynosi 10s, jako najodpowiedniejszy, ponieważ po wejściu do mieszkania zaświecam światło zanim zostają zamknięte drzwi). Dodatkowo zapamiętane informacje oraz dane pomocnicze są sygnalizowane za pomocą jednej diody led. Ponieważ kwestię opisu programowania „syntezera mowy” zrealizowałem w projekcie „tiny gada”, nie będę się już powtarzał. Wspomnę tylko o potrzebie odpowiedniej modyfikacji końcówek słownych dla wymowy czasu jaki upłynął oraz fakcie umieszczenia tej podreperowanej, „zdublowanej” tablicy słów na karcie SD, z modyfikacją konieczną dla poprawnej wymowy liczebników w liczbie mnogiej rodzaju niemęskiego.

    Na zakończenie opowiem o jeszcze jednej funkcjonalności służącej mi do testowania żywotności karty i poprawności działania systemu opartego o AVR+SD, a mogącej wprowadzić „nowe życie” w zakątek naszego mieszkania ;). Mianowicie gong_sd w wolnej chwili (czyli przez czas cały ;) ) odtwarza jeden ponad 10 minutowy plik (w tym przypadku są to odgłosy natury, zapewniające nieprzerwany napływ dźwięków w małej odległości od urządzenia). Oczywiście plik ten jest odgrywany odpowiednio ciszej, co jest zaimplementowane w programie. Można również odpowiednio cicho zapisać ścieżkę już na samej karcie. Zapętlenie utworu przebiega całkowicie niezauważalnie, dzięki wykrywaniu sampli zerowych na końcu ścieżki, oraz buforowi 64B
    Dołączony komplet plików umożliwia bezproblemowe replikowanie urządzenia (do zadajnika dostępne źródło). Obraz karty SD (zawiera plik .txt z informacjami: sektor/zawartość).
    Gdyby ktoś potrzebował pomocy przy modyfikacjach, proszę pisać. Urządzenie działa bez problemu około tygodnia, poprawiłem jedynie kosmetyczne błędy (sygnalizacja LED), oraz dodałem opóźnienie włączenia gadania co jest już uwzględnione we wsadzie gong_sd.hex.

    Interpretacja wskazań diody LED:

    1-świeci światłem ciągłym- urządzenie w stanie prawidłowym, brak oczekujących wiadomości do odtworzenia
    2-miga 0.5Hz 50%- oczekująca wiadomość do odtworzenia
    3-przygaszona- nie można wystartować karty SD (kartę można wyjmować i wkładać w dowolnej chwili, inicjalizacja jest automatyczna)
    4-szybko miga- odbiornik dostaje cały czas ujemne połówki napięcia (dane do dekodowania)
    5-przygasa na 1s w momencie zadziałania int0- odebrane jakieś ujemne polówki napięcia
    6-przygasa na 1s w momencie wykrycia zmiany oświetlenia wyzwalającej komunikat (w celu testowania ustawienia czujnika).

    Przygotowanie puszki ściennej:

    W przypadku zaprzestania reakcji na dotyk i przycisk po zamontowaniu przełącznika z nadajnikiem w puszce, należy podłożyć izolację, między „łapki”, a ścianę (różne materiały można trafić w ścianie w tym miejscu u mnie był beton wyłożony jakimś smołopodobnym produktem). W przypadku nowych plastikowych puszek, będących dobrym izolatorem problem nie powinien występować. Można również zwiększyć prąd potrzebny do zadziałania nadajnika przez zmniejszenie rezystorów R7-R9, lepiej jednak zadbać o dobre odizolowanie śrubek od „reszty świata”. W przypadku dobrego odizolowania śrubek od ściany ale braku reakcji procesora na dotyk, należy spróbować wymuszenia przepływu prądu np. między śrubką a ścianą (dobrze izolowane buty u mnie powodują ten problem). Rozwiązaniem kłopotu będzie ulepszenie nadajnika używając wykrywania dotyku działającego na nieco innej zasadzie np. takiej, jak w tym projekcie: https://www.elektroda.pl/rtvforum/topic2304249.html

    Zdjęcia i oscylogramy:

    Na dokładkę zamieszczam kilka zdjęć prototypów, oraz oscylogramy pokazujące napięcia w linii zasilającej, oraz już bezpośrednio na porcie procesora (w kanale B widać momenty wystąpienia przerwań). Chciałem pokazać również napięcie wyjściowe na wzmacniaczu m.cz w momencie odtwarzania dźwięku oraz podczas włączania i wyłączania. Jeden screen pokazuje 700kHz pwm, a ostatni oscylogram pokazuje napięcie na kondensatorze w nadajniku (tiny13) które w zależności od załączenia transoptora spada do około 1.8 lub 1.5V.


    Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu"Gong_SD "Nikogo nie ma w domu"

    Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu" Gong_SD "Nikogo nie ma w domu"


    Fajne!
  • Praca InĹźynier Elektronik
  • #2 08 Lip 2013 09:31
    Christophorus
    Poziom 40  

    Rozumiem, że to prototyp bo konstrukcja ta wygląda dość prowizorycznie. Przy tego rodzaju konstrukcjach trzeba się liczyć z tym, że na płytce z czasem mogą osiąść różne zanieczyszczenia. To natomiast może być przyczyną wadliwego działania urządzenia lub nawet jego usterką.

  • #4 08 Lip 2013 11:53
    deus.ex.machina
    Poziom 31  

    Poprawnie zakoduj próbki i będziesz mógł liczyć na więcej niż 16 bitów dynamiki (tylko nie wiem po co w dzwonku tego typu dynamika).
    Możesz użyć do konwersji program SoX.

  • Praca InĹźynier Elektronik
  • #5 08 Lip 2013 12:33
    bobeer
    Poziom 28  

    Cytat:
    Rozumiem, że to prototyp bo konstrukcja ta wygląda dość prowizorycznie

    Rozumiem, że nie przeczytał kolega opisu (tyle tekstu pewnie szkoda czasu) ? Oczywiście że to prototyp, ale gwarantuje, że nic mu nie będzie dolegało w warunkach pokojowych nawet po wielu latach eksploatacji.
    Cytat:
    Witam plik "128MB_GONG_image_D.zip" jest chyba uszkodzony
    128MB_GONG_image_D.zip: Nieznana metoda w 128MB_GONG_image_D.001

    Tak właśnie musiałem użyć 7zip i użyć lmz, żeby udało się zmieścić ten obraz w 50MB załączników obsługiwanych przez elektrodę.
    Cytat:
    Poprawnie zakoduj próbki i będziesz mógł liczyć na więcej niż 16 bitów dynamiki (tylko nie wiem po co w dzwonku tego typu dynamika).
    Możesz użyć do konwersji program SoX

    Co mi z liczenia na więcej niż 16 bit skoro pwm z avra da mi 60dB dynamiki ?
    W załącznikach jest plik mp3 właśnie zamieszczony pod kątem jakości jaką można uzyskać z tego typu układu. Wypraszam sobie uwagi, o źle zakodowanych próbkach ;). Dynamika zawsze się przyda, choćby po to, żeby regulować głośność programowo, a nie obskurnym potencjometrem :) .

  • Praca InĹźynier Elektronik
  • #6 08 Lip 2013 13:31
    deus.ex.machina
    Poziom 31  

    bobeer napisał:

    Cytat:
    Poprawnie zakoduj próbki i będziesz mógł liczyć na więcej niż 16 bitów dynamiki (tylko nie wiem po co w dzwonku tego typu dynamika).
    Możesz użyć do konwersji program SoX

    Co mi z liczenia na więcej niż 16 bit skoro pwm z avra da mi 60dB dynamiki ?
    W załącznikach jest plik mp3 właśnie zamieszczony pod kątem jakości jaką można uzyskać z tego typu układu. Wypraszam sobie uwagi, o źle zakodowanych próbkach ;). Dynamika zawsze się przyda, choćby po to, żeby regulować głośność programowo, a nie obskurnym potencjometrem :) .


    LOL

    To w takim razie jakieś czary są ze można mieć na 7 bitach ponad 96dB dynamikę...

    Gong_SD "Nikogo nie ma w domu"

    A co do potencjometru - skoro można emulować na AVR ARM i uruchamiać Linux to czemu nie DSP ;)

    PS
    Polecam uwadze kolegi notkę aplikacyjna http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=SLYT076&track=no

    PS1

    A by nie było, projekt mi się podoba (zresztą jak i projekt syntezatora).

  • #7 08 Lip 2013 15:50
    Christophorus
    Poziom 40  

    bobeer napisał:
    Rozumiem, że nie przeczytał kolega opisu (tyle tekstu pewnie szkoda czasu) ? Oczywiście że to prototyp, ale gwarantuje, że nic mu nie będzie dolegało w warunkach pokojowych nawet po wielu latach eksploatacji.
    Czytałem cały opis. Mimo to mam wątpliwości co do trwałości tak zmontowanego urządzenia. W pokoju miałem ścienne gniazdo antenowe, które miało wbudowany rozdzielacz sygnału na kilka odbiorników. Była to profesjonalna płytka drukowana z soldermaską. Mimo to po około półtora roku płytka została uszkodzona przez wilgoć.

  • #8 08 Lip 2013 16:28
    stomat
    Specjalista elektryk

    A mógłbyś napisać co robi i do czego służy ten gadżet? Nie chce mi się czytać elaboratu o ramkach, prockach i doświadczeniach.

  • #9 08 Lip 2013 17:03
    Christophorus
    Poziom 40  

    No właśnie. Według mnie główna cecha domofonu "Nikogo nie ma w domu" nie została wyjaśniona. Mianowicie w zamierzchłej przeszłości w czasach mojej młodości ówczesna telewizja emitowała Czechosłowacki serial pod tym właśnie tytułem. Mały chłopiec był sam w domu. Ktoś dzwonił do drzwi mieszkania, a on odpowiadał "nikogo nie ma w domu". Poniżej jeden z nietłumaczonych odcinków tego serialu, jeśli ktoś jest zainteresowany. Zapewne opisywany tu gong po naciśnięciu przycisku odtwarza ten właśnie komunikat.


    Link

  • #10 08 Lip 2013 19:56
    bobeer
    Poziom 28  

    Cytat:
    To w takim razie jakieś czary są ze można mieć na 7 bitach ponad 96dB dynamikę...


    To, że z jednego bitu można mieć 100dB dynamiki to ja wiem. Chodziło mi głównie o fakt, że nie ma sensu używać rozdzielczości 16bit, skoro poziom szumu w sygnale użytecznym audio w takim rozwiązaniu, jest znacznie wyższy, niż poziom zniekształceń wynikłych z kwantyzacji dla próbek o ograniczonej rozdzielczości.

    Cytat:
    A mógłbyś napisać co robi i do czego służy ten gadżet? Nie chce mi się czytać elaboratu o ramkach, prockach i doświadczeniach.


    Przepraszam osoby które się spieszą, że istotne informacje są zwarte w różnych miejscach rozległego opisu, co wymaga poświęcenia mu aż 10ciu minut. Dla ułatwienia powtórzę w skrócie:

    Urządzenie odtwarza zapisane na karcie pliki audio raw pcm w formacie 16bit 32kHz lub 64kHz (dźwięki dzwonka są w 64kHz). Umożliwia odtworzenie 3 różnych sygnałów w zależności od tego co zostanie przyciśnięte w nadajniku. Dodatkowo po wykryciu gradientu światła mówi kiedy ostatnio ktoś dzwonił do drzwi, i czy był naciśnięty przycisk dzwonkowy czy przycisk dotykowy. W stanie spoczynku jest również odtwarzany cały czas osobny plik audio.

    Tytuł "nikogo nie ma w domu" sugeruje jedynie przydatność urządzenia podczas nieobecności domowników, chociaż nic nie stoi na przeszkodzie, aby zamiast gongu odtwarzany był głos bohatera serialu mówiącego ten tekst.

  • #11 09 Lip 2013 11:14
    deus.ex.machina
    Poziom 31  

    bobeer napisał:
    Cytat:
    To w takim razie jakieś czary są ze można mieć na 7 bitach ponad 96dB dynamikę...


    To, że z jednego bitu można mieć 100dB dynamiki to ja wiem. Chodziło mi głównie o fakt, że nie ma sensu używać rozdzielczości 16bit, skoro poziom szumu w sygnale użytecznym audio w takim rozwiązaniu, jest znacznie wyższy, niż poziom zniekształceń wynikłych z kwantyzacji dla próbek o ograniczonej rozdzielczości.


    Pogubiłem się już, wszędzie kolega pisze ze używa 16 bitowych próbek, niektóre inne projekty mogą wskazywać nawet ze dostrzega kolega potrzebę używania arytmetyki 32 bitowej by uniknąć pewnych problemów a potem formułuje kolega moim zdaniem błędną tezę jakoby PWM limitował dynamikę do 60dB czyli do ok 10 bitów. Prosiłbym o rozwiniecie w takim razie całego konceptu przetwarzania sygnałów zastosowanych przez kolegę w projektach - może nawet w oddzielnym artykule. Z góry dziękuje i pozdrawiam.

  • #12 10 Lip 2013 13:00
    vodiczka
    Poziom 42  

    bobeer napisał:
    Dodatkowo po wykryciu gradientu światła mówi kiedy ostatnio ktoś dzwonił do drzwi,

    Czemu ma służyć ta informacja?
    bobeer napisał:
    Przepraszam osoby które się spieszą, że istotne informacje są zwarte w różnych miejscach rozległego opisu, co wymaga poświęcenia mu aż 10ciu minut.

    Gdy się prezentuje DIY zaczyna się od zwięzłego przedstawienia celu, któremu konstrukcja ma służyć o ile nie jest to oczywiste, np. kolejna wersja migających światełek czy elektronicznego budzika.

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo