Czołem majsterkowicze! W tym artykule postaram się Wam przedstawić sposób na wykonanie dotykowego pianinka z kartki papieru, ołówka i arduino.
Artykuł podzielę na cztery części:
- Generowanie dźwięku z głośniczka,
- Generowanie dźwięku za pomocą aplikacji napisanej w processingu,
- Generowanie dźwięku przez protokół MIDI w GarageBand.
Robimy pianinko
Potrzebne materiały:
- 12x spinacz
- 12x odcinek kabla
- kartka papieru
- ołówek
Pobieramy i drukujemy poniższą klawiaturę. (najlepiej na papierze technicznym)
Po wydrukowaniu przyda się kilka ołówków i temperówka. Najpierw naostrzmy ołówki :D a potem starannie pokolorujmy wydrukowaną klawiaturę. Ważne jest aby klawisze się nie stykały!
Jak już widać na powyższym zdjęciu do połączenie klawiaturki z arduino użyłem spinacza biurowego zlutowanego z kabelkiem.
- Obierz końcówki kabla z izolacji.
- Zlutuj jedną końcówkę kabla z spinaczem.
Połączenia Arduino
Potrzebne materiały:
W miejscu żółtych kabelków podpinamy każdy klawisz klawiaturki za pomocą spinaczy i kabli, które wcześniej przygotowaliśmy.
Generowanie dźwięku za pomocą programu w processingu
Program arduino:
Instalujemy bibliotekę CapacitiveSensor do pobrania tutaj. Więcej informacji na temat biblioteki tutaj
Kod processing:
Wymaga zainstalowania biblioteki serial i soundcipher. Aby zainstalować bibliotekę otwieramy okno processingu wchodzimy w menu sketch/import Library../Add Library… w otwartym oknie wpisujemy nazwe biblioteki i klikamy install.
Generowanie dźwięku za pomocą głośniczka piezo
Aby generować dźwięki musimy podpiąć głośniczek pod pin 16 czyli A1.
Połączenia arduino:
Generowanie dźwięków za pomocą protokołu MIDI
MIDI skrót od Musical Instrument Digital Interface to protokół służący do przekazywania informacji pomiędzy elektronicznymi instrumentami a np. komputerem. Informacje są przesyłane za pomocą specjalnych komend:

Kod arduino:
Arduino wysyła sygnał midi przez serial port teraz potrzebujemy jeszcze program, który zamieni sygnał z serial portu na sygnał midi. W tym celu pobieramy program Hairless MIDI. Teraz przedstawię działanie programu pod mac osx ponieważ chcemy wysyłać sygnał do GarageBand.
Klikamy dwukrotnie sterownik IAC
W właściwościach sterownika IAC zaznaczamy Urządzenie jest aktywne.
Otwieramy Garage Band i tworzymy nowy projekt. I teraz pozostaje nam się ciszyć pianinkiem MIDI. Opisany projekt jest na Mac’a ponieważ według mnie Garage Band to fajny i intuicyjny program. Mam dostęp do Mac’a w szkole i niestety nie znalazłem darmowego i tak rozbudowanego programu obsługującego MIDI pod Windowsa.
Poniżej wstawiam demo arduina z processingiem. Film został nakręcony wcześniej, niestety w chwili pisania artykułu nie mam możliwości nagrania finalnych urządzeń ale obiecuje że wstawię filmy w przyszłym tygodniu.
No super poradnik :) Widziałem w sieci taki projekt ale miałem na niego inny pomysł bo chciałem go zintegrować z WAV playerem aby poszczególne dźwięki wydawał prosto z plików z karty pamięci ale nie miałem jakoś ochoty w tym miesiącu się tak wysilać jak w poprzednim :D no i czasu :)
Chyba na filmiku widać lekkiego buga w połączeniu z processingiem ale i tak jest GIT ;)
* ;)
Stary komp i czasami zlaguje.
Aha :) No bywa :D
Dzięki za dobre słowo:D Teraz pracuje nad tym aby pianinko działało z garage band na ios (bluetooth) ale to jak na razie idzie opornie.
iOS? nie żartuj :D Lepiej się za Androida weź bo Apple to burżuazja :D sorry ale musiałem
Według mnie w Polsce ceny są absurdalne ale na zachodzie to już inna bajka :D. Jeśli chodzi o ios to jest on skrojony pod konkretne urządzenie a nie pod setki jak w androidzie dlatego przynajmniej mi nie laguje. Andrida na tę chwile nie posiadam więc pozostaje mi próbować z ios.
Przyczepię się: za bardzo wejściożerne. Zobacz na poradnik jak zrobić keypad na forum (mojego autorstwa zresztą). Wtedy wystarczy Ci jedno wejście analogowe (trzeba tylko będzie posprawdzać przez Serial jaki sygnał daje przyciśnięcie którego klawisza, pozmieniać kod i nieznacznie budowę, ale chyba warto, bo stracimy tylko jedno wejście, a nie prawie wszystkie I/O Arduino, co jest dość dużym ciosem.
Wtedy by nie było możliwości zrobienia w przyszłości akordów.
Ojej, ojej, co za kod. Może lepiej napisać go przy pomocy dodatkowego wektora i kilku pętli? Będzie krótszy (walka o komórki pamięci, w przypadku rozszerzenia funkcjonalności), łatwiejszy w utrzymywaniu i czytelniejszy.
Dlaczego po poprawnym (Sprawdzane 3 razy) podłączeniu wszystkiego i wgraniu do arduino kodu z midi, Hairless midi nie czyta tego co powinien (Same errory) a w serial monior mam jakieś dziwnie losowo generowane znaki:
http://i.imgur.com/KbVvxfq.png
Pomoże ktoś?
Masz źle ustawioną predkość
zmień 9600 baud na 115200.
Powinno być 115200 a i znaki są kodowane w ascii
Czy dało by radę odpalić to w ableton’ie ? Widziałem gdzieś taki program który zamienia z midi na serial czy coś takiego… Wtedy można by zrobić beatpad’a ;)
Czemu w 65 linijce kodu jest (val1 > 1) a nie tak jak we wszystkich innych ?
Witam!
Super to działa ale jestem zielony więc się pytam czy tem poradnik a klawiatora http://techtrendy.pl/title,Klawiatura-Bluetooth-wydrukowana-na-kartce-papieru,wid,16421053,wiadomosc.html?ticaid=5123e5 mogła by działać na tej zasadzie co pianinko? Może działa ale przy tych samych urządzeniu Arduino?
Pingback: Ron
Pingback: lee
Pingback: jesse
Pingback: Raymond
Witam, jestem początkującym użytkownikiem Andurino, po podłączeniu wszystkiego zgodnie ze schematem oraz załadowaniu programu dla głośniczka piezo nic się nie dzieje po dotknięciu przewodów odpowiedzialnych za klawisze. Proszę o pomoc
Czemu są tam są rezystory i dlaczego 1 MOhm
Witam, generowanie dźwięku z głośniczka piezo nie działa, cały układ dobrze zmontowany i głośnik sprawny, problem w źle napisanym programie. Prosiłbym o poprawkę