13. 11. 2013

ViaExplore - Pitva #3 Dálkový ovladač (jak jej opravit)

Často krát se mě do ruky dostane nefunkční ovladač, který chtějí po mě opravit. Rozhodl jsem se, že tyto jednoduché opravy, které zvládne i 10-ti leté dítě, přenechám na Vás :). Udělal jsem proto souhrn základních principů při opravě ovladače:

S pozdravem
ViaExplore - Tomáš Kamenický

22. 10. 2013

Recenze #4 Gigabyte GSmart Sierra S1, mobilní telefón

Protože získat praktické poznámky o telefonu GSMART Sierra S1 je prakticky obtížné, rozhodl jsem se pro malou ukázku toho, co si za 7000,- Kč můžete pořídit. Telefon je od výrobce Gigabyte, který je známí výrobou základních desek pro PC. Myslím že se jim tento produkt celkem povedl. Posuďte sami...


S pozdravem
ViaExplore - Tomáš Kamenický

Recenze #3 GPX DiGL, grafický display

A další jednotka je ve světě. Tentokrát jsem vytvořil řídící desku pro grafické TFT panely. Jednotka umí přehrávat videa a zobrazovat texty ve formátu UTF16. Maximální rozlišení jednotky je 320x240.


S pozdravem
ViaExplore - Tomáš Kamenický

14. 10. 2013

MSV Brno 2013

Byl jsem se podívat na výstaviště do Brna. Konkrétně na MSV - Mezinárodní strojírenský veletrh. Našel jsem tam pár zajímavostí jako jsou 3D skenery, tiskárny, frézy, roboty a jiné CNC stroje. K některým výrobkům jsem dostal i přednášku a tu jsem si také natočil.


S pozdravem
ViaExplore - Tomáš Kamenický

13. 10. 2013

ViaExplore - Recenze #1 GPX DiCHL, jednoduchý textový display

V následujícím videu se chlubím svým výtvorem. Jedná se o řídící desku display-e s vestavěným elektronickým ovládáním podsvitu a kontrastu. Deska umí přijímat texty v UTF16 a má zatím plnou podporu Češtiny. Další jazyky se pochopitelně budou přidávat. Komunikace s jednotkou probíhá pomocí SPI které je upraveno na diferenciální vedení, díky kterému je komunikace robustnější.



S pozdravem
ViaExplore - Tomáš Kamenický

ViaExplore - Návod #1 JTAG, GDB server a Eclipse

Vytvořil jsem malí nástřel toho co Vás čeká v případě že se chystáte vytvářet nebo ladit program na 32bitových platformách.




S pozdravem
ViaExplore - Tomáš Kamenický

Nový kanál YouTube pro ViaExplore

Vytvořil jsem nový kanál YouTube ve kterým bude k nalezení Technika, Elektronika a věda. Způsob a princip tagů názvu videí je vysvětlen v úvodu videa:



S pozdravem
ViaExplore - Tomáš Kamenický


27. 9. 2013

WTM2002A LCD řadič...

WTM2002A, CM2002 nebo MC2002 jsou řadiče/moduly pro LCD zobrazovače. Typický modul je zobrazen na obrázku a obsahuje driver HD44780:
Tyto moduly umožnují zobrazit text a slouží jako uživatelské rozhrání. Prakticky všechny tyto moduly mají společný protokol. Jeden z datasheetu co používám pro tyto moduly naleznete zde: Datasheet 2002 LCD driver. K dispozici je i český návod/manuál pro tento display na stránkach Pandatron.cz (Ovládání znakových LCD s řadičem HD44780 – 1. díl).

Jeden hezký projekt s podobným display-em naleznete zde: Display tweets on a character LCD
V tom projektu naleznete všechny zdrojáky a schéma zapojení a tak si můžete vytvořit svůj vlastní projekt.
Na webu Space invaders played on a 16×2 character display dokonce hrají známou hru Space Invaders.

S pozdravem
ViaExplore - Tomáš Kamenický


18. 9. 2013

Programování C/C++. Parameter funkce odkazem

Vsadím se, že jste to zaisté zkoušeli, předát parameter funkce pomocí její reference v prostředí pro ANSI C případně C99 a hodilo Vám to hlášku (třeba v překladači Mingw):

... error: expected ';', ',' or ')' before '&' token ...

,protože jste se snažili zkompilovat následující ukázku programu:

void test(u8 &a) {
 a++;
}

Důvod, proč to nejde zkompilovat, je ten že předávání parametru funkce pomocí reference, jde pouze u jazyku C++ a ne u jazyka C a ani u jazyka objective-C.

A když už jsme u reference, tak se podívejte na následující ukázku:

int main(void) {
 u8 b=1;
 test(b);
 cout << "b=" << b << endl;
}

Po spuštění programu bude hodnota b=2. A to je z toho důvodu že se vezme reference lokální proměnné b. Ta se předá jako parameter do funkce test, tam se inkrementuje hodnota na kterou reference ukazuje a tím se změní i hodnota proměnné b protože reprezentuje to samé pamětové místo.

Zdroj: Passing arguments by reference
S pozdravem
ViaExplore - Tomáš Kamenický

11. 9. 2013

Použít GOTO v C...čku?

Určitě jste už někdy někde slyšeli zda použít "GOTO" příkaz (jump neboli skok) v programovacím jazyku C.
Odpověď zní Ano!, ale jen za podmínky že bude na první pohled jednoznačné co daná funkce dělá. Pokud píšete stavový automat, tak se často používá "switch case statement". Nicméně použití "GOTO" i v tomto případě není na škodu.
Uvedu příklad, kde příkaz "GOTO" často používám:

int main(int argc, char **argv) {
  if ( funkce_A() != USPECH ) goto EXIT_CHYBA;
  if ( funkce_B() != USPECH ) goto EXIT_CHYBA;
  ...
  uvolni_zdroje_A();
  return EXIT_SUCCESS;

 EXIT_CHYBA:
  uvolni_zdroje_A();
  return EXIT_FAILURE;
}


Ukázka reálného použití příkazu goto:

S pozdravem
ViaExplore - Tomáš Kamenický

4. 9. 2013

Změna je život...

Rozhodl jsem se pro několik změn na svém blogu a youtube kanálu.
1) Již budu psát jen "česky" a kdo nerozumí ten si to v pravo přeloží :)
2) Vytvořil jsem stejnoměnný název na YouTube kanálu. Do svého osobního kanálu budu přispívat pouze věci které jsou z mého soukromného života a do kanálu ViaExplore budu přispívat ty zajímavé věci. Ty které Vás doufám budou bavit.

Dále jsem chtěl zmínit že jsem narazil na velice šikovný web: https://www.circuitlab.com/
Na webu circuitlab.com můžete snadno a jednoduše naskicovat jakékoliv schéma a sdílet jej s ostatníma. To je velice užitečné a plánuji to používat při svých videiích.

S pozdravem,
T.Kamenický
ViaExplore

28. 1. 2013

A new Display for parking terminal...

Hello everybody, i created new board for displaying varius information on park terminal. Instead of old school two line display (OLD display look) we want better grpahics and animations too. So prototype product look like this: