Merac spotreby / energy consumption meter1.feb 2014
     This device allows you to measure the power consumption of your house. Sensor attaches to the power meter by the double sided adhesive tape and observes the indication LED by photoresistor. Signal from this device is afterwards processed by central unit and pulse count is uploaded to a server script using GSM module. This script calculates the current consumption rate as well as total daily power consumption using the known pulse count ratio per 1 kWh.
     Toto zariadenie umožňuje sledovať elektrickú spotrebu domácnosti. Skladá sa z dvoch komponentov ktoré sú prepojené káblom. Prvý z nich je samolepiaci senzor, ktorý sa pripevní na plastový kryt domového merača spotreby. Senzor treba umiestniť tak, aby fotorezistor smeroval presne na indikačnú led diódu, dosku senzora zaistíme plastovou maticou. V prípade potreby je možné senzor odstrániť z merača bez zanechania stôp, použitá je špeciálna obojstranná lepiaca páska ktorá poskytuje dostatočnú pevnosť no zároveň sa ľahko odstraňuje z plastových povrchov. Senzor je prepojený so základým komunikačným modulom štvoržilovým vodičom. K dispozícii sú 2m, 5m, alebo 10m vodiče. Komunikačný modul prenáša merané hodnoty na server prostredníctvom GSM siete, Wifi alebo po ethernetovom kábli.


Tags: electricity meter, house energy meter, meranie spotreby, merac spotreby, elektrometer, elektromer, s0 signal, gsm, wifi, ethernet

Experiments CNC30203.nov 2013
     This document shows my first experiments with CNC3020 and also explains how to connect this machine to computer through USB port using 4 axis CNC controller board compatible with CNC USB controller from www.planet-cnc.com.

Elitech 201324.apr 2013
    I was forced to write a small paper for local student conference at university where I am currently studying. I decided to put on paper one of my latest projects - it is about measuring temperature and controlling the heating inside a greenhouse. You can learn more about it on attached document. I think this could be interesting also for others, so after a long period I am placing something new on my webpage.

Tags: Arduino, temperature logging, greenhouse, mixing valve, PID, heating regulation

Kratky uvod do lamania softwarovych ochran15.feb 2012
Uz par krat som sa snazil o prelomenie softwarovej ochrany v niektorych programoch. Urcite to poznate, nainstalujete si nieco ako free verziu, program sa vam zapaci, no po 30 dnoch odmieta fungovat. Mozno to raz pride, ale doteraz som nikdy za ziadny software neplatil (s vynimkou predinstalovaneho Win Vista ktory vsak pred prvym nabootovanim bol uz preinstalovany na W7). Clovek je tvoj zvedavy a vynaliezavy, a obcas nie je na skodu zoznamit sa s tym ako softwarove ochrany pracuju, predsalen pri navrhu nejakeho noveho komercneho softwaroveho produktu budu tieto vedomosti dolezite... Zoznamte sa prosim s programom Trackpad++. Je to alternativny driver pre Macbook Air touchpad, ktory implementuje zopar uzitocnych giest. Featury nie su zdaleka tak dobre navrhnute ako originalny driver pre OSX, ale urcite je to lepsie ako oficialny driver poskytnuty prostrednictvom BootCampu.

Experience with MBA and OSX15.feb 2012
Pri navsteve USA som vyuzil moznost kupit si pocitac z dovodu nizsieho danoveho zatazenia. Uz dlhsiu dobu sme v robote obdivovali MacbookAir a vzhladom na nedostatky mojho predosleho laptopu som sa rozhodol ze prvorade kriterium pri volbe noveho PC bude prave vydrz baterie. Veril som ze ak kupim nieco v hodnote 800-1000eur, dostanem zariadenie na ktore bude spolah. Dell XPS1330 stal presne 1000eur (obchod Shark), no bolo pre mna velmi neprijemne zistenie, ked sa mi po case poskodila graficka karta vplyvom termalnej degradacie. Nastastie bol este v zaruke a mohol som vyuzit zaruku NBD (Next bussiness day), takze technik prisiel, opravil, a odisiel. Bol to mlady sikovny chalan tak som sa samozrejme opytal, ze ci taketo opravy robi casto. Povedal mi ze vsetky tieto laptopy maju tu istu chybu - cip od NVidie, ktory je "vadny" a ked sa prehreje tak sa znici. V podstate oprava spocivala vo vymene zakladnej dosky kedze odletovavat graficky cip nedava velmi zmysel... Vraj takychto oprav robia stovky az tisice, vyrobca o tejto poruche vie, no nic s tym nerobi. Toto ma uprimne nasralo a rozhodol som sa uz nevratit ku znacke Dell.

Social developing16.nov 2011
    Its time to start sharing source codes in a more productive way than downloadable packed archives. After a long time of deciding between subversion and git I decided to give a try to github. For now there only a few projects on my github, but I hope I will place there more and more interesting projects and I am looking forward to further cooperation. Check out my github repositories by clicking on this giant mutant catopus:

Experiments with DS203 oscilloscope15.sep 2011
     I have recently purchased DS203 quad oscilloscope. It is a very small portable oscilloscope that looks more like a mobile phone or mp4 player. On forums on internet you can find many reviews that consider this device more as a toy than a oscilloscope. The interesting thing on this device is, that it's source code is open.


