<?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>ESP32 | Learn with Edwin Robotics</title>
	<atom:link href="https://learn.edwinrobotics.com/category/esp32/feed/" rel="self" type="application/rss+xml" />
	<link>https://learn.edwinrobotics.com</link>
	<description>Tutorials on basics of electronics, etc.</description>
	<lastBuildDate>Thu, 08 Feb 2018 08:46:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>Introduction to Ardublockly using Medusa &#8211; Reading a digital sensor</title>
		<link>https://learn.edwinrobotics.com/introduction-to-ardublockly-using-medusa-reading-a-digital-sensor/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=introduction-to-ardublockly-using-medusa-reading-a-digital-sensor</link>
					<comments>https://learn.edwinrobotics.com/introduction-to-ardublockly-using-medusa-reading-a-digital-sensor/#respond</comments>
		
		<dc:creator><![CDATA[Rashmi Menon]]></dc:creator>
		<pubDate>Fri, 02 Feb 2018 13:43:28 +0000</pubDate>
				<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Medusa]]></category>
		<guid isPermaLink="false">http://learn.edwinrobotics.com/?p=2625</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et-l et-l--post">
			<div class="et_builder_inner_content et_pb_gutters3">
		<div class="et_pb_section et_pb_section_0 et_section_regular et_section_transparent" >
				
				
				
				
					<div class="et_pb_row et_pb_row_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>In project 2 we will learn utilization of digital sensors. In order to achieve this, we have to familiarize with the read pin block. The read digital pin facilitates the action of choosing the digital pin which acts as an input and reading its state.</p>
<p>Essential for this project we will require the following items.</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_1">
				<div class="et_pb_column et_pb_column_1_3 et_pb_column_1  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_0">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/esp32.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/esp32.jpg 3709w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-140x94.jpg 140w" sizes="(max-width: 3709px) 100vw, 3709px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_1  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/medusa/1181-medusa-head-for-sparkfun-esp32-thing-esp32-included.html" target="_blank" rel="noopener">Medusa Head for SparkFun ESP32</a></p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_1">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/button2.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/button2.jpg 1437w, https://learn.edwinrobotics.com/wp-content/uploads/button2-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/button2-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/button2-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/button2-140x94.jpg 140w" sizes="(max-width: 1437px) 100vw, 1437px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_2  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/new-products/1183-medusa-push-button.html" target="_blank" rel="noopener">Medusa Push Button </a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_2  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_2">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/ISO-4.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/ISO-4.jpg 1250w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-4-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-4-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-4-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-4-140x94.jpg 140w" sizes="(max-width: 1250px) 100vw, 1250px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_3  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/modules/1214-medusa-buzzer.html" target="_blank" rel="noopener">Medusa Buzzer</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_3  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_3">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO.jpg 1500w, https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO-140x94.jpg 140w" sizes="(max-width: 1500px) 100vw, 1500px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_4  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/modules/1212-medusa-touch-sensor.html" target="_blank" rel="noopener">Medusa Touch Sensor</a></p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_4">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_5  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/new-products/1184-medusa-cable-150mm-pack-of-5.html" target="_blank" rel="noopener">SH to SH Cable </a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_6  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h2>Buzzing a Buzzer using a Digital Sensor</h2>
<p>The easiest way to get introduced to your input pins is a simple project using a touch sensor and buzzer. Every time the touch sensor senses an action of touch, the buzzer should beep.</p>
<p>In this example – pin number 25 will be set as the input pin on which the touch sensor is connected. Pin number 12 can be set as the output pin to which the buzzer is connected.</p>
<p><img fetchpriority="high" decoding="async" class="wp-image-2648" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0027-e1517470182621.jpg" alt="Medusa Head for SparkFun ESP32 connections" width="505" height="339" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0027-e1517470182621.jpg 4695w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0027-e1517470182621-300x201.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0027-e1517470182621-1024x687.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0027-e1517470182621-1080x725.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0027-e1517470182621-140x94.jpg 140w" sizes="(max-width: 505px) 100vw, 505px" /></p>
<p style="text-align: left;">If the touch sensor is in contact with the hand the controller board (in this case SparkFun ESP32 Thing mounted on a Medusa Head) should turn on the buzzer else the buzzer should remain off. So let&#8217;s write a program when the touch sensor connected to pin number 25 turns High then the Buzzer connected to pin number 12 of Medusa Head should turn on for 1 second and turn off for 1 second. To achieve this we use an IF Block and a compare block. In the compare block, we can do various comparisons between an action and its corresponding response. In this case, we will be comparing a read digital pin block and a state block.</p>
<p>   <img decoding="async" class="alignnone wp-image-2508" src="http://learn.edwinrobotics.com/wp-content/uploads/Swith-Block.png" alt="Ardublockly Touch Sensor program to control a Buzzer. " width="330" height="220" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Swith-Block.png 406w, https://learn.edwinrobotics.com/wp-content/uploads/Swith-Block-300x200.png 300w, https://learn.edwinrobotics.com/wp-content/uploads/Swith-Block-140x94.png 140w" sizes="(max-width: 330px) 100vw, 330px" /></p>
<p>The next exercise will be replacing the touch sensor with a switch. The switch has a pull-up resistor, which makes give out a low value (zero) when pressed and when in a normal state (not pressed), it gives a high value (1). The best way to check this is by using the previous program. Unlike in the case of a touch sensor, the buzzer will turn off when the switch is pressed and turn on when release. This is not quite what is expected when we consider our understanding that every time a digital sensor is not sensing, it is at a zero else at 1. The pull-up resistor makes in a high state when not sensing and low when sensing.</p>
<p>Thus, replacing a touch sensor with Switch to operate the buzzer, the following sketch can be uploaded on to the board to achieve the desired output.</p>
<p><img decoding="async" class="alignnone wp-image-2572" src="http://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-29-at-11.05.12-AM.png" alt="" width="314" height="212" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-29-at-11.05.12-AM.png 816w, https://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-29-at-11.05.12-AM-300x203.png 300w, https://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-29-at-11.05.12-AM-140x94.png 140w" sizes="(max-width: 314px) 100vw, 314px" /></p>

<table id="tablepress-34" class="tablepress tablepress-id-34">
<thead>
<tr class="row-1">
	<th class="column-1"><p align="justify">Block</p></th><th class="column-2"><p align="justify">Description</p></th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Digital-read.png" alt="" width="500" height="150" class="alignnone size-full wp-image-2588" /></td><td class="column-2"><p align="justify">The block for Digital Read automatically initializes the pin, by automatically calling the pin number in void setup and specifying its mode as input. <br />
Initializing is a crucial process in any program, and is always done under void setup. This process helps us to define to the micro microcontroller which pin we are selecting and what are we utilizing it as input or output. <br />
<br />
This block can be found under Input Output.<br />
</p></td>
</tr>
<tr class="row-3">
	<td class="column-1"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/If-Block.png" alt="" width="100" height="50" class="alignnone size-full wp-image-2585" /></td><td class="column-2"><p align="justify"> The IF DO block is a comparative block found under Logic Section, as is used to execute a conditional activity. For example, if a particular event happens then do the following actions. The block has 2 sections. The section next to If is for putting the condition, and a section under Do is for the output action.  </p></td>
</tr>
<tr class="row-4">
	<td class="column-1"><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/high-pin-.png" alt="" width="100" height="auto" class="alignnone size-full wp-image-2587" /></td><td class="column-2"><p align="justify">This block is to specify the outputs state, high or Low.  The State block can be found under the Input/Output Section</p></td>
</tr>
<tr class="row-5">
	<td class="column-1"><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Compare.png" alt="" width="100" height="auto" class="alignnone size-full wp-image-2586" /></td><td class="column-2"><p align="justify">The compare block can be found under logic . It has 2 sections to insert the statements to compare. In middle, there is a drop-down menu, with choice of more than, more than or equal to, less than, less than or equal to,  equal to options. </td>
