dotaz modeláře

icalan
Příspěvky: 8
Registrován: 29 říj 2018, 11:39

Re: dotaz modeláře

Příspěvek od icalan » 27 pro 2020, 18:52

Omlouvám se 23 mi odešlo PC, tak píší na telefonu, k programu se nedostanu. Jde o model lodi kde je jíž na řízení periferií ( to co nesouvisí s jízdou) použít picaxe 20 M. V současné chvíli na picaxe pozice c.3 spína osvětlení vnější ( obrysové ) a c.4 spíná osvětlení reflektory. Program pro tuto část zní :
If b26 = "konkrétní číslo" then high c.3
If b26 = " jiné číslo " then low c.3
If b26 = " další číslo" then toggle c.3
; If b26 není požadované číslo tak c.3 stav nemění
To sám je i pro c.4 .
Na c.3 ač.4 bych připojil 4094 ( možná i několik ks, ještě přesně nevím) a nevím co do programu vepsat bych i nadále pokračoval ve stejném stylu ( if then) a co napsat místo c.3 napsat kontni označení bytu, vím že někdo bude mít za to že jde o zbytečné rozepisovani, ale mně to tak vyhovuje kvůli přehlednosti. Vím že jednodušší variantou by asi bylo do programu napsat místo předchozího :
servo c.3,b26
napojit na c.3 další picaxe a pokračovat na něm, ale na picaxe mám využité asi jen 40% paměti, zbytek je nevyužitý.

DavidO
Příspěvky: 980
Registrován: 01 kvě 2013, 21:27

Re: dotaz modeláře

Příspěvek od DavidO » 28 pro 2020, 23:15

V první řadě bych si ujasnil, co všechno chceš dostat vzduchem do modelu a pak, jestli se to dá udělat se dvěma ručně ovládanými RC kanály. Případně naopak, pokud tu využitelnost na modelu ještě nemáš jasnou a prostě využiješ to, co se povede dostat z vysílače do přijímače, vymysli si sofistikovaný postup zadávání a pak bádej, k čemu by se to hodilo). Máš k dispozici dva kanály, s posledním kanálem to je jasné, 5 poloh tedy rozlišení na 5 různých hodnot; rozlišení předposledního závisí na tom, jak se dá tím potenciometrem jemně kroutit, ale stejně bych spíš počítal zase s cca 5 polohami (střed, trochu na stranu, úplně na stranu, trochu na druhou stranu, úplně na druhou stranu), čili buď 5*5=25 různých stavů - stačí ti to? (pokud se ti povede rozlišit max 25 různých kombinací nastavení komplet všech výstupů, tak jseš za vodou (nezáleží na počtu výstupů, ale na počtu kombinací hodnot, klidně to může být pro 200 výstupů)). Anebo jedním kanálem něco volit a druhým to nastavovat, akorát nesmíš zapomenout na "přechodové hodnoty" kdy např. potenciometrem najedeš na krajní pozici, což něco znamená, ale pak se zase vracíš do středu a cestou ty hodnoty znamenají něco jiného.
Já bych si na to udělal malý stavový automat...

Jinak taková programátorská rada: na příjmu důrazně doporučuju netestovat cokoli co se týče příchozího signálu na rovnost, např. if b26=5 then ... elseif b26=15 then ... elseif b26=..., protože stačí trochu rozjeté hodiny nebo šum, místo impulsu délky 5 načteš 6 a to se nerovná žádnému "konkrétnímu" nebo "jinému" číslu. Místo toho testuj nerovnost: celý rozsah si rozděl na intervaly a ptej se, jestli to už překročilo hranici, tj. např. if b26 < 10 then ... elseif b26 < 20 then ... atd. (tenhle princip jsem popsal tady, i když to je o projektu s Arduinem, tak to je stejný princip).

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti