Címke: cpp


2017. Május 27.

Durba-tó új adatok szoftverfrissítés után

írta: Xaint

Ma 14:35-kor ismét mintát vettem az eddigi adatokból, tudni akartam, hogyan muzsikál az új vízhőmérő szonda, illetve, hogy sikerült-e a vízmélységmérő szenzor éjszakai kilengéseit korrigálni a frissített szoftverrel.

Egyelőre most úgy tűnik, hogy minden jó. Íme:

 

 

A 25-ei éjfél után még látható egy negyedik, a léghőmérséklettel fordítottan arányos megugrás a vízmélység adataiban, ám 26-án és 27-én annak már nyoma sincs. A léghőmérséklet adataiból egyébként szépen kivehető egy 24-én záporokkal érkező lehűlés.

Az alábbi képen pedig az összes hőmérő, plusz a vízmélység adatai együttesen láthatók (a doboz hőmérséklet az ATmega beépített hőérzékelőjén alapul):

 

 

 

Címkék: , , ,


2017. Május 24.

Durba-tó adatgyűjtő szoftverfrissítés

írta: Xaint

Ma délután feltöltöttem a mérőeszközre a tegnap említett, 32 mérés átlagát figyelembe vevő szoftverfrissítést. Közben ha már felnyitottam a kis dobozkát, ismét készítettem egy mentést az SD-kártyán lévő adatokról.

Most viszont azon gondolkodom, hogy talán a hőmérséklet kompenzációt is be kellett volna építenem a kódba. De akkor mit csinálnék holnap vagy holnap után, nem igaz? cheeky

Mindenesetre a tegnap megjövendölt kicsúcsosodás beteljesedni látszik:

 

 

Remélem a szélesebb átlagolás csökkenti vagy teljesen eltünteti a zavaró csúcsokat. Azért szépen látszik a vízszint emelkedése.

Persze a történetnek itt sajnos még nincsen vége. Íme a vízhőmérséklet grafikonja:

 

 

Azért 2.5 napot kibírt a házilag kreált "vízálló" hőmérő szondám. Utána úgy tűnik, szépen beázott. Sajnos elfelejtettem, hogy a szilikon tömítőpaszta nem tapad valami jól az ugyancsak szilikonból készült csőhöz. Na de semmi baj, már legyártottam egy másik, fém kupakba ültetett, majd epoxi ragasztóval kiöntött szondát. Remélem ez tovább fogja bírni. Sajnos kicserélni csak holnap fogom tudni.

Legalább az akkumulátor töltöttségével nincsen probléma: wink

 

Címkék: , , , ,


2017. Május 23.

Durba-tó előzetes szenzor adatok

írta: Xaint

Ma, azaz kb. 2 nappal a kitelepítés után gyorsan lemásoltam az adatokat a tóhoz rohamtempóban összetákolt kombinált mérő és naplózó eszköz SD kártyájáról. Egyrészt kíváncsi voltam arra, hogy egyáltalán működik-e, és nem kuszáltam össze valamit a nagy sietségben, illetve ha működik a mérőeszköz, nincs-e szükség valamiféle utólagos szoftveres vagy hardveres korrekcióra.

Az előzetes adatokból is már szépen látszanak bizonyos jelenségek. Például, hogy a vízhőmérséklet - a mérőszonda sekély vízben való elhelyezkedése lévén viszonylag gyorsan - de kissé lemaradva követi a levegő hőmérséklet változásait:

 

 

Ám ennél egy sokkal érdekesebb dolgot vettem észre, amikor megnéztem, hogyan emelkedik a vízszint a folyamatos töltés hatására:

 

 

Mikor megláttam a fenti grafikont és összevetettem a léghőmérséklet változásával, rögtön eszembe jutott, hogy a hang terjedési sebessége a levegőben nem állandó, hanem függ a léghőmérséklettől (meg a páratartalomtól, stb.) és, hogy talán ez zavarhatja meg az ultrahangos távolságmérő szenzort. A hang terjedési sebessége ugyanis Celsius fokonként kb. 0.6 m/s-al nő:

 

 

Megoldásként a távolságmérésből származó adatokat az aktuális léghőmérsékletnek megfelelően kompenzálni kellene ( ~0.55 cm / °C) a szoftverben. Egyelőre kísérletképpen megpróbálkozok csupán az átlagoló algoritmus módosításával, a jelenlegi kód ugyanis 15 percenként végez méréseket és az előző 9 méréssel együtt vett átlagot veszi, vagyis ~2.5 óra időintervallummal számol. A mérések számát módosítottam 32-re, így minden mérésbe az előző 8 óra átlaga kerül. Ez kb. a grafikonon is látható csúcsok időtartama. Reméljük ettől majd kisimul az a fránya görbe. laugh

