Spisu treści:
- Krok 1: Sterowanie VS1053
- Krok 2: Korzystanie z sonarów
- Krok 3: Dodawanie wyświetlacza
- Krok 4: System menu
- Krok 5: Lutowanie razem
- Krok 6: Dodawanie zasilacza
- Krok 7: Dodawanie głośników
- Krok 8: Stacja dokująca
- Krok 9: Tworzenie sprawy
- Krok 10: Przyszły rozwój
Wideo: Echosonda MIDI „Theremin”: 10 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
Jest to instrument muzyczny, który wykorzystuje dwa czujniki odległości sonaru do kontrolowania wysokości i jakości nut. Nie jest to oczywiście Theremin, ale „Theremin” stał się ogólnym terminem określającym instrumenty, na których gra się przez machanie rękami.
Posiada wbudowany syntezator MIDI, wzmacniacz i głośniki. Nuty są wytwarzane przez chip MIDI – VS1053 – który ma 127 głosów (tj. rzekomo różne instrumenty). Posiada wysoki stopień polifonii (do 64), dzięki czemu może grać pojedyncze nuty lub akordy.
Twoja prawa ręka kontroluje odtwarzaną nutę. W trybie „dyskretnym” przestrzeń po prawej stronie jest podzielona na „kosze”. Gdy twoja ręka wchodzi do kosza, zaczyna się notatka dla tego kosza. Kiedy wyjdziesz z kosza, nuta może się zatrzymać (np. organ) lub naturalnie umrzeć (np. fortepian).
W trybie „ciągłym” spacja po prawej stronie określa bezstopniowo zmienną wysokość dźwięku – jak w oryginalnym Thereminie. Notatka zaczyna się, gdy twoja ręka wejdzie w przestrzeń i zatrzymuje się, gdy ją opuścisz.
Twoja lewa ręka kontroluje jakość odtwarzanej nuty. Może kontrolować głośność, tremolo, vibrato, pitch-bend, pogłos itp.
Mały ekran LCD posiada menu, które pozwala wybrać aktualny instrument, funkcję lewej ręki, skalę (lub „klawisz”) prawej ręki, vibrato, tremolo itp. Możesz zapisać i wczytać różne „Ustawienia i szybko przełączaj się między nimi podczas występu.
Cały instrument MIDI „Theremin” działa samodzielnie z własnym głośnikiem i akumulatorem.
Jeśli zamierzasz skopiować moją wersję, będziesz potrzebować Arduino Nano (1,50 GBP), modułu VS1053 (4,50 GBP), wyświetlacza LCD 1,44 ST7735 (3,50 GBP), dwóch modułów HC-SR04 (1 GBP każdy) i kilka rezystorów. Będziesz też potrzebować trochę zasilanych głośników i być może ogniwa litowego i zasilacza, ale szczegóły będą zależeć od tego, jak zdecydujesz się go zbudować. Wszystkie te dodatki mam ze sprzedaży butów samochodowych i sklepów charytatywnych. Plus ty będę potrzebować zwykłych elektronicznych akcesoriów warsztatowych.
Krok 1: Sterowanie VS1053
Wybrałem moduł VS1053 pokazany na zdjęciu. (Zwróć uwagę na dwa regulatory SOT223, dwa gniazda jack i położenie złącza.) Przeszukaj eBay, Alibaba lub swojego ulubionego dostawcę, aby znaleźć moduł VS1053, który wygląda tak. Są one dostępne z Aliexpress tutaj i tutaj.
Kupiłem go kilka lat temu i wydaje się, że nie jest już dostępny na eBayu, tylko na Alibaba. Czerwona wersja PCB jest już dostępna w serwisie eBay. Wydaje się, że jest funkcjonalnie identyczny, ale pinout jest inny, więc będziesz musiał dostosować moje schematy i układy. Nie testowałem tego. W dyskusji (poniżej) znajdziesz instrukcję jak dodać rezystor do czerwonej płytki, aby włączyć "live" MIDI. Możesz też wysłać dodatkowe polecenia podczas konfiguracji, aby je włączyć.
VS1053 to drobny chip, ale dość skomplikowany. Używam tylko części MIDI. Możliwe jest sterowanie VS1053 przez interfejs szeregowy, ale używam magistrali SPI, ponieważ jest to wygodniejsze z Arduino Nano. Każdy bajt wysyłany przez magistralę SPI jest traktowany jako polecenie MIDI.
Listę poleceń MIDI znajdziesz w sieci. VS1053 odpowiada niektórym, ale nie wszystkim. Program Miditheremin0.exe pokazuje te, o których wiem, że działają.
Arkusz danych VS1053 można pobrać z Internetu. To ogromny dokument i jest trudny. Sekcja „8.9 Obsługiwane formaty MIDI” to prawie wszystko, co mówi o MIDI. Sekcja "10.10 Real-Time MIDI" mówi o używaniu GPIO0 i GPIO1 do włączenia MIDI, ale płyta, którą mam nie wymagała żadnego specjalnego włączenia. Możesz także pobrać listę komunikatów MIDI (nie wszystkie z nich są obsługiwane przez VS1053).
Podłącz moduł VS1053 do Arduino Nano, jak pokazano, i prześlij plik INO do Arduino. Użyłem płyty bez lutowania. Na tym etapie nie mam jej zdjęcia, ale możesz zobaczyć płytkę prototypową z innymi komponentami w kroku poniżej.
Szkic INO odbiera bajt z komputera PC przez linię szeregową i wysyła bajt do VS1053. To bardzo prosty program, który pozwala przetestować VS1053. Podłącz gniazdo wyjściowe jack do słuchawek lub głośnika komputerowego.
Program Windows Miditheremin0.exe (pobierz Step1.zip z github) wysyła polecenia do VS1053. Kliknij przycisk „90 nut vel”, aby zagrać nutę. Możesz też napisać własny program Windows. Lub skorzystaj z jednego z wielu programów terminalowych dostępnych w Internecie.
Moduł VS1053 posiada następujące wyprowadzenia:
- magistrala SPI ma zwykłe MISO, MOSI i SCLK
- jeśli XRST jest niski, chip resetuje się
- XDCS nie robi nic w trybie SPI, więc powiąż go z XCS
- XCS to wybór chipów
- DREQ informuje, kiedy chip jest gotowy na nowe polecenie.
XCS powinien być ustawiony na niski podczas wysyłania bajtu; potem wysoko. W ten sposób masz pewność, że zsynchronizowałeś pierwszy bit każdego bajtu. Odczytanie DREQ mówi, że chip jest gotowy na przyjęcie nowego polecenia.
Po tym, jak Arduino wyśle bajt, musi wysłać bajt fikcyjny, aby przełączyć zegar i umożliwić VS1053 odesłanie bajtu w odpowiedzi. Funkcja SPItransfer() pokazuje jak.
Czerwony moduł dostępny w serwisie eBay zawiera gniazdo kart SD, dzięki czemu ma kilka dodatkowych pinów. Ignoruj ich.
Teraz masz pewność, że potrafisz sprawić, by VS1053 działał, zmienimy go w bardziej instrument muzyczny.
Krok 2: Korzystanie z sonarów
Podłącz moduły HC-SR04 do Arduino Nano, jak pokazano, i prześlij plik INO do Arduino.
Zauważ na schemacie, że DC3 - kondensator odsprzęgający dla modułów HC-SR04 - powinien być podłączony blisko modułów HC-SR04. Podczas transmisji pobierają dość duży prąd, który dostarcza DC3.
Na tym etapie projektu komputer z systemem Windows nadal wysyła polecenia do VS1053, ale VS1053 jest również kontrolowany przez czujniki sonaru HC-SR04 (pobierz Step2.zip z github).
Wszystkie nowe polecenia zaczynają się od 0xFF i są interpretowane przez szkic Arduino (zamiast są wysyłane bezpośrednio do VS1053). Bajty inne niż „polecenie FF” są wysyłane do VS1053.
Dostępne są polecenia zmiany instrumentu, zmiany skali, dodania vibrato i tremolo itp. Program można uruchomić w trybie „dyskretnym”, w którym występują oddzielne nuty (jak fortepian) lub w trybie „ciągłym”, w którym występuje pojedyncza nuta pochylony w górę iw dół (jak theremin).
Robi całkiem dobrze wszystko, co zrobi ostateczny instrument, ale jest kontrolowany przez komputer.
Prawy czujnik sonaru HC-SR04 wybiera wysokość odtwarzanej nuty. W trybie „dyskretnym” przestrzeń po prawej stronie jest podzielona na „kosze”. Gdy twoja ręka wchodzi do kosza, zaczyna się notatka dla tego kosza. Kiedy wyjdziesz z kosza, nuta może się zatrzymać (np. organ) lub naturalnie umrzeć (np. fortepian). Gdy twoja ręka wchodzi do kosza, kosz nieznacznie się rozszerza, aby nie drgać na jego krawędzi.
Funkcja GetSonar() zwraca czas do pierwszego echa. Ignoruje bardzo szybkie echa (czas trwania < 10), które HC-SR04 czasami zgłasza. Jeśli żadne echo nie zostało odebrane przez maxDuration, zwraca maxDuration. Czas trwania nie jest mierzony w żadnych konkretnych jednostkach - to tylko liczba.
W trybie Discrete czas trwania jest najpierw filtrowany w celu usunięcia sporadycznych przerw (gdy nie jest odbierane echo). Zakłada się, że ręka jest obecna dopiero po odebraniu 10 próbek z maxDuration. Następnie czas trwania jest filtrowany za pomocą filtru Mediana. Filtry medianowe są dobre w usuwaniu „impulsywnych” szumów (tj. okazjonalnych skoków). Przefiltrowany czas trwania służy do wyboru pojemnika.
W trybie ciągłym czas trwania jest ponownie filtrowany, aby usunąć sporadyczne przerwy. Następnie jest wygładzany za pomocą filtra wykładniczego. Filtrowany czas trwania jest używany do ustawienia częstotliwości nuty za pomocą „pitch bend”.
Krok 3: Dodawanie wyświetlacza
Wyświetlacz to kolorowy ekran TFT LCD 1,44 z kontrolerem ST7735, 128x128 pikseli. W serwisie eBay dostępnych jest wiele ekranów, na przykład możesz chcieć rozwinąć swój instrument większym ekranem dotykowym. Nie używałem ST7735 kontrolera i chciałem go wypróbować.
Dostałem swoją od tego dostawcy. Ten sam moduł jest szeroko sprzedawany w serwisie eBay - po prostu kup taki, który wygląda tak samo jak na zdjęciu.
Wyświetlacz LCD posiada następujące wyprowadzenia:
- GND uziemienie
- VCC 3,3 V
- SCL SPI autobus SCLK
- Magistrala SDA SPI MOSI Arduino
- reset OZE
- Dane/polecenie DC
- Wybór chipa CS
- BL podświetlenie
Moduł działa na 3,3 V, więc nie należy podłączać go bezpośrednio do Arduino 5 V. Do obniżenia napięcia użyłem rezystorów 1k. To nie jest dobra praktyka (ogólnie należy użyć dzielnika potencjału lub układu obniżającego napięcie), ale sprawdza się w tym układzie doskonale. Byłem leniwy.
Wyświetlacz zasilany jest napięciem 3,3V dostarczanym przez Arduino. Regulator Arduino wydaje się wystarczająco szczęśliwy.
Adafruit bardzo uprzejmie publikuje bibliotekę ST7735, a kilka innych bibliotek jest dostępnych na Github i innych miejscach. Próbowałem kilku i nie podobały mi się żadne z nich. Niektóre po prostu nie działały, a wszystkie były ogromne. Piszesz szkic Arduino, który rysuje linię i trochę tekstu, i znajdujesz swoją pamięć, jeśli jest zapełniona w 75%. Więc napisałem własną bibliotekę.
Bibliotekę SimpleST7735 można pobrać (pobierz Step3.zip z github).
Posiada standardowy zestaw poleceń rysunkowych, bardzo podobny do wszystkich takich bibliotek.
Niektóre z „szybkich” bibliotek, które można pobrać, używają specjalnych pętli czasowych i denerwują się, gdy inne, być może wolniejsze, urządzenia są używane na tej samej szynie. SimpleST7735 jest napisany w C, a nie w asemblerze, więc nie jest tak szybki, jak mógłby być, ale jest znacznie bardziej przenośny i uprzejmie współdzieli magistralę SPI z innymi urządzeniami. Można pobrać program Windows, który umożliwia tworzenie własnych czcionek i ikon.
Arkusz danych ST7735 można pobrać z Internetu. Mówisz do tego przez
- ustaw CS nisko
- ustaw DC niski
- wyślij bajt polecenia
- ustaw DC wysoki
- wyślij zero lub więcej bajtów danych
- ustaw CS wysoko
Możesz zobaczyć jak to robię w funkcji spiSend_TFT_CW() w bibliotece. Bajty danych mogą być całym rzędem pikseli lub ustawieniem rejestru kontrolnego.
Funkcja ST7735Begin() w bibliotece pokazuje wybrany przeze mnie zestaw poleceń inicjalizacji. Możesz chcieć zmienić polecenia, jeśli wybierzesz inny wyświetlacz ST7735 (np. z większą liczbą pikseli) lub chcesz inną orientację. Mam nadzieję, że mój kod jest dla ciebie łatwy do zobaczenia, jak go zmienić, jeśli zajdzie taka potrzeba.
Schemat pokazuje przycisk sterujący „SW1” i pedał SW2”. Przycisk sterujący wybiera różne „Ustawienia” (patrz następny krok) lub wybiera tryb menu. Pedał nożny jest opcjonalny i wybiera tylko różne ustawienia – nie zrobiłem tego Sam założyłem pedał nożny. Ustawienia są przydatne podczas występu, gdy chcesz szybko zmienić tonację lub zmienić instrument.
Krok 4: System menu
Ten szkic Miditheremin3.ino Arduino dodaje system menu do MIDI Theremina i steruje ostatecznym kompletnym instrumentem.
MIDI Theremin zwykle działa w trybie „Play”. Prawa ręka wybiera nutę, a lewa kontroluje jakość nuty. Wyświetlacz LCD wyświetla klawiaturę fortepianu z podświetloną bieżącą nutą.
Jeśli przytrzymasz przycisk sterujący przez jedną sekundę, program przejdzie w tryb "Menu". W trybie Menu, jeśli przytrzymasz przycisk sterowania przez jedną sekundę, program powróci do trybu „Play”.
Menu ma strukturę drzewa z głównymi pozycjami i podpozycjami. Aktualna pozycja menu jest podświetlona. Przesuwasz wybór w górę/w dół za pomocą lewego sonaru. Podmenu głównego elementu są rozwijane tylko wtedy, gdy wybrany jest główny element.
Po wybraniu podmenu, po kliknięciu przycisku, wartość tego elementu zostanie podświetlona. Lewa ręka zwiększa lub zmniejsza wartość. Kliknij ponownie przycisk, aby wrócić do wybierania podmenu.
W trybie dyskretnym drzewo menu to
-
Instrument
- 0: Fortepian
- Zamiana rąk: normalna
- Prawa ręka
Tryb: dyskretny
- Lewa ręka
- Tryb: Wibrato
- Maksymalna głębokość: 10
- Skala
- Skala: główna heptatoniczna
- Oktawy: 2
- Najniższa nuta: 60 C
-
Akord
- Akord: triada durowa
- Inwersja: 0
- Polifonia: 1
-
Tremolo
- Rozmiar: 20
- Okres: 10
-
Wibrato
- Rozmiar: 20
- Okres: 10
Instrumentem może być „Grand Piano”, „Organy kościelne”, „Skrzypce” itp. W VS1053 jest 127 instrumentów, z których wiele brzmi identycznie, a wiele jest głupich jak „strzał z broni palnej”. Podmenu Swap Hands pozwala na zamianę funkcji lewej i prawej ręki – być może wolisz to w ten sposób, a może chcesz, aby głośniki były skierowane w stronę publiczności.
Prawa ręka może być „dyskretna” lub „ciągła”. Zobacz poniżej menu „ciągłe”.
Lewa ręka może kontrolować „Volume”, „Tremolo”, „Vibrato”, „PitchBendUp”, „PitchBendDown”, „Reverb”, „Polyphony” lub „ChordSize”.
„Głośność” jest oczywista. „Tremolo” to szybka zmiana głośności; lewa ręka kontroluje wielkość wariacji; okres jest ustawiany przez inną pozycję menu. „Vibrato” to szybka zmiana wysokości dźwięku; lewa ręka kontroluje wielkość wariacji; okres jest ustawiany przez inną pozycję menu. „PitchBendUp” i „PitchBendDown” zmieniają wysokość odtwarzanej nuty; lewa ręka kontroluje wielkość zagięcia. „Reverb” nie robi wrażenia w VS1053; lewa ręka kontroluje wielkość pogłosu. „Polifonia” kontroluje, ile nut jest odtwarzanych jednocześnie, aż do maksimum ustawionego w menu Polifonia (patrz poniżej). „ChordSize” oznacza, że lewa ręka kontroluje liczbę granych nut akordu (patrz poniżej).
W muzyce „skala” lub „klucz” to podzbiór nut, których używasz. Na przykład, gdybyś ograniczył się do heptatonicznej gamy C-dur, grałbyś tylko białe nuty fortepianu. Jeśli wybierzesz C# Major Pentatonic, użyjesz po prostu czarnych nut (np. dla szkockich melodii ludowych).
Menu Skala wybiera nuty, którym odpowiada spacja prawej ręki i ile oktaw obejmuje spacja prawej ręki. Jeśli więc wybierzesz 1 oktawę E-dur, przestrzeń po prawej stronie zostanie podzielona na 8 przedziałów, z E na najniższym tonie i E o oktawę wyżej na najwyższym tonie.
Menu Skala pozwala wybrać wiele nietypowych skal „niezachodniej muzyki”, ale zakłada, że wszystkie nuty pochodzą z klawiatury równomiernie temperowanej - tak działa MIDI, nie można łatwo określić częstotliwości nuty. Więc jeśli chciałbyś, powiedzmy, arabskiej skali ćwierćtonowej, miałbyś kłopoty.
Podmenu Oktawy pozwala wybrać, ile oktaw w skali chcesz. A Najniższa nuta mówi, gdzie zaczyna się skala.
Zwykle, gdy grana jest nuta, rozbrzmiewa tylko ta nuta. Menu Chord pozwala na jednoczesne zagranie kilku nut. Akord Major Triad oznacza „graj wybraną nutę plus nutę cztery półtony wyżej plus nutę siedem półtonów wyżej”.
Podmenu Inversion zawiera inwersje akordów. Oznacza to, że przenosi niektóre nuty akordu o jedną oktawę niżej. Pierwsza Inwersja przesuwa wszystkie „dodatkowe” nuty o oktawę w dół, druga Inversion przesuwa o jedną dodatkową nutę mniej i tak dalej.
Podmenu Polyphony informuje, ile nut jest granych jednocześnie; jeśli polifonia wynosi 1, to gdy zaczyna się jedna nuta, poprzednia zostaje zatrzymana; jeśli polifonia jest większa, kilka dźwięków może się nakładać - spróbuj z organami kościelnymi.
Menu Tremolo określa głębokość dowolnego tremolo i okres cyklu tremolo. Okres „100” oznacza jeden cykl na sekundę. Jeśli lewa ręka kontroluje tremolo, podmenu Rozmiar jest ukryte.
Menu Vibrato określa wielkość dowolnego vibrato i okres cyklu vibrato. Jeśli lewa ręka kontroluje vibrato, podmenu Rozmiar jest ukryte.
Program pozwala na zapisanie i załadowanie do 5 różnych "ustawień". Konfiguracja przechowuje wszystkie wartości, które można ustawić w menu. Gdy wyjdziesz z trybu Menu, bieżąca konfiguracja zostanie zapisana. Konfiguracje są zapisywane w pamięci EEPROM.
W trybie odtwarzania kliknięcie przycisku powoduje przejście do następnej konfiguracji. Jeśli przytrzymasz przycisk przez jedną sekundę, pojawi się menu. Naciśnięcie pedału nożnego również powoduje przejście do następnego ustawienia; pedał nożny nigdy nie wybiera menu.
W trybie ciągłym drzewo menu to
-
Instrument
- 0: Fortepian
- Zamiana rąk: normalna
- Prawa ręka
Tryb: ciągły
-
Zasięg
- Liczba półtonów: 12
- Nuta środkowa: 60 C
- Lewa ręka
- Tryb: Tremolo
- Maksymalna głębokość: 10
-
Tremolo
- Rozmiar: 20
- Okres: 10
-
Wibrato
- Rozmiar: 20
- Okres 10
Menu Zakres wybiera, jaki zakres częstotliwości określa prawa ręka: liczba przesłoniętych półtonów i środkowa nuta.
Lewa ręka może sterować tylko „Volume”, „Tremolo” i „Vibrato”.
Krok 5: Lutowanie razem
Zbudowałem obwód na stripboardzie. Nie widzę sensu robienia płytki drukowanej jednorazowo z zaledwie 4 rezystorami, ale zdaję sobie sprawę, że niektórzy ludzie nie lubią stripboardu.
Mój układ stripboardu jest pokazany powyżej. Cztery płytki - Arduino, VS1053, wyświetlacz i stripboard - tworzą kanapkę. W układzie kontur Arduino jest żółty, VS1053 niebieski, wyświetlacz zielony, a stripboard pomarańczowy.
Linie cyjan to miedziane paski stripboardu - upewnij się, że w razie potrzeby wstawiasz przerwy. Czerwone linie to łącza po stronie komponentów stripboardu lub przewody biegnące gdzie indziej.
Użyłem bardzo długich pinów do płytki VS1053, ponieważ stoi nad Arduino. Piny w najdalszych rogach wyświetlacza i płyty VS1053 pomagają je stabilizować. Otwory montażowe modułów są platerowane, dzięki czemu można je przylutować. Upewnij się, że twoje nie są podłączone do ziemi - otwory montażowe moich modułów nie są.
Jeśli masz inny moduł VS1053 lub inny wyświetlacz, możesz zmienić piny Arduino:
- D2 do D10 i A0 do A5 można używać w dowolnej kolejności; zaktualizuj numery pinów w pobliżu początku szkicu INO
- D11, D12, D13 są dedykowane do SPI i nie można ich ponownie przypisać
- D0, D1 są dedykowane do szeregowych wejść/wyjść
- A6, A7 nie mogą być używane jako piny cyfrowe
Moduły HC-SR04 są połączone ze sobą pod kątem 90° za pomocą kawałka listwy. Przycisk jest między nimi. Bez wątpienia będziesz miał swój własny, preferowany projekt.
Jeśli zdecydujesz się na pedał nożny, podłącz go przez gniazdo jack.
Krok 6: Dodawanie zasilacza
Zmierzyłem całkowity prąd Arduino, VS1053 i wyświetlacz jako 79mA. Zgodnie z arkuszami danych Arduino ma 20mA, wyświetlacz 25mA, VS1053 ma 11mA, a HC-SR04 15mA podczas "pracy" - więc 80mA wydaje się być w porządku.
Wyświetlacz pobiera 25mA i jest zasilany z wyjścia 3V3 Arduino, którego moc znamionowa daje 50mA. Więc obwód nie powinien obciążać regulatora 3V3 Arduino.
Czy możemy zasilić obwód przez pin Vin Arduino? Nie mogę znaleźć odpowiedzi na to pytanie nigdzie w sieci. Nie ma go w dokumentacji Arduino. Wbudowany regulator 5V rozproszy się (Vin-5)*80 mW. Jakie jest jego maksymalne rozproszenie? Wydaje się, że nikt tak naprawdę nie wie. Zgodnie z jego arkuszem danych, regulator NCP1117 w obudowie SOT-223 z minimalną miedzianą wkładką może rozproszyć 650 mW. Więc dla prądu 80mA,
- Moc Vin
- 8V 240mW
- 9 320
- 10 400
- 11 480
- 12 560
- 13 640
- 14 720
Na wszelki wypadek przypuszczam, że na Vinie nie powinniśmy przekraczać 9V.
Zewnętrzny zasilacz 5 V byłby znacznie bezpieczniejszy, ale użyłem regulatora Arduino i jest w porządku.
Do zasilania obwodu wybrałem moduł, który łączy w sobie ładowarkę LI-ion i zasilacz boost. Są one powszechnie dostępne w serwisie eBay lub wyszukaj „Li Charger Boost”.
Ładowarka wykorzystuje chip TC4056, który ma skomplikowany algorytm stałego prądu i stałego napięcia. Po odłączeniu wejścia zasilania USB przechodzi ono w tryb gotowości z poborem baterii mniejszym niż 2uA. TC4056 ma wejście do pomiaru temperatury, ale nie jest dostępne na płycie modułu (pin jest uziemiony).
Obwód doładowania ma rzekomo 87-91% wydajności w normalnym zakresie napięcia akumulatora przy prądzie wyjściowym 50-300 mA. (Nie zmierzyłem tego sam.) To całkiem nieźle.
Jednak jego prąd „w trybie gotowości” po usunięciu obciążenia wynosi 0,3 mA, co jest słabe. Komórka 300 mAH zostałaby osuszona w ciągu 6 tygodni. Być może zostałby wyczerpany na tyle, by jego napięcie spadło do szkodliwego poziomu.
Istnieje pojedyncza ścieżka, która łączy akumulator z zasilaczem doładowania. Tor można łatwo wyciąć (patrz zdjęcie). Przylutuj przewód do dużego rezystora u góry, aby można było zmostkować cięcie za pomocą przełącznika.
Pobór prądu wynosi teraz 0,7uA z testowaną płytą. Czyli ogniwo wytrzyma 50 lat - cóż, oczywiście nie, samorozładowanie ogniwa Li-ion wynosi około 3% miesięcznie. 3% miesięcznie dla ogniwa 300mAH to prąd 13uA. Porównaj to z 300uA, który bierze obwód doładowania. Uważam, że warto wyłączyć obwód doładowania.
Nie należy włączać obciążenia podczas ładowania ogniwa. Prąd pobierany przez obciążenie wprowadzi w błąd algorytm ładowania.
Potrzebujesz więc 2-biegunowego przełącznika (np. przełącznika suwakowego), który znajduje się w pozycji „On” lub „Charge”.
Możesz zignorować wbudowane gniazdo USB i przylutować osobne przewody do przełącznika i własnego gniazda USB.
Możesz też zachować wbudowane gniazdo i przeciąć połączenie między gniazdem a chipem. Powyższy schemat pokazuje, gdzie ciąć.
Podłącz wyjście 5 V zasilacza doładowania do pinu 5 V Arduino. Ludzie mówią „nie rób tego – omijasz diodę zabezpieczającą Arduino”. Ale Nano nie ma pinu podłączonego do strony USB diody. Wystarczy podłączyć do pinu 5V. Co najgorszego może się wydarzyć? Tracisz Nano, które kosztuje mniej niż 3 GBP.
Obwód zasilacza musi również zasilać wzmacniacz głośników.
Krok 7: Dodawanie głośników
Chciałem, żeby MIDI Theremin był przenośny. Powinien zawierać własne głośniki i wzmacniacz.
Możesz zbudować własny wzmacniacz lub kupić moduł wzmacniacza, a następnie kupić głośniki i umieścić je w etui. Ale o co chodzi? W moim techno-midden mam pół tuzina zasilanych głośników, które kupiłem w sklepach charytatywnych i na wyprzedażach samochodów, wszystko za mniej niż 1 funta za sztukę.
Bladoniebieskie głośniki używały tylko 30mA przy 5V, ale mają słabą odpowiedź basową. Czarne radio jest fajnym kształtem - wyobrażam sobie montaż modułów HC-SR04 na rogach i wyświetlacza na górnej powierzchni. Szare „płaskie panele” są zasilane z gniazda USB, co jest idealne.
Przy odrobinie poszukiwań powinieneś znaleźć zasilane głośniki, które mają już ładną obudowę. Upewnij się, że będą działały pod napięciem twojego zasilacza. Jeśli jest zasilany czterema ogniwami AA, prawdopodobnie będzie działał dobrze przy 5V.
Ale zagłębiłem się głębiej w techno-midden i znalazłem bardzo fajną stację dokującą, którą dostałem na stoisku „wszystko za 0,50 funta”. Stracił ładowarkę i pilota na podczerwień, ale działa dobrze.
Jeśli jesteś zdeterminowany, aby zbudować własne głośniki zasilane, oto dobry Instruktaż. Lub wyszukaj Instructables dla PAM8403 lub wzmacniacza.
Krok 8: Stacja dokująca
To bardzo ładna przenośna stacja dokująca Logitech. Jest mało prawdopodobne, że otrzymasz taki sam, ale zasady konstrukcji będą podobne.
Stacja dokująca zawiera własne ogniwo litowo-jonowe i zasilacz doładowania. (Jeśli nie masz, zbuduj zasilacz opisany powyżej i pomiń kilka następnych akapitów.)
Jeśli twój wzmacniacz ma ogniwo Li-ion, to prawdopodobnie ma zasilacz doładowania. (Napięcie pojedynczego ogniwa Li-ion jest niewygodnie niskie, więc wymaga wzmocnienia.)
Najpierw znajdź połączenia zasilania do wzmacniacza. Zasilacz będzie miał duże kondensatory wygładzające - patrz zdjęcie złomowanej płytki PCB. Zmierz napięcie na ich polach lutowniczych na spodzie. Podkładka ujemna powinna być podkładką „masy” obwodu. Jeśli płytka została zalana wodą, zostanie zmielona. Albo ziemia może być grubym torem, który prowadzi do wielu miejsc na planszy.
Na wyjściu wzmacniacza mogą być duże kondensatory – to staromodny sposób robienia tego. Zmierz napięcie na nich podczas pracy. Prawdopodobnie będzie się różnić w zależności od muzyki i może wynosić średnio połowę napięcia kondensatorów zasilacza. To są niewłaściwe kondensatory - chcesz te w zasilaczu.
Jest bardzo mało prawdopodobne, że płyta będzie miała zarówno dodatnią, jak i ujemną moc (duże stereofoniczne końcówki mocy mają, ale nigdy nie widziałem tak lekkiego). Upewnij się, że naprawdę wybrałeś grunt i pozytywną moc.
Stacja dokująca Logitecha, której używam, ma skomplikowane obwody cyfrowe, a także wzmacniacz analogowy. Jeśli tak jest, będzie miał kondensatory wygładzające dla 5V lub 3,3V plus może 9V dla wzmacniacza. Zmierz napięcia na wszystkich dużych kondensatorach i wybierz największe napięcie.
Upewnij się, że napięcie wybranego złącza zasilania zależy od włącznika/wyłącznika. (Po wyłączeniu przełącznika napięcie może trochę potrwać, gdy kondensator się opróżni).
Przylutuj przewody do tego, co wybrałeś jako źródło zasilania. Stacja dokująca Logitech wytwarza około 9 V, które ładnie połączy się z pinem Vin Arduino.
Głośniki zasilane lub stacja dokująca powinny mieć gniazdo wejściowe audio 3,5 mm. Jedna z połączeń lutowniczych będzie zeszlifowana - prawdopodobnie ta najbliżej krawędzi płytki. Użyj omomierza, aby sprawdzić, czy łączy się z tym, co uważasz za uziemienie. W przypadku niektórych wejść audio „ekran” gniazda nie jest podłączony bezpośrednio do masy. Unosi się. Więc jeśli żaden z kołków jack nie jest uziemiony, nie martw się na razie. ("Osłona" gniazda w module VS1053 również pływa.)
Za pomocą miernika sprawdź, czy styk „masy” gniazda ma to samo napięcie, co uziemienie zasilacza.
Stacja dokująca Logitech była dziwna. Jeśli podłączyłem „masę” gniazda Logitech jack do „masy” płyty VS1053 (za pomocą kabla audio, wszystko działało dobrze, ale prąd do mojego systemu Theremin wzrósł z 80mA do ponad 200mA. Upewniłem się więc Nie podłączyłem tych dwóch "mas" działa dobrze, ale nie mam pojęcia o co chodzi.
Krok 9: Tworzenie sprawy
To, jaki futerał wykonasz, będzie zależeć od materiałów, które masz pod ręką, tego, z czym lubisz pracować i jakie głośniki zasilane wybierzesz. Cokolwiek zrobisz, upewnij się, że echosondy są skierowane od siebie pod kątem 45°. Następnie pojawi się ekran wyświetlacza i przycisk.
Jeśli spojrzałeś na moje inne Instuctable, wiesz, że jestem wielkim fanem blachy ocynowanej. Można go wyginać, lutować miękko i malować. Zdjęcia pokazują, jak zaaranżowałem rzeczy.
Górny trójkąt jest gięty, lutowany, wypełniany, wygładzany i malowany. Płytki są klejone na gorąco w trójkącie i mają małe kawałki drewna, które pełnią rolę przekładek.
„Panel przedni” to arkusz styropianu o grubości 1 mm. Wsporniki są wykonane z większej ilości arkuszy polistyrenowych, a wkręty samogwintujące utrzymują listwę na miejscu. Drewniane wsporniki są wklejane na gorąco we wnęce z przodu stacji dokującej, a płytki drukowane są przykręcane do nich długimi wkrętami samogwintującymi.
Myślę, że mógłbym coś wydrukować w 3D, ale wolę metody starej szkoły, w których mogę dostosowywać rzeczy w miarę postępów. Tworzenie rzeczy to raczej podróż odkrywcza niż „inżynieria”.
Krok 10: Przyszły rozwój
Jak mógłbyś dalej rozwijać instrument? Możesz zmienić interfejs użytkownika. Możesz zastąpić przycisk czujnikiem odległości na podczerwień, dzięki czemu nie musisz w ogóle dotykać instrumentu. A może użyj ekranu dotykowego zamiast przycisku i lewej ręki do sterowania menu.
Menu Skala pozwala wybrać skale „muzyki innej niż zachodnia”, ale zakłada, że wszystkie nuty pochodzą z klawiatury równomiernej – tak działa MIDI. Arabska skala ćwierćtonowa zawiera nuty, które nie są w skali równomiernej. Inne skale nie są w żaden sposób powiązane z klawiaturą o równomiernym temperamencie. Do tworzenia takich nut może być możliwe użycie pitch-bend. Potrzebowałbyś sposobu, aby menu określiło częstotliwość każdej nuty. Myślę, że pitch bend może dotyczyć wszystkich nut w kanale. Obecnie używam tylko jednego kanału - kanału 0. Więc jeśli jest polifoniczny lub ma akordy, będziesz musiał zagrać każdą nutę w innym kanale.
Instrument mógłby stać się syntezatorem perkusyjnym. Lewa ręka może określić wysokość tonu Melodic Tom, podczas gdy prawa sonar jest zastąpiony czujnikiem piezoelektrycznym, w który uderzasz, aby zabrzmieć w bęben.
Dwie ręce mogły kontrolować dwa różne instrumenty.
Lewa ręka mogła wybrać instrument.
Mniej więcej w połowie tego projektu odkryłem kontroler MIDI Altura MkII Theremin firmy Zeppelin Design Labs. Wygląda na dobry instrument.
Mają kilka filmów, które są bardzo warte obejrzenia:
(Ukradłem słowo „kosz” z Altury i pomysł, że kosz się powiększa, gdy do niego wchodzisz, aby pomóc ci w nim pozostać.)
Mój MIDI Theremin różni się od Altury na kilka sposobów. Mine produkuje własne brzmienie dzięki wbudowanemu syntezatorowi MIDI, wzmacniaczowi itp.; Altura wysyła komunikaty do zewnętrznego syntezatora. Równie dobrze możesz preferować ich sposób na zrobienie tego. Mój ma ekran TFT zamiast 7-segmentowego - to zdecydowanie lepsze, ale można by pomyśleć, że większy ekran byłby lepszy. Mój używa menu do ustawiania parametrów, podczas gdy ich używa pokręteł. Menu są wymagane, ponieważ mój potrzebuje wielu elementów sterujących urządzeniem wejściowym (sonarami) i syntezatorem; Altura potrzebuje mniej kontroli. Może gałki są lepsze podczas występu na żywo. Może moja powinna mieć gałki. Pokrętło do wyboru ustawień może być dobre.
Altura ma kontrolę "Artykulacji", która określa, jak szybko można grać nuty. Nie włączyłem tego do mojego oprogramowania - może powinno tam być. Altura posiada Arpeggiator (sekwencer krokowy). To jest dobry pomysł; mój ma akordy, które nie są tym samym.
Więc to jest to. Mam nadzieję, że spodoba ci się budowanie i używanie MIDI-Theremina. Daj mi znać, jeśli znajdziesz jakieś błędy w moim opisie lub jeśli możesz wymyślić jakieś ulepszenia.
Zalecana:
Stwórz własny prosty Theremin: 4 kroki (ze zdjęciami)
Stwórz własny prosty Theremin: W tym projekcie pokażę, jak działa elektroniczny instrument Theremin i jak możemy stworzyć jego prostą wersję za pomocą 2 układów scalonych i tylko kilku uzupełniających się komponentów. Po drodze porozmawiamy o typach oscylatorów, pojemności ciała
Light Theremin w kontrolerze NES - 555 Timer: 19 kroków (ze zdjęciami)
Light Theremin w kontrolerze NES - 555 Timer: Bawiłem się układem 555 IC i do tej pory nigdy nie udało mi się go zmusić do zrobienia czegokolwiek. Kiedy usłyszałem, jak ożywa i zaczyna oscylować na mnie, byłem z siebie cholernie zadowolony. Jeśli uda mi się sprawić, by wydało dźwięk, każdy powinien
Theremoose - mysz komputerowa sterowana przez Theremin: 6 kroków (ze zdjęciami)
Theremoose - mysz komputerowa kontrolowana przez Theremin: Ten projekt powstał we współpracy z Randym Glennem, koniecznie sprawdź go tutaj: https://www.instructables.com/member/rglenn/Około tydzień temu brałem udział w hackathonie dla okropne pomysły tutaj w Toronto (stupidhacktoronto.com). To jest
Arduino Theremin Singing Muppet: 6 kroków (ze zdjęciami)
Arduino Theremin Singing Muppet: Do szkolnego projektu poświęconego Arduino stworzyłem muppet z wbudowanym thereminem, aby uczynić go śpiewającym muppetem. W jego ustach znajduje się fotokomórka, która łączy się z brzęczykiem Piezo, dzięki czemu po otwarciu i zamknięciu ust zmieni ton (jasny
Kontroler oświetlenia taśmy LED 5V MIDI dla Spielatrona lub innego syntezatora MIDI: 7 kroków (ze zdjęciami)
Kontroler oświetlenia taśmy LED 5V MIDI dla Spielatronu lub innego syntezatora MIDI: Ten kontroler miga trójkolorowymi paskami LED dla 50mS na nutę.Niebieski dla G5 do D#6, czerwony dla E6 do B6 i zielony dla C7 do G7. Kontroler jest urządzeniem ALSA MIDI, więc oprogramowanie MIDI może wysyłać sygnały do diod LED w tym samym czasie, co syntezator MIDI