wersja mobilna | kontakt z nami

Stroik gitarowy

Numer: Styczeń/2018

Przeglądając strony internetowe, natknąłem się na bardzo ciekawy, nietuzinkowy projekt stroika gitarowego, który w odróżnieniu od pozostałych urządzeń tego typu wykorzystuje inne zjawiska fizyczne niż fala akustyczna w celu umożliwienia nastrojenia instrumentu. Typowe rozwiązania dostępne w handlu poddają analizie dźwięk lub drgania emitowane przez strunę gitary i wyświetlają procent odstrojenia instrumentu od wartości prawidłowej. Opisywane urządzenie nie wykonuje analizy dźwięku, a używa efektu stroboskopowego ? emituje wiązkę światła LED o określonej częstotliwości migotania, oświetlając nią strojoną strunę. Rekomendacje: stroik może przydać się nie tylko muzykom.

Pobierz PDFMateriały dodatkowe

Jak wspomniano we wstępie, układ stroika oświetla strojoną strunę za pomocą światła o określonej częstotliwości migotania. Jeśli obserwowana struna drga z częstotliwością inną niż emitowana przez LED, będzie wydawało się, że porusza się w górę i w dół wolniej lub szybciej, zależnie od stopnia odstrojenia. W wypadku nastrojenia struny do częstotliwości migania diod LED struna ta będzie wydawała się nieruchoma. W ten sposób możemy zrealizować układ oryginalnego stroika gitarowego, który z powodzeniem zastąpi rozwiązania tradycyjne.

Zanim jednak przejdziemy do opisu urządzenia konieczne wydaje się przyswojenie podstawowej wiedzy na temat częstotliwości dźwięków muzycznych. W powszechnie używanym tzw. systemie równomiernie temperowanym stosunek częstotliwości dwóch kolejnych dźwięków jest stały i wynosi ,
gdyż ten system zakłada podział oktawy na 12 równych części (półtonów). I tak, dla przykładowej skali C kolejne dźwięki mają następujące nazwy: C, Cis, D, Dis, E, F, Fis, G, Gis, A, Ais (inaczej B), H, po czym po dźwięku H występuje dźwięk o oktawę wyższy w stosunku do C, czyli dźwięk o 2-krotnie większej częstotliwości (nazwijmy go C2). Wspomniana temperacja polega właśnie na tym, że dźwięki w oktawie różnią się od siebie o stały czynnik, w tym przypadku o . Podążając tym tokiem rozumowania, otrzymujemy co następuje: Cis różni się od C o , D różni się od C o *, Dis różni się od C o ** … i dochodząc aż do C2 zobaczymy, że C2, różni się od C o ***********, czyli ()12, czyli dwukrotnie! Przyjęto ponadto, że podstawową częstotliwością, do której stroi się wszystkie instrumenty, jest częstotliwość dźwięku A1 równa 440 Hz. Dla takich założeń częstotliwości prawidłowo nastrojonych strun gitary klasycznej wynoszą kolejno: E2’82,41 Hz, A2’110 Hz, D3’146,83 Hz, G3’196 Hz, B3’246,94 Hz, E4’329,63 Hz. Na tym etapie posiadamy już niezbędną z punktu widzenia projektu wiedzę z zakresu muzyki, w związku z czym pora przejść do rozwiązania sprzętowego.

rys1Schemat ideowy stroika pokazano na rysunku 1. Jest to nieskomplikowany system procesorowy, którego sercem jest mikrokontroler ATtiny24 realizujący całą, zakładaną funkcjonalność urządzenia. Mikrokontroler steruje pracą dwóch diod LED1 i LED2 będących oświetlaczem stroboskopowym oraz realizuje interfejs użytkownika zbudowany z 6 diod LED wskazujących rodzaj strojonej struny oraz dwóch przycisków: TONE odpowiedzialnego za wybór rodzaju strojonej struny oraz POWER służącego do włączania/wyłączania zasilania urządzenia. Warto podkreślić, że całe urządzenie jest zasilane z niewielkiej baterii CR2032 o napięciu 3 V, więc w tym projekcie istotne było odpowiednie gospodarowanie pobieraną energią. Do realizacji tego wymagania wykorzystano możliwość wprowadzania mikrokontrolera w tryb uśpienia (w naszym wypadku tryb Power Down), w którym prąd pobierany przez urządzenie spada do wartości poniżej 0,1 mA! W porównaniu do prądu obciążenia włączonego urządzenia (pobieranego głównie przez diody LED) rzędu 30 mA osiągnięto gigantyczną wręcz oszczędność energii, zapewniając długą pracę urządzenia na jednej baterii zasilającej. Mikrokontroler jest usypiany każdorazowo po naciśnięciu przycisku Power (dokładnie, co drugie naciśnięcie) lub po 2 minutach bezczynności urządzenia.

Przejdźmy zatem do szczegółów implementacyjnych. W celu realizacji efektu stroboskopowego wykorzystano układ czasowo-licznikowy Timer1 pracujący w trybie CTC (porównania wartości licznika TCNT1 z zawartością rejestru OCR1A) taktowany przebiegiem zegarowym o częstotliwości 3,6864 MHz (Preskaler=1). Dzięki odpowiedniej konfiguracji Timer1 przejmuje kontrolę nad wyprowadzeniem OC1A mikrokontrolera, pozwalając na generowanie przebiegu prostokątnego o częstotliwości zależnej od wartości wpisanej do rejestru OCR1A.

Na listingu 1 pokazano sposób konfigurowania Timera1 oraz niezbędne stałe wyznaczone dla potrzeb generowania przebiegów o określonej częstotliwości (dla kolejnych strun gitary). Zmiany częstotliwości na wyjściu OC1A dokonujemy poprzez wczytanie do rejestru OCR1A stosownej stałej z tablicy Tones[], używając w tym celu makra z pliku pgmspace.h dostarczanego wraz z pakietem AVR-GCC w następujący sposób: OCR1A=pgm_read_word(&Tones[Index]);.

Do omówienia pozostaje poruszona na wstępie kwestia energooszczędności urządzenia i trybu uśpienia mikrokontrolera. W celu zminimalizowania energii pobieranej przez układ zastosowano następujące, charakterystyczne dla wszystkich mikrokontrolerów AVR zabiegi programowo-sprzętowe:

- Wszystkie nieużywane porty I/O ustawiono jako wyjściowe (opcjonalnie można było pozostawić je jako wejściowe z włączonym podciąganiem do napięcia zasilania).
- Wyłączono wszystkie nieużywane peryferia mikrokontrolera.
- Nieużywane urządzenie wprowadzano w stan uśpienia Power Down.

Za realizację powyższej funkcjonalności odpowiada fragment programu przedstawiony na listingu 2.

Do rozwiązania pozostaje jeszcze kwestia usypiania i wybudzania mikrokontrolera. Do wybudzania mikrokontrolera ze stanu uśpienia wykorzystano wejście przerwania zewnętrznego INT0 skonfigurowane jako wyzwalane poziomem niskim, ponieważ dla tego wejścia to jedyna dostępna możliwość wybudzania. Samą procedurę obsługi przerwania INT0 pozostawiono pustą, gdyż przerwanie służy wyłącznie do wyprowadzenia mikrokontrolera ze stanu uśpienia, w który został wcześniej wprowadzony za pomocą przycisku Power, a które inicjuje wykonanie fragmentu programu odpowiedzialnego za uśpienie mikrokontrolera z listingu 3. Zaprezentowany kod z list. 3 korzysta z wygodnych makr zawartych w pliku sleep.h dostarczanym z pakietem AVR-GCC.

