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 (109)
Visual C++ (61)
Assembler (64)
Python (46)
Javu (733)
Jiný jazyk (71)
Celkový počet hlasů: 1084