A tó vízszintje naponta megközelítőleg 3.5 cm-t emelkedik, ami elég közel van ennek az egyébként Ebay-ről származó ultrahangos távolságmérő szenzornak a hibahatárához. Ám a fenti két anomáliát leszámítva azért jól látható a várt, növekvő tendencia.

A kódot holnap frissítem, illetve újra lementem az eddigi, immár bő 3 napot magába foglaló mérési eredményeket. Természetesen azokból egy újabb kicsúcsosodásra számítok! cheeky

Címkék: , , , ,


2017. Május 19.

Durba-tó vízszintmérő szenzor

írta: Xaint

Május elejére elkészültünk az új Durba-tó medrének kialakításával, így nem maradt más hátra, mint a vízzel való feltöltése. Ennek apropóján ma összedobtam egy AVR mikrovezérlővel működő naplózó eszközt, ami a következő adatokat rögzíti:

  • dátum és idő
  • vízmélység
  • vízhőmérséklet
  • levegő hőmérséklet
  • akkumulátor feszültsége

Mivel gyorsan kész akartam lenni, ezért az egészet egy próbanyákon állítottam össze, egyedi nyomtatott áramkört tervezni és gyártani ugyanis sokkal időigényesebb. És mivel én mindennek szeretek egyedi nyákot készíteni, így el is felejtettem, hogy a próbapanelos módszer mennyivel egyszerűbb és persze szórakoztatóbb mint napokat tölteni pusztán a tervezéssel. cheeky

    

A kis mérőeszköz egy ATmega328P mikrovezérlőre épül (Arduino Pro Mini), ami egyetlen Li-Ion akkumulátorról működik, van benne egy egycellás töltésvezérlő IC (TP4056), 0.5 wattos napelem, valós idejű óra (DS1307), egy JSN-SR04T ultrahangos távolságmérő szenzor, SD-kártya olvasó, illetve egy 433MHz-en működő adó (MX-FS-03V) ami jelenleg nincs bekötve.

Sajnos az ultrahangos távolságmérő stabil működéséhez 5V tápfeszültségre és meglehetősen nagy áramra (~30mA) van szükség  így egy DC-DC boost konvertert is be kellett építsek, ami természetesen csak a mérések idején aktív, vagyis mindössze néhány milliszekundumig. Épp akadt egy használaton kívüli, összeszerelt boost konverterem ami az MCP1640T IC-re épül. Ennek üzemi árama mindössze 19µA.

A hőmérséklet mérését 1N4148-as egyenirányító diódákkal oldottam meg, "rendes" hőmérő IC-nek ugyanis mindig híján vagyok. Egyszerű diódával és egy néhány k-s ellenállással is elérhető az 1 Cº-os pontosság. 

Az egység egy kiszuperált elektronikai kötődobozba került, amit a tervezett legmagasabb vízszintnél némileg magasabban helyeztem el.

A helyszínen még szükség volt egy gyors kalibrációra, mert a távolságmérő a vízszint távolságát méri az egységhez viszonyítva, nekünk viszont az aktuális vízmélységre van szükségünk. Mivel az ultrahangos adó-vevő épp a doboz aljával egy síkban van, így a kalibráláshoz csak azt kellett leolvasni a mérőoszlopról, hogy a doboz alja milyen magasan helyezkedik el:

Vagyis 280 cm (mínusz a mért érték = aktuális vízmélység). A mérőoszlop a tó legmélyebb pontján mért értéket mutatja.

Jelenleg 15 percenként készülnek a mérések, amiből néhány nap múlva készítek egy-két grafikont is.

Ezen adatoknak persze gyakorlati haszna nem sok van, inkább csak érdekesség, a későbbiekben viszont akár a teljesen automatizált vízszint-szabályozás is megoldható lenne az eszközzel.

De az persze csakis egyedileg készített nyákkal!

Címkék: , , , ,


2017. Január 21.

Alerion Engine Update

írta: Xaint

Hosszú idő után (~6 év smiley) belepiszkáltam kicsit a szakdogának szánt játékmotoromba. Először is javítottam jó néhány ismert bugot, közben felfedeztem kb. kétszer annyi újat.

Bekerült a motorba az animált karakterek támogatása, amit jelenleg az MD2 fájlformátum képvisel (Pl:  Quake 2,  Max Payne stb.), de tervezem az MD3 és MD5 modellformátum beépítését is.