rys2To tyle, jeśli chodzi o opis zagadnień implementacyjnych. Pora na pokazanie schematu montażowego urządzenia, który zamieszczono na rysunku 2. Jak widać, zaprojektowano niewielki i zwarty obwód drukowany ze zdecydowaną przewagą elementów SMD, który kształtem i wymiarami przypomina kostkę gitarową. Montaż rozpoczynamy od przylutowania elementów umieszczonych na warstwie TOP, przy czym w pierwszej kolejności lutujemy mikrokontroler, następnie wszystkie LED-y zachowując odpowiednią biegunowość, kolejno elementy bierne, a na samym końcu przyciski POWER i TONE oraz rezonator kwarcowy. Następnie przechodzimy na stronę BOTTOM, gdzie wlutowujemy gniazdo baterii CR2032 będące jedynym elementem przeznaczonym do montażu przewlekanego. Warto także pocynować duże pole lutownicze umieszczone pod gniazdem baterii będące jednocześnie stykiem ujemnego bieguna baterii. Zaprogramowane urządzenie nie wymaga żadnych procedur konfiguracyjnych i powinno działać tuż po włączeniu zasilania.

Robert Wołgajew, EP

Pozostałe artykuły

Zasilacz laboratoryjny 0...30 V/5 A ze sterowaniem mikroprocesorowym (1)

Numer: Grudzień/2017

Na ścieżce rozwoju każdego elektronika-konstruktora pojawia się wreszcie taka chwila, gdy w prowadzonych pracach rozwojowych przestają wystarczać takie źródła energii elektrycznej, jak jednorazowe ogniwa elektrochemiczne, akumulatory i akumulatorki czy tanie zasilacze wtyczkowe o przeciętnych parametrach. To chwila, w której jasna staje się potrzeba posiadania własnego zasilacza laboratoryjnego. O ile budowa regulowanego zasilacza stabilizowanego ...

Sterownik wyświetlacza LCD z interfejsem szeregowym

Numer: Grudzień/2017

Typowo, moduł wyświetlacza LCD jest sterowany za pomocą interfejsu równoległego. W tym celu używa się 4 lub 8 bitów danych i 2 linie sterujące. Daje to razem 10 linii I/O, które nie zawsze są dostępne w mikrokontrolerze lub na płytce mikrokomputera. Prezentowany moduł umożliwia dołączenie typowego wyświetlacza tekstowego LCD o rozdzielczości 2 linie × 16 znaków do urządzeń dysponujących tylko interfejsem szeregowym. Rekomendacje: ...

Dwukierunkowy regulator obrotów silnika prądu stałego

Numer: Grudzień/2017

Zmiana prędkości obrotowej silnika prądu stałego jest podstawowym zadaniem w wielu układach napędowych. W artykule przedstawiono nieskomplikowany i co najważniejsze ? ?niemikroprocesorowy? dwukierunkowy regulator prędkości obrotowej silnika prądu stałego wykorzystujący metodę PWM. Rekomendacje: regulator przyda się majsterkowiczom do regulowania prędkości obrotowej narzędzi oraz w budowanych przez siebie urządzeniach.

ATB-WAV Player (1). Karta muzyczna i czytnik kart pamięci dla mikrokontrolerów

Numer: Grudzień/2017

Jak wiadomo, w dzisiejszych czasach odtwarzanie plików dźwiękowych z plików typu WAV umieszczonych na karcie pamięci, za pomocą 8-bitowego mikrokontrolera nie stanowi dużego problemu. Niestety, jest mały kłopot polegający na tym, że trudno tę funkcjonalność zaimplementować do dowolnego projektu na 8-bitowcu z uwagi na spore wymagania czasowe w trakcie odtwarzania dźwięków z karty SD. W związku z tym postanowiłem przygotować projekt ...

Wielozadaniowy termostat

Numer: Styczeń/2018

Ciepło ma ważne znaczenie dla człowieka, zarówno w kontekście fizjologicznym, jak i ekonomicznym. Dlatego staramy się utrzymać temperaturę, która zagwarantuje komfort cieplny, ale jednocześnie nie spowoduje nadmiernego zużycia energii, bo jej wyprodukowanie ma swoją cenę. Opisywany termostat umożliwia regulowanie temperatury za pomocą 4 wyjść przekaźnikowych o bogatych możliwościach konfiguracji. Rekomendacje: termostat przyda ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Luty 2019

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym