Buraki nie są jednak kluczowe dla tego projektu. Wybór na nie padł najpewniej ze względu na ich angielską nazwę, która pozwala uzyskać pewną grę słów. Burak po angielsku to „beet”, co wymawia się bardzo podobnie do słowa „beat”, czyli muzycznego bitu. I ponieważ beatbox to rytmiczne wydawanie dźwięków przypominających perkusyjne, ale za pomocą ust, gardła i przepony, autor wybrał na swój projekt nazwę BeetBox, tworząc pudełko z burakami, których dotknięcie pozwala na generowanie dźwięków podobnych jak z perkusji. Projekt nie jest trudny i można go łatwo odtworzyć – przygotowując, na przykład, jako żart na Prima Aprilis.
Wygląd
BeetBox został zaprojektowany tak, by w żadnym stopniu nie sugerował z góry, że jest to urządzenie elektroniczne. Obudowa składa się z drewna, a poza nią widoczne są jedynie buraki. Dzięki temu całość robi zupełnie niewinne wrażenie, trochę jakby była miała to być jakaś ekskluzywna skrzynka na warzywa. Zresztą konstrukcja obudowy nie jest tak ważna z punktu widzenia działania projektu – istotne jest tylko, by poszczególne buraki były od siebie odseparowane elektrycznie, co oznacza, że nie mogą się stykać, a stelaż, na którym się znajdują nie może przewodzić prądu. Z tego względu drewno wydaje się być dobrym wyborem szczególnie, że jest łatwe w obróbce, szerokodostępne oraz naturalne w naszym otoczeniu, dzięki czemu nie budzi podejrzeń, że może zawierać urządzenie elektroniczne.
Autor na potrzeby obudowy wykorzystał deski o grubości ok. 12 mm, które dociął do potrzeb i wykończył za pomocą ręcznych i elektrycznych narzędzi. Konieczne było wykonanie nacięć, otworów i nawierceń. Całość można też pomalować i polakierować, by wyglądała estetyczniej i by zwiększyć trwałość powierzchni. Powycinane deski autor skleił klejem do drewna i zbił gwoźdźmi, następnie uszczelniając wszystko pianką poliuretanową.
Budowa elektryczna
Z punktu widzenia elektroniki, projekt jest bardzo prosty. Serce „urządzenia” stanowi Raspberry Pi – autor użył Modelu B+ z 512 MB pamięci RAM. Kluczowy jest też pojemnościowy sensor dotyku – tu autor skorzystał z gotowego modułu firmy Sparkfun, która zainstalowała układ Freescale MPR121 na PCB i wyprowadziła połączenia. To bardzo wygodne rozwiązanie (pozwalające uniknąć lutowania bardzo małych padów) szczególnie, że sam układ został wycofany z produkcji i wielu dostawców już nie ma go w swojej ofercie. Natomiast alternatywą dla kosztującej ok. 40 złotych płytki z MPR121 może być zamiennik produkowany przez inne firmy. Potrzebny jest też głośnik, a ponieważ poziom sygnału audio z Raspberry Pi jest bardzo niski, przydatny będzie też wzmacniacz – np. regulowany AVT794, zbudowany na układzie LM386. Autor samodzielnie zbudował wzmacniacz właśnie w oparciu o LM386, ale nie będziemy opisywać tego fragmentu projektu, gdyż chcemy skoncentrować się na oprogramowaniu i sprzęcie w postaci modułów.
Oprócz dotąd wymienionych konieczne będą też: zasilacz USB, karta pamięci oraz przewody do połączenia Raspberry Pi z modułem Sparkfuna, wyjścia audio z wzmacniaczem, wzmacniacza z głośnikiem a także – co ważne – modułu dotykowego z burakami. W tym ostatnim przypadku chodzi o dowolne przewody, których końcówki będzie można wbić w buraki. Można przykładowo użyć szpilek lub pinów lutowniczych, przymocowanych do przewodów. Autor zastosował szpilki, których połączenie z przewodami dodatkowo wzmocnił taśmą izolacyjną.
Moduły programowe
Działanie urządzenia bazuje na zmianie pojemności buraka, po jego dotknięciu przez człowieka. Zdarzenie to jest wykrywane przez układ MPR121 i przekazywane interfejsem I²C do Raspberry Pi. Komputer, w zależności od tego który burak został dotknięty, a więc na której elektrodzie zmieniła się wykrywana pojemność, odtwarza plik dźwiękowy, będący próbką jednego z instrumentów perkusji. Dźwięk po wzmocnieniu przez układ LM386 trafia do głośnika i wydobywa się z obudowy przez nawiercone otwory.
W związku z powyższym, do poprawnego działania urządzenia potrzebne są następujące elementy programowe:
- System operacyjny.
- Interfejs do komunikacji z MPR121 przez I²C.
- Narzędzie do odtwarzania plików dźwiękowych.
- Skrypt kontrolujący odczyty z MPR121 i decydujący, który plik dźwiękowy odtworzyć.
- Pliki dźwiękowe do odtwarzania.
Autor napisał skrypty w Pythonie i skorzystał z biblioteki pygame, która pozwala łatwo odtwarzać multimedia.
Za system operacyjny posłużył standardowy Raspbian, pobrany ze strony internetowej Raspberry Pi. Następnie trzeba skonfigurować komputer, by korzystał z interfejsu I²C. Interfejs ten pozwala na podłączanie wielu komponentów za pomocą jednego zestawu przewodów i odwoływanie się do nich po adresach, w związku z czym wymaga konfiguracji. Co więcej, jest on wyprowadzony na pinach GPIO, które mogą być użyte w innym celu.