Floating average filter10.may 2011
    Here is a demonstration of very simple filter. I don't know what is the correct name of this equation, but I call it "floating average". It does not need any array of last N values, it simply averages the old value with the new value in every iteration. This example is using two filters - one for the X coordinate of the red dot and the second for the Y coordinate.

    

Tags: javascript, floating average, iterative average, animation, html slider control

Expression graph10.may 2011
    This script allows you to examine mathematics expressions in form of the graph. With the + and - buttons you can scale the graph. You can write your own expression in the text field and then press the R button to regenerate the graph.

    

Tags: html5, canvas, javascript, mathematical expression visualization, infinity graph, drawing with canvas, scrolling, zooming

Arcade volleyball in javascript30.jan 2011
     One day I decided to rewrite a very old DOS game called Arcade Volleyball into javascript. The core took only few hours to finish. Today I wanted to finsh it and publish on my webpage. The interesting part of this project is, that it is completelly written in javascript, no internal HTML elements are used, everything is generated dynamically and this game has no external resources. All the bitmaps are embedded into the single HTML file. I wanted to add some sound effects, but my browser has some weak support of playing WAVs. Maybe later...
There are 2 players, you can choose between ASDW or arrow key controls, or to play game with simple AI.

    

Globus8.jan 2011
    Pri pive a inych spolocenskych akciach obcas vzniknu nove a zaujimave myslienky. Jednou z nich bol aj podnet pre tuto jednoduchu aplikaciu. Predstavme si ze mame nejaku gulu, a mame taktiez N figurok. Otazka znie, ako rozmiestnit figurky tak aby boli vzajomne co najdalej od seba? Otazka sa da jednoducho odhadnut pre N=2 - vtedy budu body lezat na priemere. Pre N=3 vznikne rovnostranny trojuholnik v rovine so stredom. Pre N=4 vznika priestorovy utvar znamy ako stvorsten. Pre N=20 - nikto nevie.
    Pre cloveka s dobrou priestorovou predstavivostou a dobrym matematickym pozadim by to mozno bola jednoducha otazka. Zrejme nepatrim ani do jednej z tychto skupin a kedze ma nenapadol ziadny rozumny system ako postupne ukladat figurky na gulu, rozhodol som sa ze tento problem za mna vyriesi pocitac. Necakajte zazraky, pocitac vie vselico, ale urcite sam od seba nebude vediet vyriesit tuto ulohu.
    Ze vraj sa to vola evolucny algoritmus. Figurky sa najprv nahodne rozmiestnia po guli. A teraz vyskusame experiment. Kazdu figurku posunieme o nejaku malu nahodnu hodnotu. A porovname ktora sada figuriek - ci ta prva, alebo ci tato poposuvana - lepsie charakterizuje nase poziadavky. Pri spravnej formulacii poziadavky staci nechat algoritmus produkovat nove a nove generacie a za par minut sa dopracuje ku finalnemu vysledku.
    Zo slovnej ulohy musime vytvorit akysi matematicky predpis, ktory pocitac bude chapat. Hladame teda taku sadu figuriek pre ktoru su vsetky figurky vzajomne od seba co najviac vzdialene.
    1. Znie to jednoducho, ved skusme si vypocitat vzajomne vsetky vzdialenosti kazdej figurky od kazdej a tieto hodnoty nakoniec scitame. Z nejakeho dovodu tento pristup neposkytoval pouzitelne vysledky - vysledkom bolo ze sa na globuse vytvorili akesi zhluky bodov.
    2. Zamerajme sa na zhluky bodov ktore su tesne pri sebe. Nova podmienka bola formulovana takto: Ta generacia je lepsia v ktorej je vacsia najmensia vzajomna vzdialenost dvoch bodov. Takze najdeme dva body ktore lezia co najblizsie a porovnavame uz iba tuto vzdialenost. Tento pristup funguje, ale je velmi pomaly, kedze pracujeme len s dvomi bodmi a to co sa deje s ostatnymi nas nijako nezaujima
    3. Finalna podmienka ktoru som navrhol: Vypocitajme vsetky vzajomne vzdialenosti figurok a scitajme prevratene hodnoty vsetkych vzdialenosti. Takto krasne eliminujeme efekt zgrupenych figurok a podmienka charakterizuje jednym realnym cislom kompletne rozlozenie figurok na guli.

    Prichadza na rad dalsia otazka - aky programovaci jazyk pouzit? Ako nadsenec novych technologii som si opat vyskusal Canvas element ktory je sucastou HTML5 standardu. Postup generovania generacii som chcel vidiet, takze javascript renderuje pekny globus a na nom aj jednotlive figurky cervenym stvorcekom. Aby bolo lepsie vidiet kde sa ktory bod nachadza, gula pomaly rotuje. Modrou ciarou je zvyraznena minimalna vzdialenost figurok a tato hodnota je zaroven vypisana v lavom hornom rohu canvasu. Program som navrhoval vo Firefoxe, takze netusim ci to bude spustitelne pod inym browserom.
    Pri vysokom pocte figurok (napr N=100) sa vytvoril akysi pravidelny vzor na globuse a bol som zvedavy ako by to vyzeralo v rovine. Vdaka vyhodam jazyku bolo velmi jednoduche pridat dalsie dve projekcie - popri globusu, este cylinder a rovinne zobrazenie.

    A co dalej? Je velmi zaujimave sledovat aka bola dosiahnuta minimalna hodnota vzdialenosti v zavislosti od poctu figurok. Mozno by sa podarilo navrhnut analyticku funkciu parametra N ktora by matematickym predpisom tuto vzdialenost definovala. Mam vsak zly pocit ze ku tomuto vysledku sa da dopracovat iba casovo zdlhavym testovanim a jednoduchy matematicky predpis ku tomuto neexistuje. Zrejme to bude rovnaky problem ako keby sme chceli sfleku urcit X-te cislo Fibonacciho postupnosti. Ked sa mi to ale podari, bude sa tento predpis volat "Gabova funkcia" :)


  
  
