After a long break I decided to reactivate the blog. This time I have a nnew, even more useless invention – an unusual bluetooth accesory.

Most of you probably use smartphones with touch screens, but some people still prefer classic mobile phones. Now you dan dial the numbers from your little notebook just like in the good, old days!

The device is based on Nordic Semiconductor nRF51422 chip (NRF51 DK board). It is recognized as a bluetooth keyboard, so no additional software is required. All you need is a phone with Bluetooth 4.0 Low Energy (BLE) support. The firmware is a modiffied HID keyboard example from the SDK, so it took me only about an hour to add a rotary dial support. The dial itself which generates the pulse dial signal was taken out of an old phone. The board could be powered from a 3V coin cell battery, but I have connected a large, flat, 4,5V battery because small coin batteries are not hipster enough!

You can get the source code below. NRF51 SDK 8.0.0 is required to build(available here). I have built it with Keil 5, but it should also work with ARM GCC or IAR compilers.

  Pobierz plik: nrf_rotary_dial.zip
  Rozmiar: 3.65 MB, pobrany 762 razy.

[English translation below]

Z powodu braku czasu ostatnio nic nie pisałem. Przyszły święta i znalazłem chwilę na rozbudowę poprzedniego projektu cieszącego się sporą popularnością. Oto obiecany powrót stacji dyskietek. Tym razem jest ich aż 8, a obok nich mój panel LED 64×16, nad którym ostatnio pracowałem. Z okazji świąt… świąteczna piosenka:

Planuję napisać coś więcej na temat zasady działania oraz budowy „dyskietkowej orkiestry” oraz odpowiedzieć na najczęściej zadawane pytania, ale już nie dzisiaj – to jest temat na większy artykuł. Niedługo pojawią się kolejne melodie – subskrybuj mój kanał YouTube!

Wesołych Świąt!

—————————————-

I didn’t wrote anything since october because I was very busy last 3 months. Now I have a few free days so here’s the new video – as promised. Floppy drives are back. This time there’s 8 drives and my 64×16 LED display I was working on recently. It’s Christmas time, so… here’s some Christmas song:

I am planning to write some more detailed description of how it works, FAQ and responses and maybe the instructions how to build the „floppy orchestra”, but not today. It’s a topis for separate long article. There will be more floppy music soon, so come back later or subscribe my YouTube channel.

Merry Christmas!

Hello! Here’s an English translation of my previos post. My English isn’t perfect so there might be some mistakes ;-) .

Summer holidays are comming to an end, I have passed all september exams and now I am procrastinating doing some dumb things instead finishing two other, more serious projects ;-) .
Here’s what polish AGH University of Science and Technology students do in their free time. I’d like to introduce my another, totally useless device – a musical floppy drives.

First attempt:

And now it’s time for the double:

How does it work?

It’s nothing new and it’s very simple. The sound comes from a magnetic head moved by stepper motor. To make a specific sound, head must be moved with appropriate frequency.
FDD has a simple interface – the description may be found for example [ HERE ]. To move the head you need to activate the drive by pulling the DRVSB0 or 1 (depends on the cable you have and the connector – notice the crossover on the FDD ribbon cable) pin low and then falling edge on STEP pin makes the head move one step in direction dependent on DIR pin state.
An ATMega microcontroller is generating those frequencies and it makes the drives play music.

Now it’s tome to call some older buddies (5,25′ or 8′ drivers) and make an orchestra!

Niedawno złożyłem mały próbny panel 32×8, w celu zapoznania się z nowymi tajwańskimi ;-) sterownikami LED. Próby wyszły całkiem nieźle, a testowy wyświetlacz postanowiłem do czegoś wykorzystać. Wygrzebałem plugin do Winampa, który kiedyś napisałem na szybko i połączyłem go z tym wyświetlaczem. Całość prezentuje się całkiem nieźle, panel świeci mocnym jednolitym światłem, więc postanowiłem go Wam pokazać.

Na koniec smutna wiadomość. Schematów i źródeł nie będzie.

[English translation available HERE]

Wakacje się kończą, egzaminy w „kampanii wrześniowej” zaliczone, a ja zamiast kończyć dwa komercyjne projekty zajmuje się głupotami – bo jak wiadomo głupoty cieszą najbardziej ;-) .
Oto, co robią studenci AGH w Krakowie w wolnym czasie. Przedstawiam mój kolejny, kompletnie bezużyteczny wynalazek – grające stacje dyskietek.

