Archiwum kategorii ‘main’

WIT – tablica interaktywna

czwartek, 26 Sierpień 2010

Tak! Kiedyś myślałem, że to jest awykonalne dla przeciętnego człowieka! Ale – przyszło zamówienie i co, ja nie zrobię? Mój pierwszy komercyjny projekt już wdrażany w polskich szkołach!

Kamera WIT

Kamera WIT

Tablica interaktywna WIT dostępna w sprzedaży w firmie w2m. Firma ta jest zleceniodawcą na to urządzenie i support.

Projekt całkowicie opracowany i oprogramowany przeze mnie. Kamera podłączana jest do portu USB i przesyła pozycję diody IR do odpowiedniej aplikacji pracującej pod systemem Windows (na razie). Aplikacja ta przetwarza współrzędne przesyłane przez kamerę na współrzędne ekranu, i przesuwa kursor po ekranie (niezbędny jest rzutnik, który ten kursor na ekranie wyświetli :)

Podstawowe dane techniczne:
zasięg widzialności punktu – do 5m
kąt widzenia – ok 32 stopni (w poziomie)
prędkość śledzenia – 90HZ

Tablicy można używać jak myszki jednoprzyciskowej, albo, przy pomocy odpowiedniej aplikacji jako pióra do rysowania, zakreślania i oznaczania elementów widzialnego obrazu (np. prezentacji)

Oprogramowanie zajęło nieco ponad miesiąc, przetestowałem wiele algorytmów wykrywania punktu. Problem jest taki, że większość czasu urządzenie pracuje na granicy szumów. A wymagania są spore …

Samo urządzenie w sobie to kilka elementów: mikrokontroler atmega32, czujnik obrazu oraz konwerter serial<>USB.

Urządzenie ma możliwość upgrade firmware, firmware jest zaszyfrowane podwójnym kluczem, a procesor zabezpieczony przed niepowołanym dostępem.

Nowe Sapy w dziale Atari Muzyka

piątek, 13 Sierpień 2010

Umieściłem 4 nowiutkie świeżutkie sapy:
Shadow Of The Beast 1 3, His Dark Majesty InGame, Swiaszczennaja Wojna, Red Dragon.
[bezpośredni link]

Miniaturyzacja: FT232RL w akcji.

wtorek, 3 Sierpień 2010

Lubię miniaturyzować. Potrzebny był mi konwerter serial<>usb. FTDI. FT232RL. Płytka 28x18mm. Metoda wytworzenia płytki: termotransferowa.

usbserial PCB

Usb Serial Converter


usb2serial PCB

Usb Serial Converter PCB

Konwerter Music-X to SMF – Standard Midi File

czwartek, 17 Czerwiec 2010

Wielu zajmujących się muzyką w latach 90 tworzyło przy pomocy Atari ST (wbudowane midi) czy też Commodore Amiga (prosta przejściówka Midi). Na Atari ST królował Cubase, na Amidze m. in. Music-X.

Music-X jest dla mnie jedynym sekwencerem midi, który ma odtwarzanie sekwencji. To są takie podślady (subtracks) odpalane ze ścieżki głównej. Wystarczy sobie zaprogramować bas, chórki, perkusję i szaleć, bo każdą taką sekwencję można odtwarzać w innej wysokości (transpozycja), np. 0 – to główne C, +7 to G, a -7 to F oktawę niżej. Bardzo szybko się tworzy aranżacje na zasadzie: nie powtarzaj się.

Ja używałem Amigi do komponowania, zebrało się kilkanaście kawałków, jednak nie za bardzo było co z tym dalej robić. Miałem 2 możliwości, z czego przez obie przeszedłem.

  1. zmuszenie Music-X pod emulatorem, by dał strumień midi. Napisałem łatkę pod emulator i konwerter strumienia midi do SMF. Działało, ale dużo zachodu z tym było.
  2. napisanie konwertera Music-X to SMF.

Oba podejścia zakończyły się sukcesem, jednak drugie podejście jest bardziej uniwersalne.
Konwerter v0.5 500-linijkowy napisany w pythonie 2.5.1 do pobrania tutaj

Powinno działać nawet na niższych (>=2.4) wersjach pythona.

Dla tych, co są ciekawi zastosowanych rozwiązań:

  • ten programik celowo – dla wygody użytkownika – jest w jednym pliku.
  • jest pisany „na kolanie” – ważne, żeby działał, rozwijanie nie jest planowane :), chociaż jest bardzo elastyczny.

CHANGELOG:

Fixed from 0.4: (2010-06-18)
– Fixed sequence length setting (when sequence offset is not 0)
– changed ‚len’ variables to ‚length’ not to be in potential conflict with func
– added reverse sorting of events by event type before write;
now pgmchg, ctrlchg always before note on; note on before note off. good

Fixed from 0.3: (2010-06-13)
– file format checking added

Fixed from 0.2: (2010-06-10)
– unroll sequences now works ok. (not only first unroll)

Fixed from 0.1: (2010-06-08)
– The code has a little problems with unrolling sequences, sometimes the last note is fired but not finished, this leads to endless notes playing. I have met this problem once or twice, it is easy to remove the notes manually.
– Code cleanup

Initial version: 0.1: (2010-06-08)

Music-X

sobota, 12 Czerwiec 2010

Music-X edytor / sequencer Midi niemal idealny (dla mnie).

Być może jego możliwości wykraczają poza standardowe (a nawet na pewno), jednak pozostałe dodatki (Librarian, Protocols) sprawiają wrażenie niedorobionych.

Jednak Core – czyli sam sequencer – Miodzio. Ja chcę taki GNU! Dokładnie taki! I kompatybilny!


Ekran główny

Ekran główny


Ekran edycji sekwencji

Ekran edycji sekwencji

Żeby samemu zrobić taki, a w ogóle zacząć, muszę mieć dostęp do Core Midi MacOSX w postaci wygodnej biblioteki, aby nie wyważać otwartych drzwi. Poza tym, jeśli użyję wxWidgets albo innych tego typu narzędzi, to aplikacja mogłaby być przenośna.
A może w Javie …

Pozostaje w sferze marzeń.

Robocza wersja nazwy: Music-XXL, albo Music-Y :)

Free Playery i Sekwencery MIDI na MacOS X

sobota, 12 Czerwiec 2010

Niestety – posucha. Dobrych darmowych playerów midi jak na lekarstwo. Oto jest efekt kilkudniowych poszukiwań i testów, który skończył się wyborem również programów shareware.

Dobrze działające playery midi to:

  1. timdity++ – ale nie gra przez zewnętrzne interfejsy midi. GPL.
  2. QMidi – shareware, ale ten gra dobrze i jest dobrze oceniany. Odtwarza Karaoke. Może grać przez zewnętrzny interfejs midi.
  3. Mighty Midi – jest free i wygląda ok, ale nie radzi sobie z PitchBenderem!. Może grać przez zewnętrzny interfejs midi.
  4. MidiPipe – to taki procesor midi – ustalamy ścieżkę przekształceń zdarzeń midi i… pełna wolna amerykanka! Ma wbudowany player midi (także przez zewnętrzny interfejs), chyba najlepszy, bo darmowy :) Dodatkowo można sterować komunikatami midi i uruchamiać pliki SMF przez komunikaty midi!

Sekwencery, które mi odpowiadają:

  1. MidiSwing 0.3.5b – napisany w Javie, mi się uruchamia z jakimiś wyjątkami, nie da się nic zrobić. Pewnie byłby fajny, bo ludzie chwalą za prostotę a ganią za stabilność.
  2. MU.LAB 3 – wersja free jest ok, wszyscy się rozpływają, że szybki i taki „gładki” w obsłudze, ale tylko 4 traki grają. Świetnie przemyślany, szybko się tworzy. Można kupić wersję XT, w której gra 8 traków za 25 euro, lub Unlimited za 75 euro.
  3. Easy Beat 2.2.1 – ten jest fajny i stabilny, 50 dolarów, niestety nie potrafi zmienić instrumentu w środku ścieżki, a także obsługuje kilka głównych kontrolerów, pozostałe ignoruje. Eksportuje do GarageBand.
  4. Apple GarageBand – ten to jest strasznie powolna kobyła, kłopoty w ustawieniu midi out (uciążliwe, dla każdego tracka trzeba wykonać dobre kilka kliknięć myszką i przejść przez 2 listy wyboru, żeby przypisać wyjście midi i kanału do jednej ścieżki). Poza tym ma jakieś deadlocki, trzeba force quit. Z midi nie polecam do pracy.

Ze wszystkich testowanych kupiłbym easy beat lub MU.LAB 3; GarageBand mam. No i jeszcze będę męczył midi Swing.

Z ostatniej chwili. Znalazłem buga w MU.LAB 3. Napisałem o tym na forum. Odpowiedź i potwierdzenie natychmiastowa. Za 2 dni info o znalezieniu w kodzie odpowiedzialnych fragmentów a także informacja, że w następnej wersji będzie to poprawione. Następna wersja pojawiła się w ciągu tygodnia.