Tags: html5, canvas, javascript, 3d, projection, render, globe, sphere, cylinder, plane, rotation, normal distribution, genetic algorithm, random number generator

Fun with HMC6352 magnetometer27.dec 2010
     A year ago I have bought a electronic compass module based on Honeywell HMC6352 chip from ebay. You can get this small board for $50 from www.seeedstudio.com. For the first experiments I connected this module to microchip 44-pin demo board that comes with PicKit2 programmer. After some troubles finding I2C communication protocol routines I have developed my own small I2C bit banging module in C. To make whole device portable I have soldered two double pins on the board to hold the 3.6V SAFT battery I used in my previous projects. The communication with PC is through bluetooth wireless channel. For this purpose I have used my favourite ConnectBlue OEMSPA310 Bluetooth module. Everything is directly connected to the demo board without any passive or active components.
Unfortunatelly when I was writing this description, I couldn't find the compass module, nor the bluetooth module. But I hope the image is self-explanatory.
The compass module provides 2 useful informations - rotation in degrees with 0.1 resolution (heading) and elevation in degrees. Unfortunatelly this cheap module does not provide reliable elevation information. And the rotation is reliable only when the device is parallel to the ground plane. Any elevation will cause partial error to the heading information.
Small OpenGl based application opens communication port to the bluetooth module and communicates with the PIC16F887 microprocessor that translates the serial port commands to the I2C commands. Application renders cube that rotates based on the angle the magnetometer gives.
As I said, I cannot reproduce the results, but I remember that it together really looked amazing :)
For the readers this project should be interesting because it connects the Opengl with microchip pic projects.
     Neviem presne, ale asi pred rokom som si na ebay.com objednal modul elektronickeho kompasu, ktory bol postaveny na cipe HMC6352. Dnes uz to v ponuke ebayu neviem najst, ale pamatam si ze to predavalo www.seeedstudio.com a na ich stranke sa da najst tento modul v cene okolo $50. Z modulu su vyvedene 4 piny: SDA a SCL tvoriace I2C komunikacny kanal, a samozrejme napajanie. Toto je dostatocne flexibilne - modul si vystaci s napatim v rozsahu 2.7V az 5.2V. Prve pokusy som realizoval na Microchip 44-pin demo doske ktora sa dodava spolu s programatorom PicKit2. Dosku som pre taketo ucely trosku upravil. Na obrazkoch je vidiet prilepena lista tavnou pistolou na ktoru su vyvedene vsetky dolezite piny. Na zaciatok listy je pripojeny cely 8 bitovy PortB. Cize najvrchnejsi pin listy je RB0. Na spodku je seriove komunikacne rozhranie a napajanie.
Modul HMC6352 je pripojeny priamo na zaciatok listy, cize pin SDA modulu zpodoveda RB0 na demo doske, SCL - RB1, zem - RB2 a napajanie - RB3. Zdrojovy kod v jazyku C (kompilator HiTech) nakonfiguruje vhodne tieto piny aby poskytovali napajacie napatie modulu. Taketo riesenie bolo provizorne, ale nevyzadovalo ziadne modifikacie do dosky ktoru som uz takto mal upravenu. Na spodku listy je pripojeny moj oblubeny bluetooth modul ConnectBlue cbOemSpa310.
Aby bolo cele zariadenie mobilne, na dosku som priletoval dva dvojpiny z lamacej listy do oblasti urcenej na uzivatelske zapojenia. Na obrazku je to celkom dobre vidiet a do takehoto uchytu vyborne pasuje bateria SAFT LS14250. Tato ma rozmer polovicnej AA baterie a je velmi prakticka pre taketo ucely.
Program v mikropocitaci PIC sprostredkuje rozhranie medzi prikazmi prijatymi zo serioveho bluetooth rozhrania a I2C komunikacnym kanalom s pripojenym elektronickym kompasom. Najprv som na internete hladal pouzitelnu kniznicu s I2C komunikacnymi funkciami - no kedze bolo moje hladanie neuspesne, pokusil som sa navrhnut vlastne. Cele to funguje celkom spolahlivo, odoslanim riadiacich prikazov (znakov) sa da nastavit ake hodnoty ma modul HMC6352 reportovat po seriovej linke. Zaujimave su tu v podstate tieto: Magnetometer X (heading) - bud mozeme spracovavat surove data alebo hodnotu v stupnoch s rozlisenim 0.1. Tato hodnota zodpoveda natoceniu cipu vzhladom na sever. Potom je tam hodnota Magnetometer Y, ktora zodpoveda uhlu natocenia oproti rovine zeme - cize je to elevacia. Nanestastie tento modul patri do kategorie "lacnych" a tomu zodpoveda aj vystupna hodnota. Hodnota rotacie je spolahliva iba ak cely modul lezi rovnobezne s rovinou zeme. Lubovolne naklonenie sa premietne ako chybova hodnota do rotacie. Hodnota z Magnetometra Y sa pre mna javila ako kompletne nepouzitelna. Samozrejme ze netreba zabudnut zariadenie skalibrovat. Cez seriove rozhranie treba programu odoslat znak "c" ktory spusti kalibracny proces na 20 sekund. Pocas tohoto casu treba zariadenie otocit okolo svojej osi (aspon) dvakrat. Je vyhodne vykonat tuto rotaciu s co najrovnomernejsim pohybom.
A teraz prichadzame na tu veselsiu cast - graficka reprezentacia. Kedze sa jedna o rotaciu, napadlo ma ze co tak vyuzit OpenGL a v trojrozmernom priestore rotovat nejaky predmet na zaklade udaja z magnetometra X. Vyuzil som nejaky svoj stary projekt z ktoreho sa neskor mala stat jednoducha logicka hra - no ako to byva, projekt zapadol prachom a nebol cas sa mu venovat. V scene sa vygeneruje kocka zostavena z farebnych guliciek. Rotovanie modelu je prepojene s hodnotou heading ziskanou po bluetooth komunikacnom kanali s mikropocitacom PIC. Cele zostavene zariadenie (demo doska, HMC6352 modul, bluetooth modul a bateriu) som vlozil do nepriehladnej krabicky. Teraz ako som krabicku otacal, rovnako sa otacal aj model na obrazovke a cele to posobilo velmi efektnym dojmom.
Nanestastie nemozem tento experiment zreprodukovat, pretoze som nenasiel ani elektronicky kompas ani bluetooth modul. Bud som to niekomu pozical, alebo sa to jednoducho v mojom pracovnom bordeli stratilo. Neexistuje ani video dokazujuce funkcnost zariadenia, ale ja verim ze mi verite ze vsetko fungovalo tak ako to popisujem.
Koniec koncov tento clanok bude zaujimavy urcite pre mikropocitacistov pretoze spaja svet osembitov a 3d svet opengl :)

         
         