</tr>
</tbody>
</table>
<!-- #tablepress-34 from cache -->
<p><a href="http://drive.google.com/uc?export=download&amp;id=1TWZBI5RwqaHzSQQihYNkS1wOzvs_NlQQ">Program 1 &#8211; Buzzer Control using Touch Sensor </a></p>
<p><a href="https://drive.google.com/uc?export=download&amp;id=1HK375mkcYbPiCAe5VRYtdiq-6DdPR7tv">Program 2 &#8211; Buzzer Control using Switch </a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_3">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: justify; line-height: 16.5pt;"><span style="font-family: 'Lucida Grande',sans-serif; color: #374146; letter-spacing: .4pt;">The door switch and PIR work in the same ways as the touch sensor. When not sensing their state is low and when in contact with a change they are in a high state. Now that we have covered the basic, you can try programming them. </span></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_4">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_6  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_5">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Magnetic-Door-Sensor-ISO.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Magnetic-Door-Sensor-ISO.jpg 5000w, https://learn.edwinrobotics.com/wp-content/uploads/Magnetic-Door-Sensor-ISO-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/Magnetic-Door-Sensor-ISO-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/Magnetic-Door-Sensor-ISO-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/Magnetic-Door-Sensor-ISO-140x94.jpg 140w" sizes="(max-width: 5000px) 100vw, 5000px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/magneto/632-magnetic-door-sensor-set-for-home-alarm-system.html" target="_blank" rel="noopener">Medusa Magnetic Door switch</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_2 et_pb_column_7  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_6">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/PIR-Iso-1.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/PIR-Iso-1.jpg 3152w, https://learn.edwinrobotics.com/wp-content/uploads/PIR-Iso-1-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/PIR-Iso-1-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/PIR-Iso-1-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/PIR-Iso-1-140x94.jpg 140w" sizes="(max-width: 3152px) 100vw, 3152px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_9  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/proximity-distance/385-pir-motion-sensor.html" target="_blank" rel="noopener">Medusa PIR Sensor</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_5">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_8  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_10  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h3 class="grammarly-disable-indicator"> Resources:</h3>
<ul>
<li><a href="https://bitbucket.org/edwinrobotics/medusa-head-for-sparkfun-esp32-thing" target="_blank" rel="noopener">Medusa Head for SparkFun ESP32 Thing Design Files(Bitbucket)</a></li>
<li>
<p id="markdown-header-medusa-33v-pir-motion-sensor"><a href="https://bitbucket.org/edwinrobotics/pir-module" target="_blank" rel="noopener">Medusa 3.3V PIR Motion Sensor Design Files ( Bitbucket)</a></p>
</li>
<li><a href="https://bitbucket.org/edwinrobotics/button" target="_blank" rel="noopener">Medusa Push Button Design Files (Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/buzzer" target="_blank" rel="noopener">Medusa Buzzer Design Files (Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/medusa-touch-sensor" target="_blank" rel="noopener">Medusa Touch Sensor Design Files (Bitbucket)</a></li>
</ul></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row -->
				
				
			</div> <!-- .et_pb_section -->

		</div><!-- .et_builder_inner_content -->
	</div><!-- .et-l -->
	]]></content:encoded>
					
					<wfw:commentRss>https://learn.edwinrobotics.com/introduction-to-ardublockly-using-medusa-reading-a-digital-sensor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Introduction to Ardublockly using Medusa &#8211; Blinking an LED</title>
		<link>https://learn.edwinrobotics.com/introduction-to-ardublockly-using-medusa-blinking-an-led/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=introduction-to-ardublockly-using-medusa-blinking-an-led</link>
					<comments>https://learn.edwinrobotics.com/introduction-to-ardublockly-using-medusa-blinking-an-led/#respond</comments>
		
		<dc:creator><![CDATA[Rashmi Menon]]></dc:creator>
		<pubDate>Mon, 29 Jan 2018 08:40:17 +0000</pubDate>
				<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Medusa]]></category>
		<guid isPermaLink="false">http://learn.edwinrobotics.com/?p=2547</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et-l et-l--post">
			<div class="et_builder_inner_content et_pb_gutters3">
		<div class="et_pb_section et_pb_section_1 et_section_regular et_section_transparent" >
				
				
				
				
					<div class="et_pb_row et_pb_row_6 et_pb_row_fullwidth">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_9  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_11  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>This introductory project to Medusa Line for SparkFun ESP32 Thing is focused on using the block of a set digital pin.</p>
<p>The set digital pin block does a simple function of Output Function, which allows the process of choosing which digital pin acts as your output and specifying the state of it.</p>
<p>To execute this project you will need a Medusa Head for SparkFun Esp 32 Thing along with an LED Module.</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_7 et_pb_row_fullwidth">
				<div class="et_pb_column et_pb_column_1_3 et_pb_column_10  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_7">
				
				
				<a href="https://shop.edwinrobotics.com/new-products/1242-medusa-led-module.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/LED-ISO-1.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/LED-ISO-1.jpg 4250w, https://learn.edwinrobotics.com/wp-content/uploads/LED-ISO-1-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/LED-ISO-1-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/LED-ISO-1-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/LED-ISO-1-140x94.jpg 140w" sizes="(max-width: 4250px) 100vw, 4250px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_12  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/new-products/1242-medusa-led-module.html" target="_blank" rel="noopener">Medusa LED Module</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_11  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_8">
				
				
				<a href="https://shop.edwinrobotics.com/medusa/1181-medusa-head-for-sparkfun-esp32-thing-esp32-included.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/ISO-Store.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/ISO-Store.jpg 2500w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-Store-150x150.jpg 150w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-Store-300x300.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-Store-1024x1024.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-Store-1080x1080.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-Store-184x184.jpg 184w" sizes="(max-width: 2500px) 100vw, 2500px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_13  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/medusa/1181-medusa-head-for-sparkfun-esp32-thing-esp32-included.html" target="_blank" rel="noopener">Medusa Head for SparkFun ESP32</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_12  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_9">
				
				
				<a href="https://shop.edwinrobotics.com/new-products/1184-medusa-cable-150mm-pack-of-5.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_14  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/new-products/1184-medusa-cable-150mm-pack-of-5.html" target="_blank" rel="noopener">Medusa Cables</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_8 et_pb_row_fullwidth">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_13  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_15  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h1>Prerequisites:</h1>
