Software
Ukážeme si, jak lze jednoduše napsat jednoduchou aplikaci, kterou budete ovládat serva připojená k Mini8x z vašeho počítače. Bude vypadat následovně, zde je ke stažení zdrojový kód ve Visual Basicu9. Předpokládám základní znalosti tohoto vývojového prostředí, pokud jste nikdy neprogramovali, raději sáhněte po kompilovaném exe souboru, který najdete v adresáři \bin\release\Servo_Example.exe. Pro jeho spuštění musíte mít instalovaný Microsoft .NET Framework 2.0 a vyšší.
Aplikace je pouze jeden Form a umožňuje ovládat a nastavit parametry všech osmi serv. Zdrojový kód se skládá z někalika řádek, není téměř co vysvětlovat, zmíním se pouze o dvou komponentách, které dialog obsahuje.
Sériový port - v konfiguraci je řádka :
SerialPort1.Encoding = System.Text.Encoding.Default
což je nutná konfigurace sériového portu. Nastavení bez tohoto parametru používá pouze ASCII znaky 0-127 a vše co je nad by Vám poslal jako otazníky. S výše uvedeným nastavením používá sadu ANSI, znaky s kódem 0-255.
K pravidelnému odesílání paketu je použit Timer1 , má nastavenou periodu 20ms což je pro většinu aplikací dostačující. Pokud by jste chtěli ještě zvýšit frekvenci, myslete na to , jestli to má ještě cenu. První klíčová záležitost je propustnost sériového portu na dané rychlosti a druhá věc je, že servo je stejně řízeno pulzem s frekvencí 50hz , což znamená , že elektronika serva dostává informaci každých 20ms.
Popis dialogu ovládání serva je velmi jednoduchý, tři tlačítka vlevo nastavují inicializační polohu serva (po zapnutí) , minimální delku pulzu a maximální délku pulsu, v listboxech vybíráte servo, seriový port a jeho rychlost, velkým tlačítkem "Close port" se otevírá nebo zavírá komunikační port. Trackbarem dole nastavujete přímo délku pulzu, která jde do vybraného serva. Zde můžete použít šipku klávesnice (skok +/-1us) a nebo PageUp/PageDown což je skok po 10us.
Tento dialog neumí měnit rychlost komunikačního portu a rozlišení kroku pulzu (1us nebo 0.5us). To lze nastavit aplikací ServoConfig (potřebuje .NET Framework 3.5).
Anketa
K programování používám
Visual Basic (103)
Visual C++ (51)
Assembler (57)
Python (37)
Javu (726)
Jiný jazyk (62)
Celkový počet hlasů: 1036