Zobrazuji články se štítkem: programovani

Arduino a RC vysílačka

9.12.2014, arduino, Johny

Potřeboval jsem řídit krokový motor pomocí modelářské vysílačky. Motor řídit umím, nicméně se čtením PWM signálu z vysílačky jsem se trochu trápil. Celkově jsem vyzkoušel tři přístupy jak hodnotu z vysílačky číst. První nápad byl použít pulseIn(), dále manuální čtení stavu pinu a výpočet času změny. Nakonec nejlepším řešením bylo použití interuptu.

Co vlastně načítám?

PWM signál z vysílačky je v podstatě neustále se měnící 1 a 0 (HIGH/LOW) hodnota. Čím rychleji se mění, tím menší hodnota na vysílačce je. Čím pomaleji se mění, tím vyšší hodnota na vysílačce je.

Tento článek tedy rozebírá v podstatě pouze to, jak nejlépe a co možná nejpřesněji měřit délku pulzů, které nám jdou z přijímače.

Modelářský PWM signál

Pro názornost přikládám obrázek z mého osciloskopu, kde je vidět jak signál vypadá když je „plynová páčka“ na vysílačce v poloze MIN a MAX (stačí přejet přes obrázek myší). Jeden dílek na stupnici je 500us. Z toho je patrné, že minimální hodnota pro signál je cca 1000us a maximální cca 2000us. Na mojí vysílačce to je přesněji cca 990us až 1980us, jak rozebírám později.

(čtěte celý článek...)

Arduino a krokový motor potřetí

20.11.2014, arduino, Johny

Můj kód z předchozího příkladu fungoval, nicméně nešel snadno použít pro víc motorů – což může být někdy docela nepříjemné. Důvodem samozřejmě byla existence pouze jedné proměnné s piny motoru i proměnná která udržuje aktuální „krok“ motoru.

(čtěte celý článek...)

Arduino a motor 28BYJ-48 podruhé

17.11.2014, arduino, Johny

Nedalo mi to, a s motorem si stále hraji. Navíc jsem objednal dalších 5 kousků. Tolik věcí, co by to mohlo dělat – automaticky stahovat žaluzie, mohu si postavit vlastní robotický podvozek, kamerový motorový slider atd atd. Prostě super ;-)

Pro začátek jsem zkusil zapojení, aby bylo jasnější, jak to funguje. Obvod ULN2003 je vlastně jenom pole tranzistorů a jediný efekt je ten, že nám pomocí 5V z arduina sepne GND (zem) z baterky do daného vývodu motoru. Motor je nastálo připojen k +5V, a právě tím, že se různě přepojuje zem se zapínají a vypínají jednotlivé cívky.

Obrázek zapojení ULN2003 s 28-BYJ-48

zapojení ULN2003 s 28-BYJ-48

(čtěte celý článek...)

Arduino - řízení krokového motoru

11.11.2014, arduino, Johny

Delší dobu si na amatérské úrovni hraju s Arduinem. Už jsem zapojil hromadu různých legrácek, které by se občas hodili. Bohužel, často to jen zapojím – zkusím – funguje – rozeberu – zapomenu.

Často je tak zapojení včetně programu ztraceno na vždy. A přitom třeba debugger DMX signálu za pár korun by se mi už tolikrát hodil! Měl jsem si to poznamenat. Znovu to znovu hledat a ladit se mi strašně nechce :(

Proto jsem se rozhodl občas zde zveřejnit nějaké mé zapojení a programy tak, abych s odstupem času měl kam sáhnout, super, ne? :)

Mé zapojení krokového motoru 28-BYJ-48

Mé zapojení krokového motoru

(čtěte celý článek...)

Implementace ICMP Pingu v PHP

10.1.2013, site, Johny

Potřeboval jsem naprogramovat poměrně sofistikovaný script, který bude kontrolovat dostupnost internetu. V případě výpadku analyzuje situaci a podle potřeby automaticky modifikuje routovací tabulku na routerech. Protože takovéto utilitky programuji nejčastěji v PHP5, tak jsem hledal řešení jak z PHP poslat ping. PHP ping st tak stal základním stavebním kamenem mého scriptu a protože jsem se nad ním pořádně zapotil, rozhodl jsem se tento kus kódu dát veřejně k dispozici. Třeba se někomu taky hodí.

(čtěte celý článek...)
 
[CNW:Counter]