<p>To complete the projects you will need to install Arduino, ESP32 Arduino Core, and Ardublockly.</p>
<ol>
<li><a href="https://www.arduino.cc/en/Guide/HomePage" target="_blank" rel="noopener">Installing the Arduino IDE</a></li>
<li><a href="https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide?#installing-the-esp32-arduino-core" target="_blank" rel="noopener">Installing the ESP32 Arduino Core</a></li>
<li><a href="http://learn.edwinrobotics.com/getting-started-with-ardublockly/" target="_blank" rel="noopener">Installing Ardublockly</a></li>
</ol>
<h1>Blinking an LED</h1>
<p>Before we get into the project, we will cover basic concept of an LED. The light emitting diode is a semiconductor doped in a way as to form a p n junction, and when it conducts, it emits light.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2614" src="http://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-29-at-5.08.31-PM.png" alt="" width="88" height="297" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-29-at-5.08.31-PM.png 236w, https://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-29-at-5.08.31-PM-89x300.png 89w" sizes="auto, (max-width: 88px) 100vw, 88px" /></p>
<p>On the Medusa Led Module, there are 2 slots, one for positive and other for negative.  The positive leg i.e. longer leg goes into the positive slot and the negative leg i.e. the shorter leg, into the negative slot.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2616" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0017-e1517237141917.jpg" alt="" width="255" height="209" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0017-e1517237141917.jpg 1935w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0017-e1517237141917-300x247.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0017-e1517237141917-1024x841.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0017-e1517237141917-1080x887.jpg 1080w" sizes="auto, (max-width: 255px) 100vw, 255px" /></p>
<p>You can control the brightness by adjusting the potentiometer, which is the small circular disc, at the back of the PCB using a screwdriver.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2620" src="http://learn.edwinrobotics.com/wp-content/uploads/ledback-e1517245848843.jpg" alt="" width="256" height="186" srcset="https://learn.edwinrobotics.com/wp-content/uploads/ledback-e1517245848843.jpg 1830w, https://learn.edwinrobotics.com/wp-content/uploads/ledback-e1517245848843-300x219.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/ledback-e1517245848843-1024x747.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/ledback-e1517245848843-1080x788.jpg 1080w" sizes="auto, (max-width: 256px) 100vw, 256px" /></p>
<p>As you know on and off of LED can be considered as a digital output of High and Low. So the next question will be &#8211; <strong>How to set up a digital pin High (on) or Low (off)?</strong></p>
<p>There are <strong>2 parts</strong> to it.</p>
<ul>
<li>To<strong> choose the pin</strong> on to which you need to digital write</li>
<li>To <strong>choose the state</strong> in which you want it – High or Low</li>
</ul>
<p>The following is the <strong>Digital Write block in Ardublockly</strong>, which can be found under Input/Output :</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2486" src="http://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-24-at-11.17.23-AM.png" alt="" width="353" height="48" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-24-at-11.17.23-AM.png 518w, https://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-24-at-11.17.23-AM-300x41.png 300w, https://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-24-at-11.17.23-AM-510x70.png 510w" sizes="auto, (max-width: 353px) 100vw, 353px" /></p>
<p>It comprises of 2 blocks, and the first block helps the programmer specify the number and the second allows to decide the state if it high or low.</p>
<p>So, let&#8217;s start a project,</p>
<p>Take the led module connect it to a pin on the Medusa Head for SparkFun ESP32 thing using the Medusa Connector as shown in the photo:</p>
<p><a href="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0016.jpg" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-2567 aligncenter" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0016-e1517241825251.jpg" alt="" width="412" height="281" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0016-e1517241825251.jpg 4200w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0016-e1517241825251-300x205.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0016-e1517241825251-1024x699.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0016-e1517241825251-1080x737.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0016-e1517241825251-140x94.jpg 140w" sizes="auto, (max-width: 412px) 100vw, 412px" /><br />
</a></p>
<p>In this case, we will be using the <strong>pin number 25</strong> on the Medusa Head.</p>
<p>now let’s create a small <strong>blinking on and off of LED for 3 times</strong> for <strong>1 second</strong> each with a gap of <strong>2 seconds</strong> in between.   <strong>To achieve this duration we will use a Wait block from the Time menu.</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2488" src="http://learn.edwinrobotics.com/wp-content/uploads/LED-Blink.png" alt="" width="201" height="291" srcset="https://learn.edwinrobotics.com/wp-content/uploads/LED-Blink.png 1104w, https://learn.edwinrobotics.com/wp-content/uploads/LED-Blink-207x300.png 207w, https://learn.edwinrobotics.com/wp-content/uploads/LED-Blink-707x1024.png 707w, https://learn.edwinrobotics.com/wp-content/uploads/LED-Blink-1080x1565.png 1080w" sizes="auto, (max-width: 201px) 100vw, 201px" /></p>
<p>You can also try the following program <strong>without wait block</strong>, the <strong>on and off of LED will be too fast</strong> that you can hardly notice the difference.</p>
<p>Go ahead and upload the program on to the board.</p>
<p><strong>While uploading the program there are 2 main things steps, i.e, Under Ardublockly, in preferences Select the Arduino Board option as Spark Fun ESP32 and COM Port as USB serial</strong></p>
<p>Is the LED <strong>glowing more than 3 times</strong>? Do you think the <strong>program is repeating</strong>?</p>
<p>This is because your current program by default is in the forever loop of code. To avoid this we introduce an <strong>Arduino start block, which you will be able to find under Functions.</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2494" src="http://learn.edwinrobotics.com/wp-content/uploads/Arduino-startblock.png" alt="" width="157" height="111" /></p>
<p>As seen, <strong>the start block has 2 parts</strong> :</p>
<p><strong>Arduino Run First: </strong>Any program written into this executes only once and you will have to reset the microcontroller to execute it for another time. This part serves as the Void Setup () of C programming in which the pin gets initialized.</p>
<p><strong>Arduino Loop Forever:</strong> The program written on to this will get executed forever. This part is the void Loop in C programming.</p>
<p>Now the new set of program <strong>to avoid repetition</strong> will be as follows:</p>
<p><img loading="lazy" decoding="async" class="wp-image-2489 alignnone" src="http://learn.edwinrobotics.com/wp-content/uploads/LED-Blink-using-arduino-block.png" alt="" width="218" height="361" srcset="https://learn.edwinrobotics.com/wp-content/uploads/LED-Blink-using-arduino-block.png 576w, https://learn.edwinrobotics.com/wp-content/uploads/LED-Blink-using-arduino-block-181x300.png 181w" sizes="auto, (max-width: 218px) 100vw, 218px" /></p>
<p>One of the main features of a good program is<strong> to avoid maximum unnecessary code</strong>. This can be achieved by putting the action of turning high and low into <strong>a loop</strong>. This is achieved by using a repeat do block found under the loops category. In this block, we can select the number of times the program should<strong> run, in this case, 3 times</strong>.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2557" src="http://learn.edwinrobotics.com/wp-content/uploads/loop-1.png" alt="" width="282" height="238" srcset="https://learn.edwinrobotics.com/wp-content/uploads/loop-1.png 656w, https://learn.edwinrobotics.com/wp-content/uploads/loop-1-300x253.png 300w" sizes="auto, (max-width: 282px) 100vw, 282px" /></p>
<p>In case you want to repeat the program forever, then you put the on and off command into the loop forever part of the start block.</p>
<p><strong><img loading="lazy" decoding="async" class="alignnone wp-image-2610" src="http://learn.edwinrobotics.com/wp-content/uploads/led-for-ever.png" alt="" width="250" height="193" srcset="https://learn.edwinrobotics.com/wp-content/uploads/led-for-ever.png 580w, https://learn.edwinrobotics.com/wp-content/uploads/led-for-ever-300x232.png 300w" sizes="auto, (max-width: 250px) 100vw, 250px" /></strong></p>
<p>The following table will help you better understand the function of each block.</p>

<table id="tablepress-33" class="tablepress tablepress-id-33">
<thead>
<tr class="row-1">
	<th class="column-1">      BLOCK</th><th class="column-2">   Description </th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-24-at-11.17.23-AM.png" alt="" width="200" height="200" class="alignnone size-full wp-image-2486" /></td><td class="column-2"><p align="justify">The block for Set Digital Pin does the function of 2 syntax- <br />
<br />
1) it automatically initializes the pin, by automatically calling the pin number in void setup and specifying its mode as output. <br />
Initializing is a crucial process in any program, and is always done under void setup. This process helps us to define to the micro microcontroller which pin we are selecting and what are we utilizing it as input or output. <br />
<br />
2)  the second is to control the outputs state, high or Low. </p></td>
</tr>
<tr class="row-3">
	<td class="column-1"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Screen-Shot-2018-01-24-at-2.50.54-PM.png" alt="" width="200" height="200" class="alignnone size-full wp-image-2493" /></td><td class="column-2">Wait block corresponds to delay syntax on to which the programer writes duration in milliseconds. <p align="justify">You also have the option of Microseconds wait block under Time Menu. </p></td>
</tr>
<tr class="row-4">
	<td class="column-1"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/loops.png" alt="" width="200" height="200" class="alignnone size-full wp-image-2558" /></td><td class="column-2">This block does the function of counting how many times the program should repeat. </td>
</tr>
<tr class="row-5">
	<td class="column-1"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Arduino-startblock.png" alt="" width="200" height="200" class="alignnone size-full wp-image-2494" /></td><td class="column-2"><p align="justify">As explained earlier, this Start block in Functions helps us to define Void setup and Void loop</p></td>
