
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.robotika.sk/robowiki/index.php?action=history&amp;feed=atom&amp;title=Arduino_-_Code</id>
		<title>Arduino - Code - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.robotika.sk/robowiki/index.php?action=history&amp;feed=atom&amp;title=Arduino_-_Code"/>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Arduino_-_Code&amp;action=history"/>
		<updated>2026-05-05T03:33:09Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.robotika.sk/robowiki/index.php?title=Arduino_-_Code&amp;diff=11282&amp;oldid=prev</id>
		<title>Robot: Created page with &quot;Return back to project page:  Avalanche Cannon - Jakub Vojtek  Python code for the Arduino board:  &lt;syntaxhighlight lang=ardu...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Arduino_-_Code&amp;diff=11282&amp;oldid=prev"/>
				<updated>2024-05-22T21:50:48Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Return back to project page: &lt;a href=&quot;/robowiki/index.php?title=Spike_Prime_-_Avalanche_Cannon_-_Jakub_Vojtek&quot; title=&quot;Spike Prime - Avalanche Cannon - Jakub Vojtek&quot;&gt; Avalanche Cannon - Jakub Vojtek&lt;/a&gt;  Python code for the Arduino board:  &amp;lt;syntaxhighlight lang=ardu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Return back to project page: [[Spike Prime - Avalanche Cannon - Jakub Vojtek| Avalanche Cannon - Jakub Vojtek]]&lt;br /&gt;
&lt;br /&gt;
Python code for the Arduino board:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arduino&amp;gt;&lt;br /&gt;
#include &amp;quot;I2Cdev.h&amp;quot;&lt;br /&gt;
#include &amp;quot;MPU6050_6Axis_MotionApps20.h&amp;quot;&lt;br /&gt;
#include &amp;quot;MPU6050.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
MPU6050 mpu;&lt;br /&gt;
&lt;br /&gt;
#define INTERRUPT_PIN 2&lt;br /&gt;
#define LED_PIN 13&lt;br /&gt;
bool blinkState = false;&lt;br /&gt;
&lt;br /&gt;
volatile bool mpuInterrupt = false;&lt;br /&gt;
&lt;br /&gt;
void dmpDataReady() {&lt;br /&gt;
    mpuInterrupt = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
    Wire.begin();&lt;br /&gt;
    Wire.setClock(400000);&lt;br /&gt;
    Serial.begin(115200);&lt;br /&gt;
    while (!Serial);&lt;br /&gt;
&lt;br /&gt;
    mpu.initialize();&lt;br /&gt;
    pinMode(INTERRUPT_PIN, INPUT);&lt;br /&gt;
    uint8_t devStatus = mpu.dmpInitialize();&lt;br /&gt;
&lt;br /&gt;
    mpu.setXGyroOffset(220);&lt;br /&gt;
    mpu.setYGyroOffset(76);&lt;br /&gt;
    mpu.setZGyroOffset(-85);&lt;br /&gt;
    mpu.setZAccelOffset(1788);&lt;br /&gt;
&lt;br /&gt;
    if (devStatus == 0) {&lt;br /&gt;
        mpu.CalibrateAccel(6);&lt;br /&gt;
        mpu.CalibrateGyro(6);&lt;br /&gt;
        mpu.setDMPEnabled(true);&lt;br /&gt;
&lt;br /&gt;
        attachInterrupt(digitalPinToInterrupt(INTERRUPT_PIN), dmpDataReady, RISING);&lt;br /&gt;
        uint8_t mpuIntStatus = mpu.getIntStatus();&lt;br /&gt;
        bool dmpReady = true;&lt;br /&gt;
        uint16_t packetSize = mpu.dmpGetFIFOPacketSize();&lt;br /&gt;
    } else {&lt;br /&gt;
        Serial.print(F(&amp;quot;DMP Initialization failed (code &amp;quot;));&lt;br /&gt;
        Serial.print(devStatus);&lt;br /&gt;
        Serial.println(F(&amp;quot;)&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    bool dmpReady = true;&lt;br /&gt;
    uint8_t fifoBuffer[64];&lt;br /&gt;
    if (!dmpReady) return;&lt;br /&gt;
    if (mpu.dmpGetCurrentFIFOPacket(fifoBuffer)) {&lt;br /&gt;
        Quaternion q;&lt;br /&gt;
        VectorFloat gravity;&lt;br /&gt;
        float ypr[3];&lt;br /&gt;
        mpu.dmpGetQuaternion(&amp;amp;q, fifoBuffer);&lt;br /&gt;
        mpu.dmpGetGravity(&amp;amp;gravity, &amp;amp;q);&lt;br /&gt;
        mpu.dmpGetYawPitchRoll(ypr, &amp;amp;q, &amp;amp;gravity);&lt;br /&gt;
        Serial.println(ypr[1] * 180/M_PI); // Send only yaw data over serial&lt;br /&gt;
        delay(1000);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robot</name></author>	</entry>

	</feed>