Pierwsza próba:

A teraz czas na duet:

Nie jest to nic nowego. Zasada działania jest bardzo prosta. Dźwięk powstaje poprzez ruch głowicy, która jest przesuwana krokowo z odpowiednią częstotliwością. Opis interfejsu można znaleźć np. TUTAJ. Wystarczy jedynie aktywować stację przez podanie stan niskiego na DRVSB0 lub 1 (w zależności czy mamy taśmę z crossem i do której wtyczki podłączona jest stacja) i wybrać kierunek ruchu głowicy (stan niski\wysoki na DIR), a zbocze opadające na STEP spowoduję ruch głowicy o jeden krok. Całością steruje mikrokontroler ATMega.

Teraz tylko pozostało zgromadzić kilku starszych kumpli (5,25′) i stworzyć orkiestrę! ;-)

Sesja się zbliża, więc tradycyjnie zacząłem już prokrastynować (a Wy? ;-) ). Ostatnio zacząłem pisać bibliotekę do obsługi klawiatury PS/2 w C dla AVR i postanowiłem na szybko w godzinkę lub dwie stworzyć jakiś praktyczny projekt w celu jej przetestowania. Początkowo nie planowałem tego publikować, ale pokazałem to kilku osobom i się spodobało, więc być może spodoba się i Wam. Mi zabawa tym wynalazkiem sprawia radochę jak dziecku ;-) .

Oto moje elektroniczne „pianino” z komputerowej klawiatury PS/2.
Od strony elektronicznej układ jest bardzo prosty – mikrokontroler ATMega, kondensatory, głośnik, gniazdo PS/2, które barbarzyńsko wyciąłem wraz z kawałkiem uszkodzonej płyty głównej, gdyż nie chciało mi się go wylutowywać i klawiatura PS/2 ze złomu, którą wspaniale oznakowałem zielonym markerem i powyciągałem kilka klawiszy by układ klawiszy przypominał klawiaturę pianina.

Na zdjęciach widać moją uniwersalną płytkę, w której siedzi m.in. Mega32 i programator USB DIY – USBAsp. Głośnik pochodzi z obudowy komputerowej.

Czas wspomnieć coś o softwarze, który jest główną częścią projektu. Być może kogoś to zainteresuje.

Jak już wspomniałem, napisałem go w C i skompilowałem pod AVR-GCC. Program dzieli się na dwie części – obsługa PS/2 i właściwy program – pianino.

Warstwa fizyczna PS/2 jest bardzo prosta. W przypadku klawiatury oprócz VCC/GND wykorzystywane są jedynie linie DATA i CLK. Opis można znaleźć m. in.
[TUTAJ] . W chwili naciśnięcia/puszczenia przycisku klawiatura przesyła 11 bitów (start, data(8), parity, stop) generując przy tym zegar na linii CLK. Zegar połączyłem z wejściem INT0 mikrokontrolera i włączyłem zewnętrzne przerwanie. Dane można odebrać na dwa sposoby – w momencie wystąpienia przerwania można odebrać wszystkie 11 bitów lub odbierać po 1 bicie w każdym przerwaniu. Ja zastosowałem drugą opcję. Dlaczego? Dzięki temu nie marnuję czasu pomiędzy bitami. Jeśli odbierałbym cały bajt, musiałbym czekać na aż klawiatura prześle wszystkie 11, a że działoby się to w przerwaniu zablokowałbym inne przerwania aż do zakończenia odczytu, co mogłoby być niepożądane w przypadku korzystania innych często występujących przerwań. Minusem jest możliwość utraty synchronizacji, kiedy na linii CLK pojawi się jakiś „śmieć” (moja klawiatura ze złomu jest lekko upośledzona i czasem je wysyła ;-) ) – można to wyeliminować wywołując co jakiś czas funkcję synchronizującą.
Po odebraniu 11-go bitu, bajt trafia do kolejki klawiatury – struktury zawierającej bufor o definiowalnej wielkości i flagi. Dzięki zastosowaniu bufora główna pętla nie musi „interesować się” życiem klawiatury – wystarczy jedynie ściągnąć z kolejki klawisz (o ile tam się znajduje). Ponadto takie podejście umożliwia podłączenie dwu lub więcej klawiatur – wystarczy tylko stworzyć dodatkową strukturę i przerobić funkcje tak, by operowały na wskaźnikach zamiast na globalnej strukturze (stworzyłem globalną dla zwiększenia wydajności/wygody).

