Zespół

  • Tomasz Kocurek
  • Robert Miodoński

1. Wstęp

  • Na początku mieliśmy do czynienia z programem napisanym w jednym wątku(wtedy nie działało polecenie nxt_stop) oraz z takim samym programem ale działającym w 2 wątkach i wtedy juz można było wydać polecenie nxt_stop

2. Algorytmy

  • Algorytm panikarza wygląda tak
:- consult('plnxt.pl').
 
start :-
	nxt_open,
	thread_create(go_on_buddy,_,[detached(true)]).
 
go_on_buddy :-
	nxt_go(300),
	sleep(1), % Chwila przerwy, żeby jedno klaśnięcie nie zostało rozpoznane jako dwa.
	trigger_create(_,touch,stop),
	trigger_create(_,clap,wait_a_second_buddy).
	
	
wait_a_second_buddy :-	
	nxt_stop,
	sleep(1),
	nxt_rotate(350,90),
	nxt_go_cm(500,40),
	go_on_buddy.
	%trigger_create(_,clap,go_on_buddy).
 
% Sprawdzenie, czy natężenie dźwięku przekracza progową wartość.

clap :-
	nxt_sound(Value,force),
	Value > 50.

touch :-
        nxt_touch(Touch, force),
        Touch = 1.
 	
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.		 % zakończenie połączenia z NXT Mindstorms

3. Problemy

Często przy uruchamianiu mieliśmy zbyt dużo wątków i program nie chciał uruchomić się na nowo dlatego musieliśmy zabijać procesy w taki sposób

ps aux
kill NUMER_PID

4. Zdjęcia

pl/dydaktyka/piw/2009/sprawozdania/piw20090422-09c.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0