Spisu treści:
Wideo: HX1-DM - upcycled Arduino DUE Powered DIY Drum Machine (wykonany za pomocą Dead Maschine MK2): 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Spec
- Hybrydowy kontroler / automat perkusyjny Midi: Arduino DUE powered!
- 16 padów wykrywających prędkość o bardzo niskiej latencji 1>ms
- 8 pokręteł, które użytkownik może przypisać do dowolnego polecenia Midi #CC
- Wbudowany 16-kanałowy sekwencer (nie wymaga komputera!!)
- Funkcjonalność MIDI in/out/thru (może być używany jako interfejs MIDI USB!)
- Częściowa obsługa zegara MIDI i MTC (działa na sterowaniu MMC i DAW)
To zdecydowanie jeden z najbardziej skomplikowanych projektów, nad którymi pracowałem, mówiłem o 17 wyjściowych rejestrach przesuwnych, 6 wejściowych rejestrach przesuwnych, 2x 16-kanałowych multiplekserach pracujących na płytce drukowanej Nie mam pojęcia co i gdzie plus nigdy nie zepsułem z rejestrami przesuwnymi / multiplekserami przed……
Zaczęło się od impulsowego zakupu poza eBay, naprawdę chciałem mieć Native Instruments Maschine, ponieważ zawsze lubiłem pady perkusyjne na nich w porównaniu z tymi w studiu MPC, które posiadałem, więc kiedy zobaczyłem wadliwy na eBayu za 40 funtów, pomyślałem Spróbowałbym naprawić to z najgorszym scenariuszem: „jeśli nie mogę tego naprawić, mam Arduino DUE i kilka UNO leżących wokół, zawsze mogę zrobić jakiś hack”
Naprawdę lubię te pady perkusyjne!!!!
Kieszonkowe dzieci
1 x uszkodzony Native Instruments Maschine MK2
1 x Arduino Due.
17 x SN74HC595 – 8-bitowe wyjściowe rejestry przesuwne
6 x SN74HC165 - 8-bitowe wejściowe rejestry przesuwne
2 x 74HC4067 - 16-kanałowe multipleksery.
2 wyświetlacze OLED 3,2” 256x64.
jakiś płaski przewód (stary kabel dyskietek wystarczy)
Krok 1: Naprawa
Sprzedawca eBay był na tyle uprzejmy, że dał wyobrażenie o tym, czego się spodziewać w opisie, i usunął port USB. Płyta doznała przepięcia i nie włączyła się. Cue multimetr…. Płyta wydawała się mieć zwarcie.. „Naprawiałem wcześniej niezliczoną ilość płyt głównych ze zwarciami, więc jak trudne to może być!?!” Okazało się, że to przepięcie (i prawdopodobnie po części konstrukcja płyty) wyłączyło prawie KAŻDE komponent na płycie, w tym główny procesor. Ta tablica była w naprawdę złym stanie!
Kontynuowałem szturchanie i szturchanie moim multimetrem, przeprowadziłem trochę badań nad komponentami i odkryłem, co każdy z nich robi, a NI wykonało świetną robotę, czyniąc rzeczy całkiem oczywistymi dzięki różnym punktom testowym wokół płyty głównej?
Krok 2: Hack
Wiedząc, że będę musiał wymienić wszystko poza głównym procesorem (który nie będzie potrzebny), zwróciłem się do serwisu eBay. Na szczęście wszystko, co potrzebne, było tanie, więc zamawianie ich było zabawne. ?
17 x SN74HC595 – 8-bitowe wyjściowe rejestry przesuwne
17 wyjściowych rejestrów przesuwnych służy do sterowania wielokolorowymi diodami LED padu perkusyjnego i wszystkimi diodami LED przycisków (dokładnie 136!!) Są one naprawdę łatwe w użyciu i szybko znalazły bibliotekę za pomocą Arduino IDE, aby zaoszczędzić sobie tworzenia.. są ze sobą połączone.
6 x SN74HC165 – 8-bitowy wejściowy rejestr przesuwny
Te wejściowe rejestry przesuwne są świetne dla wielu wejść na 1 kanale. W sumie jest 48 przycisków.
2 x 74HC4067 - 16-kanałowe multipleksery
Zostało nam 16 padów i 8 pokręteł, które również są analogowe. Uznałem, że łatwiej jest z nich korzystać, ponieważ te na płycie były 8-kanałowe i miałem problemy ze znalezieniem miejsca podłączenia pinów danych.
2 wyświetlacze OLED 3,2” 256x64
Musi mieć jakieś ekrany!!! Nie mogłem znaleźć żadnych informacji na temat oryginalnych ekranów LCD, które pojawiły się w NI Maschine i nie mogłem się już martwić marnowaniem czasu na próby, więc zdecydowałem się zamówić kilka z Chin… Użyłem biblioteki UG8x8, aby je uruchomić. Nowe ekrany były nieco mniejsze od oryginału, więc po prostu wymazałem „złe fragmenty”.
1 x Arduino Due
Miałem to przez jakiś czas, czekając na projekt godny całej tej mocy! Wystąpił problem, który napotkałem. Wygląda na to, że niektóre wersje tych tablic mają problem z resetowaniem, co oznaczało, że musiałem czasami nacisnąć przycisk resetowania, aby uruchomić coś po przesłaniu szkicu. Można to łatwo naprawić za pomocą rezystora 10K (jest na ten temat post na forum Arduino).
Krok 3: Kodeks
Byłem naprawdę pod wrażeniem tego, jak duże jest wsparcie społeczności Arduino, znalezienie przykładów kodu i bibliotek dla różnych komponentów było naprawdę proste i proste.
Uruchomienie i uruchomienie midi USB było łatwe i zajęło kilka minut. Diody zajęły trochę czasu i musiałem stworzyć szkic, który stopniowo ustawiał każdy pin na WYSOKI w odstępach 1 sekundy i zrobił notatkę. Zrobiłem tablicę, która zawierała numery PIN, aby ułatwić, jeśli chodzi o kodowanie wszystkiego.
Zrobiłem 2 biblioteki do rozmów z multiplekserami, jedna obsługuje pady analogowe, a druga pokrętła. Znowu to było naprawdę proste. Załączam je, nie krępuj się korzystać z edycji itp.
Chciałem mieć sekwencer i możliwość nagrywania bez konieczności korzystania z komputera, znalazłem kilka informacji o tym, jak przekonwertować BPM na ms i znalazłem świetną bibliotekę zegarów Arduino DUE.
Korzystając z biblioteki timera udało mi się ustawić wejścia odczytu i rzeczy w interwałach:
Pads @ 1ms - stwierdziłem, że zapewnia to najlepszą równowagę między artefaktami odpowiedzi/odbicia.
Przyciski @ 40ms - Użyłem biblioteki kolejek, więc żadne naciśnięcia nie zostały pominięte.
Przetwarzanie odbywa się w głównej pętli, nie możesz zrobić zbyt wiele, gdy jesteś w przerwaniu, ponieważ spowoduje to zablokowanie Arduino.
Midi stuff @BPM (w ms) - dla sekwencjonowania, przy żądanym BPM, wywoływana jest funkcja, która aktualizuje które nuty ETC mają być odtwarzane i zwiększa licznik bitów.
Krok 4: Wniosek
Nie jestem pewien, co tu zrobiłem, ale jestem całkiem dumny, klocki reagują znakomicie, musiałem bawić się czasem, aby uzyskać odpowiednią równowagę z responsywnością i problemami z odbiciami. Sekwencjonowanie działa świetnie, a kiedy już znajdę obsługę DAW, mogę w pełni zintegrować to z moim przepływem pracy i mogę dodawać rzeczy w kontrolerze, o którym zawsze marzyłem! To był naprawdę fajny projekt do pracy i świetne ćwiczenie w radzeniu sobie z C, zrozumieniu inżynierii odwrotnej i tego, jak działają multipleksery, rejestry przesuwne i sekwencjonowanie MIDI. Kontynuuję ulepszanie głównego kodu i być może pewnego dnia wydam go jako projektant rytmu open source.
PORADY:
Odkryłem, jak zmienić nazwę USB DUE, edytując jeden z plików nagłówkowych w folderze Arduino/SAM.
MIDI-OX to świetne narzędzie do testowania funkcjonalności Midi
SPINKI DO MANKIETÓW:
www.usb.org/sites/default/files/midi10.pdf - Specyfikacja USB MIDIhttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… Trochę informacji o tym, jak przekonwertować BPM na ms
travis-ci.com/SMFSW/Queue - Dla wejść przycisków, więc nie przegapimy żadnych naciśnięć!
github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib dla ekranów LED/LCD
github.com/ivanseidel/DueTimer/releases - biblioteka Arduino DUE Timing
www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib dla dużego pokrętła
shiftregister.simsso.de/ - ShiftIn Register lib - Utworzony przez Henrika Heine, 24 lipca 2016
forum.arduino.cc/index.php?topic=57636.0 - MIDI Time Code rzeczy
Zalecana:
Malarz teleskopowy w rozmiarze Jumbo wykonany z przewodu EMT (elektrycznego): 4 kroki (ze zdjęciami)
Teleskopowy malarz o dużych rozmiarach wykonany z przewodu EMT (elektrycznego): Fotografia malowania światłem (pisanie światłem) jest wykonywana poprzez zrobienie zdjęcia o długiej ekspozycji, trzymanie aparatu nieruchomo i przesuwanie źródła światła, gdy przesłona aparatu jest otwarta. Gdy przysłona się zamknie, smugi światła będą wydawały się zamrożone
Fortepian wodny wykonany przy użyciu szklanego słoika: 3 kroki
Pianino wodne wykonane przy użyciu szklanego słoika: To niesamowity i łatwy projekt dla każdego. Nie używałem mikrokontrolera ani układu scalonego. To pianino wodne używa małych słoików. To naprawdę podstawowy projekt. Aby wykonać ten projekt, postępuj zgodnie z instrukcjami. WYMAGANIA - słoiki o dowolnym rozmiarze, od co najmniej 4 do maks
Arduino Servo Drum Machine: 4 kroki
Arduino Servo Drum Machine: Jest to prosty automat perkusyjny lub robot z dwoma mikroserwomechanizmami i sterowanym Arduino Uno. Serwa są zamontowane na drewnianym wsporniku w kształcie litery L, który jest przymocowany do werbla za pomocą 4 silnych magnesów. Ramiona serwa są przykręcone do dwóch pałeczek, które służą jako
Działający silnik elektryczny wykonany z trzech przewodów i akumulatora.: 4 kroki (ze zdjęciami)
Działający silnik elektryczny wykonany z trzech przewodów i akumulatora.: Silnik elektryczny wykonany z trzech przewodów, który można wykonać w ciągu pięciu do dziesięciu minut. To świetny projekt szkolny lub prosty projekt łączenia rodziców z dzieckiem w niedzielne popołudnie. potrzebne:- Zasilanie 12 V. Najlepiej taki, który może zapewnić wysoki
Łącznik aparatu i mikroskopu wykonany za pomocą Lego: 12 kroków (ze zdjęciami)
Łącznik aparatu i mikroskopu Wykonany z Lego: Witam wszystkich, dzisiaj pokażę, jak wykonać łączenie aparatu z mikroskopem (wykonane z części Lego), dzięki któremu łatwiej uchwycić szczegóły na mikroskopie. Zaczynajmy