<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>https://3dliga.robotika.sk/wiki/index.php?action=history&amp;feed=atom&amp;title=Gyroskop_BNO055_-_manual</id>
	<title>Gyroskop BNO055 - manual - História úprav</title>
	<link rel="self" type="application/atom+xml" href="https://3dliga.robotika.sk/wiki/index.php?action=history&amp;feed=atom&amp;title=Gyroskop_BNO055_-_manual"/>
	<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Gyroskop_BNO055_-_manual&amp;action=history"/>
	<updated>2026-08-04T22:01:32Z</updated>
	<subtitle>História úprav pre túto stránku na wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Gyroskop_BNO055_-_manual&amp;diff=260&amp;oldid=prev</id>
		<title>Sebastian: Vytvorená stránka „=== Gyroskop BNO055 ===  Doteraz sme jazdili rovno bez toho, aby samotné autíčko vedelo, že ide rovno. Na to nám pomôže &#039;&#039;&#039;gyroskop&#039;&#039;&#039; – senzor ktorý zaznamenáva otáčanie v troch osiach: X, Y a Z. My budeme zatiaľ využívať os &#039;&#039;&#039;Z&#039;&#039;&#039;, ktorá zaznamenáva otáčanie doprava a doľava.  Na rozdiel od predchádzajúcich senzorov, gyroskop musíme pred použitím &#039;&#039;&#039;skalibrovať&#039;&#039;&#039; – teda nechať ho chvíľu v pokoji, aby si zaznamenal svoju počiato…“</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Gyroskop_BNO055_-_manual&amp;diff=260&amp;oldid=prev"/>
		<updated>2026-07-26T14:48:12Z</updated>

		<summary type="html">&lt;p&gt;Vytvorená stránka „=== Gyroskop BNO055 ===  Doteraz sme jazdili rovno bez toho, aby samotné autíčko vedelo, že ide rovno. Na to nám pomôže &amp;#039;&amp;#039;&amp;#039;gyroskop&amp;#039;&amp;#039;&amp;#039; – senzor ktorý zaznamenáva otáčanie v troch osiach: X, Y a Z. My budeme zatiaľ využívať os &amp;#039;&amp;#039;&amp;#039;Z&amp;#039;&amp;#039;&amp;#039;, ktorá zaznamenáva otáčanie doprava a doľava.  Na rozdiel od predchádzajúcich senzorov, gyroskop musíme pred použitím &amp;#039;&amp;#039;&amp;#039;skalibrovať&amp;#039;&amp;#039;&amp;#039; – teda nechať ho chvíľu v pokoji, aby si zaznamenal svoju počiato…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Gyroskop BNO055 ===&lt;br /&gt;
