:- module(nxt_components,[ motor/2, motor/3, light_sensor/1, touch_sensor/1, ultrasonic_sensor/1, sound_sensor/1 ]). :- use_module(nxt_actions). % Odczyt predkosci. motor(Motor,Speed) :- nonvar(Motor), var(Speed), get_speed(Motor,Speed). % Wprawienie w ruch silnika z zadana predkoscia. motor(Motor,Speed) :- nonvar(Motor), nonvar(Speed), set_speed(Motor,Speed). % Zmiana predkosci silnika na okreslony czas. % Po jego uplywie predkosc ustawiana jest na poprzednia wartosc. motor(Motor,Speed,time(Time)) :- nonvar(Motor), nonvar(Speed), nonvar(Time), motor(Motor,Oldspeed), create_timer(T1), set_speed(Motor,Speed), wake_up(T1,Time,nxtMotor(Motor,Oldspeed)). % Obrot silnika z zadana predkoscia o zadany kat. motor(Motor,Speed,angle(Angle)) :- nonvar(Motor), nonvar(Speed), nonvar(Angle), set_speed(Motor,Speed,Angle). motor(Motor,Speed,Angle) :- motor(Motor,Speed,angle(Angle)). light_sensor(Value) :- var(Value), get_light(Value). touch_sensor(Value) :- var(Value), get_touch(Value). ultrasonic_sensor(Value) :- var(Value), get_distance(Value). sound_sensor(Value) :- var(Value), get_sound(Value).