plik


wiczenia 6  Robot Mindstorm NXT - podstawowe sterowanie modelu Tribot za pomoc biblioteki NXT++ 1) Zapoznaj si z mo|liwo[ciami sterowania Robota Tribot w bibliotece NXT++ 2) Uruchom plik re4.sln w katalogu, C: \ \ mindstorms nxt \NXT++\nxtpp0 -6\FINAL\ examples \ vs90 \ r e 4 3) Napisz program [ledzenia linii z prawej i lewej strony. Nasycenie [wiatBa linii i tBa pobierz zdalnie sterujc robotem. 4) Napisz program symulujcy zachowanie zawodnika sumo, robot nie mo|e wy- jecha poza czarn obrcz, gdy wykrywa przeszkod, stara si j przemie[ci poza czarn lini. NXT++, kilka bazowych informacji Podstawowe biblioteki i przestrzenie nazw, #i n c l u d e  NXT++.h #i n c l u d e <iostre am > #i n c l u d e <c o n i o . h> u s i n g namespace s t d ; u s i n g namespace NXT; Nawizywanie komunikacji z robotem, za pomoc przewodu USB, i f (NXT : : Open(&comm) ) // i n i t i a l i z e t h e NXT and c o n t i n u e i f i t s u c c e e d s { } NXT : : Cl os e (&comm) ; // c l o s e t h e NXT za pomoc Blue Tooth , i f (NXT : : OpenBT(&comm) ) // i n i t i a l i z e t h e NXT and c o n t i n u e i f i t s u c c e e d s { } NXT : : Cl os e (&comm) ; // c l o s e t h e NXT Ramy programu NXT++ NXT : : StartProgram(&comm,  program1  ) ; kod programu NXT : : StopProgram(&comm) ; Wy[wietlanie poziomu baterii i ilo[ci dostpnej pamici, cout<<NXT : : B a t t e r y L e v e l (&comm) ; cout<<NXT : : G e t A v a i l a b l e F l a s h (&comm) ; U|ywanie generatora dzwikw, f o r ( i n t i =1; i <1000; i=i +10) { NXT : : PlayTone(&comm, i , 1) ; Wait ( 1 ) ; } NasBuchiwanie wci[nicia klawisza - przydatne w od[wie|aniu parame- trw sterujcych i f ( k b h i t ( )==t r u e ) { d e c y z j a=g e tc h ( ) ; } Porty serwomechanizmw - Tribot a -OUT A sterowanie szczypcami -OUT B sterowanie lewym koBem -OUT C sterowanie prawym koBem Skrcanie w lewo - przy x<y NXT : : Motor : : SetForward(&comm, OUT B, y ) ; NXT : : Motor : : SetForward(&comm, OUT C, x ) ; Skrcanie w prawo - przy x>y NXT : : Motor : : SetForward(&comm, OUT B, y ) ; NXT : : Motor : : SetForward(&comm, OUT C, x ) ; Jazda na wprost z prdko[ci x NXT : : Motor : : SetForward(&comm, OUT B, x ) ; NXT : : Motor : : SetForward(&comm, OUT C, x ) ; Jazda do tyBu z prdko[ci x NXT : : Motor : : S e t R e v e r s e (&comm, OUT B, x ) ; NXT : : Motor : : S e t R e v e r s e (&comm, OUT C, x ) ; PrzykBadowe sterowanie szczypcami i f ( d e c y z j a == C | | d e c y z j a == c  ) { i f ( p o i n t e r ==0) { NXT: : Motor : : SetForward(&comm, OUT A, 10) ; Wait ( 1 0 0 0 ) ; NXT: : Motor : : Stop(&comm, OUT A, 0) ; p o i n t e r =1; c o n t i n u e ; } i f ( p o i n t e r ==1) { NXT: : Motor : : SetForward(&comm, OUT A, -20) ; Wait ( 1 0 0 0 ) ; p o i n t e r =0; c o n t i n u e ; } } PrzykBadowe zwikszenie prdko[ci robota przy jezdzie na wprost i f ( d e c y z j a == M | | d e c y z j a == m ) { x+=10; } i f ( d e c y z j a == W | | d e c y z j a == w | | ( xtemp!=x && l a s t v a l u e == w ) ) { xtemp=x ; l a s t v a l u e = w  ; NXT: : Motor : : SetForward(&comm, OUT B, x ) ; NXT: : Motor : : SetForward(&comm, OUT C, x ) ; } Zwalnianie serwomechnizmw NXT : : Motor : : SetForward(&comm, OUT B, 0) ; NXT : : Motor : : SetForward(&comm, OUT C, 0) ; NXT : : Motor : : S e t R e v e r s e (&comm, OUT B, 0) ; NXT : : Motor : : S e t R e v e r s e (&comm, OUT C, 0) ; NXT : : Motor : : Stop(&comm, OUT B, 0) ; NXT : : Motor : : Stop(&comm, OUT C, 0) ; Porty sensorw -IN 1 sensor dotyku -IN 2 sensor dzwiku -IN 3 sensor [wiatBa -IN 4 sonar Uaktywnienie sensora dotyku w porcie 1 NXT : : S en sor : : SetTouch(&comm, IN 1 ) ; Uaktywnienie sonaru w porcie 4 i pobranie odlegBo[ci od przeszkody, wyBczenie sensora NXT : : S en sor : : SetSonar (&comm, IN 4 ) ; NXT : : S en sor : : GetSonarValue(&comm, IN 4 ) ; NXT : : S en sor : : S e tS on ar Of f (&comm, IN 4 ) ; Uaktywnienie sensora [wiatBa w porcie 3, pobranie poziomu [wiatBa, de- aktywacja sensora NXT : : S en sor : : S e t L i g h t (&comm, IN 3 , 1) ; Wait ( 5 0 ) ; v a l u e=NXT : : Se nso r : : GetValue(&comm, IN 3 ) ; Wait ( 5 0 ) ; NXT : : S en sor : : S e t L i g h t (&comm, IN 3 , 0) ; Pobranie poziomu dzwieku, NXT : : S en sor : : SetSound(&comm, IN 2 ) ; Wait ( 5 0 ) ; v a l u e=NXT : : Se nso r : : GetValue(&comm, IN 2 ) ;

Wyszukiwarka

Podobne podstrony:
c6
C6
C6 11
C6 3
C6 7
C6
c6
C6 1
INSTRUKCJA OBSŁUGI NOKIA C6 00 PL
highwaycode pol c6 motocykle (s 27 28, r 84 91)
c6
C6 10

więcej podobnych podstron