LEGO Kompas datasheet
Transkrypt
LEGO Kompas datasheet
LEGO Czujnik Kompas ©2010 RoboFACTORY LEGO Akcelerometr Tytuł dokumentu: LEGO Kompas datasheet Wersja dokumentu: 1.2 Data: 11.03.2011 Wersja urządzenia którego dotyczy dokumentacja: LEGO_Kompas_V1.0 ©2010 RoboFACTORY 2/19 LEGO Akcelerometr Spis treści 1 Ogólny opis......................................................................................................................................4 1.1 .Właściwości.............................................................................................................................4 2 Szybki start.......................................................................................................................................5 2.1 .Przykładowy program..............................................................................................................5 3 Informacje o czujniku ......................................................................................................................6 3.1 .Dane techniczne.......................................................................................................................6 3.2 .Opis wyprowadzeń..................................................................................................................7 3.3 .Protokół komunikacji...............................................................................................................8 3.4 .Wykaz rejestrów......................................................................................................................9 3.5 .Definicje rejestrów.................................................................................................................11 ©2010 RoboFACTORY 3/19 LEGO Akcelerometr 1 Ogólny opis Czujnik LEGO Kompas zbudowany jest w oparciu o w pełni scalony układ 3-osiowego akcelerometru oraz 3-osiowego magnetometru LSM303DLH. Układ ten zawiera w sobie pojemnościowe czujniki przyspieszenia, czujniki pola magnetycznego oraz 12-bitowy przetwornik analogowo-cyfrowy. Czujnik komunikuje się po magistrali I2C pod adresem 0x14. 1.1 Właściwości – Małe wymiary – Zakres pomiarowy przyspieszenia +-8g – Czułość akcelerometru 256 LSB/g – Zakres pomiarowy magnetometru +-1,3 Gauss – Czułość magnetometru 1055 LSB/Gauss – Wyjście cyfrowe ( interfejs I2C ) – Możliwość konfiguracji adresu magistrali I2C – Wykrywanie swobodnego spadania (Free Fall) – Wykrywanie przekroczenia zaprogramowanego progu przyspieszenia (Motion Detect) dla każdej z osi osobno – Obliczanie kątów obrotu względem osi X i Y (Roll i Pitch) – Obliczanie wartości kąta między liniami ziemskiego pola magnetycznego, a osią X czujnika – Kompensacja kąta dla obrotu czujnika w osi X i Y ©2010 RoboFACTORY 4/19 LEGO Akcelerometr 2 Szybki start Czujnik należy podłączyć do kostki NXT do jednego z portów od 1 do 4 i używając bloczków dostępnych na naszej stronie internetowej, można od razu przystąpić do zabawy. 2.1 Przykładowy program Jest to zdjęcie przykładowego programu, który wyświetla nam wartości indukcji magnetycznej w osiach x, y oraz z. Wartości te są co pół sekundy odświeżane. Program ten ma na celu pokazanie jak odczytywać wartości z kompasu. Program ten, znajduje się również na naszej stronie internetowej. ©2010 RoboFACTORY 5/19 LEGO Akcelerometr 3 Informacje o czujniku 3.1 Dane techniczne Maksymalne wartość parametrów fizycznych urządzenia: Parametr Min Max Jednostka 0 6.5 V -40 +125 ºC Napięcie wejściowe -0.5 Vcc+0.5 V Prąd pinu -20 +20 mA - 3000 g 10000 gauss Vcc (Napięcie zasilania) Temperatura przechowywania DATA Pin Maksymalne przyspieszenie (wszystkie osie) Maksymalna wartość pola magnetycznego Operacyjne wartości parametrów urządzenia: Parametr Min Typ Max Jednostka 3 5 5.5 V Tryb pomiaru - 10 12 mA Tryb uśpienia - 3 4 mA -30 25 +85 ºC Częstotliwość pomiaru - 30 - Hz Czułość akcelerometru 250 255 260 count/g Vcc (Napięcie zasilania) Pobór prądu Temperatura pracy Czułość magnetometru Rozdzielczość magnetyczna Błąd pomiaru kąta Prędkość magistrali I2C ©2010 RoboFACTORY - 6/19 1055 count/gauss 8 mgauss 2,3 º - 400 kHz LEGO Akcelerometr 3.2 Opis wyprowadzeń Nr pinu Nazwa pinu Opis Typ pinu 1 BOOT 2 GND Masa urządzenia POWER 3 GND Masa urządzenia POWER 4 VCC Zasilanie urządzenia POWER 5 SCL I2C Serial Clock INPUT 6 SDA I2C Serial Data INPUT/OUTPUT Pin służący do aktualizacji oprogramowania w urządzeniu. Podczas normalnej pracy wymagany stan wysoki. INPUT Wyprowadzenia są kompatybilne ze standardem czujników LEGO Mindstorms NXT. ©2010 RoboFACTORY 7/19 LEGO Akcelerometr 3.3 Protokół komunikacji Komunikacja z czujnikiem odbywa się pod magistrali I2C. Czujnik jest urządzeniem typu „SLAVE” i zgłasza się pod adresem 0x14 lub pod adresem zaprogramowanym przez użytkownika, wpisanym do odpowiedniego rejestru. Przykład zapisu do rejestru urządzenia dwóch bajtów: S Slave Address + Write bit = 0x14 A Register Address A Data0 A Data1 A P Przykład odczytu pojedynczego bajtu z rejestru urządzenia: S Slave Address + Write bit = 0x14 A Register Address A S Slave Address + Read bit = 0x15 A Data A P Legenda: – Master – Slave S – Bit Startu A – Bit potwierdzenia P – Bit Stopu Każdy rejestr czujnika ma swój unikalny 8bit adres. Po odczycie jednego bajtu adres jest automatycznie zwiększany o jeden. Pozwala to na odczyt kilku rejestrów, przy jednej sekwencji odczytu i2c. ©2010 RoboFACTORY 8/19 LEGO Akcelerometr 3.4 Wykaz rejestrów Adres rejestru Nazwa - Opis Rozmiar w bajtach Wartość domyślna 0x00 SVN – Sensor Version Number, wersja firmware urządzenia 8 „V1.0” 0x08 MF – Manufacturer, nazwa producenta 8 „RoboFACT” 0x10 ST – Sensor Type, nazwa rodzaju czujnika 16 „COMPASS” 0x20 SSA – Second Slave Address, alternatywny adres pod jakim będzie się zgłaszać czujnik na magistrali I2C 1 0xFF 0x21 LPC – LED Power Control, rejestr służący do sterowania zielona dioda LED 1 0x01 0x22 PC – Power Control, rejestr do kontroli trybów oszczędzania energii 1 0x00 0x40 SR – Status Register, rejestr statusowy czujnika 1 0x00 0x41 LSC – LED Status Control, konfiguracja pomarańczowej diody LED 1 0x09 0x42 AXOUT – Odczyt przyspieszenia w osi X 2 - 0x44 AYOUT – Odczyt przyspieszenia w osi Y 2 - 0x46 AZOUT – Odczyt przyspieszenia w osi Z 2 - 0x48 ROLL – kąt obrotu w osi X 2 - 0x4A PITCH – kąt obrotu w osi Y 2 - 0x4F MDS – Motion Detect Status, rejestr z flagami zapalanymi przy wykryciu ruchu 1 0x00 0x50 FFL – Free Fall Level, wartość przyspieszenia poniżej, której następuje zapalenie flagi FFF w rejestrze statusowym 2 0x0019 0x52 MDX – Wartość przyspieszenia powyżej, której następuje zapalenie flagi MDFX 2 0x0120 0x54 MDY – Wartość przyspieszenia powyżej, której następuje zapalenie flagi MDFY 2 0x0120 0x56 MDZ – Wartość przyspieszenia powyżej, której następuje zapalenie flagi MDFZ 2 0x0120 0x60 MXOUT – Odczyt wartości pola magnetycznego w osi X 2 - ©2010 RoboFACTORY 9/19 LEGO Akcelerometr 0x62 MYOUT – Odczyt wartości pola magnetycznego w osi Y 2 - 0x64 MZOUT – Odczyt wartości pola magnetycznego w osi Z 2 - 0x66 CV – Course Value, wartość absolutna kąta 2 - 0x68 RCV – Raw Course Value, wartość absolutna kąta 2 - 0x6A MCVX – Magnetic Calibration Value, offset w osi X 2 - 0x6C MCVY – Magnetic Calibration Value, offset w osi Y 2 - 0x6E MCVZ – Magnetic Calibration Value, offset w osi Z 2 - 0x70 SCC – Sensor Calibration Command, rozkaz wykonania kalibracji kompasu 1 - 0x71 SSRC – Sensor Set/Reset Command, rozkaz rozmagnesowania czujnika 1 - ©2010 RoboFACTORY 10/19 LEGO Akcelerometr 3.5 Definicje rejestrów 0x00 – Sensor Version Number (SVN): Nr Bajtu D0 D1 D2 D3 D4 D5 D6 D7 Wartość domyślna 'V' '1' '.' '0' - - - - Rejestr zawiera numer wersji urządzenia w postaci znaków ASCII. 0x08 – Manufacturer (MF): Nr Bajtu Wartość domyślna D0 D1 D2 D3 D4 D5 D6 D7 'R' 'o' 'b' 'o' 'F' 'A' 'C' 'T' Rejestr zawiera nazwę serii czujników w postaci znaków ASCII. 0x10 – Sensor Type (ST): Nr Bajtu Wartość domyślna D0 D1 D2 D3 D4 D5 D6 D7 'C' 'O' 'M' 'P' 'A' 'S' 'S' - Rejestr zawiera nazwę typu czujników w postaci znaków ASCII. 0x20 – Second Slave Address (SSA): Nr bitu Funkcja b7 b6 b5 b4 b3 b2 b1 b0 SSA[7] SSA[6] SSA[5] SSA[4] SSA[3] SSA[2] SSA[1] 0 Rejestr służy do konfiguracji alternatywnego adresu czujnika na magistrali I2C. Najmłodszy bit jest zawsze równy 0, ze względu na fakt że najmłodszy bit adresu na magistrali służy do określenia kierunku danych (zapis/odczyt). Po wykonaniu takiego zapisu do rejestru, zapalana jest flaga zajętości w rejestrze statusowym. Czujnik po dokonaniu zapisu do pamięci nie ulotnej flash, automatycznie gasi flagę zajętości i można przystąpić do dalszej pracy. Zapis może trwać maksymalnie do 100ms. 0x21 – LED Power Control (LPC): Nr bitu Funkcja b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - LPC[0] Jeśli bit LPC[0] rejestru LPC jest zapalony to dioda LED świeci, w przeciwnym wypadku nie świeci. ©2010 RoboFACTORY 11/19 LEGO Akcelerometr 0x22 – Power Control (PC): Nr bitu Funkcja b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - PC[0] Jeśli bit PC[0] jest zapalony to czujnik przechodzi w tryb uśpienia. Dokonywanie pomiarów przyspieszenia zostaje zatrzymane. Czujnik wybudza się tylko podczas wykrycia transmisji na I2C. Na czas uśpienia diody LED zostają wyłączone. 0x40 – Status Register (SR): Nr bitu Funkcja b7 b6 b5 b4 b3 b2 b1 b0 - ADF MDF FFF CVF HF MR BUSY Opis flag: BUSY – Flaga zajętości urządzenia, kiedy flaga jest zapalona zapisane dane do czujnika mogą zostać utracone, a dane odczytane z innego rejestru niż statusowy mogą być zakłamane. MR – Measurement ready, flaga zapala się jak nowy pomiar jest gotowy do odczytu w rejestrach AXOUT, AYOUT, AZOUT, MXOUT, MYOUT, MZOUT. Flaga pozostaje zapalona do momentu odczytu któregoś z rejestru. HF – Horizontal Flag, flaga zapala się gdy czujnik jest w położeniu poziomym CVF – Course Value Flag, flaga zapala się jak czujnik wskazuje kierunek północny. FFF – Free Fall Flag, flaga zapala się gdy wartość przyspieszenia dla każdej z osi mniejsza jest od zapisanej wartości w rejestrze FFL, flaga pozostaje zapalona do momentu odczytu rejestru. MDF – Motion Detect Flag, flaga zapala się w przypadku wykrycia przekroczenia zaprogramowanej wartość (rejestry MDX, MDY, MDZ) przyspieszenia. Odczytując rejestr MDS można sprawdzić w której osi nastąpiło przekroczenie wartości. Flaga pozostaje zapalona do momentu odczytu rejestru. ADF – Acceleration Detected Flag, flaga zapala się w przypadku wykrycia liniowego lub kątowego przyspieszenia. Oznacza to, że pomiar z rejestrów CV, ROLL i PITCH może być obarczony błędem i nie należy go traktować jako prawidłowy. Do wyznaczenia kursu można się posłużyć rejestrem RCV, ale wtedy czujnik musi być w pozycji poziomej. ©2010 RoboFACTORY 12/19 LEGO Akcelerometr 0x41 – LED Status Control (LSC): Nr bitu Funkcja b7 b6 b5 b4 b3 b2 b1 b0 LSC[7] LSC[6] LSC[5] LSC[4] LSC[3] LSC[2] LSC[1] LSC[0] Rejestr służy do kontroli świecenie pomarańczowej diody LED. Dioda ta zapala się jeśli spełniony jest warunek (LSC & SR) > 0. np. dla wartości LSC = 0x01 dioda LED zapali się tylko gdy flaga BUSY będzie zapalona. Dla wartości LSC = 0x07 dioda zapali się jeśli zapalona będzie flaga BUSY lub ROLLF lub PITCHF. 0x42 – 12bits Accelerometer X Output Value (AXOUT): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 AXOUT[11] AXOUT[10] AXOUT[9] b4 b3 b2 b1 b0 AXOUT[8] AXOUT[7] AXOUT[6] AXOUT[5] AXOUT[4] b7 b6 b5 b4 b3 b2 b1 b0 - - - - AXOUT[3] AXOUT[2] AXOUT[1] AXOUT[0] Rejestr zawiera wartość przyspieszenia w osi X. Od odczytanej wartości z rejestru AXOUT należy odjąć wartość 2048 w celu uzyskania poprawnej wartości 256 count/g. 0x44 – 12bits Accelerometer Y Output Value (AYOUT): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 AYOUT[11] AYOUT[10] AYOUT[9] b4 b3 b2 b1 b0 AYOUT[8] AYOUT[7] AYOUT[6] AYOUT[5] AYOUT[4] b7 b6 b5 b4 b3 b2 b1 b0 - - - - AYOUT[3] AYOUT[2] AYOUT[1] AYOUT[0] Rejestr zawiera wartość przyspieszenia w osi Y. Od odczytanej wartości z rejestru AYOUT należy odjąć wartość 2048 w celu uzyskania poprawnej wartości 256 count/g. 0x46 – 12bits Accelerometer Z Output Value (AZOUT): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 AZOUT[11] AZOUT[10] AZOUT[9] b4 b3 b2 b1 b0 AZOUT[8] AZOUT[7] AZOUT[6] AZOUT[5] AZOUT[4] b7 b6 b5 b4 b3 b2 b1 b0 - - - - AZOUT[3] AZOUT[2] AZOUT[1] AZOUT[0] Rejestr zawiera wartość przyspieszenia w osi Z. Od odczytanej wartości z rejestru AZOUT należy odjąć wartość 2048 w celu uzyskania poprawnej wartości 256 count/g. ©2010 RoboFACTORY 13/19 LEGO Akcelerometr Przykładowe wartość odczytane z rejestrów AXOUT, AYOUT lub AZOUT i odpowiadające im przyspieszenie: Rejestr XOUT, YOUT lub ZOUT Wartość przyspieszenia 4095 8g 2560 2g 2304 1g 2048 0 1792 -1g 1536 -2g 0 -8g 0x48 – X Rotation (ROLL): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 ROLL[8] ROLL[7] ROLL[6] ROLL[5] ROLL[4] ROLL[3] ROLL[2] ROLL[1] b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - ROLL[0] Rejestr zawiera wartość kąta odchylenia płaszczyzny XY urządzenia od wektora przyspieszenia ziemskiego w osi X. Od odczytanej wartości z rejestru ROLL należy odjąć wartość 180 w celu uzyskania poprawnej wartości w stopniach. Wartość minimalna -180, wartość maksymalna 179. Jeśli zapalona jest flaga ADF, wartość rejestru może być nie prawidłowa. 0x4A – Y Rotation (PITCH): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 PITCH[8] PITCH[7] PITCH[6] PITCH[5] PITCH[4] PITCH[3] PITCH[2] PITCH[1] b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - PITCH[0] Rejestr zawiera wartość kąta odchylenia płaszczyzny XY urządzenia od wektora przyspieszenia ziemskiego w osi Y. Od odczytanej wartości z rejestru PITCH należy odjąć wartość 180 w celu uzyskania poprawnej wartości w stopniach. Wartość minimalna -180, wartość maksymalna 179.Jeśli zapalona jest flaga ADF, wartość rejestru może być nie prawidłowa. ©2010 RoboFACTORY 14/19 LEGO Akcelerometr 0x4F – Motion Detect Status (MDS): Nr bitu Funkcja b7 b6 b5 b4 b3 b2 b1 b0 - - - - MDZF MDYF MDXF FFF Opis flag: FFF – Free Fall Flag, flaga zapala się gdy wartość przyspieszenia dla każdej z osi mniejsza jest od zapisanej wartości w rejestrze FFL, flaga pozostaje zapalona do momentu odczytu rejestru. MDXF – Motion Detect X Flag, flaga zapala się w przypadku wykrycia przekroczenia zaprogramowanej wartość przyspieszenia w rejestrze MDX. Flaga pozostaje zapalona do momentu odczytu rejestru. MDYF – Motion Detect Y Flag, flaga zapala się w przypadku wykrycia przekroczenia zaprogramowanej wartość przyspieszenia w rejestrze MDY. Flaga pozostaje zapalona do momentu odczytu rejestru. MDZF – Motion Detect Z Flag, flaga zapala się w przypadku wykrycia przekroczenia zaprogramowanej wartość przyspieszenia w rejestrze MDZ. Flaga pozostaje zapalona do momentu odczytu rejestru. 0x50 – Free Fall Level (FFL): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 FFL[7] FFL[6] FFL[5] FFL[4] FFL[3] FFL[2] FFL[1] FFL[0] b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - FFL[8] Do rejestru należy wpisać wartość przyspieszenia wyrażoną w count/g, poniżej której następuje ustawienie flagi FFF. 0x52 – Motion Detect on X axis (MDX): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 MDX[7] MDX[6] MDX[5] MDX[4] MDX[3] MDX[2] MDX[1] MDX[0] b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - MDX[8] Do rejestru należy wpisać wartość przyspieszenia w osi X wyrażoną w count/g, powyżej której następuje zapalenie flagi MDFX. ©2010 RoboFACTORY 15/19 LEGO Akcelerometr 0x54 – Motion Detect on Y axis (MDY): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 MDY[7] MDY[6] MDY[5] MDY[4] MDY[3] MDY[2] MDY[1] MDY[0] b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - MDY[8] Do rejestru należy wpisać wartość przyspieszenia w osi Y wyrażoną w count/g, powyżej której następuje zapalenie flagi MDFY. 0x56 – Motion Detect on Z axis (MDZ): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 MDZ[7] MDZ[6] MDZ[5] MDZ[4] MDZ[3] MDZ[2] MDZ[1] MDZ[0] b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - MDZ[8] Do rejestru należy wpisać wartość przyspieszenia w osi Z wyrażoną w count/g, powyżej której następuje zapalenie flagi MDFZ. ©2010 RoboFACTORY 16/19 LEGO Akcelerometr 0x60 – 12bits Magnetometer X Output Value (MXOUT): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 MXOUT[11] MXOUT[10] MXOUT[9] MXOUT[8] b7 b6 b5 b4 - - - - b3 b2 b1 MXOUT[7] MXOUT[6] MXOUT[5] b3 b2 b1 MXOUT[3] MXOUT[2] MXOUT[1] b0 MXOUT[4] b0 MXOUT[0] Rejestr zawiera wartość natężenia pola magnetycznego w osi X. Od odczytanej wartości z rejestru MXOUT należy odjąć wartość 2048 w celu uzyskania poprawnej wartości 1055 count/gauss. 0x62 – 12bits Magnetometer X Output Value (MYOUT): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 MYOUT[11] MYOUT[10] MYOUT[9] MYOUT[8] b3 b2 b1 b0 MYOUT[7] MYOUT[6] MYOUT[5] MYOUT[4] b7 b6 b5 b4 b3 b2 b1 b0 - - - - MYOUT[3] MYOUT[2] MYOUT[1] MYOUT[0] Rejestr zawiera wartość natężenia pola magnetycznego w osi Y. Od odczytanej wartości z rejestru MYOUT należy odjąć wartość 2048 w celu uzyskania poprawnej wartości 1055 count/gauss. 0x64 – 12bits Magnetometer Z Output Value (MZOUT): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 MZOUT[11] MZOUT[10] MZOUT[9] MZOUT[8] b3 b2 b1 b0 MZOUT[7] MZOUT[6] MZOUT[5] MZOUT[4] b7 b6 b5 b4 b3 b2 b1 b0 - - - - MZOUT[3] MZOUT[2] MZOUT[1] MZOUT[0] Rejestr zawiera wartość natężenia pola magnetycznego w osi Z. Od odczytanej wartości z rejestru MZOUT należy odjąć wartość 2048 w celu uzyskania poprawnej wartości 1055 count/gauss. 0x66 – Course Value (CV): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 CV[8] CV[7] CV[6] CV[5] CV[4] CV[3] CV[2] CV[1] b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - CV[0] Rejestr zawiera wartość kąta jaki jest zawarty między liniami pola magnetycznego ziemi, a osą X czujnika. Wartość kąta obliczana jest na podstawie danych z magnetometru oraz akcelerometru, co pozwala na poprawne obliczanie wartość kąta w sytuacja gdy czujnik nie jest położony poziomo. Od odczytanej wartości z rejestru CV należy odjąć wartość 180 w celu uzyskania poprawnej ©2010 RoboFACTORY 17/19 LEGO Akcelerometr wartości w stopniach. Wartość minimalna -179, wartość maksymalna 180. Jeśli zapalona jest flaga ADF, wartość rejestru może być nie prawidłowa. Wtedy można posłużyć się rejestrem RCV, ale należy pamiętać, że czujnik musi być w pozycji poziomej. 0x68 – Raw Course Value (RCV): Bajt 0 Funkcja Bajt 1 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 RCV[8] RCV[7] RCV[6] RCV[5] RCV[4] RCV[3] RCV[2] RCV[1] b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - RCV[0] Rejestr zawiera wartość kąta jaki jest zawarty między liniami pola magnetycznego ziemi, a osą X czujnika. Wartość kąta obliczana jest wyłącznie na podstawie danych z magnetometru, dlatego aby wskazania były prawidłowe czujnik musi być w pozycji poziomej. Od odczytanej wartości z rejestru RCV należy odjąć wartość 180 w celu uzyskania poprawnej wartości w stopniach. Wartość minimalna -179, wartość maksymalna 180. ©2010 RoboFACTORY 18/19 LEGO Akcelerometr 0x70 – Sensor Calibration Command (SCC): Bajt 0 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - - Zapis do rejestru wartości większej od 0 powoduje wykonanie komendy kalibracji czujnika. Na czas kalibracji zapalana jest flaga BUSY. Podczas kalibracji należy obrócić czujnik w osi Z dwa razy i następnie w osi X również dwa razy. 0x71 – Sensor SET/RESET Command (SSRC): Bajt 0 Funkcja b7 b6 b5 b4 b3 b2 b1 b0 - - - - - - - - Zapis do rejestru wartości większej od 0 powoduje wykonanie komendy rozmagnesowania czujnika. Na czas wykonywania rozkazu (100ms) zapalana jest flaga BUSY. ©2010 RoboFACTORY 19/19