<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Intermediate Lessons &#8211; ESPcopter</title>
	<atom:link href="https://espcopter.com/category/intermediate-lessons-en/feed/" rel="self" type="application/rss+xml" />
	<link>https://espcopter.com</link>
	<description>ESPcopter</description>
	<lastBuildDate>Tue, 27 Nov 2018 20:33:40 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>https://espcopter.com/wp-content/uploads/2016/09/cropped-quad-1-32x32.jpg</url>
	<title>Intermediate Lessons &#8211; ESPcopter</title>
	<link>https://espcopter.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Lesson 5. VL53L0X Time-of-Flight Distance Sensor</title>
		<link>https://espcopter.com/2017/06/14/lesson-5-vl53l0x-time-of-flight-distance-sensor/</link>
					<comments>https://espcopter.com/2017/06/14/lesson-5-vl53l0x-time-of-flight-distance-sensor/#respond</comments>
		
		<dc:creator><![CDATA[metehanemlik]]></dc:creator>
		<pubDate>Wed, 14 Jun 2017 20:40:40 +0000</pubDate>
				<category><![CDATA[deneme2]]></category>
		<category><![CDATA[Intermediate Lessons]]></category>
		<guid isPermaLink="false">http://espcopter.com/?p=537</guid>

					<description><![CDATA[Dowland VL53L0X  library: https://github.com/pololu/vl53l0x-arduino]]></description>
										<content:encoded><![CDATA[<p>Dowland VL53L0X  library:</p>
<p>https://github.com/pololu/vl53l0x-arduino</p>
<div class="wpb_content_element"  >
	<div class="messagebox_text style-color-jevc-bg"><p>&nbsp;</p>
<p>/* This example shows how to get single-shot range<br />
measurements from the VL53L0X. The sensor can optionally be<br />
configured with different ranging profiles, as described in<br />
the VL53L0X API user manual, to get better performance for<br />
a certain application. This code is based on the four<br />
&#8220;SingleRanging&#8221; examples in the VL53L0X API.</p>
<p>The range readings are in units of mm. */</p>
<p>#include &lt;Wire.h&gt;<br />
#include &lt;VL53L0X.h&gt;</p>
<p>VL53L0X sensor;</p>
<p>&nbsp;</p>
<p>// Uncomment this line to use long range mode. This<br />
// increases the sensitivity of the sensor and extends its<br />
// potential range, but increases the likelihood of getting<br />
// an inaccurate reading because of reflections from objects<br />
// other than the intended target. It works best in dark<br />
// conditions.</p>
<p>//#define LONG_RANGE</p>
<p>&nbsp;</p>
<p>// Uncomment ONE of these two lines to get<br />
// &#8211; higher speed at the cost of lower accuracy OR<br />
// &#8211; higher accuracy at the cost of lower speed</p>
<p>//#define HIGH_SPEED<br />
//#define HIGH_ACCURACY</p>
<p>&nbsp;</p>
<p>void setup()<br />
{<br />
Serial.begin(9600);<br />
Wire.begin();</p>
<p>sensor.init();<br />
sensor.setTimeout(500);</p>
<p>#if defined LONG_RANGE<br />
// lower the return signal rate limit (default is 0.25 MCPS)<br />
sensor.setSignalRateLimit(0.1);<br />
// increase laser pulse periods (defaults are 14 and 10 PCLKs)<br />
sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18);<br />
sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14);<br />
#endif</p>
<p>#if defined HIGH_SPEED<br />
// reduce timing budget to 20 ms (default is about 33 ms)<br />
sensor.setMeasurementTimingBudget(20000);<br />
#elif defined HIGH_ACCURACY<br />
// increase timing budget to 200 ms<br />
sensor.setMeasurementTimingBudget(200000);<br />
#endif<br />
}</p>
<p>void loop()<br />
{<br />
Serial.print(sensor.readRangeSingleMillimeters());<br />
if (sensor.timeoutOccurred()) { Serial.print(&#8221; TIMEOUT&#8221;); }</p>
<p>Serial.println();<br />
}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
	</div>

]]></content:encoded>
					
					<wfw:commentRss>https://espcopter.com/2017/06/14/lesson-5-vl53l0x-time-of-flight-distance-sensor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lesson 3. 9250 Accelerometer and Gyroscope Sensor</title>
		<link>https://espcopter.com/2017/06/14/lesson-3-mpu6050-accelerometer-and-gyroscope-sensor/</link>
					<comments>https://espcopter.com/2017/06/14/lesson-3-mpu6050-accelerometer-and-gyroscope-sensor/#respond</comments>
		
		<dc:creator><![CDATA[metehanemlik]]></dc:creator>
		<pubDate>Wed, 14 Jun 2017 20:36:43 +0000</pubDate>
				<category><![CDATA[Intermediate Lessons]]></category>
		<guid isPermaLink="false">http://espcopter.com/?p=533</guid>

					<description><![CDATA[9250 Accelerometer and Gyroscope Sensor &#160;]]></description>
										<content:encoded><![CDATA[<h2>9250 Accelerometer and Gyroscope Sensor</h2>
<p>&nbsp;</p>
<div class="wpb_content_element"  >
	<div class="messagebox_text style-color-jevc-bg"><p>#include &lt;Wire.h&gt;</p>
<p>#define MPU9250_ADDRESS 0x68<br />
#define MAG_ADDRESS 0x0C</p>
<p>#define GYRO_FULL_SCALE_250_DPS 0x00<br />
#define GYRO_FULL_SCALE_500_DPS 0x08<br />
#define GYRO_FULL_SCALE_1000_DPS 0x10<br />
#define GYRO_FULL_SCALE_2000_DPS 0x18</p>
<p>#define ACC_FULL_SCALE_2_G 0x00<br />
#define ACC_FULL_SCALE_4_G 0x08<br />
#define ACC_FULL_SCALE_8_G 0x10<br />
#define ACC_FULL_SCALE_16_G 0x18</p>
<p>// This function read Nbytes bytes from I2C device at address Address.<br />
// Put read bytes starting at register Register in the Data array.</p>
<p>uint8_t ST1;<br />
int16_t mag_int[3] = {0};</p>
<p>void writeBIT(int addr, int data, int adrrTrans){<br />
Wire.beginTransmission(adrrTrans);<br />
Wire.write(addr);<br />
Wire.write(data);<br />
Wire.endTransmission();<br />
}<br />
void I2Cread(uint8_t Address, uint8_t Register, uint8_t Nbytes, uint8_t* Data){<br />
// Set register address<br />
Wire.beginTransmission(Address);<br />
Wire.write(Register);<br />
Wire.endTransmission();<br />
// Read Nbytes<br />
Wire.requestFrom(Address, Nbytes);<br />
uint8_t index=0;<br />
while (Wire.available())<br />
Data[index++]=Wire.read();<br />
}</p>
<p>// Initializations<br />
void setup()<br />
{<br />
// Arduino initializations<br />
Wire.begin();<br />
Serial.begin(115200);</p>
<p>Wire.setClock(400000L);<br />
// Set accelerometers low pass filter at 5Hz<br />
writeBIT(29, 0x06,MPU9250_ADDRESS);<br />
// Set gyroscope low pass filter at 5Hz<br />
writeBIT(26, 0x06,MPU9250_ADDRESS);<br />
// Configure gyroscope range<br />
writeBIT(27, GYRO_FULL_SCALE_2000_DPS,MPU9250_ADDRESS);<br />
// Configure accelerometers range<br />
writeBIT(28, ACC_FULL_SCALE_2_G,MPU9250_ADDRESS);<br />
// Set by pass mode for the magnetometers<br />
writeBIT(0x37, 0x02,MPU9250_ADDRESS);<br />
// Request continuous magnetometer measurements in 16 bits<br />
//writeBIT(0x0A, 0x16,MAG_ADDRESS);<br />
delay(200);<br />
// writeBIT(0x0A, mRes &lt;&lt; 4 | 0x06 ,MAG_ADDRESS);</p>
<p>writeBIT(0x0A, 0x00 , MAG_ADDRESS); // Power down magnetometer<br />
delay(20);<br />
writeBIT(0x0A , 0x0F, MAG_ADDRESS); // Enter Fuse ROM access mode<br />
delay(20);</p>
<p>}</p>
<p>// Main loop, read and display data<br />
void loop()<br />
{<br />
// ____________________________________<br />
// ::: accelerometer and gyroscope :::</p>
<p>// Read accelerometer and gyroscope<br />
uint8_t Buf[14];<br />
int16_t accel[3] = {0}, gyro_int[3] = {0}, MEAN_GYRO[3] = {0};;</p>
<p>I2Cread(MPU9250_ADDRESS,0x3B,14,Buf);</p>
<p>accel[0]=(Buf[0]&lt;&lt;8 | Buf[1]);<br />
accel[1]=(Buf[2]&lt;&lt;8 | Buf[3]);<br />
accel[2]=Buf[4]&lt;&lt;8 | Buf[5];</p>
<p>// Gyroscope<br />
gyro_int[0]=(Buf[8]&lt;&lt;8 | Buf[9]);<br />
gyro_int[1]=(Buf[10]&lt;&lt;8 | Buf[11]) ;<br />
gyro_int[2]=Buf[12]&lt;&lt;8 | Buf[13] ;</p>
<p>// Display values</p>
<p>// Accelerometer<br />
Serial.print (accel[0],DEC);<br />
Serial.print (&#8220;\t&#8221;);<br />
Serial.print (accel[1],DEC);<br />
Serial.print (&#8220;\t&#8221;);<br />
Serial.print (accel[2],DEC);<br />
Serial.print (&#8220;\t&#8221;);</p>
<p>// Gyroscope<br />
Serial.print (gyro_int[0],DEC);<br />
Serial.print (&#8220;\t&#8221;);<br />
Serial.print (gyro_int[1],DEC);<br />
Serial.print (&#8220;\t&#8221;);<br />
Serial.print (gyro_int[2],DEC);<br />
Serial.println (&#8220;\t&#8221;);</p>
<p>}</p>
</div>
	</div>

]]></content:encoded>
					
					<wfw:commentRss>https://espcopter.com/2017/06/14/lesson-3-mpu6050-accelerometer-and-gyroscope-sensor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