Co do algorytmu pianina – mikrokontroler generuje proste tony (przebiegi prostokątne) za pomocą wbudowanego sprzętowego timera. W momencie, gdy chcę wygenerować dźwięk, przeliczam wartość docelowej częstotliwości na odpowiednią wartość wpisywaną do rejestru (właściwie rejestrów, bo jest to liczba 2-bajtowa) timera, zależną od częstotliwości taktowania i zmieniam stan wyjścia, do którego podłączony jest głośnik przy każdym przerwaniu.
Pianino posiada własną kolejkę klawiszy – dzięki niej program „pamięta”, jakie klawisze są aktualnie wciśnięte i zmienia ton w odpowiedni sposób.
Niestety mając tylko jeden kanał niewiele można zdziałać, ale przy zastosowaniu pewnego triku można nieco urozmaicić dźwięk. Zastosowałem taki sam trik jak w starych DOSowych grach (to były czasy, nie? ;-D ) – w momencie wciśnięcia dwu klawiszy częstotliwość jest przełączana z jednego tonu na drugi 20-50ms, co daje (przynajmniej częściowe) wrażenie dwóch tonów jednocześnie. Tryb dwutonu można wyłączyć/wyłączyć za pomocą odpowiednich klawiszy.

Na koniec najciekawsza opcja – nagrywanie sampli. Pozwala ona nagrać 4 sample o długości do 65 nut (w przypadku, gdy wszystkie dźwięki/przerwy są krótsze od 4 sek.). Podczas nagrywania zapisuję w pamięci zdarzenie (wciśnięcie/puszczenie klawisza N) i odstęp od poprzedniego zdarzenia w rozdzielczości około 16ms (1/64) do zajmuje 2B. Jedna nuta to wciśnięcie i puszczenie klawisza. 65*2*2B*4 sample daje 1040B potrzebnej pamięci na sample. oczywiście, można by to bardziej skompresować, ale nie było sensu marnować czasu na pisanie efektywniejszego algorytmu, bo nie taki był cel tego projektu. W przypadku ATMegi8/16 trzeba by zmniejszyć ten obszar o połowę – potrzebna jeszcze miejsca na kolejki, zmienne pomocnicze i stos (no końcu). Sample możnaby też zapisywać na EEPROMie – były by trwałe.
Sample można odtwarzać i jednocześnie grać drugą linię. Algorytm odtwarzania ma małe niedociągnięcia, które widać przy przełączaniu oktaw, ale jak już pisałem, celem projektu była biblioteka PS/2.

A teraz najważniejsze – 2 filmiki: na jednym demonstracja działania tryby dwutonowego i sampli na znanej piosence polskiego zespołu a na drugim… marsz turecki ;-) .

Jeśli będą chętni, to udostępnię kod programu/bibliotekę PS/2 jak tylko ją dokończę i napiszę dokumentację – pisać.
Jak mi się zechce, to dopiszę obsługę myszki – można by modulować nią dodatkowo tony klawiszy (coś na zasadzie wajchy w keyboardach ).
Jeśli ktoś chciałby się pobawić, to załączam skompilowany program dla ATMegi32 (8MHz). Schemat połączenia (tak jak było mi wygodnie na mojej płytce testowej):
ATMEGA.PORTD.2 (INT0) - PS2.CLK
ATMEGA.PORTC.1 - PS2.DATA
ATMEGA.PORTD.6 - SPEAKER

Do tego oczywiście głośnik do masy, VCC=5V dla atmegi i klawiatury i do tego jakiś elektrokit filtrujący miedzy VCC a GND i kondensatory do kwarcu 8MHZ około 27-30p. Program dodatkowo wysyła dane pomocne w debugowaniu po RS232 i czasem się przywiesi na starcie co jest powodem synchronizacji PS/2, której w bibliotece jeszcze nie ma .

Link do mojego tematu w serwisie elektroda.pl:
http://www.elektroda.pl/rtvforum/viewtopic.php?p=9574045#9574045

Firmware v. 0.1 (alpha):
  Pobierz plik: avrpiano/arvpiano_aplha_0_1_m32_8MHz.hex
  Rozmiar: 25.62 KB, pobrany 1132 razy.

Ostatnio postanowiłem udoskonalić mój poprzedni rejestrator temperatury. Celem było stworzenie mniejszego i stabilnego urządzenia. Projekt został całkowicie przebudowany.