A pályaformátumot illetően még mindig (a jól bejáratott) bináris térparticionáló fa adatstruktúra áll rendelkezésre. Az animált karakterek ütközhetnek a BSP fával, illetve egymással. A játék egyéb entitásaival (pl. töltények, rakéták vagy egyéb felvehető tárgyak) való ütköztetés még csak részben megoldott.
 


 

Szegény "ellenséges" karakterek még elég butuskák. Mindössze egy néhány perc alatt összetákolt, bedrótozott mesterséges intelligenciát kaptak, amiben az útkeresés abból áll, hogy szembe fordulnak velem és addig közelednek amíg egy bizonyos távolságon belülre nem érnek.

Legalább elmondhatjuk, hogy hűségesen követnek cheeky :

 

 

 

 



2013. Június 19.

Asztrofotós modul Canon DSLR-hez

írta: Xaint

Ez egy Canon DSLR-ekhez készített asztrofotózást segítő kis modul. A Magic Lantern nyílt forráskódú API-ját használja, amiről ha eddig nem hallottál, pedig egy Canon EOS kamera boldog tulajdonosa vagy, akkor jobb ha gyorsan utánaolvasol, ugyanis elképesztően hasznos funkciókkal ruházza fel kedvenc kamerádat!

 



Két olyan funkciója is van, amivel segíthet az asztrofotózás megkezdésekor:

Az ötletet ebből a videóból kölcsönöztem, ahol egy laptopot és a BackyardEOS nevű programot használva oldják meg a fenti két feladatot. A Magic Lantern segítségével azonban mi magunk is írhatunk olyan programokat amelyek elérik (és kiegészítik) a kamera egyes funkcióit.

 

A pontos pólusra állítás folyamata (azimuth) képekben:


 

(A lépések balról-jobbra, fentről-lefelé)

 

Követve a képernyőn megjelenő utasításokat, a program a folyamat végén jelzi, hogy milyen korrekcióra van szükség (ha van).

A fenti példánál maradva, a negyedik képen láthatjuk, hogy a kalibrációhoz használt csillagunk a kiindulópontjához képest fentebb érkezett vissza, így korrekcióra van szükség.

Az tény, hogy a fenti videóban bemutatott, BackyardEOS-t használó módszer pontosabb lehet, hiszen ott a csillag képét hosszú záridővel égetjük a képre (amin így akár a szél okozta berázások is láthatóak), viszont az általam készített program nem használja a kamera zárszerkezetét.
 

A csillagokra való pontos fókuszálást segítő funkció pedig a gyakorlatban így néz ki:




(minél pontosabb a fókusz a csillagon a HFD érték annál kisebb, a Max pixel értéke pedig annál magasabb lesz)



A forráskódja megtalálható Bitbucket -en.



2010. Február 21.

Alerion Game Engine

írta: Xaint

Főiskolai szakdolgozatom játékmotor fejlesztése volt, C++ és OpenGL segítségével. A motor képességeinek bemutatására egy FPS stílusú játékot készítettem, melyhez időszűke miatt a modelleket és textúrákat a Quake 3-ból vettem kölcsön. A tesztpálya egyedi tervezésű, sajnos annak kivitelezésére sem jutott elég idő.

A motorról címszavakban:

  • BSP alapú pályaformátum
  • Nézetigúla-vágás
  • 3D hanghatások

Az alábbi videón sajnos látszik, hogy a programom összeakadt a videofelvevővel (fraps), különben a játék folyamatos. Később talán majd teszek fel egy jobb videót is. Ha elfelejteném, csak szóljatok rám! smiley

 

A játék letöltéséhez és kipróbálásához kattints: Ide.



2009. December 04.

Bouncing Ball

írta: Xaint

Programozási nyelvek II. -re készített beadandóm, egy labdával dekázós program, mely megjegyzi az aktuális rekordot. A rajzoláshoz OpenGL-t használ.

 

 

Ha ki szeretnéd próbálni, kattints: ide.

Címkék: , , ,


2009. Május 03.

Alerion Vision Project

írta: Xaint

Szakdolgozati témának eredetileg egy önvezető RC autót szerettem volna készíteni, mely a rászerelt 2db kamera képéből valós időben állítja elő a mélységtérképet, amelyen a közeledő akadályok már viszonylag könnyedén felismerhetőek. Mivel anyagi szempontból drága mulatság lett volna, így később egy másik téma után néztem (3d játékmotor).

Ami a projektből elkészült az a mélységtérképet valós időben előállító GLSL árnyaló volt:

 

 

 

 

 



2008. Július 30.

Deferred Rendering

írta: Xaint

Deferred shading teszt OpenGL-el.