Retro27.dec 2010
Examples of my very early projects. Some of them are more than ten years old!
Arkanoid - pascal tutorial Bounding ball - pascal tutorial Bumbum - bomberman game clone in pascal Cdm - Simple antivirus Easter - Electronic card in html Editor - Sound editor in pascal Golf - Game in pascal Krvilacny Grcpes - Full featured game in QBasic Meciar - Wave animation in pascal Micromachines - game core OplujHo - Game in C++ Allegro Palety - Palette editor in QBasic/asm PF2004 - Electronic card in flash Pinprllak - Full featured game in QBasic Satview - Satellite database viewer in C Sokoban - game in Javascript Tuneller3 - full featured game in C Allegro Worms - full featured game - pascal tutorial Xenon - Simple game in pascal YabiHo - game in C Allegro

Getting transparent photos26.dec 2010
    Demonstration of getting transparent pictures from camera. The picture is taken two times. First time on white background and the second on the black background. Both pictures need to be taken from the same camera position, with same camera settings (ISO/exposition time/focus). Simple javascript algorithm using HTML5/Canvas feature then compares every pixel of the pictures. The transparency/alpha value is determined by comparing the intensity levels of corresponding pixels between that two pictures.
You can see 3 images - the first one on black background, second on white and third is dynamically generated with alpha channel. All three images are draggable.
These pictures were taken with mobile phone camera so the result is not as perfect as it could be.
    Demonstracia metody ziskania transparentnych obrazkov z fotoaparatu. Priesvitny objekt odfotime na dvoch pozadiach - na bielom a ciernom. Je nutne aby tieto obrazky boli fotene z rovnakej polohy a pri zachovani vsetkych parametrov - iso/expozicia/ohnisko. Algoritmus porovnava obrazok pixel po pixeli a podla rozdielu intenzity urci ci bol dany bod priesvitny alebo nie.
Obrazky sa daju chytit mysou a posuvat. Prve dva obrazky su odfoteny original na roznych pozadiach a treti je vygenerovany s alfa kanalom.

    


BK 2650 printer emulator/downloader26.dec 2010
The BK Precision 2650 spectrum analyzer provides two ways to download spectral data. The first one is in form of vector data - this format is easy for latter processing. Then there is a "Print" button. For $500 you can buy a portable printer PT 2650 or you can download the screenshots directly to your PC for free using my utility. This small program emulates the PT2650 printer and stores the bitmap data in BMP file.

         

Using this simple MS Excel application it is easy to download the spectrum data and display it directly on excel sheet in form of a chart. The visual basic script code parses all the data coming from BK Precision 2650 spectrum analyzer and stores the spectral values (level and frequency) in selected cells. On the screenshot you can see multiple scans - two that covers all the UHF/VHF frequencies and one with higher resolution in range 200 to 400 MHz. Just for better understanding, the vector data sent from spectrum analyzer look like this:
PARAM
CF 1.6500G
SP FULL 
RF  -34dBm
ST 0.3s POS 
RB 3M   
VB 30k  
SC 10dB/d
TRACE
29,29,28,2a,28,28,29,29,29,29,
29,27,29,28,27,28,27,27,27,27,
28,28,28,28,28,28,32,4a,59,58,
5c,5c,53,3c,29,29,28,28,29,29,
29,2a,2a,2f,30,29,2a,29,29,2a,
2d,2a,2b,2a,28,29,29,2b,32,2b,
29,28,2a,29,2a,2b,2a,29,2b,29,
2a,29,37,38,2c,2a,2a,2a,2b,29,
2c,2d,2f,2e,2e,2d,29,2f,2d,2a,
......
......
......
38,38,37,37,37,38,37,38,37,39,
38,38,39,39,39,39,39,39,38,39,
39,39,39,39,39,38,39,39,38,39,
3a,38,3a,3a,3b,3a,3b,39,39,3a,
3a,

    

Voice to midi25.dec 2010
    Vyteseny z "linft" aplikacie pokusil som sa stvorit program nad ktorym som uz dlho rozmyslal. Potesi jednak chudobne deti ktore nemaju na to aby si kupili syntetizator s midi interfacom a jednak mozno potesi aj hudobnikov ktori maju po chorobe rozladene hlasivky. Jadro ostalo nezmenene z linft programu, cize vzorkujeme zvuk zo zvukovej karty a snazime sa vyratat fourierove koeficienty pre nejake tie konkretne frekvencie. Program som trochu sprehladnil a niektore kriticke casti som prepisal do C++ ktore v destruktoroch managuje uvolnovanie pamate. Vodorovna os predstavuje klavesnicu 5 oktavoveho klavira. S pomocou DFT sa aplikacia snazi zistit prezenciu konkretnych tonov. Nanestastie vyssie harmonicke zlozky dokazu situaciu velmi skomplikovat. Skutocne koeficienty su zobrazene sivymi pasikmi. Cervenymi su zobrazene odfiltrovane ktore potlacaju efekt vyssich harmonickych. Skusal som to s Casio CTK601 a tento zial neposkytuje zvuk cisteho sinusu. Velmi pekne vysledky sa dali dosiahnut s tonom 073 FLUTE. Nastavil som plochu ADSR obalku a vypol modulacie a vysledkom bol jednoduchy ton. Prve pokusy boli s internym mikrofonom v laptope... Druhe s kondenzatorovym mikrofonom... Nakoniec som zvukovy vystup syntezatora radsej prepojil so zvukovou kartou napriamo. Vysledok je velmi pekny, az mam z toho strach.
Tuto vsak zabava nekonci. Prave zacina... Nejakym kuzelnym sposobom s pomocou modifikovaneho RMS algoritmu si urcim hladinu ktoru ak prekroci vysledok DFT tak si poviem ze tento ton je na syntezatore naozaj stlaceny. Klavesy ktore su vyhodnotene ako aktualne stlacene odoslem na midi zariadenie. A toto je ten ucel. So syntezatorom ktory je prepojeny len audio kablom mozeme ovladat softwarove syntezatory cez virtualnu midi zbernicu. Funguje to napodiv dost spolahlivo pre cely 5 oktavovy rozsah, obcas to chyti nejaku tu harmonicku a nizke tony trvaju trochu dlhsie kym sa vyhodnoti ich prezencia.
Dalsie chore pouzitie je spievanie do mikrofonu a aplikacia vam vyhodnoti akusticky obraz hlasu, cize ktory ton ako tak vlastne vase hrdlo vypusta. Takze vyborne tiez na cvicenie.
Tato aplikacia bola inspirovana jednym projektom asi z nemeckej dielne o ktorom som pocul asi pred rokom. Male dieta nahralo nejaku hlasovu nahravku - islo o nejaku textovu spravu. Program vygeneroval nejaky MIDI predpis a mechanicky system stlacal klavesy realneho klavira a celkovo sa zo zvukoveho prejavu koncertneho kridla dalo rozumiet povodnej sprave ktorej autorom bolo spominane dieta. Cele to vsak bolo vykonane offline. Moj ciel bol spravit to realtime.
Vypocet prezencie tonu sa deje prostrednictvom prenasobenia signalu s X periodami harmonickej funkcie (sin/cos), s navrch aplikovanou Hann obalkou. Ak by sme miesto tejto syntetickej harmonickej funkcie pouzili skutocnu nahravku piana, predpokladam ze efekt by mohol byt porovnatelny s experimentom nemeckych umelcov.
Tymto som taktiez chcel overit myslienku kamarata Sergeja Kruga, ktory bol zvedavy, ci by sa dal lubovolny periodicky signal rozlozit do serie periodickych signalov ineho tvaru (napr. trojuholnik) na rozdiel od fourierovej transformacie ktora vsetko prevadza na sucet harmonickych funkcii.
Na vrchu je indikator zvukoveho signalu. Pre spravne fungovanie to musi vykreslovat co najviac zelenych stvorcekov. Ak je ich malo, znamena to ze zdroj zvuku je prilis "ticho". Ak to vsak dosiahne cervene hodnoty, zvukova karta je pretazena a treba zdroj zvuku utlmit.
Ponukam na stiahnutie novu verziu V2 ktora pouzije prve dostupne midi zariadenie, vo vacsine pripadov to bude windows synthesizer. Ak prvy link nebude fungovat (zdielane kniznice) tak skuste druhy ktory ma vsetky potrebne kniznice zakomponovane v sebe. Na screenshote je zobrazena situacia ked je na klaviri zahraty akord Cdur, pekne su dekodovane vsetky 3 tony a harmonicke zlozky su uspesne algoritmom potlacene (potlacenie je vidiet tam kde je velky rozdiel medzi sivym pasikom a cervenou ciarou)

    This program transforms recorded voice into midi note on/note off commands in real time. Allows you to connect cheap midi piano into Line In of your sound card and send midi events directly into your favourite midi hosting software.