Płytka uległa znacznemu zmniejszeniu, gniazdo na kartę pamięci poszło pod spód, przez co mogłem zrezygnować z górnej warstwy. Po długiej zabawie z edytorem layoutów w Eaglu udało mi się zmieścić układ w obszarze ~8x7cm. Dodałem tranzystory sterujące zasilaniem peryferiów (zegar/termometr/karta/lcd) i podświetleniem wyświetlacza oraz drugi rezonator kwarcowy 32k dla zegara wybudzającego z trybu uśpienia. Jak poprzednio, wszystkie elementy są w obudowach do montażu przewlekanego (za wyjątkiem gniazda na SD/MMC. Układ można łatwo rozbudować dodając dodatkowe gniazda np. na czujnik wilgotności, ciśnienia, anemometr itp.

Program w C również dużo się zmienił. Przepisałem go prawie od nowa. W przeciwieństwie do niedbale napisanego i niedokończonego softu w wersji 0.2x (includy .c w main, etc.), jest ładnie podzielony na moduły, zoptymalizowany i stabilny. Nie zawiesza się już po wyjęciu i włożeniu karty itp. Ponadto zrezygnowałem z biblioteki Dharmaniego, w której znalazłem błędy na rzecz dużo lepszej – FATFS. Teraz oprócz FAT32 rejestrator obsługuje systemy FAT12 i FAT16. Dopisałem również obsługę oszczędzania energii. W trybie oszczędnym wyświetlacz jest wyłączony, peryferia włączane tylko kiedy potrzeba, a po zapisie mikrokontroler przechodzi w stan uśpienia do następnego pomiaru, co znacznie zmniejszyło pobór mocy. Według mojego taniego, chińskiego multimetru rejestrator pobiera około 13-14uA w uśpieniu.

Aktualnie testuję wstępną wersję programu (0.30A). Pierwsze testy wypadły bardzo pozytywnie.

Zmiany w wersji 0.30A
tryb oszczędzania energii – możliwość włączenia na stałe;
– obsługa FAT12/16/32;
– wyeliminowany problem niekompatybilności z niektórymi kartami;
– LCD 2×16 znaków z podświetleniem i regulacja jasności.
– zwiększona stabilność

Planowane zmiany w docelowej wersji 0.30:
– zamiana beepera z generatorem na membranę piezo (taką jak w poprzedniej wersji) i – w chwili montażu miałem tylko beeper ;-) ;
– pominięcie napisu „oszczędzanie energii” przy starcie w trybie oszczędnym – aktualnie jest tylko w celach testowych;
– obsługa pozostałych błędów zapisu – np. brak wolnego miejsca na karcie
– kilka drobnych poprawek

Demo wstępnej wersji:

Na razie nie udostępniam schematu/programu.

*** Aktualizacja: 20-12-2010 23:17***

Dziś ku mojemu zdziwieniu projekt matrycy pojawił się na popularnych portalach, co mnie bardzo ucieszyło. Matryca jest już gotowa. Składa się z dwóch paneli, które można ułożyć w kwadrat 32×32 lub prostokąt 64×16. Końcowy efekt można zobaczyć na filmiku poniżej.

Jeśli podoba Ci się ten projekt, zagłosuj na mnie w konkursie na portalu elektroda.pl klikając „fajne” (wymaga zalogowania się):

http://www.elektroda.pl/rtvforum/topic1851303.html

Aktualizacja: 20-12-2010 23:17

Oprócz wyświetlania świątecznych grafik wyświetlacz świetnie nadaje się również do innych rzeczy. Oto kolejne dwa filmiki prezentujące jego możliwości tekst\grafika i analizator widma (plugin do WinAmpa; działa również z FooBarem 2000 i pluginem foo_vis_schpeck) – konfiguracja 64×16 i 32×32. Niestety z powodu kiepskiego aparatu widać smużenie – w rzeczywistości tego nie ma i obraz wygląda o wiele lepiej a przy analizatorze widma uzyskałem całkiem niezły framerate.

Jak to jest zrobione?

Pomysł na wyświetlacz powstał już jakiś czas temu, lecz zabrałem się za to gdy kolega przypadkowo znalazł tanie matryce 8×8 5mm na Allegro ;-) . Zakupione 16 sztuk czekało w pudełku aż znajdę dla nich trochę czasu.

Układ