</tr>
</tbody>
</table>
<!-- #tablepress-33 from cache -->
<p>Now you can practice the learning from your first project with buzzer as well as Haptic motor module.</p>
<p>Whenever you want to do projects using elements connected to main power supply we use the Relay. <strong>CAUTION:</strong><strong> While using the relay, there are high chances of getting electrocuted and may lead to Death. So be careful. </strong></p>
<p>&nbsp;</p>
<p><a href="https://drive.google.com/drive/folders/1kfEt1zS7mXCGDLn-pAQsnkdW9CuM7I9v?usp=sharing">CLICK HERE FOR PROGRAM FILES</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_9">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_14  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_16  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>Essentially after this module, you will be able to use the following module with the Medusa Head for SparkFun ESP32 Thing.</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_10 et_pb_row_fullwidth">
				<div class="et_pb_column et_pb_column_1_3 et_pb_column_15  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_10">
				
				
				<a href="https://shop.edwinrobotics.com/modules/1239-medusa-haptic-motor.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Haptic-ISO-1.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Haptic-ISO-1.jpg 2000w, https://learn.edwinrobotics.com/wp-content/uploads/Haptic-ISO-1-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/Haptic-ISO-1-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/Haptic-ISO-1-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/Haptic-ISO-1-140x94.jpg 140w" sizes="(max-width: 2000px) 100vw, 2000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_17  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/modules/1239-medusa-haptic-motor.html" target="_blank" rel="noopener">Medusa Haptic Motor</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_16  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_11">
				
				
				<a href="https://shop.edwinrobotics.com/modules/1214-medusa-buzzer.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/ISO-4.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/ISO-4.jpg 1250w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-4-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-4-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-4-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-4-140x94.jpg 140w" sizes="(max-width: 1250px) 100vw, 1250px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_18  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/modules/1214-medusa-buzzer.html" target="_blank" rel="noopener">Medusa Buzzer</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_17  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_12">
				
				
				<a href="https://shop.edwinrobotics.com/modules/1241-medusa-spdt-relay.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Relay-ISO-1.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Relay-ISO-1.jpg 2000w, https://learn.edwinrobotics.com/wp-content/uploads/Relay-ISO-1-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/Relay-ISO-1-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/Relay-ISO-1-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/Relay-ISO-1-140x94.jpg 140w" sizes="(max-width: 2000px) 100vw, 2000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_19  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;"><a href="https://shop.edwinrobotics.com/modules/1241-medusa-spdt-relay.html" target="_blank" rel="noopener">Medusa SPDT Relay</a></p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_11">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_18  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_20  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h3 class="grammarly-disable-indicator">Resources:</h3>
<ul>
<li><a href="https://bitbucket.org/edwinrobotics/medusa-head-for-sparkfun-esp32-thing" target="_blank" rel="noopener">Medusa Head for SparkFun ESP32 Thing Design Files(Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/buzzer" target="_blank" rel="noopener">Medusa Buzzer Design Files (Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/medusa-led-module" target="_blank" rel="noopener">Medusa LED Module/Laser Diode Design Files (Bitbucket)</a></li>
<li><a href="https://shop.edwinrobotics.com/modules/1239-medusa-haptic-motor.html" target="_blank" rel="noopener">Medusa Haptic Motor Design Files (Bitbucket)</a></li>
<li><a href="https://shop.edwinrobotics.com/modules/1241-medusa-spdt-relay.html" target="_blank" rel="noopener">Medusa SPDT Relay Design Files (Bitbucket)</a></li>
</ul></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row -->
				
				
			</div> <!-- .et_pb_section -->

		</div><!-- .et_builder_inner_content -->
	</div><!-- .et-l -->
	]]></content:encoded>
					
					<wfw:commentRss>https://learn.edwinrobotics.com/introduction-to-ardublockly-using-medusa-blinking-an-led/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Laser Tag</title>
		<link>https://learn.edwinrobotics.com/laser-tag/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=laser-tag</link>
		
		<dc:creator><![CDATA[Rashmi Menon]]></dc:creator>
		<pubDate>Mon, 25 Dec 2017 09:56:38 +0000</pubDate>
				<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Medusa]]></category>
		<guid isPermaLink="false">http://learn.edwinrobotics.com/?p=2340</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et-l et-l--post">
			<div class="et_builder_inner_content et_pb_gutters3">
		<div class="et_pb_section et_pb_section_2 et_section_regular et_section_transparent" >
				
				
				
				
					<div class="et_pb_row et_pb_row_12">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_19  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_21  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h2>OVERVIEW:</h2>
<p>It is a simple and Easy DIY game you can play with your friends, using dartboard with an Ambient Light Sensor in its center along with an LCD to display the score and a Laser arm to aim at the center of the Dart Board. In this game, each player will have 10 shots to aim at the Dart Board and the game is to score the maximum points with 10 chances in a duration of 1 minute. While the LCD on the Dart Board setup shows the time remaining , the LCD on the laser arm shows the number of shots left. This game is a sure test of focus, aim, and speed.</p>
<p>&nbsp;</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_13">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_20  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_13 et_animated et-waypoint">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0020.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0020.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0020-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0020-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0020-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0020-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span>
			</div>
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_2 et_pb_column_21  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_14 et_animated et-waypoint">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0048.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0048.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0048-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0048-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0048-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0048-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span>
			</div>
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_14">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_22  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_22  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h3><span style="color: #0000ff;"><strong>There are 2 parts to this project:</strong></span></h3></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_15">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_23  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_with_border et_pb_module et_pb_text et_pb_text_23  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h4><strong>Dartboard</strong></h4>
<ol>
<li>Medusa Head for SparkFun ESP 32 Thing</li>
<li>Medusa Ambient Light Sensor</li>
<li>Medusa Touch Sensor</li>
<li>Medusa Buzzer</li>
<li>Medusa I2C 16 x 2 LCD Display</li>
<li>Cardboard Cutouts and color Paper for dartboard</li>
<li>3 medusa 500mm cable and 3 Medusa 150 mm cable</li>
<li>a power bank</li>
</ol></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_16">
				<div class="et_pb_column et_pb_column_1_3 et_pb_column_24  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_15">
				
				
				<a href="https://shop.edwinrobotics.com/medusa/1181-medusa-head-for-sparkfun-esp32-thing-esp32-included.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/esp32.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/esp32.jpg 3709w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-140x94.jpg 140w" sizes="(max-width: 3709px) 100vw, 3709px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_24  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Head for SparkFun ESP 32 Thing</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_16">
				
				
				<a href="https://shop.edwinrobotics.com/modules/1212-medusa-touch-sensor.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO.jpg 1500w, https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/Touch-ISO-140x94.jpg 140w" sizes="(max-width: 1500px) 100vw, 1500px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_25  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Touch Sensor</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_25  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_17">
				
				
				<a href="https://shop.edwinrobotics.com/modules/1210-medusa-ambient-light-sensor.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/ISO-1.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/ISO-1.jpg 2000w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-1-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-1-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-1-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-1-140x94.jpg 140w" sizes="(max-width: 2000px) 100vw, 2000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_26  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Ambient Light Sensor</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_18">
				
				
				<a href="https://shop.edwinrobotics.com/new-products/1185-medusa-cable-1-meter.html?search_query=medusa+cables&#038;results=76" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/longconent.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/longconent.jpg 3758w, https://learn.edwinrobotics.com/wp-content/uploads/longconent-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/longconent-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/longconent-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/longconent-140x94.jpg 140w" sizes="(max-width: 3758px) 100vw, 3758px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_27  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Cables 500 mm</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_19">
				
				
				<a href="https://shop.edwinrobotics.com/new-products/1184-medusa-cable-150mm-pack-of-5.html?search_query=medusa+cables&#038;results=76" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_28  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Cable 150 mm</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_26  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_20">
				
				
				<a href="https://shop.edwinrobotics.com/modules/1214-medusa-buzzer.html" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/ISO-2.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/ISO-2.jpg 1250w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-2-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-2-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-2-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/ISO-2-140x94.jpg 140w" sizes="(max-width: 1250px) 100vw, 1250px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_29  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Buzzer</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_21">
				
				
				<a href="https://shop.edwinrobotics.com/medusa/1213-medusa-16-x-2-lcd-display.html?search_query=medusa+cables&#038;results=76" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1.jpg 5000w, https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1-140x94.jpg 140w" sizes="(max-width: 5000px) 100vw, 5000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_30  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa 16 x 2 LCD Display</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_17">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_27  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_with_border et_pb_module et_pb_text et_pb_text_31  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h4><strong>Laser Tag</strong> –</h4>
