Dotaz na vstup C.3 08M2
Dotaz na vstup C.3 08M2
Dobrý den
Mám asi velmi jednoduchý dotaz ale trochu jsem se u něho zadrhl, potřebuji tímto vstupem načíst 0 nebo 1 ostatně tento vstup asi ani nic jiného neumí ale jak bych to měl udělat aby mi to dalo číselnou hodnotu? Jde o to že tento vstup by měl přepínat části programu - takové primitivní dálkové řízení. Když bude nula tak by se při rozhodovacím procesu měla vykonávat jedna část programu a když jednička tak druhá část. Ideální by bylo kdyby to mělo ještě třetí stav pro další část programu ale ten asi definovat nelze
Mám asi velmi jednoduchý dotaz ale trochu jsem se u něho zadrhl, potřebuji tímto vstupem načíst 0 nebo 1 ostatně tento vstup asi ani nic jiného neumí ale jak bych to měl udělat aby mi to dalo číselnou hodnotu? Jde o to že tento vstup by měl přepínat části programu - takové primitivní dálkové řízení. Když bude nula tak by se při rozhodovacím procesu měla vykonávat jedna část programu a když jednička tak druhá část. Ideální by bylo kdyby to mělo ještě třetí stav pro další část programu ale ten asi definovat nelze
Re: Dotaz na vstup C.3 08M2
Myslíš třeba takto?
Nebo toto?
Kód: Vybrat vše
start:
if pin3=0 then : b0=100 end if
if pin3=1 then : b0=200 end if
goto start
Kód: Vybrat vše
start:
if pin3=0 then goto sem
if pin3=1 then goto tam
sem:
pause 100
toggle 2
goto start
tam:
pause 100
toggle 1
goto start
Re: Dotaz na vstup C.3 08M2
Jo jo ten druhý případ to je přesně ono, moc dík ADC vstupy mi problémy nedělají ale tento jsem ještě nepoužil, ted to bude premiéra
Ještě dotaz kdybych potřeboval přenést tímto vstupem příkaz pro čtyři rozhodovací procesy (tedy ne jen pro dva) předpokládám že by se to řešilo například zachytáváním pulsů, což znamená že by se čekalo na puls a pokud by v určitém čase daném třeba smyčkou a přišel jen jeden impuls pak by to byla rozhodovací úroveň jedna pokud by tam byly impulsy dva pak by šlo o rozhodovací úroveň dva pokud by se zachytily impulsy tři -úroveň tři atd. Ale popravdě si nejsem jist jestli by to správně chodilo protože by asi byl problém v časování a délce odchytávacího času. Předpokládám totiž že bych pulsy generoval z výstupu arduina a to by řídilo picaxe. Kdybych měl volnou ještě jednu nožičku u ADC tak bych to řešil velikostí napětí ale už mám vše obsazeno.
Je tato úvaha správná nebo je to ještě jinak? Myslím že jsem dokonce k poslouchání viděl v manuálu nějaký příkaz ale ještě jsem s tím nic nezkoušel, máte s tímto někdo zkušenosti?
Ještě dotaz kdybych potřeboval přenést tímto vstupem příkaz pro čtyři rozhodovací procesy (tedy ne jen pro dva) předpokládám že by se to řešilo například zachytáváním pulsů, což znamená že by se čekalo na puls a pokud by v určitém čase daném třeba smyčkou a přišel jen jeden impuls pak by to byla rozhodovací úroveň jedna pokud by tam byly impulsy dva pak by šlo o rozhodovací úroveň dva pokud by se zachytily impulsy tři -úroveň tři atd. Ale popravdě si nejsem jist jestli by to správně chodilo protože by asi byl problém v časování a délce odchytávacího času. Předpokládám totiž že bych pulsy generoval z výstupu arduina a to by řídilo picaxe. Kdybych měl volnou ještě jednu nožičku u ADC tak bych to řešil velikostí napětí ale už mám vše obsazeno.
Je tato úvaha správná nebo je to ještě jinak? Myslím že jsem dokonce k poslouchání viděl v manuálu nějaký příkaz ale ještě jsem s tím nic nezkoušel, máte s tímto někdo zkušenosti?
Re: Dotaz na vstup C.3 08M2
Dobrý den
tak že count vypadá velmi zajímavě ale mám tam opět několik dotazů. Předpokládám že příkaz bych dal do těla programu a tedy když by dojela smyčka hlavního programu a došlo na příkaz tak pokud to dobře chápu se běh zastaví na danou dobu kterou tam nadefinuji například count 3, 100, w1 čili by to 100ms čekalo a zaznamenávalo pulsy no ale jak to vlastně funguje? Načítají se všechny pulsy v této době nebo to počítá pulsy nejblíže k sobě a pokud se opakují pak je to již nezapočítá? Nejde mi do hlavy jak sesynchronizovat nebo říci picaxe že z arduina jdou skupiny 4 pulsu a to je vše pokud zachytí tuto skupinu dvakrát je to 8 pulsů ale jen 4 budou správně a co když se zachytí jen půl první skupiny a půl druhé (prostě když se picaxe svým chytacím rozsahem trefí do mezi vysílané skupiny pulsů)?
Prosím mohly by jste mi ojasnit jak to udělat?
tak že count vypadá velmi zajímavě ale mám tam opět několik dotazů. Předpokládám že příkaz bych dal do těla programu a tedy když by dojela smyčka hlavního programu a došlo na příkaz tak pokud to dobře chápu se běh zastaví na danou dobu kterou tam nadefinuji například count 3, 100, w1 čili by to 100ms čekalo a zaznamenávalo pulsy no ale jak to vlastně funguje? Načítají se všechny pulsy v této době nebo to počítá pulsy nejblíže k sobě a pokud se opakují pak je to již nezapočítá? Nejde mi do hlavy jak sesynchronizovat nebo říci picaxe že z arduina jdou skupiny 4 pulsu a to je vše pokud zachytí tuto skupinu dvakrát je to 8 pulsů ale jen 4 budou správně a co když se zachytí jen půl první skupiny a půl druhé (prostě když se picaxe svým chytacím rozsahem trefí do mezi vysílané skupiny pulsů)?
Prosím mohly by jste mi ojasnit jak to udělat?
Re: Dotaz na vstup C.3 08M2
Moc si to komplikuješ.
Příkaz pulsin pouze měří dobu, která uplyne mezi náběžnou a sestupnou hranou impulzu, příkaz count počítá, kolik náběžných hran pulzů přišlo za stanovenou dobu. Jak jsou ty pulzy daleko od sebe nebo jsou-li to nějaké série je lhostejné.
Pokud chceš předávat jen několik málo povelů, tak Arduinem buď generuj různé frekvence a v Picaxe je čti příkazem count, nebo použij knihovnu pro ovládání modelářského serva a snímej délku výstupního pulzu (1 až 2 ms) Picaxem příkazem pulsin, který je k tomu přímo určen.
A pokud chceš mezi Arduinem a Picaxe komunikovat nějak složitěji, tak použij běžnou asynchronní sériovou komunikaci (viz serin), jen nezapomeň na poznámku na straně 3 manuálu:
Příkaz pulsin pouze měří dobu, která uplyne mezi náběžnou a sestupnou hranou impulzu, příkaz count počítá, kolik náběžných hran pulzů přišlo za stanovenou dobu. Jak jsou ty pulzy daleko od sebe nebo jsou-li to nějaké série je lhostejné.
Pokud chceš předávat jen několik málo povelů, tak Arduinem buď generuj různé frekvence a v Picaxe je čti příkazem count, nebo použij knihovnu pro ovládání modelářského serva a snímej délku výstupního pulzu (1 až 2 ms) Picaxem příkazem pulsin, který je k tomu přímo určen.
A pokud chceš mezi Arduinem a Picaxe komunikovat nějak složitěji, tak použij běžnou asynchronní sériovou komunikaci (viz serin), jen nezapomeň na poznámku na straně 3 manuálu:
Při využití pinu input3 (C.3) je nutné na něj připojit diodu 1N4148 tak, aby „proužek“ (katoda) byl připojen na +V.
jrt
Re: Dotaz na vstup C.3 08M2
Aha moc dík tak ted už je mi to jasnější, zkusím to nastudovat a uvidím, potřebuji přenést 3 -4 povely to se ještě upřesní. Zatím díky.
Re: Dotaz na vstup C.3 08M2
Dobrý den
tak mám ještě pár dotazů. Předpokládám že bych použil variantu s pulsin. Zkoumal jsem totiž možnosti serin a serout a jsou to dobré nástroje pro komunikaci ale v manuálu se praví že pokud je spuštěn serin pak se zastaví vše ostatní - nejsem si jist jestli se tím myslí i generováné PWM. Pokud ano je to pro mne nepoužitelné, protože potřebuji aby toto stále běželo. Pokud by to PWM neovlivnilo pak by to byla skvělá volba. Jen se zamýšlím nad tím jak to tam funguje. Já bych potřeboval aby arduino vysílalo třeba v opakujíccí se smyčce ale (a tady je další otázka má arduino vlastně něco jako serout ale přepokládám že snad ano) picaxe aby přijímalo jen jaksi mimochodem tedy v běhu základního programu, který by to příliš neovlivnilo. ??
Proto si myslím že pulsin bude asi vhodnější. Je zde opět otázka, měřený impuls musí být ke vstupu s picaxe odesílán stále aby se při době naslouchání vždy podařilo zachytit alespoň jeden puls. Jak to ale funguje s tím servem? Když vyšlu např ( na arduinu myservo.write(0) a potom např myservo.write(180) ) pujdou pulsy jen jednorázově k servu nebo tam proudí stále? Pokud by to bylo jen jednorázové pak by mi to neřešilo problém a asi bych to musel řešit ještě jinak.
tak mám ještě pár dotazů. Předpokládám že bych použil variantu s pulsin. Zkoumal jsem totiž možnosti serin a serout a jsou to dobré nástroje pro komunikaci ale v manuálu se praví že pokud je spuštěn serin pak se zastaví vše ostatní - nejsem si jist jestli se tím myslí i generováné PWM. Pokud ano je to pro mne nepoužitelné, protože potřebuji aby toto stále běželo. Pokud by to PWM neovlivnilo pak by to byla skvělá volba. Jen se zamýšlím nad tím jak to tam funguje. Já bych potřeboval aby arduino vysílalo třeba v opakujíccí se smyčce ale (a tady je další otázka má arduino vlastně něco jako serout ale přepokládám že snad ano) picaxe aby přijímalo jen jaksi mimochodem tedy v běhu základního programu, který by to příliš neovlivnilo. ??
Proto si myslím že pulsin bude asi vhodnější. Je zde opět otázka, měřený impuls musí být ke vstupu s picaxe odesílán stále aby se při době naslouchání vždy podařilo zachytit alespoň jeden puls. Jak to ale funguje s tím servem? Když vyšlu např ( na arduinu myservo.write(0) a potom např myservo.write(180) ) pujdou pulsy jen jednorázově k servu nebo tam proudí stále? Pokud by to bylo jen jednorázové pak by mi to neřešilo problém a asi bych to musel řešit ještě jinak.
Re: Dotaz na vstup C.3 08M2
PWM se nezastaví.... v manuálu se praví že pokud je spuštěn serin pak se zastaví vše ostatní - nejsem si jist jestli se tím myslí i generováné PWM. Pokud ano je to pro mne nepoužitelné, protože potřebuji aby toto stále běželo.
Viz příspěvek DavidO » 29 úno 2016, 10:44 zde. *)... má arduino vlastně něco jako serout ale přepokládám že snad ano
Pulzy běží stále, jejich šířka (doba trvání) odpovídá poslední hodnotě, nastavené servo.write().Jak to ale funguje s tím servem? Když vyšlu např ( na arduinu myservo.write(0) a potom např myservo.write(180) ) pujdou pulsy jen jednorázově k servu nebo tam proudí stále?
Ale, jak čtu tvoje dotazy, nevzal sis na začátek trochu velké sousto? Možná by bylo dobře se nejdřív seznámit se všemi možnostmi jak PICAXE, tak Arduina a pak teprve začít vymýšlet program.
---
*) tohle vlákno je typickým příkladem toho, jak se to nemá dělat. Ačkoli se jmenuje "Arduino UNO - nelze nahrát program", od sedmého příspěvku už se na dalších dvou stránkách diskutuje o připojení dispeje k Arduinu
jrt
Re: Dotaz na vstup C.3 08M2
Ano chápu s arduinem je to mimo zařazení i vlákno. Otázky na vstup C.3 picaxe byly v podstatě zodpovězeny a já mohu dále zkoušet a experimentovat. Ještě dotaz který z výše uvedených přenosů bude mít nejvyšší odolnost proti rušení? Já bych tipnul že to bude ten dvoustavový systém (0, 1) co je uveden hned na začátku potom asi count tedy frekvencí , dále je to pak pulsin a nejhůře na tom asi bude serin - to je moje pořadí co do možností zarušení vstupu.
Stejně by mne ale zajímalo jestli se tedy dá používat vstup C.3 na picaxe s obsluhovaný příkazem Serin s obdobným ale vysílacím příkazem (jakým?) na výstupu (digitálním) arduina.
PS Obě platformy mám jako koníčka, tak že znalosti "nějaké" jsou ale spíše selektivní, tímto si je rozšiřuji.
Stejně by mne ale zajímalo jestli se tedy dá používat vstup C.3 na picaxe s obsluhovaný příkazem Serin s obdobným ale vysílacím příkazem (jakým?) na výstupu (digitálním) arduina.
PS Obě platformy mám jako koníčka, tak že znalosti "nějaké" jsou ale spíše selektivní, tímto si je rozšiřuji.