Sound picked up by internal laptop microphone
    

Direct connection between sound card and synthesizer playing C major chord
    

Javascript Bomberman 9524.dec 2010
    Here is my attempt to rewrite bomberman 95 game into javascript language. At first I wanted to learn the possibilities of HTML5+canvas element, but then I found out that canvas element is too slow to achieve at least 10 fps performance. This is not a fully working game, just a scratch done in two nights of programming. I tried to code everything in javascript OOP without any ballast in html code. The code is quite clear and easy to understand. The funny part is decoding the ".sch" file that can be found in original Bomberman 95 game.


Audio DFT in logarithmical scale24.dec 2010
    Sak nebud lenivy a precitaj si anglicky navod. Program pocita a zobrazuje vykonove spektrum zvuku zo zvukovej karty.

    This small utility displays power spectrum of audio signal in realtime in logarithmical scale. Takes signal directly from your sound card and calculates discrete fourier transform (DFT) in form of calculation response of FIR filter. It is horribly slow when compared with FFT, but this approach allows the user to design fully customized frequency scale. At first, the program calculates a vector of sines and cosines for every each analysed frequency (vertical bar in window). Then these vectors are multiplied with Hann window function to prevent spectral leakage. A thread takes periodically samples from your sound card and multiplies it with pregenerated sine and cosine table, then it calculates sum of these vectors. Resulting in two real numbers that represent complex number and its absolute value is displayed in application window. All this is done for each displayed frequency. The displayed voltage levels are calibrated with signal generator, probably you will need to correct some coefficients in source code when you want to use this tool as spectrum analyser with voltage indicator. When calculating the spectrum, no overlapping on input signal is applied. So the overlapping factor is 1. Source code is available for download.

    

CANBUS visualizer17.nov 2010
    Studijna pomocka ktora zobrazuje casovy priebeh na CANBUS zbernici, automaticky generuje CRC, umoznuje vybrat jeden CanHi/CanLow, nazorne zobrazuje bitstuffing atd...
Podpora len pre firefox, vsetko implementovane v javascripte...
  

Open Application

Microchip PIC standalone package22.jun 2010
    Pre ludi co by radi zacali pracovat s mikropocitacmi PIC no nevedia ako som pripravil tento balicek. Je kompatibilny s mikropocitacmi PIC10, PIC12, PIC16 a mozno aj nejakymi inymi. Pozostava z kompilatora PICC 9.60 PL1 a commandline nastroja na napalovanie programov prostrednictvom programatora PicKit2. Takze Pickit2 je v podstate jedina vec ktoru na vyvoj potrebujete. Kompilator je vlastnorucne cracknuty, takze by som bol rad ak v pripade, ze sa vam bude pacit, tak si ho aj kupite.
Pribalene su jednoduche ukazky ktore rozblikaju LED, ktore pouzivaju funkcie Delay, DA prevodnik a seriovu komunikaciu. Na skopilovanie, zlinkovanie a napalenie staci spustit subor makefile.bat

    For those, who would like to start experimenting with PIC microcontrollers, but don't know where to start, I have prepared this package. It is compatible with all microcontrollers from family PIC10, PIC12, PIC16 and probably also with others. It consits of C compiler PICC 9.60 PL1 and PK2CMD commandline tool that allows you to burn your program into microcontroller with PicKit2 programmer. So PicKit2 is the only necessary part to use my package. I would like to note, that the compiler is cracked, so it would be nice to buy it if you are planning to continue using it. This package is only intended to provide a starting point to your hardware projects.
I have provided also some simple source codes that show you how to blink a LED, how to use Delay functions, ADC and simple serial connection. For compiling, linking and burning your code into microcontroller, just run the makefile.bat script.

        
Updated version compatible with original PICKIT2 board: picstandalone_2012.zip (9MB)


Download this package (old) here: picstandalone.zip (9MB)

UT70b MS Office tool1.nov 2009
    Kedysi davno ked som si kupil meraci pristroj Uni-T UT70b, bol som z neho velmi nadseny a kedze poskytoval priamu komunikaciu s PC, snazil som sa dekodovat jeho seriovy protokol. Meraci pristroj je prepojeny s pocitacom prostrednictvom prevodnika infra na RS232, opticky oddelena komunikacia pocitaca od meracieho pristroja poskytuje maximalnu bezpecnost. Prehrabal som sa starymi zalohami a na zalohovom DVDcku z leta 2007 som nasiel tento maly uzitocny nastroj.
    Kedze maloktory software si s grafmi poradi tak dobre ako MS Office, zvolil som si programovaci jazyk Visual Basic for Application. Citanie zo serioveho portu je sprostredkovane ActiveX nastrojom od spolocnosti ELTIMA. Dekodoval som iba pakety udavajuce namerane napatie a odpor, viacej som sa tomu nevenoval. Tuto poskytnuta ukazka sluzila na meranie napatia elektrickej zasuvky.
    Ak by sa nasiel odvazlivec co by to chcel vyskusat, po spusteni Exceloveho XLS suboru treba povolit makra, potom v zalozke Zobrazit treba vybrat zoznam makier a spustit to s nazvom UT70B. Pred samotnym spustenim je vhodne oznacit region B5:I50 do ktoreho bude postupne program ukladat namerane hodnoty. Tieto su ziskavane priblizne s frekvenciou 1 meranie za sekundu. Po spusteni makra sa zobrazi okno do ktoreho je treba napisat na ktorom porte sa meraci pristroj nachadza. Potom uz len kliknut na Open Port. Na meracom pristroji zapneme tlacitko RS232C a dialogove okno by malo interaktivne zobrazovat rovnaku hodotu ako meraci pristroj na displeji. Zobrazuje taktiez ci je aktivovany automaticky rozsah a ktory konkretny rozsah prave pristroj vyuziva. Po kliknuti na "Command Button" sa zacnu namerane hodnoty vpisovat do nastaveneho rozsahu pred spustenim dialogu. Nastroju som sa viacej nevenoval, prakticky som ho pouzil asi len raz pri merani na hodine Opto elektroniky.
    Tymto programom som taktiez chcel ukazat, ze na to aby sa clovek pustil do programovania nepotrebuje stahovat komplexne vyvojove nastroje ako Visual Studio ci Eclipse. Plnohodnotne sa da programovat kludne aj vo Worde :).