<p>inspired by the ironman missile arm, we have put together a simple laser arm DIY using the following components:</p>
<ol>
<li>Medusa Head for SparkFun ESP 32 Thing</li>
<li>Medusa Laser Diode</li>
<li>Medusa Push Button</li>
<li>Medusa LCD Display</li>
<li>LiPo Battery</li>
<li>Crepe Bandage to Wrap the components around</li>
</ol>
<p>&nbsp;</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_18">
				<div class="et_pb_column et_pb_column_1_3 et_pb_column_28  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_22">
				
				
				<a href="https://shop.edwinrobotics.com/medusa/1181-medusa-head-for-sparkfun-esp32-thing-esp32-included.html?search_query=medusa+cables&#038;results=76" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/esp32.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/esp32.jpg 3709w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-140x94.jpg 140w" sizes="(max-width: 3709px) 100vw, 3709px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_32  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa SparkFun ESP 32</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_23">
				
				
				<a href="https://shop.edwinrobotics.com/new-products/1183-medusa-push-button.html?search_query=medusa+cables&#038;results=76" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/button2.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/button2.jpg 1437w, https://learn.edwinrobotics.com/wp-content/uploads/button2-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/button2-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/button2-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/button2-140x94.jpg 140w" sizes="(max-width: 1437px) 100vw, 1437px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_33  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Push Button Sensor</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_29  et_pb_css_mix_blend_mode_passthrough">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_24">
				
				
				<a href="https://shop.edwinrobotics.com/medusa/1213-medusa-16-x-2-lcd-display.html?search_query=medusa+cables&#038;results=76" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1.jpg 5000w, https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/16x2-LCD-ISO-1-140x94.jpg 140w" sizes="(max-width: 5000px) 100vw, 5000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_34  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa 16 x 2 LCD Display</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_25">
				
				
				<a href="https://shop.edwinrobotics.com/modules/1211-medusa-laser-diode.html?search_query=medusa+cables&#038;results=76" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/TOP.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/TOP.jpg 2000w, https://learn.edwinrobotics.com/wp-content/uploads/TOP-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/TOP-1024x682.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/TOP-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/TOP-140x94.jpg 140w" sizes="(max-width: 2000px) 100vw, 2000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_35  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Laser Diode</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column --><div class="et_pb_column et_pb_column_1_3 et_pb_column_30  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_image et_pb_image_26">
				
				
				<a href="https://shop.edwinrobotics.com/search?controller=search&#038;orderby=position&#038;orderway=desc&#038;search_query=lithium+ion+battery&#038;submit_search=" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0046.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0046.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0046-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0046-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0046-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0046-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_36  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Lithium Polymer Battery</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_27">
				
				
				<a href="https://shop.edwinrobotics.com/new-products/1184-medusa-cable-150mm-pack-of-5.html?search_query=medusa+cables&#038;results=76" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_37  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Medusa Cable 150 mm</p></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_19">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_31  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_38 et_animated  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><pre>NOTE :  For the exact same implementation of the project you will need 2 Medusa ESP 32 Boards along with 
        2 Medusa LCD Display</pre></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_20">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_32  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_39  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h2><strong>Building Instructions</strong></h2></div>
			</div> <!-- .et_pb_text --><div class="et_pb_with_border et_pb_module et_pb_text et_pb_text_40  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h3>Dartboard</h3></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_41  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>1) When it comes to making the dartboard , the material of choice is cardboard. Cut the cardboard into the shape of your choice and cover it with colored paper or paint.</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_28">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/1.gif" alt="" title="" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_42  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">CardBoard Cutouts to Make the DartBoard</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_43  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>2) Drill a hole into the middle so you can pull out a wire (Medusa 500mm Cable) which is connected to the Medusa Ambient Sensor. Using a double-sided tape, attach the Sensor to the middle of the dart board.</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_video_slider et_pb_video_slider_0">
				
				
				<div class="et_pb_slider et_pb_preload et_pb_slider_carousel et_pb_slider_no_pagination et_pb_controls_light">
					<div class="et_pb_slides">
						<div class="et_pb_video_slider_item_0 et_pb_slide et_pb_bg_layout_dark" data-image="//i.ytimg.com/vi/iRDQE7t7oXU/hqdefault.jpg">
				<div class="et_pb_video_wrap"><div class="et_pb_video_box"><iframe loading="lazy" title="ambientlight" width="500" height="281" src="https://www.youtube.com/embed/iRDQE7t7oXU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div><div style="background-image:url(//i.ytimg.com/vi/iRDQE7t7oXU/hqdefault.jpg)" class="et_pb_video_overlay"><div class="et_pb_video_overlay_hover"><a href="#" class="et_pb_video_play"></a></div></div></div>
			</div> <!-- .et_pb_slide -->
			
					</div> <!-- .et_pb_slides -->
				</div> <!-- .et_pb_slider -->
			</div> <!-- .et_pb_video_slider -->
			<div class="et_pb_module et_pb_text et_pb_text_44  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Fixing of Ambient Light Sensor on CardBoard</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_45  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>Repeat similar steps for the <em>n</em>-number of boards you require to make the game fun. We are using 3 boards in this example.</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_46  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>3) Fix the rest of the components into the ports of choice depending on the program. Based on the example code provided, the following components are connected to the Medusa Head for SparkFun ESP 32 Thing</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_47  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="padding-left: 150px;">Medusa Ambient Light Sensors- 33, 32, 25</p>
<p style="padding-left: 150px;">Medusa Touch Sensor &#8211; 5</p>
<p style="padding-left: 150px;">Medusa Buzzer &#8211; 14</p>
<p style="padding-left: 150px;">Medusa LCD Display- I<sup>2 </sup>C</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_29">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0188.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0188.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0188-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0188-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0188-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0188-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_48  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Component Connection for DartBoard</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_49  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>4) Using double sided tape fix it on the wall. And connect a power bank to power the circuit.</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_30">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/fix.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/fix.jpg 1920w, https://learn.edwinrobotics.com/wp-content/uploads/fix-300x169.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/fix-1024x576.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/fix-1080x608.jpg 1080w" sizes="(max-width: 1920px) 100vw, 1920px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_50  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Fixing the Setup on Wall using Double Sided Tape</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_51 et_animated  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><pre>NOTE :  Total load required in this circuit setup is minimal , leading to automatic switching of 
        power bank in some cases, this can be overcome by connecting another loade like mobile phone 
        on to the power bank.</pre></div>
			</div> <!-- .et_pb_text --><div class="et_pb_with_border et_pb_module et_pb_text et_pb_text_52  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h3>Laser Arm</h3></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_53  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>1)Make the following circuit connection to the Medusa Head for SparkFun ESP 32</p>
<p>Medusa Laser Diode &#8211; 33</p>
<p>Medusa Push Button &#8211; 32</p>
<p>Medusa LCD Display- I<sup>2</sup><span style="font-size: 13.3333px;">C</span></p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_31">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0190.jpg" alt="" title="" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0190.jpg 6000w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0190-300x200.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0190-1024x683.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0190-1080x720.jpg 1080w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0190-140x94.jpg 140w" sizes="(max-width: 6000px) 100vw, 6000px" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_54  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Component Connection for Laser Arm</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_55  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>2) Power the circuit using a lipo battery</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_32">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/test.gif" alt="" title="" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_56  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Lipo Battery being placed in between the SparkFun ESP 32 board and Base Shield of Medusa Head.</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_57  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>3) Next step is to wrap the components on to hand, using a crepe band. Place the components in the required position on to your hand , with the help of double sided tape. In the demo for the blog , the Push Button was placed inside the palm , while Medusa Heas as well as LCD display on wrist , and laser diode in between the nuckles of the fingers. Then the Crepe band is bound on to it.</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_image et_pb_image_33">
				
				
				<span class="et_pb_image_wrap "><img decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0049-e1514458370480.jpg" alt="" title="" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_58  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p style="text-align: center;">Sample of a Crepe band Wrap.</p></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_59  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h2><strong>ENJOY LASER TAG GAME WITH YOUR FRIENDS !!!</strong></h2>
<p style="padding-left: 90px;"></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_21">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_33  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_60  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h3><strong>CODE</strong></h3>
<p style="padding-left: 90px;"></div>
			</div> <!-- .et_pb_text --><div class="et_pb_with_border et_pb_module et_pb_text et_pb_text_61  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>Dartboard –</p>
<p>The following code works as mentioned: To start the game, touch the Medusa Touch Sensor, which makes the buzzer give a sound indicating the start of the count to the participant. Simultaneously the LCD screen displays start and the count which spans for a minute (60 Seconds)</p>
<p>&nbsp;</p>
<p style="padding-left: 90px;"></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_62  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><pre class="EnlighterJSRAW" data-enlighter-language="cpp" data-enlighter-theme="atomic">#include &lt;Wire.h&gt;
#include &lt;Adafruit_RGBLCDShield.h&gt;
#include &lt;utility/Adafruit_MCP23017.h&gt;

//Define the pin to which the modules are connected
#define touch 5
#define S1 33
#define S2 32
#define S3 25
#define buzzer 14


#define gameTime 60 //Game duration in seconds

Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield(); //Initialize the i2c LCD module

//Threshold values for the sensors. If reading exceeds this threshold value, it is considered as point scored
int S1threshold = 256;
int S2threshold = S1threshold;
int S3threshold = S1threshold;


int score = 0; //Initialize score to zero
boolean touchReleased = true; //Determine if the user has released his finger from the touch sensor

unsigned long startTime = millis(); //Variable to keep track of the start time of the game
boolean gameStarted = false; //Variable to keep track whether the game has started or not. 

void setup() {

 
 // put your setup code here, to run once:
 //Initialize all pins
 pinMode(touch,INPUT);
 pinMode(S1,INPUT);
 pinMode(S2,INPUT);
 pinMode(S3,INPUT);
 pinMode(buzzer,OUTPUT);
 
 //Initialize the LCD
 lcd.begin(16,2);
 lcd.setBacklight(HIGH);
 lcd.print("Start");
 //Initialize the Serial for debug purposes. 
 Serial.begin(9600);
}

void loop() {
 analogRead ( S1);
 analogRead ( S2);
 analogRead ( S3);
 Serial.println (analogRead ( S1));
 Serial.println ( analogRead ( S2) );
 Serial.println ( analogRead (S3));
 
 
 // put your main code here, to run repeatedly:
 if(digitalRead(touch) &amp;&amp; !gameStarted) // Check if touch sensor is pressed and that game has not started
 {
 touchReleased = false;
 startGame();
 }
 else if(digitalRead(touch) &amp;&amp; touchReleased &amp;&amp; gameStarted) // Check if a) touch sensor is pressed b) user has released his hand from the touch sensor since game start
 // and c) whether the game has already started
 {
 touchReleased = false;
 stopGame();

 }
 else if(!digitalRead(touch)) //Check if user has released his finger from the touch sensor
 {
 touchReleased = true;
 }
 // If game has already started, a) update the display if game is not over b) if timer has exceeded stop the game. 
 if(gameStarted)
 {
 // If time has exceeded game time, stop the game
 if(((millis() - startTime)/1000)&gt;=gameTime)
 {
 stopGame();
 }
 else
 {
 //If the game is going on, update the display
 lcdUpdate();
 //Check if any of the sensors are triggered
 if ((analogRead(S1)&gt;S1threshold) || (analogRead(S2)&gt;S2threshold) || (analogRead(S3)&gt;S3threshold))
 {
 //If any of the sensors is triggered, increase the score
 score++;
 digitalWrite(buzzer,HIGH); // Turn on the buzzer
 delay(500); // Wait 1 second
 digitalWrite(buzzer,LOW); // Turn off the buzzer
 delay(250);
 
 }
 }
 }
}

//Function to be run when stopping the game
void stopGame()
{
 digitalWrite(buzzer,HIGH); // Turn on the buzzer
 delay(1000); // Wait 1 second
 digitalWrite(buzzer,LOW); // Turn off the buzzer
 lcd.clear(); // Clear the LCD
 lcd.print("Score: "); //Print the score
 lcd.print(score);
 lcd.setCursor(0,1);// Move the cursor to the Second row
 lcd.print("Time Left: 0"); 
 gameStarted = false; //Reset the game started variable
}
//Function to be run when start the game
void startGame()
{
 digitalWrite(buzzer,HIGH); // Turn on the buzzer
 delay(1000); // Wait 1 second
 digitalWrite(buzzer,LOW); // Turn off the buzzer
 score = 0; // Reset the score
 startTime = millis(); // Initialize the game start variable
 lcdUpdate(); // Update the display 
 gameStarted = true; // Set variable to determine whether game has started or not. 
}

void lcdUpdate()
{
 lcd.home(); // Move cursor
 lcd.print("Score: "); // Display score
 lcd.print(score);
 lcd.setCursor(0,1);
 lcd.print("Time Left: "); // Display the time left
 lcd.print(" ");
 lcd.setCursor(11,1);
 lcd.print((gameTime - (millis() - startTime)/1000)); //millis() returns in milliseconds. The remaining time is determined by subtracting the elapsed time from the game time. 
}</pre>
<p>&nbsp;</p>
<p style="padding-left: 90px;"></div>
			</div> <!-- .et_pb_text --><div class="et_pb_with_border et_pb_module et_pb_text et_pb_text_63  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><p>The Laser Arm –</p>
<p>The following code works as mentioned: every time you press the push button, the laser goes on, for a duration of 1 second. The program is set to give 10 chances to a participant, and this is displayed on the LCD which displays the counts from 10 to 0, at the rate by which the participant uses the laser shot.</p>
<p style="padding-left: 90px;"></div>
			</div> <!-- .et_pb_text --><div class="et_pb_module et_pb_text et_pb_text_64  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><pre class="EnlighterJSRAW" data-enlighter-language="cpp" data-enlighter-theme="atomic">#include &lt;Wire.h&gt;
#include &lt;Adafruit_RGBLCDShield.h&gt;
#include &lt;utility/Adafruit_MCP23017.h&gt;

#define laser 5
#define trigger 36

Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();

int ammo = 10;

void setup() {
 // put your setup code here, to run once:
 pinMode(trigger,INPUT);
 pinMode(laser,OUTPUT);

 lcd.begin(16, 2);
 lcd.setBacklight(HIGH); 
 
 lcd.print("Ammo: ");
 lcd.print(ammo);

 
}

void loop() {
 // put your main code here, to run repeatedly:
 if(!digitalRead(trigger))
 {
 if(ammo&gt;0)
 {
 digitalWrite(laser,HIGH);
 delay (200);
 digitalWrite(laser,LOW);
 ammo--;
 lcd.clear();
 lcd.print("Ammo: ");
 lcd.print(ammo);
 delay(250);
 }
 else
 {
 lcd.clear();
 lcd.print("LOW AMMO!!");
 for (int i = 0;i&lt;10;i++)
 {
 lcd.setBacklight(LOW);
 delay(250);
 lcd.setBacklight(HIGH);
 delay(250);
 }
 ammo = 10;
 lcd.clear();
 lcd.print("Ammo: ");
 lcd.print(ammo);
 }
 }
 else
 {

 digitalWrite(laser,LOW);
 }
}</pre>
<p>&nbsp;</p>
<p style="padding-left: 90px;"></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row --><div class="et_pb_row et_pb_row_22">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_34  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_text et_pb_text_65  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				<div class="et_pb_text_inner"><h3 class="grammarly-disable-indicator"> Resources:</h3>
<ul>
<li><a href="https://bitbucket.org/edwinrobotics/medusa-head-for-sparkfun-esp32-thing" target="_blank" rel="noopener">Medusa Head for SparkFun ESP32 Thing Design Files(Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/ambient-light-sensor" target="_blank" rel="noopener">Medusa Ambient Light Sensor Design Files ( Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/button" target="_blank" rel="noopener">Medusa Push Button Design Files (Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/buzzer" target="_blank" rel="noopener">Medusa Buzzer Design Files (Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/i2c-addon-board-lcd-module" target="_blank" rel="noopener">Medusa 16&#215;2 Display I2C Module Design Files (Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/medusa-touch-sensor" target="_blank" rel="noopener">Medusa Touch Sensor Design Files (Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/medusa-led-module" target="_blank" rel="noopener">Medusa LED Module/Laser Diode Design Files (Bitbucket)</a></li>
</ul>
<p style="padding-left: 90px;">
<p style="padding-left: 90px;"></div>
			</div> <!-- .et_pb_text -->
			</div> <!-- .et_pb_column -->
				
				
			</div> <!-- .et_pb_row -->
				
				
			</div> <!-- .et_pb_section -->

		</div><!-- .et_builder_inner_content -->
	</div><!-- .et-l -->
	]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>IRON MAN ARC REACTOR</title>
		<link>https://learn.edwinrobotics.com/ironman-arc-reactor/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ironman-arc-reactor</link>
					<comments>https://learn.edwinrobotics.com/ironman-arc-reactor/#respond</comments>
		
		<dc:creator><![CDATA[Rashmi Menon]]></dc:creator>
		<pubDate>Tue, 19 Dec 2017 09:34:13 +0000</pubDate>
				<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Medusa]]></category>
		<guid isPermaLink="false">http://learn.edwinrobotics.com/?p=2169</guid>

					<description><![CDATA[Programming WS2812 RGB LEDs to produce various cool patterns. OVERVIEW Iron Man has always been one of the most popular among heroes of Marvel, especially among Tech Geeks and has been one of the popular choices at comic cons when it comes to showing off coolness with a dash of technology. On the other hand, due [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="et-l et-l--post">
			<div class="et_builder_inner_content et_pb_gutters3">
		<div id="attachment_2197" style="width: 434px" class="wp-caption alignright"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2197" class="wp-image-2197 " src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0005-e1513595478304.jpg" alt=" Ironman Arc Reactor - DIY" width="424" height="306" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0005-e1513595478304.jpg 3945w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0005-e1513595478304-300x217.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0005-e1513595478304-1024x740.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0005-e1513595478304-1080x780.jpg 1080w" sizes="auto, (max-width: 424px) 100vw, 424px" /><p id="caption-attachment-2197" class="wp-caption-text">Ironman Arc Reactor &#8211; DIY</p></div>
<p><em><span style="font-weight: 400;">Programming WS2812 RGB LEDs to produce various cool patterns.</span></em></p>
<h3><strong>OVERVIEW</strong></h3>
<p style="text-align: left;"><span style="font-weight: 400;">Iron Man has always been one of the most popular among heroes of Marvel, especially among Tech Geeks and has been one of the popular choices at comic cons when it comes to showing off coolness with a dash of technology. On the other hand, due to its difficulty in implementation and costs involved, not many enthusiasts are able to build their own costumes. And here we have a DIY to make it easy. </span></p>
<p style="text-align: left;"><span style="font-weight: 400;">This super fun DIY project will help you replicate the famous Arc Reactor which powers this superhero, along with various cool customizable patterns of glowing LED.</span></p>
<p style="text-align: left;"><span style="font-weight: 400;">All you need is a circular cardboard cutting, some double-sided tape, Velcro, addressable RGB LEDs, the Medusa Head for Sparkfun ESP32 Thing and a LiPo battery to power the project. </span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="attachment_2175" style="width: 610px" class="wp-caption aligncenter"><a href="http://learn.edwinrobotics.com/wp-content/uploads/ironman.jpg" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2175" class="wp-image-2175" src="http://learn.edwinrobotics.com/wp-content/uploads/ironman.jpg" alt="Components for IronMan Arc Generator Project " width="600" height="338" srcset="https://learn.edwinrobotics.com/wp-content/uploads/ironman.jpg 1920w, https://learn.edwinrobotics.com/wp-content/uploads/ironman-300x169.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/ironman-1024x576.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/ironman-1080x608.jpg 1080w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-2175" class="wp-caption-text">Components for IronMan Arc Generator Project</p></div>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Additionally, you can use a switch (Medusa Push Button) for some cool custom applications.<br />
</span></p>

<table id="tablepress-27" class="tablepress tablepress-id-27">
<tbody>
<tr class="row-1">
	<td class="column-1"><div style="width: 160px" class="wp-caption aligncenter"><a href="https://shop.edwinrobotics.com/medusa/1181-medusa-head-for-sparkfun-esp32-thing-esp32-included.html?search_query=medusa&amp;results=2"target="_blank"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/esp32.jpg" alt="" width="150" height="150" class="alignnone size-full wp-image-2273" srcset="https://learn.edwinrobotics.com/wp-content/uploads/esp32-150x150.jpg 150w, https://learn.edwinrobotics.com/wp-content/uploads/esp32-184x184.jpg 184w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a><p class="wp-caption-text"></p> <em>Medusa Head for SparkFun ESP32 Thing</em></p></div></td><td class="column-2"><div style="width: 160px" class="wp-caption aligncenter"><a href="https://shop.edwinrobotics.com/new-products/1182-medusa-addressable-rgb-led.html"target="_blank"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/r2.jpg" alt="" width="150" height="150" class="alignnone size-full wp-image-2260" srcset="https://learn.edwinrobotics.com/wp-content/uploads/r2-150x150.jpg 150w, https://learn.edwinrobotics.com/wp-content/uploads/r2-184x184.jpg 184w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a><p class="wp-caption-text"></p> <em> Medusa Addressable RGB LED </em></p></div></td><td class="column-3"><div style="width: 160px" class="wp-caption aligncenter"><a href="https://shop.edwinrobotics.com/128-batteries"target="_blank"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0046.jpg" alt="" width="150" height="150" class="alignnone size-full wp-image-2224" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0046-150x150.jpg 150w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0046-184x184.jpg 184w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a><p class="wp-caption-text"></p> <em> 700mAh Lithium Polymer Battery</em></p></div></td>
</tr>
</tbody>
</table>
<!-- #tablepress-27 from cache -->

<table id="tablepress-30" class="tablepress tablepress-id-30">
<tbody>
<tr class="row-1">
	<td class="column-1"><div style="width: 160px" class="wp-caption aligncenter"><a href="https://shop.edwinrobotics.com/new-products/1184-medusa-cable-150mm-pack-of-5.html"target="_blank"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0047.jpg" alt="" width="150" height="150" class="alignnone size-full wp-image-2225" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-150x150.jpg 150w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0047-184x184.jpg 184w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a><p class="wp-caption-text"></p> <em>Medusa Cable 150mm </em></p></div></td><td class="column-2"><div style="width: 160px" class="wp-caption aligncenter"><a href="https://shop.edwinrobotics.com/new-products/1185-medusa-cable-1-meter.html"target="_blank"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/longconent.jpg" alt="" width="150" height="150" class="alignnone size-full wp-image-2276" srcset="https://learn.edwinrobotics.com/wp-content/uploads/longconent-150x150.jpg 150w, https://learn.edwinrobotics.com/wp-content/uploads/longconent-184x184.jpg 184w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a><p class="wp-caption-text"></p> <em>Medusa Cable 1m  </em></p></div></td><td class="column-3"><div style="width: 160px" class="wp-caption aligncenter"><a href="https://shop.edwinrobotics.com/new-products/1183-medusa-push-button.html"target="_blank"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/button2.jpg" alt="" width="150" height="150" class="alignnone size-full wp-image-2257" srcset="https://learn.edwinrobotics.com/wp-content/uploads/button2-150x150.jpg 150w, https://learn.edwinrobotics.com/wp-content/uploads/button2-184x184.jpg 184w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a><p class="wp-caption-text"></p> <em>Medusa Push Button</em></p></div></td>
</tr>
</tbody>
</table>
<!-- #tablepress-30 from cache -->
<p>&nbsp;</p>
<h3>CODE</h3>
<p><span style="font-weight: 400;">Test Setup: <em>(to check your code and try out cool patterns of  led blink)</em></span></p>
<p><span style="font-weight: 400;">The first step is to choose an output pin. Let’s say 25 on Medusa Head. The LEDs are daisy chained, be sure to connect the output of one to the input of the next.</span></p>
<p>&nbsp;</p>
<div id="attachment_2265" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2265" class="wp-image-2265" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0002-e1513690972461.jpg" alt="The Iron Man DIY Arc Reactor Set-ups " width="500" height="378" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0002-e1513690972461.jpg 4920w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0002-e1513690972461-300x227.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0002-e1513690972461-1024x774.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0002-e1513690972461-1080x817.jpg 1080w" sizes="auto, (max-width: 500px) 100vw, 500px" /><p id="caption-attachment-2265" class="wp-caption-text">The Iron Man DIY Arc Reactor Set-ups</p></div>
<p><strong>NOTE: During wiring, ensure that the OUT of the first LED goes to the IN of the next like as shown in the image below.</strong></p>
<div id="attachment_2309" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2309" class="wp-image-2309" src="http://learn.edwinrobotics.com/wp-content/uploads/Connections.png" alt="WS2812 LED connections for Medusa" width="500" height="267" srcset="https://learn.edwinrobotics.com/wp-content/uploads/Connections.png 1516w, https://learn.edwinrobotics.com/wp-content/uploads/Connections-300x160.png 300w, https://learn.edwinrobotics.com/wp-content/uploads/Connections-1024x548.png 1024w, https://learn.edwinrobotics.com/wp-content/uploads/Connections-1080x578.png 1080w" sizes="auto, (max-width: 500px) 100vw, 500px" /><p id="caption-attachment-2309" class="wp-caption-text">Medusa Addressable RGB LED connections</p></div>
<p>We will use simple Aurdino Code to Programme the setup, which you can refer to at the end of this post.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>BUILDING INSTRUCTIONS</h3>
<p style="text-align: center;"> 1.  The first step is to make the cardboard cutout. <a href="https://drive.google.com/file/d/1kxVTYq2AC3c2V6uPlABRuHS5cNWSFBED/view?usp=sharing" target="_blank" rel="noopener">Click here for the sample design of cardboard cutout</a>, use a CD or go for a pattern of your choice.</p>
<div id="attachment_2178" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2178" class="wp-image-2178" src="http://learn.edwinrobotics.com/wp-content/uploads/DSC_0032-e1513589187337.jpg" alt="Cardboard Cutouts for Placing the Components to make DIY IronMan ARC generator" width="500" height="394" srcset="https://learn.edwinrobotics.com/wp-content/uploads/DSC_0032-e1513589187337.jpg 4605w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0032-e1513589187337-300x236.jpg 300w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0032-e1513589187337-1024x807.jpg 1024w, https://learn.edwinrobotics.com/wp-content/uploads/DSC_0032-e1513589187337-1080x851.jpg 1080w" sizes="auto, (max-width: 500px) 100vw, 500px" /><p id="caption-attachment-2178" class="wp-caption-text">Cardboard Cutouts for Placing the Components to make DIY IronMan ARC generator</p></div>
<p style="text-align: center;"><span style="font-weight: 400;">     2. Take some double-sided tape and fix the LEDs.</span></p>
<p>                                        <img loading="lazy" decoding="async" class="size-full wp-image-2211 aligncenter" src="http://learn.edwinrobotics.com/wp-content/uploads/gif5.gif" alt="" width="500" height="281" /></p>
<p style="text-align: center;">3. Next step is to connect the Medusa Addressable RGB LED together.</p>
<p style="text-align: left;">For this project, we are using 2 different Medusa Cables, the 15cm &amp; the 1-meter variant. The 15cm variant is useful for daisy chaining the LED and the 1-meter variant to connect the first Medusa Addressable RGB LED to the Medusa Head for SparkFun ESP32 Thing.</p>
<p style="text-align: left;">The Medusa Addressable RGB LED are allow you to daisy chain (connect one board to the next) multiple boards to create a string of RGB LEDs using just one pin of the microcontroller.</p>
<p style="text-align: center;"><iframe loading="lazy" src="https://www.youtube.com/embed/vqR57fhwY1w" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p style="text-align: center;"><span style="font-weight: 400;">4. Using the Velcro/Double sided tape, fix the disk under your t-shirt. </span></p>
<p style="text-align: center;"><span style="font-weight: 400;"> 
<table id="tablepress-31" class="tablepress tablepress-id-31">
<tbody>
<tr class="row-1">
	<td class="column-1"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/vel-1.gif" alt="" width="500" height="281" class="alignnone size-full wp-image-2289" /></td><td class="column-2"><img loading="lazy" decoding="async" src="http://learn.edwinrobotics.com/wp-content/uploads/shirt.gif" alt="" width="500" height="281" class="alignnone size-full wp-image-2279" /></td>
</tr>
</tbody>
</table>
<!-- #tablepress-31 from cache --></span></p>
<p style="text-align: left;">5. The SparkFun ESP32 comes with an onboard LiPo charger and booster which makes it easy to power the project using a single cell LiPo battery, the lower capacity ones can even fit between the Medusa Head and the SparkFun ESP32 Thing for a compact solution. It can also be powered using a typical mobile phone power bank.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="size-full wp-image-2190 aligncenter" src="http://learn.edwinrobotics.com/wp-content/uploads/gif6.gif" alt="" width="500" height="281" /></p>
<p style="text-align: center;">And insert the medusa head into your pocket.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="alignnone wp-image-2278 size-full" src="http://learn.edwinrobotics.com/wp-content/uploads/poket.gif" alt="" width="500" height="281" /></p>
<h1 style="text-align: center;"><span style="font-weight: 400;">SHOW OFF your IRON MAN ARC REACTOR!!!</span></h1>
<p><img loading="lazy" decoding="async" class="size-full wp-image-2210 aligncenter" src="http://learn.edwinrobotics.com/wp-content/uploads/gif9.1.gif" alt="" width="500" height="281" /></p>
<div class="grammarly-disable-indicator" style="text-align: center;"></div>
<div class="grammarly-disable-indicator" style="text-align: center;"></div>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator">
<pre class="EnlighterJSRAW" data-enlighter-language="cpp" data-enlighter-theme="atomic">#include &lt;Adafruit_NeoPixel.h&gt;

#define PIN 25

// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
//   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(5, PIN, NEO_GRB + NEO_KHZ800);

// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel.  Avoid connecting
// on a live circuit...if you must, connect GND first.

void setup() {
  // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
  #if defined (__AVR_ATtiny85__)
    if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
  #endif
  // End of trinket special code

  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
  colorWipe(strip.Color(0, 0,255), 60); // Blue
  colorWipe(strip.Color(0, 0,0), 60); // Black
  delay(25);
  colorWipe(strip.Color(0, 0,255), 60); // Blue
  colorWipe(strip.Color(0, 0,0), 60); // Black
  delay(25);
  colorWipe(strip.Color(0, 0,255), 60); // Blue
  colorWipe(strip.Color(0, 0,0), 60); // Black
  delay(25);
  fadeIn();
  fadeOut();
}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i&lt;strip.numPixels(); i++) {
    strip.setPixelColor(i, c);
    strip.show();
    delay(wait);
  }
}

void fadeIn()
{
  for (int i = 0;i&lt;256;i++)
  {
    for(int led = 0;led&lt;strip.numPixels();led++)
    {
      strip.setPixelColor(led,strip.Color(0, 0,i));
      strip.show();
      delay(1);
    }
  }
}

void fadeOut()
{
  for (int i = 255;i&gt;=0;i--)
  {
    for(int led = 0;led&lt;strip.numPixels();led++)
    {
      strip.setPixelColor(led,strip.Color(0, 0,i));
      strip.show();
      delay(1);
    }
  }
}</pre>
<p>&nbsp;</p>
</div>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator"></div>
<h3 class="grammarly-disable-indicator"> Resources:</h3>
<ul>
<li><a href="https://bitbucket.org/edwinrobotics/medusa-head-for-sparkfun-esp32-thing" target="_blank" rel="noopener">Medusa Head for SparkFun ESP32 Thing Design Files(Bitbucket)</a></li>
<li><a href="https://bitbucket.org/edwinrobotics/button" target="_blank" rel="noopener">Medusa Push Button Design Files (Bitbucket)</a></li>
<li><a href="https://shop.edwinrobotics.com/new-products/1182-medusa-addressable-rgb-led.html" target="_blank" rel="noopener">Medusa Addressable RGB LED Design Files (Bitbucket)</a></li>
</ul>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator"></div>
<div class="grammarly-disable-indicator"></div>

		</div><!-- .et_builder_inner_content -->
	</div><!-- .et-l -->
	]]></content:encoded>
					
					<wfw:commentRss>https://learn.edwinrobotics.com/ironman-arc-reactor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Object Caching 88/403 objects using APC
Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Database Caching 74/205 queries in 0.117 seconds using APC

Served from: learn.edwinrobotics.com @ 2025-07-20 04:51:52 by W3 Total Cache
-->