<?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>sensor Archives - Artificial Intelligence</title>
	<atom:link href="https://www.aiuniverse.xyz/tag/sensor/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.aiuniverse.xyz/tag/sensor/</link>
	<description>Exploring the universe of Intelligence</description>
	<lastBuildDate>Wed, 24 Mar 2021 06:37:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>The First Digital Gas Sensor with Artificial Intelligence</title>
		<link>https://www.aiuniverse.xyz/the-first-digital-gas-sensor-with-artificial-intelligence/</link>
					<comments>https://www.aiuniverse.xyz/the-first-digital-gas-sensor-with-artificial-intelligence/#respond</comments>
		
		<dc:creator><![CDATA[aiuniverse]]></dc:creator>
		<pubDate>Wed, 24 Mar 2021 06:37:25 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[Gas]]></category>
		<category><![CDATA[sensor]]></category>
		<guid isPermaLink="false">http://www.aiuniverse.xyz/?p=13759</guid>

					<description><![CDATA[<p>Source &#8211; https://www.azosensors.com/ BOSCH Sensortec has released the first gas sensor with artificial intelligence. The BME688 is an innovative four-in-one air quality measurement solution that combines gas, <a class="read-more-link" href="https://www.aiuniverse.xyz/the-first-digital-gas-sensor-with-artificial-intelligence/">Read More</a></p>
<p>The post <a href="https://www.aiuniverse.xyz/the-first-digital-gas-sensor-with-artificial-intelligence/">The First Digital Gas Sensor with Artificial Intelligence</a> appeared first on <a href="https://www.aiuniverse.xyz">Artificial Intelligence</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Source &#8211; https://www.azosensors.com/</p>



<p><strong>BOSCH Sensortec has released the first gas sensor with artificial intelligence. The BME688 is an innovative four-in-one air quality measurement solution that combines gas, humidity, temperature, and barometric pressure sensing with artificial intelligence.</strong></p>



<p>The BME688 is a MEMS gas sensor with artificial intelligence, integrated high-linearity, and high accuracy pressure, temperature, and humidity sensors. It has been specially designed for applications where small size and low power consumption are essential. Therefore, the gas sensor is a compact 3.0 x 3.0 x 0.9 mm³ package.</p>



<p>The gas sensor can detect most volatile compounds and many other gases which pollute indoor air. It also features a gas scanner function that enables the customization of the sensor&#8217;s sensitivity, selectivity, data rate, and power consumption.</p>



<p>Artificial intelligence is commonly known as being used in large system applications, such as autonomous vehicles and building management. With this new development, BOSCH has incorporated artificial intelligence into a compact system which opens it up to many more applications.</p>



<p>The BME688 has been designed for the BME AI-studio tool. This machine-learning system allows users to train the gas scanner for their specific application.</p>



<p>BOSCH Sensortec develops and markets MEMS sensors and solutions for various applications, including smart devices, AR/VR devices, drones, and robots. The first gas sensor with artificial intelligence is a unique and innovative product to add to its portfolio.</p>



<h2 class="wp-block-heading">An In-depth Look at the BME688</h2>



<p>The BME688 has a broad sensitivity and can accurately measure gases, humidity, temperature, and barometric pressure.</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Operation range (full accuracy)</strong></td><td>&nbsp;</td></tr><tr><td>Pressure/hPa</td><td>300-1100</td></tr><tr><td>Humidity/%</td><td>0-100</td></tr><tr><td>Temperature/°C</td><td>−40-85</td></tr></tbody></table></figure>



<p>The gas sensor can detect Volatile Organic Compounds (VOCs), Volatile Sulfur Compounds (VSCs), and other gases such as carbon monoxide and hydrogen. The signal intensity typically scales with the chemical reactivity of the gas.</p>



<p>While other gas sensors are selective for a single specific component, the BME688 can measure the sums of contaminants in the air, giving a more accurate picture of the surroundings.</p>



<p>At room temperature, the temperature sensor has an absolute accuracy of ±0.5 °C. It can be used for temperature compensation of the gas, humidity, and pressure sensors, as well as estimating ambient temperature.&nbsp;</p>



<p>The pressure sensor has exceptionally high accuracy and very low noise resolution, with a sensitivity error of ±0.25%. The humidity sensor is also highly accurate, with an accuracy tolerance of ±3%, and has a fast response time of eight seconds.</p>



<p>The BME668 supports an array of operating modes, making it easy to optimize for different uses. Various power modes add to the product&#8217;s customization further as each one is designed with a specific application in mind.</p>



<p>BOSCH Sensortec’s proven BME680 model progression, the BME688 gas sensor, has been updated to offer an extended measurement range along with innovative artificial intelligence features. Both models are in a compact package made up of an 8-pin Land Grid Array (LGA) with metal.</p>



<p>Being the first gas sensor with artificial intelligence, the BME688 is a novel product that is ideal for developing new applications. Not only can it collect data on the concentration of gases, but artificial intelligence also allows for the determination of possible causes based on programs users can build in the BME AI-studio.</p>



<p>BME AI-studio makes the product&#8217;s customization easily accessible, as the system does not require data scientists or specialists. It can be programmed by specifying the recognition outcomes for each sample of sensor data collected. This makes the BME688 optimal for the rapid development of custom solutions for specific cases and applications.</p>
<p>The post <a href="https://www.aiuniverse.xyz/the-first-digital-gas-sensor-with-artificial-intelligence/">The First Digital Gas Sensor with Artificial Intelligence</a> appeared first on <a href="https://www.aiuniverse.xyz">Artificial Intelligence</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aiuniverse.xyz/the-first-digital-gas-sensor-with-artificial-intelligence/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Building a sonar sensor array with Arduino and Python</title>
		<link>https://www.aiuniverse.xyz/building-a-sonar-sensor-array-with-arduino-and-python/</link>
					<comments>https://www.aiuniverse.xyz/building-a-sonar-sensor-array-with-arduino-and-python/#respond</comments>
		
		<dc:creator><![CDATA[aiuniverse]]></dc:creator>
		<pubDate>Sat, 20 Feb 2021 06:10:42 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[Building]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[sonar]]></category>
		<guid isPermaLink="false">http://www.aiuniverse.xyz/?p=12975</guid>

					<description><![CDATA[<p>Source &#8211; https://towardsdatascience.com/ Estimate distance and position of solid objects using multiple low-cost ultrasound sensors. In this article we are going to build from scratch a sonar <a class="read-more-link" href="https://www.aiuniverse.xyz/building-a-sonar-sensor-array-with-arduino-and-python/">Read More</a></p>
<p>The post <a href="https://www.aiuniverse.xyz/building-a-sonar-sensor-array-with-arduino-and-python/">Building a sonar sensor array with Arduino and Python</a> appeared first on <a href="https://www.aiuniverse.xyz">Artificial Intelligence</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Source &#8211; https://towardsdatascience.com/</p>



<p>Estimate distance and position of solid objects using multiple low-cost ultrasound sensors.</p>



<p id="1abc">In this article we are going to build from scratch a sonar array based on the cheap and popular HC-SR04 sensor. We will use an Arduino microcontroller to drive and read the sensors and to communicate to a host computer using serial communication. Here is the working code for the full project however I recommend you to follow the steps in the article to understand how it works and to customize it for your needs.</p>



<p id="8dfb">The HC-SR04 is a very popular ultrasound sensor usually used in hobby electronics to build cheap distance sensors for obstacle avoidance or object detection. It has an ultrasound transmitter and receptor used to measure the time-of-flight of an ultrasonic wave signal bouncing against a solid object.</p>



<p id="af16">If the speed of sound is roughly 343 m/s at a room temperature of 20 celsius degrees. The distance to an object would the half of the time it takes the ultrasound wave from the transmitter to the receptor:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>distance = 343 / ( time/2 )</p></blockquote>



<p id="9d4a">However the HC-SR04 sensor is very inaccurate and will give you a very rough and noisy distance estimate. There are environmental factors like temperature and humidity that will affect the ultrasonic wave speed and the solid object material and angle of incidence will as well deteriorate the distance estimation. There are ways to improve the raw readings as we will learn later but in general terms ultrasound sensors should be used only as the last resort to avoid a close collision or to detect a solid object with a low distance resolution. But they are not good navigational or distance estimation sensors. For that we could use more expensive sensors as LiDar or a laser rangefinder.</p>



<p id="6e09">I want to use this sonar array to detect nearby obstacles in front of my Raspberry Pi robot Rover4Wd (this project will be covered in another article). The sensor’s effective angle of detection is around 15 degrees so in order to cover a bigger area in front of the robot I want to use 5 sensors in total using an arc shape:</p>



<p id="8083">The benefit of this setup is that we can not only estimate the distance of the obstacle in front of the robot but also the position (roughly) of the object relative to the robot.</p>



<p id="c6e1">The HC-SR04 sensor has only four pins. Two for ground and +5v, and&nbsp;<strong><em>Echo</em></strong>&nbsp;and&nbsp;<strong><em>Trigger</em></strong>&nbsp;pins. To use the sensor we need to trigger the signal using the&nbsp;<strong><em>Trigger</em></strong>&nbsp;pin and measure the time until is received via the&nbsp;<strong><em>Echo</em></strong>&nbsp;pin. As we don’t use the Echo and Trigger pins at the same time they can share the same cable to connect to an Arduino digital pin.</p>



<p id="d56d">For this project we are going to use an Arduino Nano which is small and broadly available. There are tons of non-official compatible clones for under $3 per unit as well.</p>



<p id="5ea9">For this breadboard setup we have connected both&nbsp;<strong><em>Trig</em></strong>&nbsp;and&nbsp;<strong><em>Echo&nbsp;</em></strong>pins to a single digital pin in Arduino. We are going to use D12, D11, D10, D9 and D8 pins for sending and receiving signals. This hardware setup is only limited by the microcontroller’s available digital pins but it can be expanded further using multiplexing where one pin can be shared by multiple sensors but only one sensor at the time.</p>



<p id="3a81">Traditionally this will be the sequential workflow we would need to manage to poll sensors one by one:</p>



<ol class="wp-block-list"><li>Trigger one sensor</li><li>Receive the echo</li><li>Calculate distance using the duration of the previous steps</li><li>Communicate measurement using the serial port</li><li>Process next sensor</li></ol>



<p id="70a7">However we are going to use a ready available Arduino library called NewPing that allows you to ping multiple sensors minimizing the delay between sensors. This will help us to measure the distance from all 5 sensors several times per second at the same time (almost). The resulting workflow would look like this:</p>



<ol class="wp-block-list"><li>Trigger and echo all sensors async (but sequentially)</li><li>When a sensor is done calculate distance</li><li>When all sensors are done for the current cycle, communicate readings from all sensors using the serial port</li><li>Start a new sensor reading cycle</li></ol>



<p id="1ba4">The implementation is very straightforward and heavily commented in the code. Feel free to take a look at the full code.</p>



<p></p>



<p>I want to put special focus on the serial communication part when all the sensors are done with the distance measurement:</p>



<p id="5aa9">Originally I wanted to send sensor readings via serial using strings however I realized the message will be big and harder to parse on the host side of the project. In order to improve speed and lower delay in the readings I decided to switch to a simple format using a message of 5 bytes:</p>



<p id="caa6"><strong>Byte 1:</strong>&nbsp;Character ‘Y’<br><strong>Byte 2:</strong>&nbsp;Character ‘Y’<br><strong>Byte 3:</strong>&nbsp;Sensor index [0–255]<br><strong>Byte 4:</strong>&nbsp;High-order byte of the measured distance (as an unsigned integer)<br><strong>Byte 5:</strong>&nbsp;Low-order byte of the measured distance (as an unsigned integer)</p>



<p id="e421">Byte 1 and 2 will be just the message header to decide where a new message starts when we will be reading the incoming serial bytes. This approach is very similar to what the TF-Luna LiDar sensor is doing to communicate to the host computer.</p>



<p id="eef6">In the host side we will use Python 3 to connect to the Arduino micro-controller via serial port and read the incoming bytes as fast as we can. The ideal setup will be to use a UART port in the host computer but just serial USB will do the job. The full code of the Python script is here.</p>



<p id="bfe5">There are several interesting things to note, first we need to read the serial on a different thread so we won’t miss any incoming messages while we are processing the sensor reading or doing different stuff:</p>



<p id="bef5">Secondly, we need to find the start of the message with the header ‘YY’ to start reading the sensors. As the Arduino controller doesn’t wait a host to connect to the serial port we may connect and read a partial message that will be discarded. It may take and additional second or two to get in sync with the micro-controller messages.</p>



<p id="ee21">Thirdly, we are smoothing the measurements with a simple moving average to avoid some noise. In this case we are just using a window of two measurements because we need the distance to be updated very fast to avoid hitting a close obstacle with the robot Rover4WD. But you can adjust it to a bigger window depending on you requirements. Bigger window cleaner but slow changing, smaller window noisier but fast changing.</p>



<p id="d91a">What are the next steps? This project is ready to be integrated in a robotic/electronic project. In my case I’m using a Ubuntu 20.10 with ROS2 in a Raspberry Pi 4 to control my robot Rover4WD. The next step for me would be to build a ROS package to process the measurements into detected obstacles and to publish&nbsp;<em>transform</em>&nbsp;messages that will be incorporated into the bigger navigation framework using sensor fusion.</p>



<p id="04fb">As always let me know if you have any question or comment to improve the quality of this article. Thank you and keep enjoying your projects!</p>
<p>The post <a href="https://www.aiuniverse.xyz/building-a-sonar-sensor-array-with-arduino-and-python/">Building a sonar sensor array with Arduino and Python</a> appeared first on <a href="https://www.aiuniverse.xyz">Artificial Intelligence</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aiuniverse.xyz/building-a-sonar-sensor-array-with-arduino-and-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