Mój wyświetlacz to standardowa konstrukcja – 8 logicznych multipleksowanych wierszy. Każdy wiersz to długi rejestr przesuwny z zatrzaskiem (74HC595). Zaprojektowałem płytki tak, aby można było dołączyć kolejne panele szeregowo wydłużając rejestr. Obecnie zbudowałem 2 takie matryce. Matrycami obecnie steruje ATMega32 z 32kB pamięci flash i 2kB RAMu na mojej płytce testowej. Taki sam układ będzie docelowo na płytce sterownika – jeśli kiedyś dobuduję dodatkowe panele to przyda się więcej RAMu (obecnie wykorzystuję niecałe 0,5kB). Sterownik komunikuje się z komputerem za pomocą sprzętowego UARTa z konwerterem napięć TTL<->COM (MAX232) przy prędkości 115,2k baud i w celu jak najmniejszego błędu w transmisji mikrokontroler jest taktowany zewnętrznym kwarcem 11,0592MHz. Obecnie to wystarcza bez problemu. W przypadku większej ilości matryc w szeregu można będzie zwiększyć częstotliwość do 14Mhz lub przetaktować układ do 18\22MHz.

Płytki zaprojektowałem w Eagle’u i wykonałem metodą termotransferu –  wyszły całkiem nieźle, zwłaszcza jak na swój rozmiar.


W chwili obecnej została mi do zaprojektowania płytka sterownika. Na pewno znajdą się na niej 2 lub więcej gniazd na szeregi paneli na przyszłość. Zastanawiam się nad złączem kart SD – można by wtedy wyświetlać obraz bez użycia komputera. Myślę również nad osobną płytką podłączaną do sterownika wyświetlacza z kilkoma przyciskami i mikrokontrolerem z zaimplementowanymi prostymi gierkami.

Software

Program dla mikrokontrolera napisałem w C (środowisko AVR Studio). Aktualnie zajmuje około 4kB i na chwilę obecną używa 485B RAMu (2 „strony” w pamięci obrazu plus 128-bajtowy bufor na dane od PCta).

Obecnie protokół komunikacji z PCtem to zaledwie kilka komend takich jak czyszczenie ekranu, ramka 64B (dla 32×16) lub 128B (dla 2 paneli) czy przesunięcie zawartości ekranu w lewo\prawo\górę\dół. Każdą komendę rozpoczyna się przez wysłanie bajtu oznaczającego jej numer a następnie wysłaniu liczby bajtów odpowiadającej danej komendzie. W celu uniknięcia problemów z synchronizacją przed każdą komendą komputer wystawia impuls na lini DTR, na co sterownik reaguje powrotem do odczytu numeru komendy (jeśli jest np. w stanie odbierania ramki z orbazem).

Program do wysyłania grafiki napisałem w środowisku Delphi. Posiada możliwość wyświetlania przewijającego się tekstu oraz wyświetlania grafik BMP jako obraz statyczny\przewijany lub animację. Aplikacja ma również możliwość wyboru układu paneli i podgląd na żywo.

Programy udostępnię w niedalekiej przyszłości i przy okazji dopiszę więcej szczegółów odnośnie jego działania. Muszę jeszcze zrobić kilka poprawek i trochę uporządkować\udokumentować kod – na pewno nikt nie chciałby przeglądać tego bałaganu ;-) .

PLIKI:

  Pobierz plik: ledmatrix/lm_layout_v_0_1.png
  Rozmiar: 732.37 KB, pobrany 1321 razy.

Zapraszam do komentowania i zadawania pytań!

*** AKTUALIZACJA: 2010-10-03 – czytaj niżej ***

Dawno tu nic nie pisałem…
Ostatnio zacząłem budowę matrycy LED, składającej się z dwóch modułów 32×16, które będzie można ułożyć w prostokąt 64×13 lub kwadrat 32×32.

Budowa jest dość prosta – standardowa konstrukcja z szeregiem rejestrów przesuwnych z zatrzaskami połączonych z 8 wierzami multipleksowanymi na zmianę. Wyświetlacz tworzą matryce LED 8×8 (5mm) kupione niedawno na Allegro w dobrej cenie.

Jak dotąd złożyłem pierwszy moduł. Płytkę zaprojektowałem w Eagle’u i wykonałem metodą termotransferu. Pomimo swojego rozmiaru, wyszła bardzo dobrze – tym razem zamiast żelazka użyłem laminatora do dokumentów, który kupiłem niedawno w Lidlu za 49,99 ;-) . Być może niedługo napiszę o tym więcej.

