logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Realizacja sterownika oświetlenia dyskotekowego na Atmega8

danio531 30 Sie 2011 22:10 2678 10
REKLAMA
  • #1 9879813
    danio531
    Poziom 18  
    Witam serdecznie.

    Mam nadzieję, że ten temat przyda się niejednemu użytkownikowi i pomoże w rozwianiu nie tylko moich wątpliwości.

    Z racji, że chciałbym się pozytywnie rozwijać co do moich umiejętności wybrałem sobię odważne zadanie stworzenia przydatnego mi urządzenia. Byłby to sterownik oświetlenia na znanym Atmega8. Stworzyłem sobie prosty programator, wszystko działa więc.... stop. Mętlik.

    Sterownik ma mieć 4 tryby.
    1. Wyłączony
    2. Włączony (ciągłe światło)
    3. Stroboskop z regulacją częstotliwości
    4. np: Miganie w rytm basu

    Wiem jak chciałbym to zrealizować ale na dobrą sprawę za mało wiem o programowani, a właściwie nic porównując do niektórych. W mojej głowie utworzył się taki prosty schemat przyciski/potencjometry -> atmega8 -> sterowanie reflektorami przez optotriak - triak.

    Po wczytaniu się w temat próbowałem znaleźć jakieś pomocne materiały którymi mógłbym się podeprzeć. Porwałem się na BASCOM gdyż wydawało mi się, że jest to najprostszy język a mi w końcu nic skomplikowanego nie trzeba. No i zaczęły się schody... Zdefiniowałem sobie wejścia i wyjścia atmegi ale w końcu się pogubiłem jak to wszystko stworzyć, żeby miało ręce i nogi.

    Zrobić kilka wejść -> program -> jedno wyjście do wszystkich optotriaków?
    A może kilka wejść z przyciskami i potencjometrami a do tego kilka wyjść dla każdej funkcji?
    Jak w ogóle to wszystko zacząć? Ehh tragedia. Nie wiem czy porwałem się z motyką na księżyc czy jest to możliwe ale wymaga duuużo pracy...

    Proszę o rady i uświadomienie mnie czy to w ogóle ma sens.
    Dziękuję z zainteresowanie się tematem.
  • REKLAMA
  • Pomocny post
    #2 9880043
    Dragas
    Poziom 26  
    Na Bascomie się nie znam, lecz mogę pomóc co nieco z C.
    Tryby on/off, to raczej sobie poradzisz bez problemu. Jeśli chodzi o tryb stroboskopu, to proponuję zrobić na opóźnieniach na początek, będzie najprościej. Miganie w rytm muzyki, to najlepiej zrobić przez jakiś wzmacniacz operacyjny, przenieść skalę o połowę w górę lub obciąć dolną część, a następnie to co wyjdzie, dać na wejście ADC. I tutaj można podzielić jeszcze na 2 podtryby (w zależności od natężenia dźwięku lub zaświecić, jeśli przekroczy jakiś zakres).
    Polecam na początek przeczytać sobie mały kurs o C, na przykładzie atmegi 8 Link

    Pozdrawiam Dragas
  • REKLAMA
  • #3 9880101
    danio531
    Poziom 18  
    Dzięki wielkie, o taką konkretnie pomoc mi chodziło! Dziś to już trochę późno ale na pewno z lektury skorzystam w najbliższym czasie. A, że mam za sobą początki C w szkole to nie powinno być tak źle :)

    Czekam na kolejne podpowiedzi jeśli ktoś ma jeszcze jakieś ciekawe a zarazem proste pomysły.
  • Pomocny post
    #4 9881001
    jan1996
    Poziom 24  
    Mam schemat tego co chcesz tyle że analogowy jednakże może wykorzystac tylko część schematu odpowiedzialną za miganie w rytm basu Link jednakżę jeżeli chciał byś robić na uc miganie z określoną częstotliwością to nie jest to zbyt trudne ale ale miganie w rytm basu to już trochę cięższa sprawa oczywiście w atmegach są przetworniki ADC które zamieniają sygnał analogowy na cyfrowy i je obsługiwać byś się musiał nauczyć. No i oczywiście algorytm wyłapujący bity z sygnału jednakże może cię trochę zniechęciłem ale uc to naprawdę fajna rzecz
  • REKLAMA
  • #5 9881105
    Dragas
    Poziom 26  
    Poniżej przedstawiam kod, który używam do pomiaru ADC
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Jak na razie, nie zawiódł mnie on.
    Użycie kodu:
    1. Inicjalizacja ADC:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Dajesz to na początku kody, w main()
    2. Jeśli najdzie Ciebie ochota, na odczytanie aktualnego napięcia, używasz takiego czegoś:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Przy użyciu instrukcji warunkowej, możesz określić po przekroczeniu jakiego poziomu, zostanie ustawiony stan 1 na wyjściu uC, które idzie do triaka.
    Do wzmocnienia sygnału audio uzyj schematu z linku przedstawionego przez kolegę jan1996, tylko sprawdz, czy na wyjściu jest napięcie zmienne, czy już stałe (chodzi mi o to, czy na wyjściu jest napięcie z zakresy 0V-5V, aby nie spalić atmegi ujemnymi napięciami).

    Pozdrawiam Dragas
  • REKLAMA
  • #6 9885672
    danio531
    Poziom 18  
    Ostatnio mam trochę mało czasu ale małymi kroczkami męczę AVR Studio. Dzięki wielkie za kod, to spora pomoc. Mam nadzieję, że coś z tego wszystkiego się uda i będe mógł zaprezentować mój wynalazek na elektrodzie :) Ale do tego jeszcze dłuuga droga gdyż często musze nadrabiać brak informacji i wszystko się przeciąga...
  • #7 9885852
    Dragas
    Poziom 26  
    Dlatego proponuję na chwilę odłożyć ten projekt, i od początku zacząć nauki C dla uC. W linku znajduje się rozbudowana wersja z poprzedniego linku. Link do wersji rozszerzonej
  • #8 9888927
    danio531
    Poziom 18  
    jan1996 napisał:
    Mam schemat tego co chcesz tyle że analogowy jednakże może wykorzystac tylko część schematu odpowiedzialną za miganie w rytm basu Link


    Możliwe, że gdy zwątpie w siebie czego jestem bliski to pobawię się z tym linkiem. To jest właściwie to czego potrzebuje... Chwilowo próbuję coś zdziałać w C i skutki są różne. Są sukcesy i porażki. Potrzeba czasu, jeśli czas się skończy będe zmuszony zrobić analoga.
  • #9 9889678
    jan1996
    Poziom 24  
    jeżeli chcesz zająć się uc na poważnie proponuje zakupić książkę na temat programowania avr w c jest ich naprawdę dużo i niektórych księgarniach i na serwisach aukcyjnych książka dużo ułatwia. Większość z nich tłumaczy wszystko od podstaw od diody i przycisku po obsługę peryferiów uc i wyświetlaczy lcd.powinno to znacznie ułatwić stworzenie systemu oświetleniowego. Apropo wykrywania bitów w dźwięku to proponuje poszukać po internecie może nawet znajdzie się jakaś biblioteka pomagająca w tym co by bardzo ułatwiło sprawę.
  • #11 10050893
    danio531
    Poziom 18  
    Wystarczło trochę samozaparcia :) Dałem nawet radę bez literatury ale przy jednej opcji musiałem już podeprzeć się kolegą z trochę większą wiedzą więc pewnie książka to i tak kiedyś konieczność. Dzięki wszystkim za zaangażowanie. Mam nadzieje, że za jakiś czas przedstawię swój projekt w dziale DIY :)
REKLAMA