Elektroda.pl
Elektroda.pl
X
PLC Fatek
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

MIDI Controller by Madman07

Madman07 21 Lut 2009 16:58 6784 12
  • MIDI Controller by Madman07


    Witajcie :D

    Dzisiaj chciałem wam pokazać konstrukcję, która powinna powstać grubo rok temu. A mianowicie kontroler midi.


    Historia

    Kiedyś kiedyś zachciało mi się kontrolera midi, którym mógłbym kontrolować gałki w FL Studio. Z pomocą przyszedł mi viayner. Z jego pomocą zaprojektowałem pierwszy schemat pod Uc. On miał pisać program, jednakże miałem kłopoty przy zaprogramowaniu (za mało wcisnąłem procesor do podstawki :D ). Zatem projekt leżał. Na wakacjach udało mi się zaprogramować go, a że już miałem jakieś pojęcie o Basicu zacząłem pisać program. Później przepisałem program do C. Stworzyłem również obudowę. Oczywiście była wpadka - zepsułem potencjometry. Miałem koszulki izolacyjne na każdym kabelku i podgrzałem o opalarką. W efekcie czego kable się stopiły, a ja nieświadomy tego zacząłem obwiniać potencjometry. Ostatnio zamówiłem nowe i odratowałem w suwakowe. Teraz, na feriach pomalowałem obudowę i upchałem wszystko do niej.


    Obudowa

    Jest zrobiona z kawałków paneli podłogowych. Dla wzmocnienia w rogach dałem 4 wsporniki z drewna. Całość łączona małymi gwoździkami i wikolem. Góra i tył wykonana z aluminiowej blachy, pomalowanej czarną farbą ognioodporną (tylko taka mi została, bardzo szybko schnie). Dodatkowo musiałem dorobić wsporniki dla przycisków. Wyświetlacz jak i diody przymocowane zostały "glutem". Mam nadzieje, ze zbytnio nie pojedziecie po mnie, ale ja go bardzo lubię. Ledwo udało mi się upchać wszystko. Niezłym pomysłem byłoby zaprojektowanie dużej PCB zamiast łączenia kablami, może kiedyś tak zrobię. Napisy są wydrukowane na papierze samoprzylepnym na drukarce atramentowej (powinny być na laserowej).


    Elektronika

    Sercem układu jest PIC16F871. Oczywiście mogłem użyć jakiejś Atmegi, ale viayner mnie zaraził PIC'ami i tak już zostało :D Można było wykorzystać jakiś zewnętrzny przetwornik i mniejszy proc, ale jako że to był pierwszy projekt, to nie chciałem go komplikować. Oczywiście w miarę rozwoju projektu wykorzystałem pozostałą pamięć i porty. Ze względu na 8 wejść ADC użyłem 8 potencjometrów.

    Schematu nie mam. Był schemat kiedyś oraz wzór płytki, ale później zachciało mi się dodatkowych przycisków, diody i wyświetlacza, a że nie miałem chęci projektować wszystkiego od początku, wykorzystałem kawałek płytki uniwersalnej.





    Schemat jest bardzo prosty, do uc podłączono:
    - 2 diody,
    - 6 przycisków,
    - wyjście midi,
    - stabilizator,
    - 8 potencjometrów,
    - wyświetlacz led multipleksowany (aczkolwiek miał osobne wyprowadzenia, jednak chciałem nauczyć się, jak usługiwać multipleksowanie).


    Program

    Pisany w C. Kompilator to mikroC. Zajmuje ok. 75% pamięci procka. Dla chętnych mogę bez problemu udostępnić, wystarczy spytać tutaj, na forum :D Mam świadomości, że nie jest to optymalny kod, ale dopiero się uczę.

    Udało mi się też włożyć w to 4 presety, które można wybrać przy starcie:

    - wysyłanie „pustych” komunikatów – przydatne do programów w PC,
    - sterowanie kanałami 1-4;
    - sterowanie kanałami 7-10;
    - sterowanie kanałami 12-15;

    3 ostatnie presety są zgodne ze standardem GM MIDI (oprócz przycisku Play/Stop). Urządzenie pozwala kontrolować 2 kanały naraz, kolejne 2 po włączeniu Shift:
    - głośność,
    - balans,
    - modulacja,
    - ekspresja,

    Przyciski ustawiają głośność na poziomie 0 bądź na poziomie, na jakim znajduje się suwak.

    Dla pustych komunikatów przyciski działają jak przyciski włącz/wyłącz, wysyłają puste komunikaty.


    Koszty

    Części były kupowane na 3 tury chyba, część z odzysku zatem szacuję, że około 150-200zł mnie to wyniosło, gdzie podobny sprzęt można kupić za 500zł.


    Nauka

    Może i soft pisany w C, ale i tak nauczyłem się kilku rzeczy:

    - C - uczyłem się go wprost z dokumentacji kompilatora i gotowych przykładów,
    - multipleksowanie,
    - obsługa bibliotek ADC, USART, i itp.


    Na koniec

    Wiem, że obudowa nie jest fajna, trochę odstawiłem fuszerkę ale nie jest tak źle. Nie widać też różnicy między napisami a obudowa (chyba, że patrzy się pod światło). Jak macie pytania to piszcie, nie sposób tutaj napisać wszystkiego tym bardziej, ze połowę rzeczy zapomniałem :D A i jeszcze zdjęcia:


    MIDI Controller by Madman07 MIDI Controller by Madman07 MIDI Controller by Madman07 MIDI Controller by Madman07 MIDI Controller by Madman07 MIDI Controller by Madman07 MIDI Controller by Madman07 MIDI Controller by Madman07 MIDI Controller by Madman07


    Fajne!
  • Semicon
  • #2 21 Lut 2009 18:29
    WMichał
    Poziom 31  

    Bardzo ciekawy projekcik. Pisałeś, że pod FL Studio, więc jak to się sprawuje z tym programem?

  • Semicon
  • #3 22 Lut 2009 11:19
    Patol
    Poziom 22  

    Czy mógłbyś zamieścić wsad do PIC'a? A może masz jeszcze źródła? Projekt bardzo mnie zaciekawił, mam kilka sztuk 18F452 jeszcze z sampli czy można byłoby je wykorzystać? Pozdrawiam.

  • #4 22 Lut 2009 12:05
    Madman07
    Poziom 19  

    WMichał napisał:
    Bardzo ciekawy projekcik. Pisałeś, że pod FL Studio, więc jak to się sprawuje z tym programem?


    Sprzęt ładnie chodzi. Po ustawieniu wejścia MIDI wystarczy na jakiejkolwiek gałce dać Link to Controller i poruszyć gałka na kontrolerze. Program od razu przypisuje rzeczywistą gałkę do wirtualnej. Próbowałem tylko z ustawieniem dla "pustych" komunikatów.

    Patol napisał:
    Czy mógłbyś zamieścić wsad do PIC'a? A może masz jeszcze źródła? Projekt bardzo mnie zaciekawił, mam kilka sztuk 18F452 jeszcze z sampli czy można byłoby je wykorzystać? Pozdrawiam.


    To ja może dam źródło, jest w załączniku. Z oryginalnych bibliotek kompilatora wykorzystuję biblioteki ADC i USART. Tego procka można śmiało wykorzystywać, jest bardzo podobny do 16F871. Śmiało byś mógł porządnie rozbudować kontrolera z taką :D

  • #5 22 Lut 2009 12:31
    Korko_czong
    Poziom 12  

    Czegoś takiego szukałem. Czy kolega mógłby zamieścić schemat?

  • #6 22 Lut 2009 13:47
    Madman07
    Poziom 19  

    Korko_czong napisał:
    Czegoś takiego szukałem. Czy kolega mógłby zamieścić schemat?


    Jest tylko część schematu. Reszta, z biegiem czasu powstała na płytce uniwersalnej, czyli dioda Data Send, przycisk Play\Stop oraz wyświetlacz led (do którego schemat można znaleźć, np na wkretak.pl).

    MIDI Controller by Madman07

    Dodano po 2 [minuty]:

    A i wyjście midi, które tutaj na schemacie jest źle narysowane.

  • #7 22 Lut 2009 16:58
    Woytek130
    Poziom 16  

    ładne urządzenie:) przyjrzyj się naklejce przy wtyku zasilania- masz + na obudowie? :o
    pozdrawiam

  • #8 22 Lut 2009 18:56
    Madman07
    Poziom 19  

    Woytek130 napisał:
    ładne urządzenie:) przyjrzyj się naklejce przy wtyku zasilania- masz + na obudowie? :o
    pozdrawiam


    Wielkie dzięki za info. Sam robiłem naklejkę ale tak - rzeczywiście mam na obudowie + (jakiś stary zasilacz wtyczkowy od Pegasusa). Na szczęście blacha tylna niczego nie dotyka, podejrzewam też, że farba izoluje :D

  • #9 23 Lut 2009 21:09
    Woytek130
    Poziom 16  

    tak,farba powinna izolować.choć najbezpieczniej zamienić gniazdo na plastikowe ;) miałem tak kiedyś z efektem gitarowym - nie było farby i przez nieuwagę 9v z zasilacza poszło na wejście OpAmpa :)

    pozdrawiam.

  • #10 28 Maj 2009 15:12
    Pasior13
    Poziom 9  

    cze
    mógłbyś wypisać listę konkretną komponentów zastosowanych do budowy tego kontrolera ?
    byłbym wdzięczny

  • #11 28 Maj 2009 16:07
    Madman07
    Poziom 19  

    Trochę z pamięci pisze, bo nigdzie nie mam kompletnego schematu. Płytka główna:

    Kondensatory:
    - 9x 100n,
    - 2x 27p,
    - 1000u,
    - 10u,
    - 10n,

    Rezystory:
    - 8x potencjometry 10-100k A,
    - 6x 10k,
    - 2x 220 om,
    - 2x 400om w zależności od diody,

    Inne:
    - kwarc 10MHz,
    - procek PIC16F871,
    - LM7805,
    - 2 małe 3mm diody,
    - kilka przycisków,
    - wejście zasilania,
    - wyjście MIDI,

    Co do płytki wyświetlacza to jeżeli dobrze pamiętam to:
    - 2x BC547 (nie jestem pewny),
    - jakieś rezystory,

    O wyświetlaczu można znaleźć w necie dużo, więc wyszukanie informacji nie powinno być trudne.

  • #12 28 Maj 2009 16:43
    Pasior13
    Poziom 9  

    dzięki wielkie ,o to chodziło :D

    mam jeszcze trochę nooberskie pytania :P ...
    skąd masz tą płytkę (w dosłownym znaczeniu , to zielone) od płyty głównej ? da radę jakaś stara od innego urządzenia (klawiatura etc) ? lub gdzie znajdę całą z resztą podzespołów typu kondensatory etc ?

    i czym kierować się przy zakupie procka ,bo wydaję mi się że nie każdy by się nadawał ? ewentualnie to samo co wyżej : da się go uzyskać metodą odzysku z jakiegoś starego sprzętu :p ?

    z góry dzięki za pomoc, jeśli nie chcesz zaśmiecać swojego tematu zapraszam do mojego :
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=6586059

  • #13 03 Cze 2009 12:25
    Madman07
    Poziom 19  

    Sam zrobiłem. Jak nie umiesz / nie chcesz / nie masz jak zrobić płytki drukowanej, to przecież są płytki uniwersalne :) Rezystory 10k najlepiej kupić (np taki zwój 100 sztuk za 1-2 zł), bo one się często przydają przy prockach. Ewentualnie możesz poszukać w jakiś starych płytkach na złomie, czasami cuda tam można znaleźć:) Procesora raczej nie znajdziesz tak łatwo...

    Czym się kierować? Liczbą wyprowadzeń, wejść analogowych, ilością pamięci, prędkością itp...