Wiercenie i lutowanie podstawek okazało się dość męczące – na płycie znajduje się około 600-700 otworów. Matryce umieściłem na podstawkach pod goldpiny – wchodzą dość ciężko, ale jeszcze się mieszczą. Całość jest niestety mało sztywna – następny moduł będzie na grubszym laminacie (1,6mm).

Całość jest sterowana przez mikrokontroler ATMega32 na mojej uniwersalnej płytce testowej. Docelowo animacja będzie przesyłana z komputera przez RS232 (COM lub adapter USB-RS232) w czasie rzeczywistym lub będzie ją można wgrać na stałe do sterownika. Aktualnie jest ona wkompilowana w program.

Panel prezentuje się następująco:


W rzeczywistości nie mieni się tak jak na filmie.

Aktualnie zabieram się za pisanie programu w C dla mikrokontrolera do odbioru danych z komputera oraz drugiego programu dla PC do obsługi wyświetlacza.
Oprócz tego do zrobienia został jeszcze projekt płytki sterownika oraz drugi panel.

Jak skończę projekt, opublikuje schematy \ layouty PCB oraz programy.

*** AKTUALIZACJA: 2010-10-03 ***

Projekt idzie do przodu – dzisiaj skończyłem pisać wstępną wersję programu do komunikacji z wyświetlaczem. Software posiada podstawowe możliwości – przewijanie tekstu w każdym kierunku, wyświetlanie monochromatycznych grafik BMP – jako animacja lub przewijany obraz statyczny. Ciekawym dodatkiem jest plugin do Winampa, który wyświetla na żywo analizator widma.

Sterownik matrycy komunikuje się z PCtem za pomocą RS232. Prędkość transmisji 115,2 kBaud\s w zupełności wystarczy do wyświetlania płynnej animacji, jak i do wyświetlania analizatora widma. Przy dwóch panelach 32×16 sterownik powinien uciągnąć 50-60 klatek\sek.

Demo #2 – tekst, grafika i spectrum analyzer:

Do zrobienia pozostał drugi panel, mniejsze poprawki w protokole transmisji i dodanie funkcji wyboru rozmiaru matrycy w sofcie dla PC (32×16 \ 64×16 \ 32×32). Niedługo opiszę dokładniej cały projekt.

Tak jak obiecałem, przedstawiam druga nową konstrukcję. Jest to stroik do każdego typu gitary (powinien też działać z innymi instrumentami strunowymi) wykorzystujący efekt stroboskopowy.

Zasada działania jest bardzo prosta. Mocne diody LED mrugają z częstotliwością wybranego tonu. W przypadku, gdy struna jest dobrze nastrojona (drga z taką samą częstotliwością co diody), to po oświetleniu jej w czasie gdy drga, widać dokładnie jedną cienką linię. Przy niewielkim odchyleniu częstotliwości linia oscyluje powoli na boki, a przy dużym rozstrojeniu widać kilka rozmazanych kresek. Strojenie polega na „unieruchomieniu” świetlnej kreski. Niestety, nie udało mi się tego uchwycić aparatem.

Układ jest bardzo prosty – zbudowałem go na mikrokontrolerze ATMega8 z użyciem podwójnego wyświetlacza segmentowego oraz dwóch mocnych diod LED 10mm. Dodatkowo dołączyłem beeper, który wydaje aktualnie wybrany ton. Dźwięk jest wybierany za pomocą pierwszych dwóch przycisków, natomiast trzeci aktywuje brzęczyk.

Program wymaga jeszcze drobnych kalibracji, ponieważ (jak to zwykle bywa w praktyce) teoretycznie poprawnie wyliczone wartości nie zapewniają idealnie dokładnej częstotliwości. Kod źródłowy wraz ze skompilowanym HEXem oraz projektem w Eagle (schemat + layout) dostępne poniżej. W planie mam dokładniejszą kalibrację oraz dodanie takich funkcji jak metronom oraz opcje strojenia, np. „niskie D” lub C. Oczywiście zapraszam do pisania komentarzy.

  Pobierz plik: strobetuner/strobetuner_0.1_a8_8mhz.hex
  Rozmiar: 11.19 KB, pobrany 825 razy.

  Pobierz plik: strobetuner/strobetuner_0.1_src.zip
  Rozmiar: 39.75 KB, pobrany 321 razy.

  Pobierz plik: strobetuner/strobetuner_eagle.zip
  Rozmiar: 62.17 KB, pobrany 261 razy.

© 2010 Silent's Homepage Administracja Suffusion WordPress theme by Sayontan Sinha