Wielkie brawa dla twórców MU.LAB!

Zakupiłem MU.LAB 3. Jest świetny.

Link do strony Kabaretu POTEM z midami

wtorek, 8 Czerwiec 2010

Oto link do strony Kabaretu POTEM z midami, dla którego wraz z siostrą Pauliną pisaliśmy midy.

ttp://www.kabaretpotem.art.pl/midi/midi.html

Niestety, ostatnio nie działa.

Zamieszczam więc pliczki tutaj:

Miłego słuchania!

Płytki testowe do eksperymentów

czwartek, 20 Maj 2010

Do montowania prototypów dotychczas używałem płytek uniwersalnych, w które wlutowywane były potrzebne mi elementy. Jednak często najlepszym (najszybszym) podejściem jest montaż na płytce stykowej.

Zalety:

przy dobrej organizacji warsztatu – b łyskawicznie można przetestować interesujące rozwiązania

Wady

po jakimś czasie zmontowany układ może (duże prawdopodobieństwo) przestać działać. Po prostu połączenia różnych metali przestają przewodzić prąd.

Płytki nie są najtańsze, jednak są wielokrotnego użytku.

Organizacja warsztatu.

Jako, że jestem zwolennikiem montażu powierzchniowego (nie chce mi się wiercić dziur), mam lekki problem. Na szczęście mam kilka procesorów w wersji DIP, oraz na warszawskiej giełdzie na Bielanach kupiłem kilka paczek z różnistymi elementami po 2 zł paczka. W paczce na oko ok. kilka tysięcy diod, dławików, rezystorów. Rezystory takie do zastosowań cyfrowych, bo o niskich wartościach.

Po drugie, należy zaopatrzyć się w kilka metrów skrętki – drutu, oraz dobry ściągacz izolacji. Takie druciki (o średnicy 0.5 mm) są IDEALNE do łączenia punktów, przy czym są różnokolorowe :) .

Po trzecie, zrobiłem sobie takie terminale do SPI, z jednej strony wtyczka, z drugiej opisane druciki, aby łatwo było programować procesor.

Do takich płytek stykowych dobrze pasują (trochę się rozpychają, ale to nieszkodzi) goldpiny. Mam kilka modułów (usb na FT232RL, LCD telefonów nokii, siemensa, gniazdka różnego rodzaju), które wtykam w płytkę i już.

Pozostaje kwestia zasilania – podłączam zasilacz laboratoryjny 0-15V (ustawiony na 5V :) ) lub 4 paluszki – akumulatorki – wtedy jest ciszej, bo akumulatorki nie mają wentylatorka. Paluszki mam umieszczone w koszyczku na baterie.

To mniej więcej cały mój warsztat.

Timer – wodolej

czwartek, 20 Maj 2010

Jesteśmy z żoną szczęśliwymi posiadaczami filtra do wody. Filtr jest w postaci oddzielnego kraniku, przez który woda sobie leci mniej więcej 2litry/minutę.

Nie mamy cierpliwości czekać na nalanie się np. 4 litrów wody, stąd pomysł na timerek, który – skalibrowany odpowiednio – odmierza zadaną ilość wody, poczynając piszczeć pod koniec. Zasilany bateryjnie, chodzi już pół roku. Zbudowany na podwójnym wyświetlaczu LED oraz AtTiny 2313. Pozwala na kalibrację, wybór kranika z wodą (do gotowania/ do picia, do picia leci wolniej, bo musi się namineralizować). Zawsze włączony, pracuje przez ogromą ilość czasu w trybie power down mikrokontrolera.

Timer - Wodolej

Timer - wodolej

Sterownik ogrzewania 11-kanałowy

czwartek, 20 Maj 2010

Sterownik do ogrzewania w moim (i mojej żony) domu – prototyp powstał na płytce stykowej w jeden wieczór. Pozwalał na uruchamianie mikroprzyciskami poszczególnych obwodów na 1,2,3 lub 4 godziny.

Aktualna wersja jest zmontowana na płytce w technologii mieszanej: przewlekanej (terminale, mikrokontroler i darlingtony) oraz smd (rezystory i kondensatory) oraz umieszczona w obudowie na szynę din. Steruje 11 przekaźnikami umieszczonymi również na szynie din. Na razie zasilana jest z zewnętrznego zasilacza 5V.

Docelowo sterownik będzie wykonywał polecenia systemu nadzorującego, jednak przewidziany jest na działanie samodzielne w przypadku braku nadzorcy.

Sterownik ogrzewania

Sterownik Ogrzewania