&lt;br /&gt;
Doteraz sme jazdili rovno bez toho, aby samotné autíčko vedelo, že ide rovno. Na to nám pomôže &amp;#039;&amp;#039;&amp;#039;gyroskop&amp;#039;&amp;#039;&amp;#039; – senzor ktorý zaznamenáva otáčanie v troch osiach: X, Y a Z. My budeme zatiaľ využívať os &amp;#039;&amp;#039;&amp;#039;Z&amp;#039;&amp;#039;&amp;#039;, ktorá zaznamenáva otáčanie doprava a doľava.&lt;br /&gt;
&lt;br /&gt;
Na rozdiel od predchádzajúcich senzorov, gyroskop musíme pred použitím &amp;#039;&amp;#039;&amp;#039;skalibrovať&amp;#039;&amp;#039;&amp;#039; – teda nechať ho chvíľu v pokoji, aby si zaznamenal svoju počiatočnú polohu.&lt;br /&gt;
&lt;br /&gt;
[[Image:BNO055.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Zapojenie &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Senzor komunikuje cez zbernicu [[ I2C protokol | &amp;#039;&amp;#039;&amp;#039;I2C&amp;#039;&amp;#039;&amp;#039; ]] – rovnako ako VL53L0X:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pin senzora !! Pin na RP2350-Zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;VCC&amp;#039;&amp;#039;&amp;#039; || 3.3V&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;GND&amp;#039;&amp;#039;&amp;#039; || GND&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;SDA&amp;#039;&amp;#039;&amp;#039; || GP4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;SCL&amp;#039;&amp;#039;&amp;#039; || GP5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Kód &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#CCFFCC&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vyskúšaj toto:&amp;#039;&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; Skopíruj a spusti nasledujúci program. Otvor sériový monitor (115200 baud) a otáčaj senzorom v rôznych smeroch. Sleduj ako sa menia hodnoty osí X, Y, Z.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--{{Note|Pred spustením skontroluj či tvoj modul BNO055 má pin označený &amp;#039;&amp;#039;&amp;#039;VIN&amp;#039;&amp;#039;&amp;#039; (5V tolerantný) alebo &amp;#039;&amp;#039;&amp;#039;VCC&amp;#039;&amp;#039;&amp;#039; (3.3V only). Ak má iba VCC, pripoj ho na &amp;#039;&amp;#039;&amp;#039;3.3V&amp;#039;&amp;#039;&amp;#039; – priame napojenie na 5V môže senzor poškodiť!}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_Sensor.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_BNO055.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adafruit_BNO055 bno;&lt;br /&gt;
bool active = false;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Wire.setSDA(4);&lt;br /&gt;
  Wire.setSCL(5);&lt;br /&gt;
  Wire.begin();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
&lt;br /&gt;
  // Hľadáme senzor na I2C zbernici&lt;br /&gt;
  Serial.println(&amp;quot;Hľadám I2C zariadenia...&amp;quot;);&lt;br /&gt;
  int adresa = 0;&lt;br /&gt;
  for (byte addr = 1; addr &amp;lt; 127; addr++) {&lt;br /&gt;
    Wire.beginTransmission(addr);&lt;br /&gt;
    if (Wire.endTransmission() == 0) {&lt;br /&gt;
      Serial.print(&amp;quot;Nájdené zariadenie na adrese: 0x&amp;quot;);&lt;br /&gt;
      Serial.println(addr, HEX);&lt;br /&gt;
      adresa = addr;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (adresa &amp;gt; 0) {&lt;br /&gt;
    bno = Adafruit_BNO055(55, adresa, &amp;amp;Wire);&lt;br /&gt;
    if (bno.begin()) {&lt;br /&gt;
      active = true;&lt;br /&gt;
      Serial.println(&amp;quot;BNO055 OK – čakám na kalibráciu...&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
      Serial.println(&amp;quot;BNO055 begin() zlyhalo&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;Žiadny senzor nenájdený!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  if (!active) {&lt;br /&gt;
    Serial.println(&amp;quot;Senzor nie je pripravený&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Kontrola kalibrácie – hodnoty 0-3, kde 3 = plne kalibrované&lt;br /&gt;
  uint8_t system, gyro, accel, mag;&lt;br /&gt;
  bno.getCalibration(&amp;amp;system, &amp;amp;gyro, &amp;amp;accel, &amp;amp;mag);&lt;br /&gt;
&lt;br /&gt;
  if (system &amp;lt; 1) {&lt;br /&gt;
    Serial.println(&amp;quot;Kalibrujem – pohni senzorom...&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  imu::Vector&amp;lt;3&amp;gt; euler = bno.getVector(Adafruit_BNO055::VECTOR_EULER);&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;); Serial.print(euler.x());&lt;br /&gt;
  Serial.print(&amp;quot;  Y: &amp;quot;); Serial.print(euler.y());&lt;br /&gt;
  Serial.print(&amp;quot;  Z: &amp;quot;); Serial.println(euler.z());&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Program čaká kým nie je senzor aspoň čiastočne kalibrovaný (&amp;lt;code&amp;gt;system &amp;gt;= 1&amp;lt;/code&amp;gt;) pred tým ako začne vypisovať hodnoty. Ak vidíš stále &amp;quot;Kalibrujem&amp;quot;, pomaly otáčaj senzorom vo všetkých smeroch – kalibrácia by mala prísť do niekoľkých sekúnd.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Novinka !! Vysvetlenie&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Adafruit_BNO055&amp;lt;/code&amp;gt; || Objekt reprezentujúci senzor – cez neho voláme všetky funkcie knižnice&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bno.begin()&amp;lt;/code&amp;gt; || Inicializuje senzor – ak vráti &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, senzor nie je správne zapojený&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bno.getVector(VECTOR_EULER)&amp;lt;/code&amp;gt; || Vráti aktuálnu rotáciu vo forme troch uhlov (Eulerove uhly) v stupňoch&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;euler.x()&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;.y()&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;.z()&amp;lt;/code&amp;gt; || Jednotlivé osi rotácie – os Z sleduje otáčanie doprava/doľava&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;imu::Vector&amp;lt;3&amp;gt;&amp;lt;/code&amp;gt; || Dátový typ pre trojrozmerný vektor – obsahuje tri hodnoty naraz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Čo sme sa naučili?&lt;br /&gt;
* Gyroskop BNO055 meria rotáciu v troch osiach – os Z sleduje otáčanie doprava/doľava.&lt;br /&gt;
* Eulerove uhly vyjadrujú orientáciu objektu v priestore pomocou troch čísel.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
</feed>