IR a sepnuti po dobu drzeni tlacitka

Odpovědět
jakub26

IR a sepnuti po dobu drzeni tlacitka

Příspěvek od jakub26 »

Zdravim vsechny , jsem tu novy , takze bych Vas tu chtel pozadat o radu
mam PICAXE 14M2
hraju si s dalkovym ovladanim .. to vse me jede .. ale mam problem jak napsat program ..
aby dioda ktera je pripojena na pin treba B.3 a B.5 svitila po dobu stisku tlacitka na dalkovem ovladaci ..

nyni mam kod tekhle .. viz nize .
to ale neni ono .. co bych chtel ..
misto serva bych tam dal pak motorek ale narazim na ten stejny problem .. aby to jelo po dobu kdy drzim tlacitko ..

diky za odpoved a jestli se ptam blbe tak se omlouvam

Jakub

Kód: Vybrat vše

symbol tlacitko = b1
init: servo 4,140
main:	irin C.0, tlacitko		
	;	debug	
	if tlacitko = 116 then vpred
	if tlacitko = 117 then vzad
	if tlacitko = 52 then vpravo
	if tlacitko = 51 then vlevo
	if tlacitko = 37 then svetla
	if tlacitko = 38 then klakson
	if tlacitko = 36 then svetla_off
	if tlacitko = 39 then klakson_off
	goto main		
	
vpred:
goto main

vzad:
goto main

vpravo:
servo 4 ,75
goto main

vlevo:
servo 4 ,225
pause 100
goto main

svetla:
high b.5
high b.3
goto main


klakson:
tune B.2, 8, %00000000,($00,$04,$07)

;high b.2

goto main


svetla_off:
low b.5
low b.3
goto main

klakson_off:
low b.2

goto main
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: IR a sepnuti po dobu drzeni tlacitka

Příspěvek od Dex »

Na vkládání zdrojáků máme tlačítko "Code", tak ho, prosím, používejte. Váš první příspěvek už jsem upravil.
"all your robots are belong to us"
robodoupe.cz
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 09:18

Re: IR a sepnuti po dobu drzeni tlacitka

Příspěvek od AlesH »

Ahoj. Aby program mohl reagovat na uvolnění tlačítka na dálkovém ovladači, tak musí být splněny dvě podmínky:
1. tlačítko na dálkovém ovladači musí automaticky opakovaně vysílat kód, dokud je stisknuto
2. v PICAXE programu musí být u příkazu "irin" timeout, aby program mohl pokračovat (a zhasnout světla) i když žádný kód není přijat

Předpokládám, že dálkový ovladač automatické opakování umí, takže doporučuju zkusit tuto mírnou úpravu programu:

Kód: Vybrat vše

...
main:   irin [500], C.0, tlacitko      ; timeout 500 ms (lze zkratit az na interval automatickeho opakovani z ovladace)
   ;   debug   
   if tlacitko = 0 then svetla_off     ; kdyz neni stisknuto nic, tak irin po timeoutu snad vraci nulu (to je treba overit)
   if tlacitko = 116 then vpred
   ...
U motorku by to bylo podobné, jen by sekce "svetla off" musela i vypínat motor.

Existují i jiné možnosti řešení, ale ta výše uvedená mi připadá dobře použitelná (i když po uvolnění tlačítka světla zhasnou až po malé chvilce [po tom timeoutu]).
jakub26

Re: IR a sepnuti po dobu drzeni tlacitka

Příspěvek od jakub26 »

dekuji za odpovedi a zaroven se omlouvam adminovi teto diskuze

uz to funguje

je to asi trochu kostrbaty ale jede to ( resil jsem jen svetla a motor )

Kód: Vybrat vše

symbol tlacitko = b1




init: servo 4,140
main:	irin [100],C.0, tlacitko		
	;	debug	
	
	
	if tlacitko = 0 then vse_off 
	
	if tlacitko = 116 then vpred
	if tlacitko = 117 then vzad
	if tlacitko = 52 then vpravo
	if tlacitko = 51 then vlevo
	if tlacitko = 37 then svetla
	if tlacitko = 38 then klakson
	if tlacitko = 36 then svetla_off
	if tlacitko = 39 then klakson_off
	
	
	
	
		
	goto main		;
	
vpred:
goto main


vzad:
goto main


vpravo:
high c.2
low c.1

tlacitko = 0
goto main

vlevo:
high c.1
low c.2

tlacitko = 0
goto main


svetla:
 
	
high b.5
high b.3
tlacitko = 0

goto main


klakson:
;tune B.2, 8, %00000000,($00,$04,$07)

;low b.2

goto main


vse_off:
low b.5; svetla
low b.3; svetla
low c.1; smer vpravo motor
low c.2; smer vlevo motor

goto main

klakson_off:
low b.2

goto main




Petr087

Re: IR a sepnuti po dobu drzeni tlacitka

Příspěvek od Petr087 »

Dobrý den,

Měl otázku. Jak mužu udělat z PICAXE vysílač a příjmač?

Mockrát vám děkuji
Uživatelský avatar
mara
Příspěvky: 17
Registrován: 15 čer 2013, 11:09

Re: IR a sepnuti po dobu drzeni tlacitka

Příspěvek od mara »

“Oh gravity, thou art a heartless bitch.” Sheldon Cooper
Odpovědět