A long time ago, I have purchased a Uni-T UT70b multimeter. It has an infrared PC interface. This tool allows you to transfer measured values directly to an EXCEL worksheet. The meter is connected to a computer via Infrared to RS232 converter, in my case this cable is connected to pc through USB to RS232 converter. This small utility is written in Visual Basic for applications, to test it, you need to allow to run macros in your Excel. Also, you need to install a serial port driver from ELTIMA. Everything important is in archive available for download.

        
Read more
XLS subor aj s ActiveX toolom stiahni tuto: ut70b.zip

TDMI simulacia31.oct 2009
    Sucast priprav mojej dizertacnej prace - navrh spektralneho analyzeru ktory spracovava signal v realnom case. Zatial to vela nerobi - da sa vybrat typ okna, jeho dlzka, taktiez sa da oknom hybat. Po spusteni simulacie sa podla STFFT okno postupne posuva a z ciastkovych nameranych FFT dat sa vypocita finalne (dole) podla jednej z vybratych metod, konstanty quasi peak detektora su zvolene tak aby bolo nazorne vidiet proces nabijania (na dvoch statickych harmonickych signaloch) aj vybijania (rastuca frekvencia). Na konci signalu je zretelne vidiet problem aliasingu - spektrum sa "odrazi".
    Keywords: TDMI, Spectrum analyser, time domain, frequency domain, peak detector, quasi peak, average, peak (max), RMS, fourier transform, fft, fft window, stfft, rectangular window, hamming window, hann window, triangular window, mfc, c++


Download application with source code

SVOC25.oct 2009
    Pred tusim tromi rokmi som zacal robit na jednom celkom zaujimavom projekte, mobilnom bezdrotovom EKG zariadeni. Z prace vysla technicka dokumentacia, zopar obsluznych programov (PC, mobil, firmware). Tento projekt som taktiez odprezentoval formou sutaze SVOC na FEI STU. O rok neskor (2. rocnik inzinierskeho studia) prisla ponuka, ci by som nechcel prezentovat znovu nieco v suvislosti s tymto zariadenim. Napriek nedostatku casu v suvislosti s riesenim diplomovej prace a vseobecneho vytazenia som si nasiel nejaku chvilu na vyprodukovanie jemnej pavedy. Nad projekt EKG som nadviazal a dalej sa zameral na psychologicky efekt posluchu syntetizovanej hudby... Celkovo to hodnotim ako pavedu, pretoze v praci prezentovany inteligentny autokorelator a par vzorcami podlozeny algoritmus je v podstate znamy v teorii spracovania signalov ako bezna korelacia. Ziadny prinos, ale aspon je vidno ze ku vzorcu ktory sa na FEIke uci a na ktory som totalne zabudol sa da dopracovat aj jednoduchymi matematickymi metodami. Nuz, mal som sa radsej ucit a nechlastat tolko...
    Dodatocne dakujem p. Elene Cocherovej, ktora mi v mojich vzorcoch nasla fatalnu chybu, kvoli ktorej to vyzeralo ze praca nebude prezentovatelna, kedze to cele stalo na teoretickom matematickom zaklade popisanom prave tymito vyrazmi. Nastastie sa ukazalo ze to bola len chyba v znamienku ktore sa nakoniec aj tak umocnilo na druhu :)
Cely projekt je rozpracovany aj s vecami na stiahnutie aj s prvou prezentaciou na mojej starej stranke: Wireless ECG

  

OWON Oscilloscope driver25.oct 2009
    Tuto su ukazky z posledneho projektu na ktorom som pracoval, jedna sa o stahovanie vektorovych dat z osciloskopu OWON PDS5022S, alebo lubovoleho ineho z tejto rodiny. Vzhladom na to, ze dodavany software je dost otravny a tazko ovladatelny a jeho vystup som nepovazoval za dostatocny, pokusil som sa najst inu cestu ako ziskat zo zariadenia data. Velmi mi pomohol projekt OwonDriver na Sourceforge ktory bol povodne urceny pre linux, ale jeho portovanie pod win32 platformu nebola ziadna komplikacia.
    Povodny projekt vyuzil na vizualizaciu linuxovy nastroj GNUPLOT, ja som hladal ine moznosti zobrazenia grafov pod windowsom a zvolil som SVG grafiku ktora sa da velmi lahko vygenerovat a zaroven je cele renderovanie realizovane na strane zobrazovaca (editor, browser). SVG ma tu vyhodu ze sa da dodatocne zoomovat a kedze osciloskop dava na Xovej osi vacsinou 5000 vzoriek, je to celkom uzitocna vlastnost. Dalsou vyhodou SVG je moznost zakomponovat do neho JavaScript a tym pridat istu formu interaktivity. Toto som vyuzil na priame odcitanie napatia priamo pod kurzorom mysi.

  

Ako jeden z neukoncenych projektov, zdrojove kody, ukazky zo ziskanych dat su zatial dostupne na mojej starej stranke download/sources/Owon PDS5022S driver

HUE slider2009
Pre tych, ktori si myslia ze je tato stranka az moc priteplena, ponukam moznost zmenit farebny ton :) staci posunut slider a dufat ze tie 386tky co v yegone bezia do par minut zvladnu stransformovat bitmapy pixel po pixeli mojim nie prave najviac zoptimalizovanym PHP kodom :)

Welcome18.oct 2009
Vitam vsetkych zbludilych navstevnikov!

    Kedze udaje na mojej sucasnej stranke hostovanej na internatnom webserveri yweb su uz par rokov neaktualne, prisiel vhodny okamih na uvedenie veci na spravnu mieru. Po uspesnom odkupeni domeny valky.eu, ktora bola povodne venovana prezentacii svetovych vojen a po vybaveni webhostingu u firmy yegon, prisiel na rad graficky navrh novej stranky. Tato by mala byt viac reprezentativnejsia ako tie predosle. Dlho dlho som nemal chut trapit sa s grafikou a ako odporca CMS systemov nebolo inej cesty ako dat si dokopy zoznam oblubenych webstranok z grafickeho hladiska a nechat sa inspirovat... Nakoniec to dneska prislo, rozhodol som sa vyuzit technologiu priesvitnych PNG grafik. Slava, ziadne 8bitove GIFy, ani artefaktove JPEGY.
    Ako vidno, verny som ostal fialovej farbe :) Drzte palce nech to tu rychlo rozbeham, a snad v priebehu mesiaca, pol roka :) to mozno aj bude vsetko fungovat.
    Ked uz sme pri tom, vyuzijem priestor na prezentovanie sucasnej situacie: Volam sa Gabriel Valky, cerstvo som ziskal titul Ing. na FEI STU v BA a kedze sa mi tazko lucilo so studentskym zivotom, a taktiez motivovany vedeckou cinnostou som sa prihlasil na doktorandske studium. S trochou stastia, motivacie a pochopenia zo strany pedagogov budem o 3 roky doktor filozofie.
    Tuto bude zrejme mojou temou oblas optimalizacie EMC merani v case a priestore. Popri tomu pomaham s programovym vybavenim v podzemnom laboratoriu EMC. Toto nadvazuje na moju diplomovu pracu, ktorej ulohou bolo zdokonalit mechanicke polohovacie systemy a taktiez zlahka upravit meraci software. Tieto polohovacie systemy zahrnali typicku elektrotechnicku aktivitu ako navrh zapojenia, plosnych spojov, programovanie firmwaru... Popri skolskym aktivitam pracujem ako programator vo firme Sygic. Pouceny z casov nedavno minulych uz sa radsej nebudem zapajat do ziadnych kruzkov ako napr technik v studentskom radiu TLIS :)
    Co sa tyka planov do buducnosti, svoju poslednu 5 rocnicu som celkom slusne naplnil, cize celkom pekne som nastudoval a aj prakticky vykonaval vyrobu DPS fotocestou, 8-16bitove mikropocitace, a elektroniku ako celok, prevazne z oblasti digitalnej a konecne aj analogovej techniky. Dost slusne domace laboratorium je predpokladom na dalsie ciele - nastudovat VF techniku, strojarske zrucnosti atd. Teraz mam v plane zostrojit komplexnejsie zariadenie ktore by zhrnulo moje poznatky zo vsetkych oblasti elektroniky, programovania, bezdrotoveho prenosu atd... To sa nechajte prekvapit, ale prezradim ze prvy krat pouzijem 32bitovy mikropocitac a bude zakomponovana aj eternetova komunikacia :)
    Finalne oblasti ktorym by som sa chcel venovat su ako inak mapovanie geopatogennych zon (tu su poziadavky dokonale porozumiet VF technike, ku comu by mi malo dopomoct vysokoskolske studium, a taktiez investicia do spektralneho analyzatora... ale 4000eur dat tak do vetra... :) No a potom moj dlho vysnivany urychlovac makromolekul :) ale to az tak mozno o 15 rokov.
    Ale skoro by som zabudol na moj nezrealizovany letny plan - zostrojenie zariadenia "Slovak Mirakle", podla prace Nikola Teslu. Zial, alebo nastastie som dal prednost chlastaniu a navstevam vsetkych moznych letnych koncertovych podujati, takze hlava nezazila viacdnovy vystriezveny stav a popri praci nebol casovy priestor na moje vyskumy a konstrukcie
    Blizsie detaily zariadenia nie su prezentovatelne na slusnej urovni. Ale ked si date do vyhladavaca Mark Twain a Nikola Tesla, mozno sa ku tomu zariadeniu a neprijemnemu hnedemu incidentu dopatrate. Myslim ze jeden diel serialu South Park bol prave venovany hladaniu jednociarkovemu tonu K ktory ma neblahe fyziologicke ucinky. Situacia je taka, ze takyto ton existuje a mal by byt kdesi medzi 6-8 Hz.

Construction2009