<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-903612074173411409</id><updated>2024-10-05T04:01:31.846+02:00</updated><category term="Máquina Recreativa"/><category term="Arduino"/><category term="Cubieboard"/><category term="Cubietruck"/><category term="VMware"/><category term="Virtualización"/><category term="Markdown"/><category term="Artículo en inglés"/><category term="AngularJS"/><category term="NodeJS"/><category term="linux"/><category term="Add-on"/><category term="BitTorrent"/><category term="Bittorrent Sync"/><category term="Delphi"/><category term="Firefox"/><category term="Haroopress"/><category term="INI"/><category term="Inno Setup"/><category term="JVCL"/><category term="Log4Net"/><category term="Plugin"/><category term="RX"/><category term="Webs estáticas"/><category term="C#"/><category term="EasyBook"/><category term="Fedora"/><category term="Gitbook"/><category term="Haroopad"/><category term="Industruino"/><category term="Java"/><category term="Javascript"/><category term="Leanpub"/><category term="Log4Java"/><category term="Mozilla"/><category term="Mozilla Add-on builder"/><category term="MySql"/><category term="Organización Fotos"/><category term="Ouya"/><category term="SQLServer"/><category term="SQlite"/><category term="Sistemas"/><category term="Subversion"/><category term="VB"/><category term="VMware Tools"/><category term="VirtualBox"/><category term="Windows"/><category term="Zoner Photo Studio"/><category term="m2tklib"/><category term="open-vm-tools"/><category term="ubuntu"/><title type='text'>Cosillas de Juansal</title><subtitle type='html'>Un blog sobre mis cosillas.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.juansal.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-3184339432908594873</id><published>2017-03-31T08:05:00.000+02:00</published><updated>2018-03-13T16:40:03.986+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="Artículo en inglés"/><title type='text'>Material density detection system used to create wet wipes with Arduino 2/2</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=3184339432908594873;onPublishedMenu=allposts;onClosedMenu=allposts;postNum=0;src=link&quot;&gt;
&lt;h2 id=&quot;construction-of-the-final-prototype&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Construction of the final prototype&lt;/h2&gt;
&lt;h3 id=&quot;components-used&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Components used&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The components used have been, per module:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Density Bar&lt;/div&gt;
&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.ebay.es/itm/311064700128?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&quot;&gt;Arduino Pro Mini 5v&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;4 - &lt;a href=&quot;http://www.aliexpress.com/item/10PCS-LOT-10W-900-1000LM-LED-Bulb-IC-SMD-Lamp-Light-Daylight-white-High-Power-LED/892676886.html&quot;&gt;LDRs&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;4 - Resistors 1k&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;2 - &lt;a href=&quot;http://www.ebay.es/itm/20pcs-2Pin-Plug-in-Screw-Terminal-Block-Connector-5-08mm-Pitch-Through-Hole-OT8G-/221790619454?hash=item33a3c0473e:g:GN4AAOSw3xJVbchf&quot;&gt;PCB Terminal Blocks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Communication bar&lt;/div&gt;
&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.ebay.es/itm/310562519074?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&quot;&gt;Arduino Pro Mini 5v&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.aliexpress.com/item/10pcslot-LM2596s-DC-DC-step-down-power-supply-module-3A-adjustable-step-down-module-LM2596-voltage/1289330336.html&quot;&gt;LM2596s DC-DC step down power supply module&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;2 - &lt;a href=&quot;http://www.ebay.es/itm/20pcs-2Pin-Plug-in-Screw-Terminal-Block-Connector-5-08mm-Pitch-Through-Hole-OT8G-/221790619454?hash=item33a3c0473e:g:GN4AAOSw3xJVbchf&quot;&gt;PCB Terminal Blocks&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;https://es.aliexpress.com/item/Free-Shopping-100PCS-TIP122-TO-220-NPN-100V-5A-Silicon-Transistors/982804378.html&quot;&gt;Voltage regulator TIP220&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.ebay.es/itm/10x-Aluminum-Heatsink-Heat-Sink-with-Screw-Sets-for-TO-220-Transistor-20x15x10mm-/331644225334?hash=item4d37894736:g:pBcAAOSw3ydV5uq7&quot;&gt;Heat Sink for TIP220&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.dx.com/p/6w-630lm-6500k-cob-LED-module-170-x-15mm-12-14v-198118&quot;&gt;Rectangular LED 6W 630lm 6500K COB 170 x 15 mm.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Industruino&lt;/div&gt;
&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;https://industruino.com/&quot;&gt;Industruino PROTO kit&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.dx.com/p/arduino-5v-relay-module-blue-black-121354&quot;&gt;Relay module Keyes_SR1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Arduino with screen&lt;/div&gt;
&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;https://store.arduino.cc/product/A000066&quot;&gt;Arduino UNO R3&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.ebay.es/itm/Blue-Display-IIC-I2C-TWI-SP-I-Serial-Interface-1602-16X2-Character-LCD-Module-/162009210885?hash=item25b8806005:g:nsEAAOSw32lYpp16&quot;&gt;16x2 Character LCD module with I2C&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;3 - Resistors 10k&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;2 - Resistors 220&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - LED Red&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - LED Green&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;3 - &lt;a href=&quot;https://www.wish.com/c/5327c1b207aab40f27aecc1e&quot;&gt;Buttons&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.dx.com/p/arduino-5v-relay-module-blue-black-121354&quot;&gt;Relay module Keyes_SR1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;assembly-of-the-circuit&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Assembly of the circuit&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The Fritzing scheme is as follows:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Density bar&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;Circuit that manages the density bar&quot; border=&quot;0&quot; height=&quot;312&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-lxmt_FrygIB6BKw9ozZhq93VFNsvr2lXkyVmNP09VzY0zlwxWdFtR5dC2Y2PIOexBoaePPrUMwaC-_yrI0QZSqnCWyffGWQohlWq6b23nhWyHrnmnJlYFdVlETPX9GXLuODpl95RDkYd/s640/barra_densidad_bb.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; title=&quot;Circuit that manages the density bar&quot; width=&quot;640&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Circuit that manages the density bar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This circuit is responsible for obtaining the measurements and send notifications to the communications bar for redirection.&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Communication bar&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHHaY1lAS6cRBe1d2TiuxNxj-JYXfw1O5_7bmnJAaqnaZZLEJlZYIIxXqMbDdFAHZ110aNOdCnlteFa3X7FMp0H7Qoh2dX8fdCVCXQ9K7uAv1dmzvcHHr6-D41xWOmOb5IlphEFqBYRMP/s1600/barra_densidad_conector_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Circuit that manages the communication bar&quot; border=&quot;0&quot; height=&quot;226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHHaY1lAS6cRBe1d2TiuxNxj-JYXfw1O5_7bmnJAaqnaZZLEJlZYIIxXqMbDdFAHZ110aNOdCnlteFa3X7FMp0H7Qoh2dX8fdCVCXQ9K7uAv1dmzvcHHr6-D41xWOmOb5IlphEFqBYRMP/s640/barra_densidad_conector_bb.png&quot; title=&quot;Circuit that manages the communication bar&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Circuit that manages the communication bar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
This circuit is responsible for the communications of the density bar, in addition to the power supply of the bar and all the components it contains.&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Arduino with screen&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuLCM66vXrm357slAvpcxsHCYzibFkfFxtE-qiVQVqjUU46VgqCxPi602tTH_4hVFbaaSBp0w8tHmvoUY8_zC4DDAdRKyRqe7ANP1fCNMVOmWHrj_G5O1OAMKU0agjqiRKfQq2KlpE4IjX/s1600/ard_pantalla_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Arduino with screen&quot; border=&quot;0&quot; height=&quot;364&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuLCM66vXrm357slAvpcxsHCYzibFkfFxtE-qiVQVqjUU46VgqCxPi602tTH_4hVFbaaSBp0w8tHmvoUY8_zC4DDAdRKyRqe7ANP1fCNMVOmWHrj_G5O1OAMKU0agjqiRKfQq2KlpE4IjX/s640/ard_pantalla_bb.png&quot; title=&quot;Arduino with screen&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Arduino with screen&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This assembly is the one made to replace the burned Industruino.&lt;/div&gt;
&lt;h3 id=&quot;software-functionality-to-be-implemented-and-protocol-design-used&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software: Functionality to be implemented and protocol design used&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This section discusses the functionality of the software created and the messaging protocol that has been designed so that the communication meets the desired functionality.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The functionality of the implemented software is as follows:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Auto calibration of light sensors. This step must be performed automatically when the density bar is started or when the user asks for it.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;From an average value of light that is considered as valid (the quality of the product is correct) you must indicate a higher percentage and a lower percentage, within which the product is considered to contain the desired quality. The valid value is obtained from the auto calibration.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;From the data of the 2 previous points send a signal if the product is not within the desired quality.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Each of the bars is responsible for one or several features and the Industruino (and later the Arduino with screen) of others, these are:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Industruino / Arduino  with screen:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Configuration of the percentages to apply to the average value of quality.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Activate the warning signal if you receive notification that a piece has been found that does not meet the quality.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Density bar configuration request.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Density bar&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Auto calibration execution, either at startup or when prompted.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Perform measurements and advise if any is out of range.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Communication bar&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Intermediate between the density bar and the Industruino, within this role is responsible for:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Convert the percentages passed by the Industruino to values within the measuring range and communicate them to the density bar.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Ask the density bar the values required by the Industruino and transform them if necessary.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Filtering the ads from the density bar to the Industruino only alerts the Industruino if there has been a change.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
For communication between the bars, the following messaging protocol was designed:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Requests from the Industruino&lt;/div&gt;
&lt;ol style=&quot;list-style-type: lower-roman; margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Request current bar configuration.&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Communication_bar
participant Density_bar

%%Note over Industruino,Density_bar: Configuration &amp;lt;br&amp;gt; request
   Industruino-&amp;gt;&amp;gt;Communication_bar: Configuration request
   Communication_bar--&amp;gt;&amp;gt;Industruino: Send Configuration
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart0&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 231&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
.messageLine1 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
&lt;/style&gt;
&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor0&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor1&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor2&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;93&quot;&gt;Configuration request&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;75&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;128&quot;&gt;Send Configuration&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;192.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;192.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;192.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Configuration data for the bar (data modified in Industruino and sent to the bars).&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Communication_bar
participant Density_bar

%%Note over Industruino,Density_bar: Configuration &amp;lt;br&amp;gt; request
   Industruino-&amp;gt;&amp;gt;Communication_bar: Sending minimum and maximum value as a percentage
   Communication_bar-&amp;gt;&amp;gt;Density_bar: Sending minimum and maximum value in units
   Density_bar--&amp;gt;&amp;gt;Communication_bar: Auto calibration value
   Communication_bar--&amp;gt;&amp;gt;Industruino: Auto calibration value
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart1&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 301&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
.messageLine1 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor3&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor4&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor5&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;93&quot;&gt;Sending minimum and maximum value as a percentage&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;75&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;128&quot;&gt;Sending minimum and maximum value in units&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;275&quot; x2=&quot;475&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;163&quot;&gt;Auto calibration value&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;475&quot; x2=&quot;275&quot; y1=&quot;170&quot; y2=&quot;170&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;198&quot;&gt;Auto calibration value&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;205&quot; y2=&quot;205&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;262.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;262.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;262.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Auto calibration request bar.&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Communication_bar
participant Density_bar

%%Note over Industruino,Density_bar: Auto calibration &amp;lt;br&amp;gt; request
   Industruino-&amp;gt;&amp;gt;Communication_bar: Auto calibration request
   Communication_bar-&amp;gt;&amp;gt;Density_bar: Auto calibration request
   Density_bar--&amp;gt;&amp;gt;Communication_bar: Auto calibration value
   Communication_bar--&amp;gt;&amp;gt;Industruino: Auto calibration value
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart2&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 301&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
.messageLine1 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor6&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor7&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor8&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;93&quot;&gt;Auto calibration request&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;75&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;128&quot;&gt;Auto calibration request&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;275&quot; x2=&quot;475&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;163&quot;&gt;Auto calibration value&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;475&quot; x2=&quot;275&quot; y1=&quot;170&quot; y2=&quot;170&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;198&quot;&gt;Auto calibration value&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;205&quot; y2=&quot;205&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;262.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;262.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;262.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Shipments to the Industruino, independent of the previous ones in response to a request of this one&lt;/div&gt;
&lt;ol style=&quot;list-style-type: lower-roman; margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Sending information auto calibrated (the first start of the bar always performs a self calibration without being prompted by the Industruino)&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Communication_bar
participant Density_bar

%%Note over Industruino,Density_bar: Initial auto calibration alert
   Density_bar-&amp;gt;&amp;gt;Communication_bar: Auto calibration value
   Communication_bar-&amp;gt;&amp;gt;Industruino: Auto calibration value
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart3&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 231&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor9&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor10&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor11&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;93&quot;&gt;Auto calibration value&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;475&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;128&quot;&gt;Auto calibration value&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;192.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;192.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;192.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Sending data about the readings. It is only sent when there is a change between in or out of range.&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Communication_bar
participant Density_bar

%%Note over Industruino,Density_bar: Send data with start / end of product detection out of quality
   Density_bar-&amp;gt;&amp;gt;Communication_bar: Value obtained and if the value is within or outside the range
   Communication_bar-&amp;gt;&amp;gt;Industruino: Value obtained and if the value is within or outside the range
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart4&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 231&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor12&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor13&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor14&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;93&quot;&gt;Value obtained and if the value is within or outside the range&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;475&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;128&quot;&gt;Value obtained and if the value is within or outside the range&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;192.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;192.5&quot;&gt;Communication_bar&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;192.5&quot;&gt;Density_bar&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;libraries-used-in-each-arduino-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Libraries used in each Arduino:&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This section lists each of the libraries that have been created and those that have been used for each of the Arduinos that compose the project.&lt;/div&gt;
&lt;h4 id=&quot;density-bar&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Density bar&lt;/h4&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.billporter.info/easytransfer-Arduino-library/&quot;&gt;EasyTransfer&lt;/a&gt;: library used for communications between bars.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Internal libraries: created by us and used to make programming easier.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CommunicationStructures.h: used to contain the data structures that were sent between Arduinos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;EEPROMAnything.h: used to manage data stored in the EEPROM. Retrieved from the following URL: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;I2C_Anything.h: Used for read and write management over the I2C port. Retrieved from the following URL: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;communication-bar&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Communication bar&lt;/h4&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Wire: library used for I2C connections.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.billporter.info/easytransfer-Arduino-library/&quot;&gt;EasyTransfer&lt;/a&gt;: library used for communications between bars.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Internal libraries: created by us and used to make programming easier.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CommunicationStructures.h: used to contain the data structures that were sent between Arduinos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;EEPROMAnything.h: used to manage data stored in the EEPROM. Retrieved from the following URL: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;I2C_Anything.h: Used for read and write management over the I2C port. Retrieved from the following URL: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;industruino&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Industruino&lt;/h4&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;U8glib: library used to paint on the screen of the Industruino. Retrieved from the following URL: &lt;a href=&quot;https://github.com/olikraus/u8glib&quot;&gt;https://github.com/olikraus/u8glib&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;M2tklib: library used to paint the menus on the screen of the Industruino. Retrieved from the following URL: &lt;a href=&quot;https://github.com/olikraus/m2tklib&quot;&gt;https://github.com/olikraus/m2tklib&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Wire: library used for I2C connections.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.billporter.info/easytransfer-Arduino-library/&quot;&gt;EasyTransfer&lt;/a&gt;: library used for communications between bars.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Internal libraries: created by us and used to make programming easier.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CommunicationStructures.h: used to contain the data structures that were sent between Arduinos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;EEPROMAnything.h: used to manage data stored in the EEPROM. Retrieved from the following URL: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;I2C_Anything.h: Used for read and write management over the I2C port. Retrieved from the following URL: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;arduino-with-screen&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Arduino with screen&lt;/h4&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;LiquidCrystal: library used to paint on the screen of the Arduino. Retrieved from the following URL: &lt;a href=&quot;https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&quot;&gt;https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Wire: library used for I2C connections.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.billporter.info/easytransfer-Arduino-library/&quot;&gt;EasyTransfer&lt;/a&gt;: library used for communications between bars.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Internal libraries: created by us and used to make programming easier.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CommunicationStructures.h: used to contain the data structures that were sent between Arduinos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;EEPROMAnything.h: used to manage data stored in the EEPROM. Retrieved from the following URL: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;I2C_Anything.h: Used for read and write management over the I2C port. Retrieved from the following URL: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;the-arduino-code-is-as-follows-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
The Arduino code is as follows:&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
To verify the I2C address of the elements that used this protocol has been used the called program &lt;a href=&quot;http://todbot.com/blog/2009/11/29/i2cscanner-pde-Arduino-as-i2c-bus-scanner/&quot;&gt;Arduino I2c Scanner&lt;/a&gt;.&lt;/div&gt;
&lt;h4 id=&quot;internal-library&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Internal library&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This is not an Arduino library, otherwise it is a group of utilities and definition of data structures that are used by the other Arduino programs used in the project.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
These classes are located inside the folder &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;\\User\Documents\Arduino\libraries&lt;/code&gt;, In our case we have created a folder inside with the name &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;utilidades_barras&lt;/code&gt;.&lt;br /&gt;
The files that compose it are:&lt;/div&gt;
&lt;h5 id=&quot;communicationstructures-h&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
CommunicationStructures.h&lt;/h5&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This file contains the data structures that are used for communications between Arduinos.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; text-size-adjust: none; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;arduino .h=&quot;&quot;&gt;&lt;/arduino&gt;&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Las operaciones que se envían entre el Industruino y las barras pueden ser los siguientes:
        1 - Petición de configuración de barra.
        2 - Datos de reconfiguración de barra (datos modificados en Industruino y enviados a las barras).
        3 - Petición de auto calibrado de barra.
*/&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// Número de LDR&#39;s&lt;/span&gt;
&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;define&lt;/span&gt; NUM_LDR 4&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Configuración de un LDR
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; config_LDR
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorMedio;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorUmbralSup;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorUmbralInf;
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Valores de un LDR
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; valores_LDR
{
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorActual;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorAnterior;
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Estructura de datos para comunicación entre barra de comunicaciones y barra de densidad
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; datos_densidad_barraCom_barraDens
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; operacion;
  config_LDR confLDR[NUM_LDR];
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralSup;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralInf;
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Estructura de datos para comunicación entre barra de densidad y barra de comunicaciones
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; datos_densidad_barraDens_barraCom
{
  boolean saldo;
  valores_LDR valLDR[NUM_LDR];
  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;//Para cuando se auto calibra la barra&lt;/span&gt;
  boolean cambios; &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// Indica si se devuelven cambios de configuración o datos.&lt;/span&gt;
  config_LDR confLDR[NUM_LDR];
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Estructura de datos para comunicación entre Industruino y barra de comunicaciones
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; datos_densidad_Industruino_barraCom
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; operacion;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralSup;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralInf;
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Estructura de datos para comunicación entre barra de comunicaciones y Industruino
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; datos_densidad_barraCom_Industruino
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; tipo; &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;//Tipo de barra.&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; tipoRespuesta; &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// Valores posibles: 1 - Respuesta a petición de configuración o a auto calibrado, 2 - Respuesta con datos.&lt;/span&gt;
  boolean saldo;
  valores_LDR valLDR[NUM_LDR];
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralSup;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralInf;
};
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;eepromanything-h&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
EEPROMAnything.h&lt;/h5&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This file is used for the management of data stored in the EEPROM. It has been obtained from the information contained in the following page of the Arduino website: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; text-size-adjust: none; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;eeprom .h=&quot;&quot;&gt;&lt;/eeprom&gt;&lt;/span&gt;
&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;arduino .h=&quot;&quot;&gt;  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// for type definitions&lt;/span&gt;&lt;/arduino&gt;&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;template&lt;/span&gt; &amp;lt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;class&lt;/span&gt; T&amp;gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; EEPROM_writeAnything(&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; ee, &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; T&amp;amp; value)
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; byte* p = (&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; byte*)(&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;void&lt;/span&gt;*)&amp;amp;value;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt;(value); i++)
    EEPROM.write(ee++, *p++);
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; i;
}

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;template&lt;/span&gt; &amp;lt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;class&lt;/span&gt; T&amp;gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; EEPROM_readAnything(&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; ee, T&amp;amp; value)
{
  byte* p = (byte*)(&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;void&lt;/span&gt;*)&amp;amp;value;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt;(value); i++)
    *p++ = EEPROM.read(ee++);
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; i;
}

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;void&lt;/span&gt; EEPROM_clear()
{
  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// write a 0 to all 512 bytes of the EEPROM&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;512&lt;/span&gt;; i++)
    EEPROM.write(i, &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;i2c_anything-h&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
I2C_Anything.h&lt;/h5&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This file is used for read and write management on the I2C port. It has been obtained from the information contained in the following blog post from Arduino: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; text-size-adjust: none; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// Written by Nick Gammon&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// May 2012&lt;/span&gt;

&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;arduino .h=&quot;&quot;&gt;&lt;/arduino&gt;&lt;/span&gt;
&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;wire .h=&quot;&quot;&gt;&lt;/wire&gt;&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;template&lt;/span&gt; &amp;lt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;typename&lt;/span&gt; T&amp;gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; I2C_writeAnything (&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; T&amp;amp; value)
  {
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; byte * p = (&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; byte*) &amp;amp;value;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt; value; i++)
          Wire.write(*p++);
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; i;
  }  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// end of I2C_writeAnything&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;template&lt;/span&gt; &amp;lt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;typename&lt;/span&gt; T&amp;gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; I2C_readAnything(T&amp;amp; value)
  {
    byte * p = (byte*) &amp;amp;value;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt; value; i++)
          *p++ = Wire.read();
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; i;
  }  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// end of I2C_readAnything&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;density-bar&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Density bar&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The files that make up this project / program are:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;barra_densidad.ino:&lt;/b&gt; This file is the base file of the project and contains the following elements:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Basic methods of an Arduino program (setup and loop).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaration and initialization of global variables.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaration of data structures internal to the program.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;datos_densidad.ino:&lt;/b&gt; This file contains the data structures with the information of the density bar and the management of these.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;datos_LDR.ino:&lt;/b&gt; This file contains the configuration management and data access of the LDRs, additionally when it obtains the data of the LDRs it processes them.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;https://create.arduino.cc/editor/juaalta/f1582038-8bc2-4954-b314-7a588bcfdb62/preview?embed&quot; style=&quot;height: 510px; margin: 10px 0; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h4 id=&quot;communication-bar&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Communication bar&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The files that make up this project / program are:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;barra_densidad_conector.ino:&lt;/b&gt; This file is the base file of the project and contains the following elements:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Basic methods of an Arduino program (setup and loop).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaration and initialization of global variables.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaration of data structures internal to the program.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;datos_densidad.ino:&lt;/b&gt; This file contains the data structures with the information of the density bar and the management of these.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;https://create.arduino.cc/editor/juaalta/000576a7-42f4-4b74-bb22-ea69ef1e2e21/preview?embed&quot; style=&quot;height: 510px; margin: 10px 0; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h4 id=&quot;industruino&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Industruino&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The files that make up this project / program are:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino.ino:&lt;/b&gt; This file is the base file of the project and contains the following elements:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Basic methods of an Arduino program (setup and loop).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaration and initialization of global variables.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaration of data structures internal to the program.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino_I2c.ino:&lt;/b&gt; This file contains the management of I2C communications.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino_Menu.ino:&lt;/b&gt; This file contains the painting and management of the program menu.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino_Pantalla.ino:&lt;/b&gt; This file contains the management of the screen.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino_datos.ino:&lt;/b&gt; This file contains the management of received and sent data.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;https://create.arduino.cc/editor/juaalta/7aaf80e0-d9bd-4757-94cd-27b26e6f5ace/preview?embed&quot; style=&quot;height: 510px; margin: 10px 0; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h4 id=&quot;arduino-with-screen&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Arduino with screen&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The files that make up this project / program are:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;ard_pantalla.ino:&lt;/b&gt; This file is the base file of the project and contains the following elements:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Basic methods of an Arduino program (setup and loop).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaration and initialization of global variables.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaration of data structures internal to the program.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Botones.ino:&lt;/b&gt; This file contains the methods used to work with the buttons.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;conexion_I2c.ino:&lt;/b&gt; This file contains the management of I2C communications.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Menus.ino:&lt;/b&gt; This file contains the painting and management of the program menu.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Pantalla.ino:&lt;/b&gt; This file contains the management of the screen.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;gestion_datos.ino:&lt;/b&gt; This file contains the management of received and sent data.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;https://create.arduino.cc/editor/juaalta/f1582038-8bc2-4954-b314-7a588bcfdb62/preview?embed&quot; style=&quot;height: 510px; margin: 10px 0; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h2 id=&quot;acknowledgments&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Acknowledgments&lt;/h2&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
To my friend Fran for thinking of me for the realization of this project, without him I would not have had any contact with the Arduino world.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
My brother Raul for the creation of the test bench and for giving us some ingenious solution to the structural problems of the bars that we met along the way and blocked us at some point.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
To my friend Sergio for his occasional help in the design of electronics.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
To Mario and Jose Antonio for helping me to revise the article and to propose improvements in the writing and the form.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
To the rest of people who with their encouragement and punctual help helped us to finish this project.&lt;/div&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+IyMgQ29uc3RydWN0aW9uIG9mIHRoZSBmaW5hbCBwcm90b3R5cGU8L3A+PHA+PGJyPjwvcD48
cD4jIyMgQ29tcG9uZW50cyB1c2VkPC9wPjxwPjxicj48L3A+PHA+VGhlIGNvbXBvbmVudHMgdXNl
ZCBoYXZlIGJlZW4sIHBlciBtb2R1bGU6PC9wPjxwPjxicj48L3A+PHA+LSBEZW5zaXR5IEJhcjwv
cD48cD4mbmJzcDsgJm5ic3A7IC0gMSAtIFtBcmR1aW5vIFBybyBNaW5pIDV2XShodHRwOi8vd3d3
LmViYXkuZXMvaXRtLzMxMTA2NDcwMDEyOD9fdHJrc2lkPXAyMDYwMzUzLm0yNzQ5LmwyNjQ5JmFt
cDtzc1BhZ2VOYW1lPVNUUkslM0FNRUJJRFglM0FJVCk8L3A+PHA+Jm5ic3A7ICZuYnNwOyAtIDQg
LSBbTERSc10oaHR0cDovL3d3dy5hbGlleHByZXNzLmNvbS9pdGVtLzEwUENTLUxPVC0xMFctOTAw
LTEwMDBMTS1MRUQtQnVsYi1JQy1TTUQtTGFtcC1MaWdodC1EYXlsaWdodC13aGl0ZS1IaWdoLVBv
d2VyLUxFRC84OTI2NzY4ODYuaHRtbCk8L3A+PHA+Jm5ic3A7ICZuYnNwOyAtIDQgLSBSZXNpc3Rv
cnMgMWs8L3A+PHA+Jm5ic3A7ICZuYnNwOyAtIDIgLSBbUENCIFRlcm1pbmFsIEJsb2Nrc10oaHR0
cDovL3d3dy5lYmF5LmVzL2l0bS8yMHBjcy0yUGluLVBsdWctaW4tU2NyZXctVGVybWluYWwtQmxv
Y2stQ29ubmVjdG9yLTUtMDhtbS1QaXRjaC1UaHJvdWdoLUhvbGUtT1Q4Ry0vMjIxNzkwNjE5NDU0
P2hhc2g9aXRlbTMzYTNjMDQ3M2U6ZzpHTjRBQU9TdzN4SlZiY2hmKTwvcD48cD48YnI+PC9wPjxw
Pi0gQ29tbXVuaWNhdGlvbiBiYXI8L3A+PHA+Jm5ic3A7ICZuYnNwOyAtIDEgLSBbQXJkdWlubyBQ
cm8gTWluaSA1dl0oaHR0cDovL3d3dy5lYmF5LmVzL2l0bS8zMTA1NjI1MTkwNzQ/X3Rya3NpZD1w
MjA2MDM1My5tMjc0OS5sMjY0OSZhbXA7c3NQYWdlTmFtZT1TVFJLJTNBTUVCSURYJTNBSVQpPC9w
PjxwPiZuYnNwOyAmbmJzcDsgLSAxIC0gW0xNMjU5NnMgREMtREMgc3RlcCBkb3duIHBvd2VyIHN1
cHBseSBtb2R1bGVdKGh0dHA6Ly93d3cuYWxpZXhwcmVzcy5jb20vaXRlbS8xMHBjc2xvdC1MTTI1
OTZzLURDLURDLXN0ZXAtZG93bi1wb3dlci1zdXBwbHktbW9kdWxlLTNBLWFkanVzdGFibGUtc3Rl
cC1kb3duLW1vZHVsZS1MTTI1OTYtdm9sdGFnZS8xMjg5MzMwMzM2Lmh0bWwpPC9wPjxwPiZuYnNw
OyAmbmJzcDsgLSAyIC0gW1BDQiBUZXJtaW5hbCBCbG9ja3NdKGh0dHA6Ly93d3cuZWJheS5lcy9p
dG0vMjBwY3MtMlBpbi1QbHVnLWluLVNjcmV3LVRlcm1pbmFsLUJsb2NrLUNvbm5lY3Rvci01LTA4
bW0tUGl0Y2gtVGhyb3VnaC1Ib2xlLU9UOEctLzIyMTc5MDYxOTQ1ND9oYXNoPWl0ZW0zM2EzYzA0
NzNlOmc6R040QUFPU3czeEpWYmNoZik8L3A+PHA+Jm5ic3A7ICZuYnNwOyAtIDEgLSBbVm9sdGFn
ZSByZWd1bGF0b3IgVElQMjIwXShodHRwczovL2VzLmFsaWV4cHJlc3MuY29tL2l0ZW0vRnJlZS1T
aG9wcGluZy0xMDBQQ1MtVElQMTIyLVRPLTIyMC1OUE4tMTAwVi01QS1TaWxpY29uLVRyYW5zaXN0
b3JzLzk4MjgwNDM3OC5odG1sKTwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0
eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+LSAxIC0gW0hlYXQgU2luayBmb3IgVElQMjIw
XShodHRwOi8vd3d3LmViYXkuZXMvaXRtLzEweC1BbHVtaW51bS1IZWF0c2luay1IZWF0LVNpbmst
d2l0aC1TY3Jldy1TZXRzLWZvci1UTy0yMjAtVHJhbnNpc3Rvci0yMHgxNXgxMG1tLS8zMzE2NDQy
MjUzMzQ/aGFzaD1pdGVtNGQzNzg5NDczNjpnOnBCY0FBT1N3M3lkVjV1cTcpPC9wPjxwPiZuYnNw
OyAmbmJzcDsgLSAxIC0gW1JlY3Rhbmd1bGFyIExFRCA2VyA2MzBsbSA2NTAwSyBDT0IgMTcwIHgg
MTUgbW0uXShodHRwOi8vd3d3LmR4LmNvbS9wLzZ3LTYzMGxtLTY1MDBrLWNvYi1MRUQtbW9kdWxl
LTE3MC14LTE1bW0tMTItMTR2LTE5ODExOCk8L3A+PHA+PGJyPjwvcD48cD4tIEluZHVzdHJ1aW5v
PC9wPjxwPiZuYnNwOyAmbmJzcDsgLSAxIC0gW0luZHVzdHJ1aW5vIFBST1RPIGtpdF0oaHR0cHM6
Ly9JbmR1c3RydWluby5jb20vKTwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0
eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+LSAxIC0gW1JlbGF5IG1vZHVsZSBLZXllc19T
UjFdKGh0dHA6Ly93d3cuZHguY29tL3AvYXJkdWluby01di1yZWxheS1tb2R1bGUtYmx1ZS1ibGFj
ay0xMjEzNTQpPC9wPjxwPjxicj48L3A+PHA+LSBBcmR1aW5vIHdpdGggc2NyZWVuPC9wPjxwPiZu
YnNwOyAmbmJzcDsgLSAxIC0gW0FyZHVpbm8gVU5PIFIzXShodHRwczovL3N0b3JlLmFyZHVpbm8u
Y2MvcHJvZHVjdC9BMDAwMDY2KTwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0
eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+LSAxIC0gWzE2eDIgQ2hhcmFjdGVyIExDRCBt
b2R1bGUgd2l0aCBJMkNdKGh0dHA6Ly93d3cuZWJheS5lcy9pdG0vQmx1ZS1EaXNwbGF5LUlJQy1J
MkMtVFdJLVNQLUktU2VyaWFsLUludGVyZmFjZS0xNjAyLTE2WDItQ2hhcmFjdGVyLUxDRC1Nb2R1
bGUtLzE2MjAwOTIxMDg4NT9oYXNoPWl0ZW0yNWI4ODA2MDA1Omc6bnNFQUFPU3czMmxZcHAxNik8
L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJl
Ij4JPC9zcGFuPi0gMyAtIFJlc2lzdG9ycyAxMGs8L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRh
Yi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPi0gMiAtIFJlc2lzdG9ycyAy
MjA8L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6
cHJlIj4JPC9zcGFuPi0gMSAtIExFRCBSZWQ8L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1z
cGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPi0gMSAtIExFRCBHcmVlbjwvcD48
cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8
L3NwYW4+LSAzIC0gW0J1dHRvbnNdKGh0dHBzOi8vd3d3Lndpc2guY29tL2MvNTMyN2MxYjIwN2Fh
YjQwZjI3YWVjYzFlKTwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3
aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+LSAxIC0gW1JlbGF5IG1vZHVsZSBLZXllc19TUjFdKGh0
dHA6Ly93d3cuZHguY29tL3AvYXJkdWluby01di1yZWxheS1tb2R1bGUtYmx1ZS1ibGFjay0xMjEz
NTQpPC9wPjxwPjxicj48L3A+PHA+PGJyPjwvcD48cD4jIyMgQXNzZW1ibHkgb2YgdGhlIGNpcmN1
aXQ8L3A+PHA+PGJyPjwvcD48cD5UaGUgRnJpdHppbmcgc2NoZW1lIGlzIGFzIGZvbGxvd3M6PC9w
PjxwPjxicj48L3A+PHA+LSBEZW5zaXR5IGJhcjwvcD48cD48YnI+PC9wPjxwPiFbQ2lyY3VpdCB0
aGF0IG1hbmFnZXMgdGhlIGRlbnNpdHkgYmFyXSguL2ltYWdlbmVzX3YzL2JhcnJhX2RlbnNpZGFk
X2JiLnBuZyAiQ2lyY3VpdCB0aGF0IG1hbmFnZXMgdGhlIGRlbnNpdHkgYmFyIik8L3A+PHA+PGJy
PjwvcD48cD5UaGlzIGNpcmN1aXQgaXMgcmVzcG9uc2libGUgZm9yIG9idGFpbmluZyB0aGUgbWVh
c3VyZW1lbnRzIGFuZCBzZW5kIG5vdGlmaWNhdGlvbnMgdG8gdGhlIGNvbW11bmljYXRpb25zIGJh
ciBmb3IgcmVkaXJlY3Rpb24uPC9wPjxwPjxicj48L3A+PHA+LSBDb21tdW5pY2F0aW9uIGJhcjwv
cD48cD48YnI+PC9wPjxwPiFbQ2lyY3VpdCB0aGF0IG1hbmFnZXMgdGhlIGNvbW11bmljYXRpb24g
YmFyXSguL2ltYWdlbmVzX3YzL2JhcnJhX2RlbnNpZGFkX2NvbmVjdG9yX2JiLnBuZyAiQ2lyY3Vp
dCB0aGF0IG1hbmFnZXMgdGhlIGNvbW11bmljYXRpb24gYmFyIik8L3A+PHA+PGJyPjwvcD48cD5U
aGlzIGNpcmN1aXQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjb21tdW5pY2F0aW9ucyBvZiB0aGUg
ZGVuc2l0eSBiYXIsIGluIGFkZGl0aW9uIHRvIHRoZSBwb3dlciBzdXBwbHkgb2YgdGhlIGJhciBh
bmQgYWxsIHRoZSBjb21wb25lbnRzIGl0IGNvbnRhaW5zLjwvcD48cD48YnI+PC9wPjxwPi0gQXJk
dWlubyB3aXRoIHNjcmVlbjwvcD48cD48YnI+PC9wPjxwPiFbQXJkdWlubyB3aXRoIHNjcmVlbl0o
Li9pbWFnZW5lc192My9hcmRfcGFudGFsbGFfYmIucG5nICJBcmR1aW5vIHdpdGggc2NyZWVuIik8
L3A+PHA+PGJyPjwvcD48cD5UaGlzIGFzc2VtYmx5IGlzIHRoZSBvbmUgbWFkZSB0byByZXBsYWNl
IHRoZSBidXJuZWQgSW5kdXN0cnVpbm8uPC9wPjxwPjxicj48L3A+PHA+IyMjIFNvZnR3YXJlOiBG
dW5jdGlvbmFsaXR5IHRvIGJlIGltcGxlbWVudGVkIGFuZCBwcm90b2NvbCBkZXNpZ24gdXNlZDwv
cD48cD48YnI+PC9wPjxwPlRoaXMgc2VjdGlvbiBkaXNjdXNzZXMgdGhlIGZ1bmN0aW9uYWxpdHkg
b2YgdGhlIHNvZnR3YXJlIGNyZWF0ZWQgYW5kIHRoZSBtZXNzYWdpbmcgcHJvdG9jb2wgdGhhdCBo
YXMgYmVlbiBkZXNpZ25lZCBzbyB0aGF0IHRoZSBjb21tdW5pY2F0aW9uIG1lZXRzIHRoZSBkZXNp
cmVkIGZ1bmN0aW9uYWxpdHkuPC9wPjxwPjxicj48L3A+PHA+VGhlIGZ1bmN0aW9uYWxpdHkgb2Yg
dGhlIGltcGxlbWVudGVkIHNvZnR3YXJlIGlzIGFzIGZvbGxvd3M6PC9wPjxwPjxicj48L3A+PHA+
KiBBdXRvIGNhbGlicmF0aW9uIG9mIGxpZ2h0IHNlbnNvcnMuIFRoaXMgc3RlcCBtdXN0IGJlIHBl
cmZvcm1lZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlIGRlbnNpdHkgYmFyIGlzIHN0YXJ0ZWQgb3Ig
d2hlbiB0aGUgdXNlciBhc2tzIGZvciBpdC48L3A+PHA+KiBGcm9tIGFuIGF2ZXJhZ2UgdmFsdWUg
b2YgbGlnaHQgdGhhdCBpcyBjb25zaWRlcmVkIGFzIHZhbGlkICh0aGUgcXVhbGl0eSBvZiB0aGUg
cHJvZHVjdCBpcyBjb3JyZWN0KSB5b3UgbXVzdCBpbmRpY2F0ZSBhIGhpZ2hlciBwZXJjZW50YWdl
IGFuZCBhIGxvd2VyIHBlcmNlbnRhZ2UsIHdpdGhpbiB3aGljaCB0aGUgcHJvZHVjdCBpcyBjb25z
aWRlcmVkIHRvIGNvbnRhaW4gdGhlIGRlc2lyZWQgcXVhbGl0eS4gVGhlIHZhbGlkIHZhbHVlIGlz
IG9idGFpbmVkIGZyb20gdGhlIGF1dG8gY2FsaWJyYXRpb24uPC9wPjxwPiogRnJvbSB0aGUgZGF0
YSBvZiB0aGUgMiBwcmV2aW91cyBwb2ludHMgc2VuZCBhIHNpZ25hbCBpZiB0aGUgcHJvZHVjdCBp
cyBub3Qgd2l0aGluIHRoZSBkZXNpcmVkIHF1YWxpdHkuPC9wPjxwPjxicj48L3A+PHA+RWFjaCBv
ZiB0aGUgYmFycyBpcyByZXNwb25zaWJsZSBmb3Igb25lIG9yIHNldmVyYWwgZmVhdHVyZXMgYW5k
IHRoZSBJbmR1c3RydWlubyAoYW5kIGxhdGVyIHRoZSBBcmR1aW5vIHdpdGggc2NyZWVuKSBvZiBv
dGhlcnMsIHRoZXNlIGFyZTo8L3A+PHA+PGJyPjwvcD48cD4qIEluZHVzdHJ1aW5vIC8gQXJkdWlu
byAmbmJzcDt3aXRoIHNjcmVlbjo8L3A+PHA+Jm5ic3A7LSBDb25maWd1cmF0aW9uIG9mIHRoZSBw
ZXJjZW50YWdlcyB0byBhcHBseSB0byB0aGUgYXZlcmFnZSB2YWx1ZSBvZiBxdWFsaXR5LjwvcD48
cD4mbmJzcDstIEFjdGl2YXRlIHRoZSB3YXJuaW5nIHNpZ25hbCBpZiB5b3UgcmVjZWl2ZSBub3Rp
ZmljYXRpb24gdGhhdCBhIHBpZWNlIGhhcyBiZWVuIGZvdW5kIHRoYXQgZG9lcyBub3QgbWVldCB0
aGUgcXVhbGl0eS48L3A+PHA+Jm5ic3A7LSBEZW5zaXR5IGJhciBjb25maWd1cmF0aW9uIHJlcXVl
c3QuPC9wPjxwPiogRGVuc2l0eSBiYXI8L3A+PHA+Jm5ic3A7LSBBdXRvIGNhbGlicmF0aW9uIGV4
ZWN1dGlvbiwgZWl0aGVyIGF0IHN0YXJ0dXAgb3Igd2hlbiBwcm9tcHRlZC48L3A+PHA+Jm5ic3A7
LSBQZXJmb3JtIG1lYXN1cmVtZW50cyBhbmQgYWR2aXNlIGlmIGFueSBpcyBvdXQgb2YgcmFuZ2Uu
PC9wPjxwPiogQ29tbXVuaWNhdGlvbiBiYXI8L3A+PHA+Jm5ic3A7LSBJbnRlcm1lZGlhdGUgYmV0
d2VlbiB0aGUgZGVuc2l0eSBiYXIgYW5kIHRoZSBJbmR1c3RydWlubywgd2l0aGluIHRoaXMgcm9s
ZSBpcyByZXNwb25zaWJsZSBmb3I6PC9wPjxwPiZuYnNwOyAmbmJzcDstIENvbnZlcnQgdGhlIHBl
cmNlbnRhZ2VzIHBhc3NlZCBieSB0aGUgSW5kdXN0cnVpbm8gdG8gdmFsdWVzIHdpdGhpbiB0aGUg
bWVhc3VyaW5nIHJhbmdlIGFuZCBjb21tdW5pY2F0ZSB0aGVtIHRvIHRoZSBkZW5zaXR5IGJhci48
L3A+PHA+Jm5ic3A7ICZuYnNwOy0gQXNrIHRoZSBkZW5zaXR5IGJhciB0aGUgdmFsdWVzIHJlcXVp
cmVkIGJ5IHRoZSBJbmR1c3RydWlubyBhbmQgdHJhbnNmb3JtIHRoZW0gaWYgbmVjZXNzYXJ5Ljwv
cD48cD4mbmJzcDsgJm5ic3A7LSBGaWx0ZXJpbmcgdGhlIGFkcyBmcm9tIHRoZSBkZW5zaXR5IGJh
ciB0byB0aGUgSW5kdXN0cnVpbm8gb25seSBhbGVydHMgdGhlIEluZHVzdHJ1aW5vIGlmIHRoZXJl
IGhhcyBiZWVuIGEgY2hhbmdlLjwvcD48cD48YnI+PC9wPjxwPkZvciBjb21tdW5pY2F0aW9uIGJl
dHdlZW4gdGhlIGJhcnMsIHRoZSBmb2xsb3dpbmcgbWVzc2FnaW5nIHByb3RvY29sIHdhcyBkZXNp
Z25lZDo8L3A+PHA+PGJyPjwvcD48cD4qIFJlcXVlc3RzIGZyb20gdGhlIEluZHVzdHJ1aW5vPC9w
PjxwPiZuYnNwOzEuIFJlcXVlc3QgY3VycmVudCBiYXIgY29uZmlndXJhdGlvbi48L3A+PHA+YGBg
IG1lcm1haWQ8L3A+PHA+c2VxdWVuY2VEaWFncmFtPC9wPjxwPiZuYnNwOyAmbmJzcDsgcGFydGlj
aXBhbnQgSW5kdXN0cnVpbm88L3A+PHA+Jm5ic3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBDb21tdW5p
Y2F0aW9uX2JhcjwvcD48cD4mbmJzcDsgJm5ic3A7IHBhcnRpY2lwYW50IERlbnNpdHlfYmFyPC9w
PjxwPjxicj48L3A+PHA+Jm5ic3A7ICZuYnNwOyAlJU5vdGUgb3ZlciBJbmR1c3RydWlubyxEZW5z
aXR5X2JhcjogQ29uZmlndXJhdGlvbiAmbHQ7YnImZ3Q7IHJlcXVlc3Q8L3A+PHA+Jm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7IEluZHVzdHJ1aW5vLSZndDsmZ3Q7Q29tbXVuaWNhdGlvbl9iYXI6
IENvbmZpZ3VyYXRpb24gcmVxdWVzdDwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Q29tbXVuaWNhdGlvbl9iYXItLSZndDsmZ3Q7SW5kdXN0cnVpbm86IFNlbmQgQ29uZmlndXJhdGlv
bjwvcD48cD5gYGA8L3A+PHA+Jm5ic3A7Mi4gQ29uZmlndXJhdGlvbiBkYXRhIGZvciB0aGUgYmFy
IChkYXRhIG1vZGlmaWVkIGluIEluZHVzdHJ1aW5vIGFuZCBzZW50IHRvIHRoZSBiYXJzKS48L3A+
PHA+YGBgIG1lcm1haWQ8L3A+PHA+c2VxdWVuY2VEaWFncmFtPC9wPjxwPiZuYnNwOyAmbmJzcDsg
cGFydGljaXBhbnQgSW5kdXN0cnVpbm88L3A+PHA+Jm5ic3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBD
b21tdW5pY2F0aW9uX2JhcjwvcD48cD4mbmJzcDsgJm5ic3A7IHBhcnRpY2lwYW50IERlbnNpdHlf
YmFyPC9wPjxwPjxicj48L3A+PHA+Jm5ic3A7ICZuYnNwOyAlJU5vdGUgb3ZlciBJbmR1c3RydWlu
byxEZW5zaXR5X2JhcjogQ29uZmlndXJhdGlvbiAmbHQ7YnImZ3Q7IHJlcXVlc3Q8L3A+PHA+Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEluZHVzdHJ1aW5vLSZndDsmZ3Q7Q29tbXVuaWNhdGlv
bl9iYXI6IFNlbmRpbmcgbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZSBhcyBhIHBlcmNlbnRhZ2U8
L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IENvbW11bmljYXRpb25fYmFyLSZndDsm
Z3Q7RGVuc2l0eV9iYXI6IFNlbmRpbmcgbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZSBpbiB1bml0
czwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgRGVuc2l0eV9iYXItLSZndDsmZ3Q7
Q29tbXVuaWNhdGlvbl9iYXI6IEF1dG8gY2FsaWJyYXRpb24gdmFsdWU8L3A+PHA+Jm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7IENvbW11bmljYXRpb25fYmFyLS0mZ3Q7Jmd0O0luZHVzdHJ1aW5v
OiBBdXRvIGNhbGlicmF0aW9uIHZhbHVlPC9wPjxwPmBgYDwvcD48cD4mbmJzcDszLiBBdXRvIGNh
bGlicmF0aW9uIHJlcXVlc3QgYmFyLjwvcD48cD5gYGAgbWVybWFpZDwvcD48cD5zZXF1ZW5jZURp
YWdyYW08L3A+PHA+Jm5ic3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBJbmR1c3RydWlubzwvcD48cD4m
bmJzcDsgJm5ic3A7IHBhcnRpY2lwYW50IENvbW11bmljYXRpb25fYmFyPC9wPjxwPiZuYnNwOyAm
bmJzcDsgcGFydGljaXBhbnQgRGVuc2l0eV9iYXI8L3A+PHA+PGJyPjwvcD48cD4mbmJzcDsgJm5i
c3A7ICUlTm90ZSBvdmVyIEluZHVzdHJ1aW5vLERlbnNpdHlfYmFyOiBBdXRvIGNhbGlicmF0aW9u
ICZsdDticiZndDsgcmVxdWVzdDwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgSW5k
dXN0cnVpbm8tJmd0OyZndDtDb21tdW5pY2F0aW9uX2JhcjogQXV0byBjYWxpYnJhdGlvbiByZXF1
ZXN0PC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBDb21tdW5pY2F0aW9uX2Jhci0m
Z3Q7Jmd0O0RlbnNpdHlfYmFyOiBBdXRvIGNhbGlicmF0aW9uIHJlcXVlc3Q8L3A+PHA+Jm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7IERlbnNpdHlfYmFyLS0mZ3Q7Jmd0O0NvbW11bmljYXRpb25f
YmFyOiBBdXRvIGNhbGlicmF0aW9uIHZhbHVlPC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyBDb21tdW5pY2F0aW9uX2Jhci0tJmd0OyZndDtJbmR1c3RydWlubzogQXV0byBjYWxpYnJh
dGlvbiB2YWx1ZTwvcD48cD5gYGA8L3A+PHA+KiBTaGlwbWVudHMgdG8gdGhlIEluZHVzdHJ1aW5v
LCBpbmRlcGVuZGVudCBvZiB0aGUgcHJldmlvdXMgb25lcyBpbiByZXNwb25zZSB0byBhIHJlcXVl
c3Qgb2YgdGhpcyBvbmU8L3A+PHA+Jm5ic3A7MS4gU2VuZGluZyBpbmZvcm1hdGlvbiBhdXRvIGNh
bGlicmF0ZWQgKHRoZSBmaXJzdCBzdGFydCBvZiB0aGUgYmFyIGFsd2F5cyBwZXJmb3JtcyBhIHNl
bGYgY2FsaWJyYXRpb24gd2l0aG91dCBiZWluZyBwcm9tcHRlZCBieSB0aGUgSW5kdXN0cnVpbm8p
PC9wPjxwPmBgYCBtZXJtYWlkPC9wPjxwPnNlcXVlbmNlRGlhZ3JhbTwvcD48cD4mbmJzcDsgJm5i
c3A7IHBhcnRpY2lwYW50IEluZHVzdHJ1aW5vPC9wPjxwPiZuYnNwOyAmbmJzcDsgcGFydGljaXBh
bnQgQ29tbXVuaWNhdGlvbl9iYXI8L3A+PHA+Jm5ic3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBEZW5z
aXR5X2JhcjwvcD48cD48YnI+PC9wPjxwPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5
bGU9IndoaXRlLXNwYWNlOnByZSI+CTwvc3Bhbj4lJU5vdGUgb3ZlciBJbmR1c3RydWlubyxEZW5z
aXR5X2JhcjogSW5pdGlhbCBhdXRvIGNhbGlicmF0aW9uIGFsZXJ0PC9wPjxwPiZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyBEZW5zaXR5X2Jhci0mZ3Q7Jmd0O0NvbW11bmljYXRpb25fYmFyOiBB
dXRvIGNhbGlicmF0aW9uIHZhbHVlPC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBD
b21tdW5pY2F0aW9uX2Jhci0mZ3Q7Jmd0O0luZHVzdHJ1aW5vOiBBdXRvIGNhbGlicmF0aW9uIHZh
bHVlPC9wPjxwPmBgYDwvcD48cD4mbmJzcDsyLiBTZW5kaW5nIGRhdGEgYWJvdXQgdGhlIHJlYWRp
bmdzLiBJdCBpcyBvbmx5IHNlbnQgd2hlbiB0aGVyZSBpcyBhIGNoYW5nZSBiZXR3ZWVuIGluIG9y
IG91dCBvZiByYW5nZS48L3A+PHA+YGBgIG1lcm1haWQ8L3A+PHA+c2VxdWVuY2VEaWFncmFtPC9w
PjxwPiZuYnNwOyAmbmJzcDsgcGFydGljaXBhbnQgSW5kdXN0cnVpbm88L3A+PHA+Jm5ic3A7ICZu
YnNwOyBwYXJ0aWNpcGFudCBDb21tdW5pY2F0aW9uX2JhcjwvcD48cD4mbmJzcDsgJm5ic3A7IHBh
cnRpY2lwYW50IERlbnNpdHlfYmFyPC9wPjxwPjxicj48L3A+PHA+Jm5ic3A7ICZuYnNwOyAlJU5v
dGUgb3ZlciBJbmR1c3RydWlubyxEZW5zaXR5X2JhcjogU2VuZCBkYXRhIHdpdGggc3RhcnQgLyBl
bmQgb2YgcHJvZHVjdCBkZXRlY3Rpb24gb3V0IG9mIHF1YWxpdHk8L3A+PHA+Jm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7IERlbnNpdHlfYmFyLSZndDsmZ3Q7Q29tbXVuaWNhdGlvbl9iYXI6IFZh
bHVlIG9idGFpbmVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgd2l0aGluIG9yIG91dHNpZGUgdGhlIHJh
bmdlPC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBDb21tdW5pY2F0aW9uX2Jhci0m
Z3Q7Jmd0O0luZHVzdHJ1aW5vOiBWYWx1ZSBvYnRhaW5lZCBhbmQgaWYgdGhlIHZhbHVlIGlzIHdp
dGhpbiBvciBvdXRzaWRlIHRoZSByYW5nZTwvcD48cD5gYGA8L3A+PHA+PGJyPjwvcD48cD48YnI+
PC9wPjxwPiMjIyBMaWJyYXJpZXMgdXNlZCBpbiBlYWNoIEFyZHVpbm86PC9wPjxwPjxicj48L3A+
PHA+VGhpcyBzZWN0aW9uIGxpc3RzIGVhY2ggb2YgdGhlIGxpYnJhcmllcyB0aGF0IGhhdmUgYmVl
biBjcmVhdGVkIGFuZCB0aG9zZSB0aGF0IGhhdmUgYmVlbiB1c2VkIGZvciBlYWNoIG9mIHRoZSBB
cmR1aW5vcyB0aGF0IGNvbXBvc2UgdGhlIHByb2plY3QuPC9wPjxwPjxicj48L3A+PHA+IyMjIyBE
ZW5zaXR5IGJhcjwvcD48cD48YnI+PC9wPjxwPiogW0Vhc3lUcmFuc2Zlcl0oaHR0cDovL3d3dy5i
aWxscG9ydGVyLmluZm8vZWFzeXRyYW5zZmVyLUFyZHVpbm8tbGlicmFyeS8pOiBsaWJyYXJ5IHVz
ZWQgZm9yIGNvbW11bmljYXRpb25zIGJldHdlZW4gYmFycy48L3A+PHA+KiBJbnRlcm5hbCBsaWJy
YXJpZXM6IGNyZWF0ZWQgYnkgdXMgYW5kIHVzZWQgdG8gbWFrZSBwcm9ncmFtbWluZyBlYXNpZXIu
PC9wPjxwPiZuYnNwOyogQ29tbXVuaWNhdGlvblN0cnVjdHVyZXMuaDogdXNlZCB0byBjb250YWlu
IHRoZSBkYXRhIHN0cnVjdHVyZXMgdGhhdCB3ZXJlIHNlbnQgYmV0d2VlbiBBcmR1aW5vcy48L3A+
PHA+Jm5ic3A7KiBFRVBST01Bbnl0aGluZy5oOiB1c2VkIHRvIG1hbmFnZSBkYXRhIHN0b3JlZCBp
biB0aGUgRUVQUk9NLiBSZXRyaWV2ZWQgZnJvbSB0aGUgZm9sbG93aW5nIFVSTDogaHR0cDovL3Bs
YXlncm91bmQuQXJkdWluby5jYy9Db2RlL0VFUFJPTVdyaXRlQW55dGhpbmc8L3A+PHA+Jm5ic3A7
KiBJMkNfQW55dGhpbmcuaDogVXNlZCBmb3IgcmVhZCBhbmQgd3JpdGUgbWFuYWdlbWVudCBvdmVy
IHRoZSBJMkMgcG9ydC4gUmV0cmlldmVkIGZyb20gdGhlIGZvbGxvd2luZyBVUkw6IGh0dHA6Ly9m
b3J1bS5BcmR1aW5vLmNjL2luZGV4LnBocD90b3BpYz0xMDQ3MzIuMC48L3A+PHA+PGJyPjwvcD48
cD4jIyMjIENvbW11bmljYXRpb24gYmFyPC9wPjxwPjxicj48L3A+PHA+KiBXaXJlOiBsaWJyYXJ5
IHVzZWQgZm9yIEkyQyBjb25uZWN0aW9ucy48L3A+PHA+KiBbRWFzeVRyYW5zZmVyXShodHRwOi8v
d3d3LmJpbGxwb3J0ZXIuaW5mby9lYXN5dHJhbnNmZXItQXJkdWluby1saWJyYXJ5Lyk6IGxpYnJh
cnkgdXNlZCBmb3IgY29tbXVuaWNhdGlvbnMgYmV0d2VlbiBiYXJzLjwvcD48cD4qIEludGVybmFs
IGxpYnJhcmllczogY3JlYXRlZCBieSB1cyBhbmQgdXNlZCB0byBtYWtlIHByb2dyYW1taW5nIGVh
c2llci48L3A+PHA+Jm5ic3A7KiBDb21tdW5pY2F0aW9uU3RydWN0dXJlcy5oOiB1c2VkIHRvIGNv
bnRhaW4gdGhlIGRhdGEgc3RydWN0dXJlcyB0aGF0IHdlcmUgc2VudCBiZXR3ZWVuIEFyZHVpbm9z
LjwvcD48cD4mbmJzcDsqIEVFUFJPTUFueXRoaW5nLmg6IHVzZWQgdG8gbWFuYWdlIGRhdGEgc3Rv
cmVkIGluIHRoZSBFRVBST00uIFJldHJpZXZlZCBmcm9tIHRoZSBmb2xsb3dpbmcgVVJMOiBodHRw
Oi8vcGxheWdyb3VuZC5BcmR1aW5vLmNjL0NvZGUvRUVQUk9NV3JpdGVBbnl0aGluZzwvcD48cD4m
bmJzcDsqIEkyQ19Bbnl0aGluZy5oOiBVc2VkIGZvciByZWFkIGFuZCB3cml0ZSBtYW5hZ2VtZW50
IG92ZXIgdGhlIEkyQyBwb3J0LiBSZXRyaWV2ZWQgZnJvbSB0aGUgZm9sbG93aW5nIFVSTDogaHR0
cDovL2ZvcnVtLkFyZHVpbm8uY2MvaW5kZXgucGhwP3RvcGljPTEwNDczMi4wLjwvcD48cD48YnI+
PC9wPjxwPiMjIyMgSW5kdXN0cnVpbm88L3A+PHA+PGJyPjwvcD48cD4qIFU4Z2xpYjogbGlicmFy
eSB1c2VkIHRvIHBhaW50IG9uIHRoZSBzY3JlZW4gb2YgdGhlIEluZHVzdHJ1aW5vLiBSZXRyaWV2
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIFVSTDogaHR0cHM6Ly9naXRodWIuY29tL29saWtyYXVzL3U4
Z2xpYjwvcD48cD4qIE0ydGtsaWI6IGxpYnJhcnkgdXNlZCB0byBwYWludCB0aGUgbWVudXMgb24g
dGhlIHNjcmVlbiBvZiB0aGUgSW5kdXN0cnVpbm8uIFJldHJpZXZlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgVVJMOiBodHRwczovL2dpdGh1Yi5jb20vb2xpa3JhdXMvbTJ0a2xpYjwvcD48cD4qIFdpcmU6
IGxpYnJhcnkgdXNlZCBmb3IgSTJDIGNvbm5lY3Rpb25zLjwvcD48cD4qIFtFYXN5VHJhbnNmZXJd
KGh0dHA6Ly93d3cuYmlsbHBvcnRlci5pbmZvL2Vhc3l0cmFuc2Zlci1BcmR1aW5vLWxpYnJhcnkv
KTogbGlicmFyeSB1c2VkIGZvciBjb21tdW5pY2F0aW9ucyBiZXR3ZWVuIGJhcnMuPC9wPjxwPiog
SW50ZXJuYWwgbGlicmFyaWVzOiBjcmVhdGVkIGJ5IHVzIGFuZCB1c2VkIHRvIG1ha2UgcHJvZ3Jh
bW1pbmcgZWFzaWVyLjwvcD48cD4mbmJzcDsqIENvbW11bmljYXRpb25TdHJ1Y3R1cmVzLmg6IHVz
ZWQgdG8gY29udGFpbiB0aGUgZGF0YSBzdHJ1Y3R1cmVzIHRoYXQgd2VyZSBzZW50IGJldHdlZW4g
QXJkdWlub3MuPC9wPjxwPiZuYnNwOyogRUVQUk9NQW55dGhpbmcuaDogdXNlZCB0byBtYW5hZ2Ug
ZGF0YSBzdG9yZWQgaW4gdGhlIEVFUFJPTS4gUmV0cmlldmVkIGZyb20gdGhlIGZvbGxvd2luZyBV
Ukw6IGh0dHA6Ly9wbGF5Z3JvdW5kLkFyZHVpbm8uY2MvQ29kZS9FRVBST01Xcml0ZUFueXRoaW5n
PC9wPjxwPiZuYnNwOyogSTJDX0FueXRoaW5nLmg6IFVzZWQgZm9yIHJlYWQgYW5kIHdyaXRlIG1h
bmFnZW1lbnQgb3ZlciB0aGUgSTJDIHBvcnQuIFJldHJpZXZlZCBmcm9tIHRoZSBmb2xsb3dpbmcg
VVJMOiBodHRwOi8vZm9ydW0uQXJkdWluby5jYy9pbmRleC5waHA/dG9waWM9MTA0NzMyLjAuPC9w
PjxwPjxicj48L3A+PHA+IyMjIyBBcmR1aW5vIHdpdGggc2NyZWVuPC9wPjxwPjxicj48L3A+PHA+
KiBMaXF1aWRDcnlzdGFsOiBsaWJyYXJ5IHVzZWQgdG8gcGFpbnQgb24gdGhlIHNjcmVlbiBvZiB0
aGUgQXJkdWluby4gUmV0cmlldmVkIGZyb20gdGhlIGZvbGxvd2luZyBVUkw6IGh0dHBzOi8vYml0
YnVja2V0Lm9yZy9mbWFscGFydGlkYS9uZXctbGlxdWlkY3J5c3RhbC9kb3dubG9hZHMvPC9wPjxw
PiogV2lyZTogbGlicmFyeSB1c2VkIGZvciBJMkMgY29ubmVjdGlvbnMuPC9wPjxwPiogW0Vhc3lU
cmFuc2Zlcl0oaHR0cDovL3d3dy5iaWxscG9ydGVyLmluZm8vZWFzeXRyYW5zZmVyLUFyZHVpbm8t
bGlicmFyeS8pOiBsaWJyYXJ5IHVzZWQgZm9yIGNvbW11bmljYXRpb25zIGJldHdlZW4gYmFycy48
L3A+PHA+KiBJbnRlcm5hbCBsaWJyYXJpZXM6IGNyZWF0ZWQgYnkgdXMgYW5kIHVzZWQgdG8gbWFr
ZSBwcm9ncmFtbWluZyBlYXNpZXIuPC9wPjxwPiZuYnNwOyogQ29tbXVuaWNhdGlvblN0cnVjdHVy
ZXMuaDogdXNlZCB0byBjb250YWluIHRoZSBkYXRhIHN0cnVjdHVyZXMgdGhhdCB3ZXJlIHNlbnQg
YmV0d2VlbiBBcmR1aW5vcy48L3A+PHA+Jm5ic3A7KiBFRVBST01Bbnl0aGluZy5oOiB1c2VkIHRv
IG1hbmFnZSBkYXRhIHN0b3JlZCBpbiB0aGUgRUVQUk9NLiBSZXRyaWV2ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIFVSTDogaHR0cDovL3BsYXlncm91bmQuQXJkdWluby5jYy9Db2RlL0VFUFJPTVdyaXRl
QW55dGhpbmc8L3A+PHA+Jm5ic3A7KiBJMkNfQW55dGhpbmcuaDogVXNlZCBmb3IgcmVhZCBhbmQg
d3JpdGUgbWFuYWdlbWVudCBvdmVyIHRoZSBJMkMgcG9ydC4gUmV0cmlldmVkIGZyb20gdGhlIGZv
bGxvd2luZyBVUkw6IGh0dHA6Ly9mb3J1bS5BcmR1aW5vLmNjL2luZGV4LnBocD90b3BpYz0xMDQ3
MzIuMC48L3A+PHA+PGJyPjwvcD48cD4jIyMgVGhlIEFyZHVpbm8gY29kZSBpcyBhcyBmb2xsb3dz
OjwvcD48cD48YnI+PC9wPjxwPlRvIHZlcmlmeSB0aGUgSTJDIGFkZHJlc3Mgb2YgdGhlIGVsZW1l
bnRzIHRoYXQgdXNlZCB0aGlzIHByb3RvY29sIGhhcyBiZWVuIHVzZWQgdGhlIGNhbGxlZCBwcm9n
cmFtIFtBcmR1aW5vIEkyYyBTY2FubmVyXShodHRwOi8vdG9kYm90LmNvbS9ibG9nLzIwMDkvMTEv
MjkvaTJjc2Nhbm5lci1wZGUtQXJkdWluby1hcy1pMmMtYnVzLXNjYW5uZXIvKS48L3A+PHA+PGJy
PjwvcD48cD4jIyMjIEludGVybmFsIGxpYnJhcnk8L3A+PHA+PGJyPjwvcD48cD5UaGlzIGlzIG5v
dCBhbiBBcmR1aW5vIGxpYnJhcnksIG90aGVyd2lzZSBpdCBpcyBhIGdyb3VwIG9mIHV0aWxpdGll
cyBhbmQgZGVmaW5pdGlvbiBvZiBkYXRhIHN0cnVjdHVyZXMgdGhhdCBhcmUgdXNlZCBieSB0aGUg
b3RoZXIgQXJkdWlubyBwcm9ncmFtcyB1c2VkIGluIHRoZSBwcm9qZWN0LjwvcD48cD48YnI+PC9w
PjxwPlRoZXNlIGNsYXNzZXMgYXJlIGxvY2F0ZWQgaW5zaWRlIHRoZSBmb2xkZXIgYFxcVXNlclxE
b2N1bWVudHNcQXJkdWlub1xsaWJyYXJpZXNgLCBJbiBvdXIgY2FzZSB3ZSBoYXZlIGNyZWF0ZWQg
YSBmb2xkZXIgaW5zaWRlIHdpdGggdGhlIG5hbWUgYHV0aWxpZGFkZXNfYmFycmFzYC4gJm5ic3A7
PC9wPjxwPlRoZSBmaWxlcyB0aGF0IGNvbXBvc2UgaXQgYXJlOjwvcD48cD48YnI+PC9wPjxwPiMj
IyMjIENvbW11bmljYXRpb25TdHJ1Y3R1cmVzLmg8L3A+PHA+PGJyPjwvcD48cD5UaGlzIGZpbGUg
Y29udGFpbnMgdGhlIGRhdGEgc3RydWN0dXJlcyB0aGF0IGFyZSB1c2VkIGZvciBjb21tdW5pY2F0
aW9ucyBiZXR3ZWVuIEFyZHVpbm9zLjwvcD48cD48YnI+PC9wPjxwPmBgYCBjcHA8L3A+PHA+I2lu
Y2x1ZGUgJmx0O0FyZHVpbm8uaCZndDs8L3A+PHA+PGJyPjwvcD48cD4vKjwvcD48cD48c3BhbiBj
bGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+TGFz
IG9wZXJhY2lvbmVzIHF1ZSBzZSBlbnbDrWFuIGVudHJlIGVsIEluZHVzdHJ1aW5vIHkgbGFzIGJh
cnJhcyBwdWVkZW4gc2VyIGxvcyBzaWd1aWVudGVzOjwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUt
dGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgkJPC9zcGFuPjEgLSBQZXRpY2nDs24g
ZGUgY29uZmlndXJhY2nDs24gZGUgYmFycmEuPC9wPjxwPjxzcGFuIGNsYXNzPSJBcHBsZS10YWIt
c3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CQk8L3NwYW4+MiAtIERhdG9zIGRlIHJlY29u
ZmlndXJhY2nDs24gZGUgYmFycmEgKGRhdG9zIG1vZGlmaWNhZG9zIGVuIEluZHVzdHJ1aW5vIHkg
ZW52aWFkb3MgYSBsYXMgYmFycmFzKS48L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFu
IiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCTwvc3Bhbj4zIC0gUGV0aWNpw7NuIGRlIGF1dG8g
Y2FsaWJyYWRvIGRlIGJhcnJhLjwvcD48cD4qLzwvcD48cD48YnI+PC9wPjxwPi8vIE7Dum1lcm8g
ZGUgTERSJ3M8L3A+PHA+I2RlZmluZSBOVU1fTERSIDQ8L3A+PHA+PGJyPjwvcD48cD4vKjwvcD48
cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8
L3NwYW4+Q29uZmlndXJhY2nDs24gZGUgdW4gTERSPC9wPjxwPiovPC9wPjxwPnN0cnVjdCBjb25m
aWdfTERSPC9wPjxwPns8L3A+PHA+Jm5ic3A7IGludCB2YWxvck1lZGlvOzwvcD48cD4mbmJzcDsg
aW50IHZhbG9yVW1icmFsU3VwOzwvcD48cD4mbmJzcDsgaW50IHZhbG9yVW1icmFsSW5mOzwvcD48
cD59OzwvcD48cD48YnI+PC9wPjxwPi8qPC9wPjxwPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3Bh
biIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CTwvc3Bhbj5WYWxvcmVzIGRlIHVuIExEUjwvcD48
cD4qLzwvcD48cD5zdHJ1Y3QgdmFsb3Jlc19MRFI8L3A+PHA+ezwvcD48cD48c3BhbiBjbGFzcz0i
QXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+aW50IHZhbG9y
QWN0dWFsOzwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1z
cGFjZTpwcmUiPgk8L3NwYW4+aW50IHZhbG9yQW50ZXJpb3I7PC9wPjxwPn07PC9wPjxwPjxicj48
L3A+PHA+Lyo8L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUt
c3BhY2U6cHJlIj4JPC9zcGFuPkVzdHJ1Y3R1cmEgZGUgZGF0b3MgcGFyYSBjb211bmljYWNpw7Nu
IGVudHJlIGJhcnJhIGRlIGNvbXVuaWNhY2lvbmVzIHkgYmFycmEgZGUgZGVuc2lkYWQ8L3A+PHA+
Ki88L3A+PHA+c3RydWN0IGRhdG9zX2RlbnNpZGFkX2JhcnJhQ29tX2JhcnJhRGVuczwvcD48cD57
PC9wPjxwPiZuYnNwOyBpbnQgb3BlcmFjaW9uOzwvcD48cD4mbmJzcDsgY29uZmlnX0xEUiBjb25m
TERSW05VTV9MRFJdOzwvcD48cD4mbmJzcDsgaW50IFVtYnJhbFN1cDs8L3A+PHA+Jm5ic3A7IGlu
dCBVbWJyYWxJbmY7PC9wPjxwPn07PC9wPjxwPjxicj48L3A+PHA+Lyo8L3A+PHA+PHNwYW4gY2xh
c3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPkVzdHJ1
Y3R1cmEgZGUgZGF0b3MgcGFyYSBjb211bmljYWNpw7NuIGVudHJlIGJhcnJhIGRlIGRlbnNpZGFk
IHkgYmFycmEgZGUgY29tdW5pY2FjaW9uZXM8L3A+PHA+Ki88L3A+PHA+c3RydWN0IGRhdG9zX2Rl
bnNpZGFkX2JhcnJhRGVuc19iYXJyYUNvbTwvcD48cD57PC9wPjxwPiZuYnNwOyBib29sZWFuIHNh
bGRvOzwvcD48cD4mbmJzcDsgdmFsb3Jlc19MRFIgdmFsTERSW05VTV9MRFJdOzwvcD48cD4mbmJz
cDsgLy9QYXJhIGN1YW5kbyBzZSBhdXRvIGNhbGlicmEgbGEgYmFycmE8L3A+PHA+Jm5ic3A7IGJv
b2xlYW4gY2FtYmlvczsgLy8gSW5kaWNhIHNpIHNlIGRldnVlbHZlbiBjYW1iaW9zIGRlIGNvbmZp
Z3VyYWNpw7NuIG8gZGF0b3MuPC9wPjxwPiZuYnNwOyBjb25maWdfTERSIGNvbmZMRFJbTlVNX0xE
Ul07PC9wPjxwPn07PC9wPjxwPjxicj48L3A+PHA+Lyo8L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxl
LXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPkVzdHJ1Y3R1cmEgZGUg
ZGF0b3MgcGFyYSBjb211bmljYWNpw7NuIGVudHJlIEluZHVzdHJ1aW5vIHkgYmFycmEgZGUgY29t
dW5pY2FjaW9uZXM8L3A+PHA+Ki88L3A+PHA+c3RydWN0IGRhdG9zX2RlbnNpZGFkX0luZHVzdHJ1
aW5vX2JhcnJhQ29tPC9wPjxwPns8L3A+PHA+Jm5ic3A7IGludCBvcGVyYWNpb247PC9wPjxwPiZu
YnNwOyBpbnQgVW1icmFsU3VwOzwvcD48cD4mbmJzcDsgaW50IFVtYnJhbEluZjs8L3A+PHA+fTs8
L3A+PHA+PGJyPjwvcD48cD4vKjwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0
eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+RXN0cnVjdHVyYSBkZSBkYXRvcyBwYXJhIGNv
bXVuaWNhY2nDs24gZW50cmUgYmFycmEgZGUgY29tdW5pY2FjaW9uZXMgeSBJbmR1c3RydWlubzwv
cD48cD4qLzwvcD48cD5zdHJ1Y3QgZGF0b3NfZGVuc2lkYWRfYmFycmFDb21fSW5kdXN0cnVpbm88
L3A+PHA+ezwvcD48cD4mbmJzcDsgaW50IHRpcG87IC8vVGlwbyBkZSBiYXJyYS48L3A+PHA+Jm5i
c3A7IGludCB0aXBvUmVzcHVlc3RhOyAvLyBWYWxvcmVzIHBvc2libGVzOiAxIC0gUmVzcHVlc3Rh
IGEgcGV0aWNpw7NuIGRlIGNvbmZpZ3VyYWNpw7NuIG8gYSBhdXRvIGNhbGlicmFkbywgMiAtIFJl
c3B1ZXN0YSBjb24gZGF0b3MuPC9wPjxwPiZuYnNwOyBib29sZWFuIHNhbGRvOzwvcD48cD4mbmJz
cDsgdmFsb3Jlc19MRFIgdmFsTERSW05VTV9MRFJdOzwvcD48cD4mbmJzcDsgaW50IFVtYnJhbFN1
cDs8L3A+PHA+Jm5ic3A7IGludCBVbWJyYWxJbmY7PC9wPjxwPn07PC9wPjxwPjxicj48L3A+PHA+
YGBgPC9wPjxwPjxicj48L3A+PHA+IyMjIyMgRUVQUk9NQW55dGhpbmcuaDwvcD48cD48YnI+PC9w
PjxwPlRoaXMgZmlsZSBpcyB1c2VkIGZvciB0aGUgbWFuYWdlbWVudCBvZiBkYXRhIHN0b3JlZCBp
biB0aGUgRUVQUk9NLiBJdCBoYXMgYmVlbiBvYnRhaW5lZCBmcm9tIHRoZSBpbmZvcm1hdGlvbiBj
b250YWluZWQgaW4gdGhlIGZvbGxvd2luZyBwYWdlIG9mIHRoZSBBcmR1aW5vIHdlYnNpdGU6IFto
dHRwOi8vcGxheWdyb3VuZC5BcmR1aW5vLmNjL0NvZGUvRUVQUk9NV3JpdGVBbnl0aGluZ10oaHR0
cDovL3BsYXlncm91bmQuQXJkdWluby5jYy9Db2RlL0VFUFJPTVdyaXRlQW55dGhpbmcpLjwvcD48
cD48YnI+PC9wPjxwPmBgYCBjcHA8L3A+PHA+I2luY2x1ZGUgJmx0O0VFUFJPTS5oJmd0OzwvcD48
cD4jaW5jbHVkZSAmbHQ7QXJkdWluby5oJmd0OyAmbmJzcDsvLyBmb3IgdHlwZSBkZWZpbml0aW9u
czwvcD48cD48YnI+PC9wPjxwPnRlbXBsYXRlICZsdDtjbGFzcyBUJmd0OyBpbnQgRUVQUk9NX3dy
aXRlQW55dGhpbmcoaW50IGVlLCBjb25zdCBUJmFtcDsgdmFsdWUpPC9wPjxwPns8L3A+PHA+Jm5i
c3A7IGNvbnN0IGJ5dGUqIHAgPSAoY29uc3QgYnl0ZSopKGNvbnN0IHZvaWQqKSZhbXA7dmFsdWU7
PC9wPjxwPiZuYnNwOyB1bnNpZ25lZCBpbnQgaTs8L3A+PHA+Jm5ic3A7IGZvciAoaSA9IDA7IGkg
Jmx0OyBzaXplb2YodmFsdWUpOyBpKyspPC9wPjxwPiZuYnNwOyAmbmJzcDsgRUVQUk9NLndyaXRl
KGVlKyssICpwKyspOzwvcD48cD4mbmJzcDsgcmV0dXJuIGk7PC9wPjxwPn08L3A+PHA+PGJyPjwv
cD48cD50ZW1wbGF0ZSAmbHQ7Y2xhc3MgVCZndDsgaW50IEVFUFJPTV9yZWFkQW55dGhpbmcoaW50
IGVlLCBUJmFtcDsgdmFsdWUpPC9wPjxwPns8L3A+PHA+Jm5ic3A7IGJ5dGUqIHAgPSAoYnl0ZSop
KHZvaWQqKSZhbXA7dmFsdWU7PC9wPjxwPiZuYnNwOyB1bnNpZ25lZCBpbnQgaTs8L3A+PHA+Jm5i
c3A7IGZvciAoaSA9IDA7IGkgJmx0OyBzaXplb2YodmFsdWUpOyBpKyspPC9wPjxwPiZuYnNwOyAm
bmJzcDsgKnArKyA9IEVFUFJPTS5yZWFkKGVlKyspOzwvcD48cD4mbmJzcDsgcmV0dXJuIGk7PC9w
PjxwPn08L3A+PHA+PGJyPjwvcD48cD52b2lkIEVFUFJPTV9jbGVhcigpPC9wPjxwPns8L3A+PHA+
Jm5ic3A7IC8vIHdyaXRlIGEgMCB0byBhbGwgNTEyIGJ5dGVzIG9mIHRoZSBFRVBST008L3A+PHA+
Jm5ic3A7IGZvciAoaW50IGkgPSAwOyBpICZsdDsgNTEyOyBpKyspPC9wPjxwPiZuYnNwOyAmbmJz
cDsgRUVQUk9NLndyaXRlKGksIDApOzwvcD48cD59PC9wPjxwPmBgYDwvcD48cD48YnI+PC9wPjxw
PiMjIyMjIEkyQ19Bbnl0aGluZy5oPC9wPjxwPjxicj48L3A+PHA+VGhpcyBmaWxlIGlzIHVzZWQg
Zm9yIHJlYWQgYW5kIHdyaXRlIG1hbmFnZW1lbnQgb24gdGhlIEkyQyBwb3J0LiBJdCBoYXMgYmVl
biBvYnRhaW5lZCBmcm9tIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhlIGZvbGxvd2lu
ZyBibG9nIHBvc3QgZnJvbSBBcmR1aW5vOiBbaHR0cDovL2ZvcnVtLkFyZHVpbm8uY2MvaW5kZXgu
cGhwP3RvcGljPTEwNDczMi4wXShodHRwOi8vZm9ydW0uQXJkdWluby5jYy9pbmRleC5waHA/dG9w
aWM9MTA0NzMyLjApPC9wPjxwPjxicj48L3A+PHA+YGBgIGNwcDwvcD48cD4vLyBXcml0dGVuIGJ5
IE5pY2sgR2FtbW9uPC9wPjxwPi8vIE1heSAyMDEyPC9wPjxwPjxicj48L3A+PHA+I2luY2x1ZGUg
Jmx0O0FyZHVpbm8uaCZndDs8L3A+PHA+I2luY2x1ZGUgJmx0O1dpcmUuaCZndDs8L3A+PHA+PGJy
PjwvcD48cD50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVCZndDsgdW5zaWduZWQgaW50IEkyQ193cml0
ZUFueXRoaW5nIChjb25zdCBUJmFtcDsgdmFsdWUpPC9wPjxwPiZuYnNwOyB7PC9wPjxwPiZuYnNw
OyAmbmJzcDsgY29uc3QgYnl0ZSAqIHAgPSAoY29uc3QgYnl0ZSopICZhbXA7dmFsdWU7PC9wPjxw
PiZuYnNwOyAmbmJzcDsgdW5zaWduZWQgaW50IGk7PC9wPjxwPiZuYnNwOyAmbmJzcDsgZm9yIChp
ID0gMDsgaSAmbHQ7IHNpemVvZiB2YWx1ZTsgaSsrKTwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7IFdpcmUud3JpdGUoKnArKyk7PC9wPjxwPiZuYnNwOyAmbmJzcDsgcmV0
dXJuIGk7PC9wPjxwPiZuYnNwOyB9ICZuYnNwOy8vIGVuZCBvZiBJMkNfd3JpdGVBbnl0aGluZzwv
cD48cD48YnI+PC9wPjxwPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUJmd0OyB1bnNpZ25lZCBpbnQg
STJDX3JlYWRBbnl0aGluZyhUJmFtcDsgdmFsdWUpPC9wPjxwPiZuYnNwOyB7PC9wPjxwPiZuYnNw
OyAmbmJzcDsgYnl0ZSAqIHAgPSAoYnl0ZSopICZhbXA7dmFsdWU7PC9wPjxwPiZuYnNwOyAmbmJz
cDsgdW5zaWduZWQgaW50IGk7PC9wPjxwPiZuYnNwOyAmbmJzcDsgZm9yIChpID0gMDsgaSAmbHQ7
IHNpemVvZiB2YWx1ZTsgaSsrKTwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICpwKysgPSBXaXJlLnJlYWQoKTs8L3A+PHA+Jm5ic3A7ICZuYnNwOyByZXR1cm4gaTs8L3A+
PHA+Jm5ic3A7IH0gJm5ic3A7Ly8gZW5kIG9mIEkyQ19yZWFkQW55dGhpbmc8L3A+PHA+YGBgPC9w
PjxwPjxicj48L3A+PHA+IyMjIyBEZW5zaXR5IGJhcjwvcD48cD48YnI+PC9wPjxwPlRoZSBmaWxl
cyB0aGF0IG1ha2UgdXAgdGhpcyBwcm9qZWN0IC8gcHJvZ3JhbSBhcmU6PC9wPjxwPjxicj48L3A+
PHA+KiAqKmJhcnJhX2RlbnNpZGFkLmlubzoqKiBUaGlzIGZpbGUgaXMgdGhlIGJhc2UgZmlsZSBv
ZiB0aGUgcHJvamVjdCBhbmQgY29udGFpbnMgdGhlIGZvbGxvd2luZyBlbGVtZW50czo8L3A+PHA+
Jm5ic3A7KiBCYXNpYyBtZXRob2RzIG9mIGFuIEFyZHVpbm8gcHJvZ3JhbSAoc2V0dXAgYW5kIGxv
b3ApLjwvcD48cD4mbmJzcDsqIERlY2xhcmF0aW9uIGFuZCBpbml0aWFsaXphdGlvbiBvZiBnbG9i
YWwgdmFyaWFibGVzLjwvcD48cD4mbmJzcDsqIERlY2xhcmF0aW9uIG9mIGRhdGEgc3RydWN0dXJl
cyBpbnRlcm5hbCB0byB0aGUgcHJvZ3JhbS48L3A+PHA+KiAqKmRhdG9zX2RlbnNpZGFkLmlubzoq
KiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGRhdGEgc3RydWN0dXJlcyB3aXRoIHRoZSBpbmZvcm1h
dGlvbiBvZiB0aGUgZGVuc2l0eSBiYXIgYW5kIHRoZSBtYW5hZ2VtZW50IG9mIHRoZXNlLjwvcD48
cD4qICoqZGF0b3NfTERSLmlubzoqKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGNvbmZpZ3VyYXRp
b24gbWFuYWdlbWVudCBhbmQgZGF0YSBhY2Nlc3Mgb2YgdGhlIExEUnMsIGFkZGl0aW9uYWxseSB3
aGVuIGl0IG9idGFpbnMgdGhlIGRhdGEgb2YgdGhlIExEUnMgaXQgcHJvY2Vzc2VzIHRoZW0uPC9w
PjxwPjxicj48L3A+PHA+Jmx0O2lmcmFtZSBzcmM9Imh0dHBzOi8vY3JlYXRlLmFyZHVpbm8uY2Mv
ZWRpdG9yL2p1YWFsdGEvZjE1ODIwMzgtOGJjMi00OTU0LWIzMTQtN2E1ODhiY2ZkYjYyL3ByZXZp
ZXc/ZW1iZWQiIHN0eWxlPSJoZWlnaHQ6NTEwcHg7d2lkdGg6MTAwJTttYXJnaW46MTBweCAwIiBm
cmFtZWJvcmRlcj0iMCImZ3Q7Jmx0Oy9pZnJhbWUmZ3Q7PC9wPjxwPjxicj48L3A+PHA+PGJyPjwv
cD48cD4jIyMjIENvbW11bmljYXRpb24gYmFyPC9wPjxwPjxicj48L3A+PHA+VGhlIGZpbGVzIHRo
YXQgbWFrZSB1cCB0aGlzIHByb2plY3QgLyBwcm9ncmFtIGFyZTo8L3A+PHA+PGJyPjwvcD48cD4q
ICoqYmFycmFfZGVuc2lkYWRfY29uZWN0b3IuaW5vOioqIFRoaXMgZmlsZSBpcyB0aGUgYmFzZSBm
aWxlIG9mIHRoZSBwcm9qZWN0IGFuZCBjb250YWlucyB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOjwv
cD48cD4mbmJzcDsqIEJhc2ljIG1ldGhvZHMgb2YgYW4gQXJkdWlubyBwcm9ncmFtIChzZXR1cCBh
bmQgbG9vcCkuPC9wPjxwPiZuYnNwOyogRGVjbGFyYXRpb24gYW5kIGluaXRpYWxpemF0aW9uIG9m
IGdsb2JhbCB2YXJpYWJsZXMuPC9wPjxwPiZuYnNwOyogRGVjbGFyYXRpb24gb2YgZGF0YSBzdHJ1
Y3R1cmVzIGludGVybmFsIHRvIHRoZSBwcm9ncmFtLjwvcD48cD4qICoqZGF0b3NfZGVuc2lkYWQu
aW5vOioqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgZGF0YSBzdHJ1Y3R1cmVzIHdpdGggdGhlIGlu
Zm9ybWF0aW9uIG9mIHRoZSBkZW5zaXR5IGJhciBhbmQgdGhlIG1hbmFnZW1lbnQgb2YgdGhlc2Uu
PC9wPjxwPjxicj48L3A+PHA+Jmx0O2lmcmFtZSBzcmM9Imh0dHBzOi8vY3JlYXRlLmFyZHVpbm8u
Y2MvZWRpdG9yL2p1YWFsdGEvMDAwNTc2YTctNDJmNC00Yjc0LWJiMjItZWE2OWVmMWUyZTIxL3By
ZXZpZXc/ZW1iZWQiIHN0eWxlPSJoZWlnaHQ6NTEwcHg7d2lkdGg6MTAwJTttYXJnaW46MTBweCAw
IiBmcmFtZWJvcmRlcj0iMCImZ3Q7Jmx0Oy9pZnJhbWUmZ3Q7PC9wPjxwPjxicj48L3A+PHA+PGJy
PjwvcD48cD4jIyMjIEluZHVzdHJ1aW5vPC9wPjxwPjxicj48L3A+PHA+VGhlIGZpbGVzIHRoYXQg
bWFrZSB1cCB0aGlzIHByb2plY3QgLyBwcm9ncmFtIGFyZTo8L3A+PHA+PGJyPjwvcD48cD4qICoq
SW5kdXN0cnVpbm8uaW5vOioqIFRoaXMgZmlsZSBpcyB0aGUgYmFzZSBmaWxlIG9mIHRoZSBwcm9q
ZWN0IGFuZCBjb250YWlucyB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOjwvcD48cD4mbmJzcDsqIEJh
c2ljIG1ldGhvZHMgb2YgYW4gQXJkdWlubyBwcm9ncmFtIChzZXR1cCBhbmQgbG9vcCkuPC9wPjxw
PiZuYnNwOyogRGVjbGFyYXRpb24gYW5kIGluaXRpYWxpemF0aW9uIG9mIGdsb2JhbCB2YXJpYWJs
ZXMuPC9wPjxwPiZuYnNwOyogRGVjbGFyYXRpb24gb2YgZGF0YSBzdHJ1Y3R1cmVzIGludGVybmFs
IHRvIHRoZSBwcm9ncmFtLjwvcD48cD4qICoqSW5kdXN0cnVpbm9fSTJjLmlubzoqKiBUaGlzIGZp
bGUgY29udGFpbnMgdGhlIG1hbmFnZW1lbnQgb2YgSTJDIGNvbW11bmljYXRpb25zLjwvcD48cD4q
ICoqSW5kdXN0cnVpbm9fTWVudS5pbm86KiogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBwYWludGlu
ZyBhbmQgbWFuYWdlbWVudCBvZiB0aGUgcHJvZ3JhbSBtZW51LjwvcD48cD4qICoqSW5kdXN0cnVp
bm9fUGFudGFsbGEuaW5vOioqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgbWFuYWdlbWVudCBvZiB0
aGUgc2NyZWVuLjwvcD48cD4qICoqSW5kdXN0cnVpbm9fZGF0b3MuaW5vOioqIFRoaXMgZmlsZSBj
b250YWlucyB0aGUgbWFuYWdlbWVudCBvZiByZWNlaXZlZCBhbmQgc2VudCBkYXRhLjwvcD48cD48
YnI+PC9wPjxwPiZsdDtpZnJhbWUgc3JjPSJodHRwczovL2NyZWF0ZS5hcmR1aW5vLmNjL2VkaXRv
ci9qdWFhbHRhLzdhYWY4MGUwLWQ5YmQtNDc1Ny05NGNkLTI3YjI2ZTZmNWFjZS9wcmV2aWV3P2Vt
YmVkIiBzdHlsZT0iaGVpZ2h0OjUxMHB4O3dpZHRoOjEwMCU7bWFyZ2luOjEwcHggMCIgZnJhbWVi
b3JkZXI9IjAiJmd0OyZsdDsvaWZyYW1lJmd0OzwvcD48cD48YnI+PC9wPjxwPjxicj48L3A+PHA+
IyMjIyBBcmR1aW5vIHdpdGggc2NyZWVuPC9wPjxwPjxicj48L3A+PHA+VGhlIGZpbGVzIHRoYXQg
bWFrZSB1cCB0aGlzIHByb2plY3QgLyBwcm9ncmFtIGFyZTo8L3A+PHA+PGJyPjwvcD48cD4qICoq
YXJkX3BhbnRhbGxhLmlubzoqKiBUaGlzIGZpbGUgaXMgdGhlIGJhc2UgZmlsZSBvZiB0aGUgcHJv
amVjdCBhbmQgY29udGFpbnMgdGhlIGZvbGxvd2luZyBlbGVtZW50czo8L3A+PHA+Jm5ic3A7KiBC
YXNpYyBtZXRob2RzIG9mIGFuIEFyZHVpbm8gcHJvZ3JhbSAoc2V0dXAgYW5kIGxvb3ApLjwvcD48
cD4mbmJzcDsqIERlY2xhcmF0aW9uIGFuZCBpbml0aWFsaXphdGlvbiBvZiBnbG9iYWwgdmFyaWFi
bGVzLjwvcD48cD4mbmJzcDsqIERlY2xhcmF0aW9uIG9mIGRhdGEgc3RydWN0dXJlcyBpbnRlcm5h
bCB0byB0aGUgcHJvZ3JhbS48L3A+PHA+KiAqKkJvdG9uZXMuaW5vOioqIFRoaXMgZmlsZSBjb250
YWlucyB0aGUgbWV0aG9kcyB1c2VkIHRvIHdvcmsgd2l0aCB0aGUgYnV0dG9ucy48L3A+PHA+KiAq
KmNvbmV4aW9uX0kyYy5pbm86KiogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBtYW5hZ2VtZW50IG9m
IEkyQyBjb21tdW5pY2F0aW9ucy48L3A+PHA+KiAqKk1lbnVzLmlubzoqKiBUaGlzIGZpbGUgY29u
dGFpbnMgdGhlIHBhaW50aW5nIGFuZCBtYW5hZ2VtZW50IG9mIHRoZSBwcm9ncmFtIG1lbnUuPC9w
PjxwPiogKipQYW50YWxsYS5pbm86KiogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBtYW5hZ2VtZW50
IG9mIHRoZSBzY3JlZW4uPC9wPjxwPiogKipnZXN0aW9uX2RhdG9zLmlubzoqKiBUaGlzIGZpbGUg
Y29udGFpbnMgdGhlIG1hbmFnZW1lbnQgb2YgcmVjZWl2ZWQgYW5kIHNlbnQgZGF0YS48L3A+PHA+
PGJyPjwvcD48cD4mbHQ7aWZyYW1lIHNyYz0iaHR0cHM6Ly9jcmVhdGUuYXJkdWluby5jYy9lZGl0
b3IvanVhYWx0YS9mMTU4MjAzOC04YmMyLTQ5NTQtYjMxNC03YTU4OGJjZmRiNjIvcHJldmlldz9l
bWJlZCIgc3R5bGU9ImhlaWdodDo1MTBweDt3aWR0aDoxMDAlO21hcmdpbjoxMHB4IDAiIGZyYW1l
Ym9yZGVyPSIwIiZndDsmbHQ7L2lmcmFtZSZndDs8L3A+PHA+PGJyPjwvcD48cD48YnI+PC9wPjxw
PiMjIEFja25vd2xlZGdtZW50czwvcD48cD48YnI+PC9wPjxwPlRvIG15IGZyaWVuZCBGcmFuIGZv
ciB0aGlua2luZyBvZiBtZSBmb3IgdGhlIHJlYWxpemF0aW9uIG9mIHRoaXMgcHJvamVjdCwgd2l0
aG91dCBoaW0gSSB3b3VsZCBub3QgaGF2ZSBoYWQgYW55IGNvbnRhY3Qgd2l0aCB0aGUgQXJkdWlu
byB3b3JsZC48L3A+PHA+PGJyPjwvcD48cD5NeSBicm90aGVyIFJhdWwgZm9yIHRoZSBjcmVhdGlv
biBvZiB0aGUgdGVzdCBiZW5jaCBhbmQgZm9yIGdpdmluZyB1cyBzb21lIGluZ2VuaW91cyBzb2x1
dGlvbiB0byB0aGUgc3RydWN0dXJhbCBwcm9ibGVtcyBvZiB0aGUgYmFycyB0aGF0IHdlIG1ldCBh
bG9uZyB0aGUgd2F5IGFuZCBibG9ja2VkIHVzIGF0IHNvbWUgcG9pbnQuPC9wPjxwPjxicj48L3A+
PHA+VG8gbXkgZnJpZW5kIFNlcmdpbyBmb3IgaGlzIG9jY2FzaW9uYWwgaGVscCBpbiB0aGUgZGVz
aWduIG9mIGVsZWN0cm9uaWNzLjwvcD48cD48YnI+PC9wPjxwPlRvIE1hcmlvIGFuZCBKb3NlIEFu
dG9uaW8gZm9yIGhlbHBpbmcgbWUgdG8gcmV2aXNlIHRoZSBhcnRpY2xlIGFuZCB0byBwcm9wb3Nl
IGltcHJvdmVtZW50cyBpbiB0aGUgd3JpdGluZyBhbmQgdGhlIGZvcm0uPC9wPjxwPjxicj48L3A+
PHA+VG8gdGhlIHJlc3Qgb2YgcGVvcGxlIHdobyB3aXRoIHRoZWlyIGVuY291cmFnZW1lbnQgYW5k
IHB1bmN0dWFsIGhlbHAgaGVscGVkIHVzIHRvIGZpbmlzaCB0aGlzIHByb2plY3QuPC9wPjxkaXY+
PGJyPjwvZGl2Pg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/3184339432908594873/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2017/03/material-density-detection-system-used_31.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/3184339432908594873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/3184339432908594873'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2017/03/material-density-detection-system-used_31.html' title='Material density detection system used to create wet wipes with Arduino 2/2'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-lxmt_FrygIB6BKw9ozZhq93VFNsvr2lXkyVmNP09VzY0zlwxWdFtR5dC2Y2PIOexBoaePPrUMwaC-_yrI0QZSqnCWyffGWQohlWq6b23nhWyHrnmnJlYFdVlETPX9GXLuODpl95RDkYd/s72-c/barra_densidad_bb.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-549057331098235709</id><published>2017-03-31T08:00:00.000+02:00</published><updated>2017-03-31T08:09:03.725+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><title type='text'>Sistema de detección de la densidad del material usado para crear las toallitas húmedas con Arduino 2/2</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=549057331098235709;onPublishedMenu=allposts;onClosedMenu=allposts;postNum=3;src=link&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h2 id=&quot;construcci-n-del-prototipo-final&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Construcción del prototipo final&lt;/h2&gt;
&lt;h3 id=&quot;componentes-usados&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Componentes usados&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Los componentes usados han sido, por módulo:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Barra de densidad&lt;/div&gt;
&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.ebay.es/itm/311064700128?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&quot;&gt;Arduino Pro Mini 5v&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;4 - &lt;a href=&quot;http://www.aliexpress.com/item/10PCS-LOT-10W-900-1000LM-LED-Bulb-IC-SMD-Lamp-Light-Daylight-white-High-Power-LED/892676886.html&quot;&gt;LDRs&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;4 - Resistencias 1k&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;2 - &lt;a href=&quot;http://www.ebay.es/itm/20pcs-2Pin-Plug-in-Screw-Terminal-Block-Connector-5-08mm-Pitch-Through-Hole-OT8G-/221790619454?hash=item33a3c0473e:g:GN4AAOSw3xJVbchf&quot;&gt;Bloques Terminales para PCB&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Barra de comunicaciones&lt;/div&gt;
&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.ebay.es/itm/310562519074?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&quot;&gt;Arduino Pro Mini 5v&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.aliexpress.com/item/10pcslot-LM2596s-DC-DC-step-down-power-supply-module-3A-adjustable-step-down-module-LM2596-voltage/1289330336.html&quot;&gt;Reductor voltaje LM2596s&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;2 - &lt;a href=&quot;http://www.ebay.es/itm/20pcs-2Pin-Plug-in-Screw-Terminal-Block-Connector-5-08mm-Pitch-Through-Hole-OT8G-/221790619454?hash=item33a3c0473e:g:GN4AAOSw3xJVbchf&quot;&gt;Bloques Terminales para PCB&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;https://es.aliexpress.com/item/Free-Shopping-100PCS-TIP122-TO-220-NPN-100V-5A-Silicon-Transistors/982804378.html&quot;&gt;Regulador de voltaje TIP220&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.ebay.es/itm/10x-Aluminum-Heatsink-Heat-Sink-with-Screw-Sets-for-TO-220-Transistor-20x15x10mm-/331644225334?hash=item4d37894736:g:pBcAAOSw3ydV5uq7&quot;&gt;Disipador TIP220&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.dx.com/p/6w-630lm-6500k-cob-LED-module-170-x-15mm-12-14v-198118&quot;&gt;LED de 6W 630lm 6500K COB de 170 x 15 mm.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Industruino&lt;/div&gt;
&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;https://industruino.com/&quot;&gt;Industruino PROTO kit&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.dx.com/p/arduino-5v-relay-module-blue-black-121354&quot;&gt;Modulo relé Keyes_SR1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Arduino con pantalla&lt;/div&gt;
&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;https://store.arduino.cc/product/A000066&quot;&gt;Arduino UNO R3&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.ebay.es/itm/Blue-Display-IIC-I2C-TWI-SP-I-Serial-Interface-1602-16X2-Character-LCD-Module-/162009210885?hash=item25b8806005:g:nsEAAOSw32lYpp16&quot;&gt;Pantalla LCD de 16x2 con I2C&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;3 - Resistencias 10k&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;2 - Resistencias 220&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - LED Rojo&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - LED Verde&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;3 - &lt;a href=&quot;https://www.wish.com/c/5327c1b207aab40f27aecc1e&quot;&gt;Botones&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;1 - &lt;a href=&quot;http://www.dx.com/p/arduino-5v-relay-module-blue-black-121354&quot;&gt;Modulo relé Keyes_SR1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;montaje-del-circuito&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Montaje del circuito&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
El esquema en Fritzing es el siguiente:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Barra de densidad&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-lxmt_FrygIB6BKw9ozZhq93VFNsvr2lXkyVmNP09VzY0zlwxWdFtR5dC2Y2PIOexBoaePPrUMwaC-_yrI0QZSqnCWyffGWQohlWq6b23nhWyHrnmnJlYFdVlETPX9GXLuODpl95RDkYd/s1600/barra_densidad_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Circuito que gestiona la barra de densidad&quot; border=&quot;0&quot; height=&quot;312&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-lxmt_FrygIB6BKw9ozZhq93VFNsvr2lXkyVmNP09VzY0zlwxWdFtR5dC2Y2PIOexBoaePPrUMwaC-_yrI0QZSqnCWyffGWQohlWq6b23nhWyHrnmnJlYFdVlETPX9GXLuODpl95RDkYd/s640/barra_densidad_bb.png&quot; title=&quot;Circuito que gestiona la barra de densidad&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Circuito que gestiona la barra de densidad&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Este circuito se encarga de obtener las mediciones y enviar notificaciones a la barra de comunicaciones para que las redirija.&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Barra de comunicaciones&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHHaY1lAS6cRBe1d2TiuxNxj-JYXfw1O5_7bmnJAaqnaZZLEJlZYIIxXqMbDdFAHZ110aNOdCnlteFa3X7FMp0H7Qoh2dX8fdCVCXQ9K7uAv1dmzvcHHr6-D41xWOmOb5IlphEFqBYRMP/s1600/barra_densidad_conector_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Circuito que gestiona la barra de comunicaciones&quot; border=&quot;0&quot; height=&quot;226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHHaY1lAS6cRBe1d2TiuxNxj-JYXfw1O5_7bmnJAaqnaZZLEJlZYIIxXqMbDdFAHZ110aNOdCnlteFa3X7FMp0H7Qoh2dX8fdCVCXQ9K7uAv1dmzvcHHr6-D41xWOmOb5IlphEFqBYRMP/s640/barra_densidad_conector_bb.png&quot; title=&quot;Circuito que gestiona la barra de comunicaciones&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Circuito que gestiona la barra de comunicaciones&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Este circuito se encarga de las comunicaciones de la barra de densidad, además de la alimentación eléctrica de la barra y todos los componentes que contiene.&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Arduino con pantalla&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuLCM66vXrm357slAvpcxsHCYzibFkfFxtE-qiVQVqjUU46VgqCxPi602tTH_4hVFbaaSBp0w8tHmvoUY8_zC4DDAdRKyRqe7ANP1fCNMVOmWHrj_G5O1OAMKU0agjqiRKfQq2KlpE4IjX/s1600/ard_pantalla_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Arduino con pantalla&quot; border=&quot;0&quot; height=&quot;364&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuLCM66vXrm357slAvpcxsHCYzibFkfFxtE-qiVQVqjUU46VgqCxPi602tTH_4hVFbaaSBp0w8tHmvoUY8_zC4DDAdRKyRqe7ANP1fCNMVOmWHrj_G5O1OAMKU0agjqiRKfQq2KlpE4IjX/s640/ard_pantalla_bb.png&quot; title=&quot;Arduino con pantalla&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Arduino con pantalla&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Este montaje es el realizado para sustituir al Industruino que se quemó.&lt;/div&gt;
&lt;h3 id=&quot;software-funcionalidad-a-implementar-y-dise-o-del-protocolo-utilizado&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software: Funcionalidad a implementar y diseño del protocolo utilizado&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
En este apartado se comenta la funcionalidad que cumple el software creado y el protocolo de mensajería que se ha diseñado para que la comunicación cumpla con la funcionalidad deseada.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
La funcionalidad del software implementado es la siguiente:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Auto calibración de los sensores de luz. Este paso se ha de realizar automáticamente al arrancar la barra de densidad o cuando el usuario lo pida.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;A partir de un valor medio de luz que se considere como válido (la calidad del producto es la correcta) se le han de indicar un porcentaje superior y uno inferior, dentro de los cuales el producto se considera que contiene la calidad deseada. El valor válido se obtendrá desde el auto calibrado.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;A partir de los datos de los 2 puntos anteriores enviar una señal si el producto no está dentro de la calidad deseada.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Cada una de las barras se encarga de una o varias funcionalidades y el Industruino(y posteriormente el Arduino con pantalla) de otras, estas son:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Industruino / Arduino con pantalla:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Configuración de los porcentajes a aplicar al valor medio de calidad.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Activar la señal de aviso si recibe la notificación de que se ha encontrado algún trozo que no cumple la calidad.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Petición de configuración de la barra de densidad.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Barra de densidad&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Ejecución del auto calibrado, ya sea al arrancar o cuando se le pida.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Realizar las mediciones y avisar si alguna está fuera de rango.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Barra de comunicaciones&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Intermediario entre la barra de densidad y el Industruino, dentro de este rol se encarga de:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Convertir los porcentajes pasados por el Industruino a valores dentro del rango de medición y comunicárselos a la barra de densidad.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Pedir a la barra de densidad los valores requeridos por el Industruino y transformándolos si es necesario.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Filtrar los avisos de la barra de densidad al Industruino, sólo avisa al Industruino si ha habido un cambio &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Para la comunicación entre las barras se diseñó el siguiente protocolo de mensajería:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Peticiones desde el Industruino&lt;/div&gt;
&lt;ol style=&quot;list-style-type: lower-roman; margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Petición de configuración actual de barra.&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Barra_comunicaciones
participant Barra_densidad

%%Note over Industruino,Barra_densidad: Petición de &amp;lt;br&amp;gt; configuración
   Industruino-&amp;gt;&amp;gt;Barra_comunicaciones: Petición de configuración
   Barra_comunicaciones--&amp;gt;&amp;gt;Industruino: Envío de configuración
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart0&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 231&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
.messageLine1 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor0&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor1&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor2&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;93&quot;&gt;Petición de configuración&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;75&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;128&quot;&gt;Envío de configuración&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;192.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;192.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;192.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Datos de reconfiguración para la barra (datos modificados en Industruino y enviados a las barras).&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Barra_comunicaciones
participant Barra_densidad

%%Note over Industruino,Barra_densidad: Envío de &amp;lt;br&amp;gt; configuración
   Industruino-&amp;gt;&amp;gt;Barra_comunicaciones: Envío de valor mínimo y máximo en porcentaje
   Barra_comunicaciones-&amp;gt;&amp;gt;Barra_densidad: Envío de valor mínimo y máximo en unidades
   Barra_densidad--&amp;gt;&amp;gt;Barra_comunicaciones: Valor auto calibrado
   Barra_comunicaciones--&amp;gt;&amp;gt;Industruino: Valor auto calibrado
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart1&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 301&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
.messageLine1 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor3&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor4&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor5&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;93&quot;&gt;Envío de valor mínimo y máximo en porcentaje&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;75&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;128&quot;&gt;Envío de valor mínimo y máximo en unidades&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;275&quot; x2=&quot;475&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;163&quot;&gt;Valor auto calibrado&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;475&quot; x2=&quot;275&quot; y1=&quot;170&quot; y2=&quot;170&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;198&quot;&gt;Valor auto calibrado&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;205&quot; y2=&quot;205&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;262.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;262.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;262.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Petición de auto calibrado de barra.&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Barra_comunicaciones
participant Barra_densidad

%%Note over Industruino,Barra_densidad: Petición de &amp;lt;br&amp;gt; auto calibración
   Industruino-&amp;gt;&amp;gt;Barra_comunicaciones: Petición Auto calibrado
   Barra_comunicaciones-&amp;gt;&amp;gt;Barra_densidad: Petición Auto calibrado
   Barra_densidad--&amp;gt;&amp;gt;Barra_comunicaciones: Valor auto calibrado
   Barra_comunicaciones--&amp;gt;&amp;gt;Industruino: Valor auto calibrado
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart2&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 301&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
.messageLine1 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor6&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor7&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor8&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;290&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;93&quot;&gt;Petición Auto calibrado&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;75&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;128&quot;&gt;Petición Auto calibrado&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;275&quot; x2=&quot;475&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;163&quot;&gt;Valor auto calibrado&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;475&quot; x2=&quot;275&quot; y1=&quot;170&quot; y2=&quot;170&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;198&quot;&gt;Valor auto calibrado&lt;/text&gt;&lt;line class=&quot;messageLine1&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none; stroke-dasharray: 3px, 3px;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;205&quot; y2=&quot;205&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;262.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;262.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;225&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;262.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Envíos al Industruino, independientes a los anteriores como respuesta a una petición de éste&lt;/div&gt;
&lt;ol style=&quot;list-style-type: lower-roman; margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Envío de información de auto calibrado (el primer arranque de la barra siempre realiza un auto calibrado, sin que se lo pida el Industruino)&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Barra_comunicaciones
participant Barra_densidad

%%Note over Industruino,Barra_densidad: Aviso de auto calibración inicial
   Barra_densidad-&amp;gt;&amp;gt;Barra_comunicaciones: Valor auto calibrado
   Barra_comunicaciones-&amp;gt;&amp;gt;Industruino: Valor auto calibrado
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart3&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 231&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor9&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor10&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor11&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;93&quot;&gt;Valor auto calibrado&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;475&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;128&quot;&gt;Valor auto calibrado&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;192.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;192.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;192.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px !important; margin: 0px 0px 1.2em !important;&quot;&gt;
Envío de datos sobre las lecturas. Sólo se envía cuando hay un cambio entre dentro o fuera del rango.&lt;/div&gt;
&lt;pre data-origin=&quot;sequenceDiagram
participant Industruino
participant Barra_comunicaciones
participant Barra_densidad

%%Note over Industruino,Barra_densidad: Envío de datos con inicio/fin de detección de producto fuera de calidad
   Barra_densidad-&amp;gt;&amp;gt;Barra_comunicaciones: Valor obtenido y si el valor está dentro o fuera del rango
   Barra_comunicaciones-&amp;gt;&amp;gt;Industruino: Valor obtenido y si el valor está dentro o fuera del rango
&quot;&gt;&lt;code class=&quot;mermaid&quot; data-processed=&quot;true&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;mermaidChart4&quot; style=&quot;max-width: 650px;&quot; viewbox=&quot;-50 -10 650 231&quot; width=&quot;100%&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;style title=&quot;mermaid-svg-internal-css&quot; type=&quot;text/css&quot;&gt;/*  */
.actor { stroke: rgb(204, 204, 255); fill: rgb(236, 236, 255);}
text.actor { fill: rgb(0, 0, 0); stroke: none;}
.actor-line { stroke: rgb(128, 128, 128);}
.messageLine0 { stroke-width: 1.5px; stroke: rgb(51, 51, 51);}
#arrowhead { fill: rgb(51, 51, 51);}
#crosshead path { fill: rgb(51, 51, 51) !important; stroke: rgb(51, 51, 51) !important;}
.messageText { fill: rgb(51, 51, 51); stroke: none;}
/*  */
&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor12&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;75&quot; x2=&quot;75&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;37.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor13&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;275&quot; x2=&quot;275&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;37.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class=&quot;actor-line&quot; id=&quot;actor14&quot; stroke-width=&quot;0.5px&quot; stroke=&quot;#999&quot; x1=&quot;475&quot; x2=&quot;475&quot; y1=&quot;5&quot; y2=&quot;220&quot;&gt;&lt;/line&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;0&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;37.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;defs&gt;&lt;marker id=&quot;arrowhead&quot; markerheight=&quot;4&quot; markerwidth=&quot;6&quot; orient=&quot;auto&quot; refx=&quot;5&quot; refy=&quot;2&quot;&gt;&lt;path d=&quot;M 0,0 V 4 L6,2 Z&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id=&quot;crosshead&quot; markerheight=&quot;8&quot; markerwidth=&quot;15&quot; orient=&quot;auto&quot; refx=&quot;16&quot; refy=&quot;4&quot;&gt;&lt;path d=&quot;M 9,2 V 6 L16,4 Z&quot; fill=&quot;black&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M 0,1 L 6,7 M 6,1 L 0,7&quot; fill=&quot;none&quot; stroke-width=&quot;1px&quot; stroke=&quot;#000000&quot; style=&quot;stroke-dasharray: 0px, 0px;&quot;&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;375&quot; y=&quot;93&quot;&gt;Valor obtenido y si el valor está dentro o fuera del rango&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;475&quot; x2=&quot;275&quot; y1=&quot;100&quot; y2=&quot;100&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;text class=&quot;messageText&quot; style=&quot;text-anchor: middle;&quot; x=&quot;175&quot; y=&quot;128&quot;&gt;Valor obtenido y si el valor está dentro o fuera del rango&lt;/text&gt;&lt;line class=&quot;messageLine0&quot; marker-end=&quot;url(#arrowhead)&quot; stroke-width=&quot;2&quot; stroke=&quot;black&quot; style=&quot;fill: none;&quot; x1=&quot;275&quot; x2=&quot;75&quot; y1=&quot;135&quot; y2=&quot;135&quot;&gt;&lt;/line&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;0&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;75&quot; y=&quot;192.5&quot;&gt;Industruino&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;200&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;275&quot; y=&quot;192.5&quot;&gt;Barra_comunicaciones&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class=&quot;actor&quot; fill=&quot;#eaeaea&quot; height=&quot;65&quot; rx=&quot;3&quot; ry=&quot;3&quot; stroke=&quot;#666&quot; width=&quot;150&quot; x=&quot;400&quot; y=&quot;155&quot;&gt;&lt;/rect&gt;&lt;text class=&quot;actor&quot; style=&quot;text-anchor: middle;&quot; x=&quot;475&quot; y=&quot;192.5&quot;&gt;Barra_densidad&lt;/text&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;librer-as-usadas-en-cada-arduino-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Librerías usadas en cada Arduino:&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
En este apartado se enumeran cada una de las librerías que se han creado y las que se han usado para cada uno de los Arduinos que componen el proyecto.&lt;/div&gt;
&lt;h4 id=&quot;barra-de-densidad&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Barra de densidad&lt;/h4&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.billporter.info/easytransfer-Arduino-library/&quot;&gt;EasyTransfer&lt;/a&gt;: librería usada para las comunicaciones entre barras.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Librerías internas: creadas por nosotros y usadas para facilitar la programación.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CommunicationStructures.h: usada para contener las estructuras de datos que se enviaban entre Arduinos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;EEPROMAnything.h: usada para la gestión de datos que se guardaban en la EEPROM. Obtenida a partir de la siguiente URL: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;I2C_Anything.h: usada para la gestión de lectura y escritura sobre el puerto I2C. Obtenida a partir de la siguiente URL: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;barra-de-comunicaciones&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Barra de comunicaciones&lt;/h4&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Wire: librería usada para las conexiones I2C.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.billporter.info/easytransfer-Arduino-library/&quot;&gt;EasyTransfer&lt;/a&gt;: librería usada para las comunicaciones.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Librerías internas: creadas por nosotros y usadas para facilitar la programación.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CommunicationStructures.h: usada para contener las estructuras de datos que se enviaban entre Arduinos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;EEPROMAnything.h: usada para la gestión de datos que se guardaban en la EEPROM. Obtenida a partir de la siguiente URL: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;I2C_Anything.h: usada para la gestión de lectura y escritura sobre el puerto I2C. Obtenida a partir de la siguiente URL: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;industruino&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Industruino&lt;/h4&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;U8glib: librería usada para pintar en la pantalla del Industruino. Obtenida a partir de la siguiente URL: &lt;a href=&quot;https://github.com/olikraus/u8glib&quot;&gt;https://github.com/olikraus/u8glib&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;M2tklib: librería usada para pintar los menús en la pantalla del Industruino. Obtenida a partir de la siguiente URL: &lt;a href=&quot;https://github.com/olikraus/m2tklib&quot;&gt;https://github.com/olikraus/m2tklib&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Wire: librería usada para las conexiones I2C.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.billporter.info/easytransfer-Arduino-library/&quot;&gt;EasyTransfer&lt;/a&gt;: librería usada para las comunicaciones.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Librerías internas: creadas por nosotros y usadas para facilitar la programación.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CommunicationStructures.h: usada para contener las estructuras de datos que se enviaban entre Arduinos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;EEPROMAnything.h: usada para la gestión de datos que se guardaban en la EEPROM. Obtenida a partir de la siguiente URL: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;I2C_Anything.h: usada para la gestión de lectura y escritura sobre el puerto I2C. Obtenida a partir de la siguiente URL: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;arduino-con-pantalla&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Arduino con pantalla&lt;/h4&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;LiquidCrystal: librería usada para pintar en la pantalla del Arduino. Obtenida a partir de la siguiente URL: &lt;a href=&quot;https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&quot;&gt;https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Wire: librería usada para las conexiones I2C.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.billporter.info/easytransfer-Arduino-library/&quot;&gt;EasyTransfer&lt;/a&gt;: librería usada para las comunicaciones.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Librerías internas: creadas por nosotros y usadas para facilitar la programación.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CommunicationStructures.h: usada para contener las estructuras de datos que se enviaban entre Arduinos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;EEPROMAnything.h: usada para la gestión de datos que se guardaban en la EEPROM. Obtenida a partir de la siguiente URL: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;I2C_Anything.h: usada para la gestión de lectura y escritura sobre el puerto I2C. Obtenida a partir de la siguiente URL: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;el-c-digo-del-arduino-es-el-siguiente-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
El código del Arduino es el siguiente:&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Para comprobar la dirección I2C de los elementos que usaban este protocolo se ha usado el programa llamado &lt;a href=&quot;http://todbot.com/blog/2009/11/29/i2cscanner-pde-Arduino-as-i2c-bus-scanner/&quot;&gt;Arduino I2c Scanner&lt;/a&gt;.&lt;/div&gt;
&lt;h4 id=&quot;librer-a-interna&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Librería interna&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Esta no es una librería de Arduino, si no, es un grupo de utilidades y definición de estructuras de datos que se usan por el resto de programas de Arduino que se usan en el proyecto.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Estas clases están situadas dentro de la carpeta &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;\\Usuario\Documentos\Arduino\libraries&lt;/code&gt;, en nuestro caso hemos creado una carpeta allí dentro con el nombre &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;utilidades_barras&lt;/code&gt;.&lt;br /&gt;
Los ficheros que la componen son:&lt;/div&gt;
&lt;h5 id=&quot;communicationstructures-h&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
CommunicationStructures.h&lt;/h5&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Este fichero contiene las estructuras de datos que se usan para las comunicaciones entre Arduinos.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; text-size-adjust: none; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;arduino .h=&quot;&quot;&gt;&lt;/arduino&gt;&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Las operaciones que se envían entre el Industruino y las barras pueden ser los siguientes:
        1 - Petición de configuración de barra.
        2 - Datos de reconfiguración de barra (datos modificados en Industruino y enviados a las barras).
        3 - Petición de auto calibrado de barra.
*/&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// Número de LDR&#39;s&lt;/span&gt;
&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;define&lt;/span&gt; NUM_LDR 4&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Configuración de un LDR
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; config_LDR
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorMedio;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorUmbralSup;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorUmbralInf;
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Valores de un LDR
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; valores_LDR
{
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorActual;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; valorAnterior;
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Estructura de datos para comunicación entre barra de comunicaciones y barra de densidad
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; datos_densidad_barraCom_barraDens
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; operacion;
  config_LDR confLDR[NUM_LDR];
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralSup;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralInf;
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Estructura de datos para comunicación entre barra de densidad y barra de comunicaciones
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; datos_densidad_barraDens_barraCom
{
  boolean saldo;
  valores_LDR valLDR[NUM_LDR];
  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;//Para cuando se auto calibra la barra&lt;/span&gt;
  boolean cambios; &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// Indica si se devuelven cambios de configuración o datos.&lt;/span&gt;
  config_LDR confLDR[NUM_LDR];
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Estructura de datos para comunicación entre Industruino y barra de comunicaciones
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; datos_densidad_Industruino_barraCom
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; operacion;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralSup;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralInf;
};

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;/*
    Estructura de datos para comunicación entre barra de comunicaciones y Industruino
*/&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;struct&lt;/span&gt; datos_densidad_barraCom_Industruino
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; tipo; &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;//Tipo de barra.&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; tipoRespuesta; &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// Valores posibles: 1 - Respuesta a petición de configuración o a auto calibrado, 2 - Respuesta con datos.&lt;/span&gt;
  boolean saldo;
  valores_LDR valLDR[NUM_LDR];
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralSup;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; UmbralInf;
};
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;eepromanything-h&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
EEPROMAnything.h&lt;/h5&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Este fichero se usa para la gestión de datos que se guardan en la EEPROM. Ha sido obtenida a partir de la información contenida en la siguiente página de la web de Arduino: &lt;a href=&quot;http://playground.arduino.cc/Code/EEPROMWriteAnything&quot;&gt;http://playground.Arduino.cc/Code/EEPROMWriteAnything&lt;/a&gt;.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; text-size-adjust: none; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;eeprom .h=&quot;&quot;&gt;&lt;/eeprom&gt;&lt;/span&gt;
&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;arduino .h=&quot;&quot;&gt;  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// for type definitions&lt;/span&gt;&lt;/arduino&gt;&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;template&lt;/span&gt; &amp;lt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;class&lt;/span&gt; T&amp;gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; EEPROM_writeAnything(&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; ee, &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; T&amp;amp; value)
{
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; byte* p = (&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; byte*)(&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;void&lt;/span&gt;*)&amp;amp;value;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt;(value); i++)
    EEPROM.write(ee++, *p++);
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; i;
}

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;template&lt;/span&gt; &amp;lt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;class&lt;/span&gt; T&amp;gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; EEPROM_readAnything(&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; ee, T&amp;amp; value)
{
  byte* p = (byte*)(&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;void&lt;/span&gt;*)&amp;amp;value;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt;(value); i++)
    *p++ = EEPROM.read(ee++);
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; i;
}

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;void&lt;/span&gt; EEPROM_clear()
{
  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// write a 0 to all 512 bytes of the EEPROM&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;512&lt;/span&gt;; i++)
    EEPROM.write(i, &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;i2c_anything-h&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
I2C_Anything.h&lt;/h5&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Este fichero se usa para la gestión de lectura y escritura sobre el puerto I2C. Ha sido obtenida a partir de la información contenida en la siguiente entrada del blog de Arduino: &lt;a href=&quot;http://forum.arduino.cc/index.php?topic=104732.0&quot;&gt;http://forum.Arduino.cc/index.php?topic=104732.0&lt;/a&gt;&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; text-size-adjust: none; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// Written by Nick Gammon&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// May 2012&lt;/span&gt;

&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;arduino .h=&quot;&quot;&gt;&lt;/arduino&gt;&lt;/span&gt;
&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;include&lt;/span&gt; &lt;wire .h=&quot;&quot;&gt;&lt;/wire&gt;&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;template&lt;/span&gt; &amp;lt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;typename&lt;/span&gt; T&amp;gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; I2C_writeAnything (&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; T&amp;amp; value)
  {
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; byte * p = (&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;const&lt;/span&gt; byte*) &amp;amp;value;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt; value; i++)
          Wire.write(*p++);
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; i;
  }  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// end of I2C_writeAnything&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;template&lt;/span&gt; &amp;lt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;typename&lt;/span&gt; T&amp;gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; I2C_readAnything(T&amp;amp; value)
  {
    byte * p = (byte*) &amp;amp;value;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;int&lt;/span&gt; i;
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;for&lt;/span&gt; (i = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt; value; i++)
          *p++ = Wire.read();
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; i;
  }  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;// end of I2C_readAnything&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;barra-de-densidad&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Barra de densidad&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Los ficheros que componen este proyecto/programa son:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;barra_densidad.ino:&lt;/b&gt; Este fichero es el fichero base del proyecto y contiene los siguientes elementos:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Métodos básicos de un programa en Arduino (setup y loop).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaración e inicialización de variables globales.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaración de estructuras de datos internas al programa.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;datos_densidad.ino:&lt;/b&gt; Este fichero contiene las estructuras de datos con la información de la barra de densidad y la gestión de estas.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;datos_LDR.ino:&lt;/b&gt; Este fichero contiene la gestión de configuración y acceso a datos de los LDRs, adicionalmente cuando obtiene los datos de los LDRs los procesa.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;https://create.arduino.cc/editor/juaalta/f1582038-8bc2-4954-b314-7a588bcfdb62/preview?embed&quot; style=&quot;height: 510px; margin: 10px 0; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h4 id=&quot;barra-de-comunicaciones&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Barra de comunicaciones&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Los ficheros que componen este proyecto/programa son:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;barra_densidad_conector.ino:&lt;/b&gt; Este fichero es el fichero base del proyecto y contiene los siguientes elementos:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Métodos básicos de un programa en Arduino (setup y loop).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaración e inicialización de variables globales.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaración de estructuras de datos internas al programa.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;datos_densidad.ino:&lt;/b&gt; Este fichero contiene las estructuras de datos con la información de la barra de densidad y la gestión de estas.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;https://create.arduino.cc/editor/juaalta/000576a7-42f4-4b74-bb22-ea69ef1e2e21/preview?embed&quot; style=&quot;height: 510px; margin: 10px 0; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h4 id=&quot;industruino&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Industruino&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Los ficheros que componen este proyecto/programa son:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino.ino:&lt;/b&gt; Este fichero es el fichero base del proyecto y contiene los siguientes elementos:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Métodos básicos de un programa en Arduino (setup y loop).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaración e inicialización de variables globales.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaración de estructuras de datos internas al programa.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino_I2c.ino:&lt;/b&gt; Este fichero contiene la gestión de las comunicaciones I2C.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino_Menu.ino:&lt;/b&gt; Este fichero contiene el pintado y gestión del menú del programa.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino_Pantalla.ino:&lt;/b&gt; Este fichero contiene la gestión de la pantalla.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Industruino_datos.ino:&lt;/b&gt; Este fichero contiene la gestión de los datos recibidos y a enviar.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;https://create.arduino.cc/editor/juaalta/7aaf80e0-d9bd-4757-94cd-27b26e6f5ace/preview?embed&quot; style=&quot;height: 510px; margin: 10px 0; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h4 id=&quot;arduino-con-pantalla&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Arduino con pantalla&lt;/h4&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Los ficheros que componen este proyecto/programa son:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;ard_pantalla.ino: Este fichero es el fichero base del proyecto y contiene los siguientes elementos:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Métodos básicos de un programa en Arduino (setup y loop).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaración e inicialización de variables globales.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Declaración de estructuras de datos internas al programa.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Botones.ino: Este fichero contiene los métodos utilizados para trabajar con los botones.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;conexion_I2c.ino: Este fichero contiene la gestión de las comunicaciones I2C.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Menus.ino: Este fichero contiene el pintado y gestión del menú del programa.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Pantalla.ino: Este fichero contiene la gestión de la pantalla.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;gestion_datos.ino: Este fichero contiene la gestión de los datos recibidos y a enviar.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe frameborder=&quot;0&quot; src=&quot;https://create.arduino.cc/editor/juaalta/f1582038-8bc2-4954-b314-7a588bcfdb62/preview?embed&quot; style=&quot;height: 510px; margin: 10px 0; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h2 id=&quot;agradecimientos&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Agradecimientos&lt;/h2&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
A mi amigo Fran por pensar en mí para la realización de este proyecto, sin el no hubiera tenido ningún contacto con el mundo de Arduino.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
A mi hermano Raul por la creación del banco de pruebas y por darnos alguna solución ingeniosa a los problemas estructurales de las barras que nos encontramos por el camino y nos bloquearon en algún momento puntual.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
A mi amigo Sergio por sus ayudas puntuales en el diseño de la electrónica.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
A Mario y a Jose Antonio por ayudarme a revisar el artículo y proponerme mejoras en la redacción y la forma.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Al resto de gente que con sus ánimos y ayudas puntuales nos ayudaron a acabar este proyecto.&lt;/div&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+IyMgQ29uc3RydWNjacOzbiBkZWwgcHJvdG90aXBvIGZpbmFsPC9wPjxwPjxicj48L3A+PHA+
IyMjIENvbXBvbmVudGVzIHVzYWRvczwvcD48cD48YnI+PC9wPjxwPkxvcyBjb21wb25lbnRlcyB1
c2Fkb3MgaGFuIHNpZG8sIHBvciBtw7NkdWxvOjwvcD48cD48YnI+PC9wPjxwPi0gQmFycmEgZGUg
ZGVuc2lkYWQ8L3A+PHA+Jm5ic3A7ICZuYnNwOyAtIDEgLSBbQXJkdWlubyBQcm8gTWluaSA1dl0o
aHR0cDovL3d3dy5lYmF5LmVzL2l0bS8zMTEwNjQ3MDAxMjg/X3Rya3NpZD1wMjA2MDM1My5tMjc0
OS5sMjY0OSZhbXA7c3NQYWdlTmFtZT1TVFJLJTNBTUVCSURYJTNBSVQpPC9wPjxwPiZuYnNwOyAm
bmJzcDsgLSA0IC0gW0xEUnNdKGh0dHA6Ly93d3cuYWxpZXhwcmVzcy5jb20vaXRlbS8xMFBDUy1M
T1QtMTBXLTkwMC0xMDAwTE0tTEVELUJ1bGItSUMtU01ELUxhbXAtTGlnaHQtRGF5bGlnaHQtd2hp
dGUtSGlnaC1Qb3dlci1MRUQvODkyNjc2ODg2Lmh0bWwpPC9wPjxwPiZuYnNwOyAmbmJzcDsgLSA0
IC0gUmVzaXN0ZW5jaWFzIDFrPC9wPjxwPiZuYnNwOyAmbmJzcDsgLSAyIC0gW0Jsb3F1ZXMgVGVy
bWluYWxlcyBwYXJhIFBDQl0oaHR0cDovL3d3dy5lYmF5LmVzL2l0bS8yMHBjcy0yUGluLVBsdWct
aW4tU2NyZXctVGVybWluYWwtQmxvY2stQ29ubmVjdG9yLTUtMDhtbS1QaXRjaC1UaHJvdWdoLUhv
bGUtT1Q4Ry0vMjIxNzkwNjE5NDU0P2hhc2g9aXRlbTMzYTNjMDQ3M2U6ZzpHTjRBQU9TdzN4SlZi
Y2hmKTwvcD48cD48YnI+PC9wPjxwPi0gQmFycmEgZGUgY29tdW5pY2FjaW9uZXM8L3A+PHA+Jm5i
c3A7ICZuYnNwOyAtIDEgLSBbQXJkdWlubyBQcm8gTWluaSA1dl0oaHR0cDovL3d3dy5lYmF5LmVz
L2l0bS8zMTA1NjI1MTkwNzQ/X3Rya3NpZD1wMjA2MDM1My5tMjc0OS5sMjY0OSZhbXA7c3NQYWdl
TmFtZT1TVFJLJTNBTUVCSURYJTNBSVQpPC9wPjxwPiZuYnNwOyAmbmJzcDsgLSAxIC0gW1JlZHVj
dG9yIHZvbHRhamUgTE0yNTk2c10oaHR0cDovL3d3dy5hbGlleHByZXNzLmNvbS9pdGVtLzEwcGNz
bG90LUxNMjU5NnMtREMtREMtc3RlcC1kb3duLXBvd2VyLXN1cHBseS1tb2R1bGUtM0EtYWRqdXN0
YWJsZS1zdGVwLWRvd24tbW9kdWxlLUxNMjU5Ni12b2x0YWdlLzEyODkzMzAzMzYuaHRtbCk8L3A+
PHA+Jm5ic3A7ICZuYnNwOyAtIDIgLSBbQmxvcXVlcyBUZXJtaW5hbGVzIHBhcmEgUENCXShodHRw
Oi8vd3d3LmViYXkuZXMvaXRtLzIwcGNzLTJQaW4tUGx1Zy1pbi1TY3Jldy1UZXJtaW5hbC1CbG9j
ay1Db25uZWN0b3ItNS0wOG1tLVBpdGNoLVRocm91Z2gtSG9sZS1PVDhHLS8yMjE3OTA2MTk0NTQ/
aGFzaD1pdGVtMzNhM2MwNDczZTpnOkdONEFBT1N3M3hKVmJjaGYpPC9wPjxwPiZuYnNwOyAmbmJz
cDsgLSAxIC0gW1JlZ3VsYWRvciBkZSB2b2x0YWplIFRJUDIyMF0oaHR0cHM6Ly9lcy5hbGlleHBy
ZXNzLmNvbS9pdGVtL0ZyZWUtU2hvcHBpbmctMTAwUENTLVRJUDEyMi1UTy0yMjAtTlBOLTEwMFYt
NUEtU2lsaWNvbi1UcmFuc2lzdG9ycy85ODI4MDQzNzguaHRtbCk8L3A+PHA+PHNwYW4gY2xhc3M9
IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPi0gMSAtIFtE
aXNpcGFkb3IgVElQMjIwXShodHRwOi8vd3d3LmViYXkuZXMvaXRtLzEweC1BbHVtaW51bS1IZWF0
c2luay1IZWF0LVNpbmstd2l0aC1TY3Jldy1TZXRzLWZvci1UTy0yMjAtVHJhbnNpc3Rvci0yMHgx
NXgxMG1tLS8zMzE2NDQyMjUzMzQ/aGFzaD1pdGVtNGQzNzg5NDczNjpnOnBCY0FBT1N3M3lkVjV1
cTcpPC9wPjxwPiZuYnNwOyAmbmJzcDsgLSAxIC0gW0xFRCBkZSA2VyA2MzBsbSA2NTAwSyBDT0Ig
ZGUgMTcwIHggMTUgbW0uXShodHRwOi8vd3d3LmR4LmNvbS9wLzZ3LTYzMGxtLTY1MDBrLWNvYi1M
RUQtbW9kdWxlLTE3MC14LTE1bW0tMTItMTR2LTE5ODExOCk8L3A+PHA+PGJyPjwvcD48cD4tIElu
ZHVzdHJ1aW5vPC9wPjxwPiZuYnNwOyAmbmJzcDsgLSAxIC0gW0luZHVzdHJ1aW5vIFBST1RPIGtp
dF0oaHR0cHM6Ly9JbmR1c3RydWluby5jb20vKTwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFi
LXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+LSAxIC0gW01vZHVsbyByZWzD
qSBLZXllc19TUjFdKGh0dHA6Ly93d3cuZHguY29tL3AvYXJkdWluby01di1yZWxheS1tb2R1bGUt
Ymx1ZS1ibGFjay0xMjEzNTQpPC9wPjxwPjxicj48L3A+PHA+LSBBcmR1aW5vIGNvbiBwYW50YWxs
YTwvcD48cD4mbmJzcDsgJm5ic3A7IC0gMSAtIFtBcmR1aW5vIFVOTyBSM10oaHR0cHM6Ly9zdG9y
ZS5hcmR1aW5vLmNjL3Byb2R1Y3QvQTAwMDA2Nik8L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRh
Yi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPi0gMSAtIFtQYW50YWxsYSBM
Q0QgZGUgMTZ4MiBjb24gSTJDXShodHRwOi8vd3d3LmViYXkuZXMvaXRtL0JsdWUtRGlzcGxheS1J
SUMtSTJDLVRXSS1TUC1JLVNlcmlhbC1JbnRlcmZhY2UtMTYwMi0xNlgyLUNoYXJhY3Rlci1MQ0Qt
TW9kdWxlLS8xNjIwMDkyMTA4ODU/aGFzaD1pdGVtMjViODgwNjAwNTpnOm5zRUFBT1N3MzJsWXBw
MTYpPC9wPjxwPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNl
OnByZSI+CTwvc3Bhbj4tIDMgLSBSZXNpc3RlbmNpYXMgMTBrPC9wPjxwPjxzcGFuIGNsYXNzPSJB
cHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CTwvc3Bhbj4tIDIgLSBSZXNp
c3RlbmNpYXMgMjIwPC9wPjxwPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9Indo
aXRlLXNwYWNlOnByZSI+CTwvc3Bhbj4tIDEgLSBMRUQgUm9qbzwvcD48cD48c3BhbiBjbGFzcz0i
QXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+LSAxIC0gTEVE
IFZlcmRlPC9wPjxwPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNw
YWNlOnByZSI+CTwvc3Bhbj4tIDMgLSBbQm90b25lc10oaHR0cHM6Ly93d3cud2lzaC5jb20vYy81
MzI3YzFiMjA3YWFiNDBmMjdhZWNjMWUpPC9wPjxwPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3Bh
biIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CTwvc3Bhbj4tIDEgLSBbTW9kdWxvIHJlbMOpIEtl
eWVzX1NSMV0oaHR0cDovL3d3dy5keC5jb20vcC9hcmR1aW5vLTV2LXJlbGF5LW1vZHVsZS1ibHVl
LWJsYWNrLTEyMTM1NCk8L3A+PHA+PGJyPjwvcD48cD48YnI+PC9wPjxwPiMjIyBNb250YWplIGRl
bCBjaXJjdWl0bzwvcD48cD48YnI+PC9wPjxwPkVsIGVzcXVlbWEgZW4gRnJpdHppbmcgZXMgZWwg
c2lndWllbnRlOjwvcD48cD48YnI+PC9wPjxwPi0gQmFycmEgZGUgZGVuc2lkYWQ8L3A+PHA+PGJy
PjwvcD48cD4hW0NpcmN1aXRvIHF1ZSBnZXN0aW9uYSBsYSBiYXJyYSBkZSBkZW5zaWRhZF0oLi9p
bWFnZW5lc192My9iYXJyYV9kZW5zaWRhZF9iYi5wbmcgIkNpcmN1aXRvIHF1ZSBnZXN0aW9uYSBs
YSBiYXJyYSBkZSBkZW5zaWRhZCIpPC9wPjxwPjxicj48L3A+PHA+RXN0ZSBjaXJjdWl0byBzZSBl
bmNhcmdhIGRlIG9idGVuZXIgbGFzIG1lZGljaW9uZXMgeSBlbnZpYXIgbm90aWZpY2FjaW9uZXMg
YSBsYSBiYXJyYSBkZSBjb211bmljYWNpb25lcyBwYXJhIHF1ZSBsYXMgcmVkaXJpamEuPC9wPjxw
Pjxicj48L3A+PHA+LSBCYXJyYSBkZSBjb211bmljYWNpb25lczwvcD48cD48YnI+PC9wPjxwPiFb
Q2lyY3VpdG8gcXVlIGdlc3Rpb25hIGxhIGJhcnJhIGRlIGNvbXVuaWNhY2lvbmVzXSguL2ltYWdl
bmVzX3YzL2JhcnJhX2RlbnNpZGFkX2NvbmVjdG9yX2JiLnBuZyAiQ2lyY3VpdG8gcXVlIGdlc3Rp
b25hIGxhIGJhcnJhIGRlIGNvbXVuaWNhY2lvbmVzIik8L3A+PHA+PGJyPjwvcD48cD5Fc3RlIGNp
cmN1aXRvIHNlIGVuY2FyZ2EgZGUgbGFzIGNvbXVuaWNhY2lvbmVzIGRlIGxhIGJhcnJhIGRlIGRl
bnNpZGFkLCBhZGVtw6FzIGRlIGxhIGFsaW1lbnRhY2nDs24gZWzDqWN0cmljYSBkZSBsYSBiYXJy
YSB5IHRvZG9zIGxvcyBjb21wb25lbnRlcyBxdWUgY29udGllbmUuPC9wPjxwPjxicj48L3A+PHA+
LSBBcmR1aW5vIGNvbiBwYW50YWxsYTwvcD48cD48YnI+PC9wPjxwPiFbQXJkdWlubyBjb24gcGFu
dGFsbGFdKC4vaW1hZ2VuZXNfdjMvYXJkX3BhbnRhbGxhX2JiLnBuZyAiQXJkdWlubyBjb24gcGFu
dGFsbGEiKTwvcD48cD48YnI+PC9wPjxwPkVzdGUgbW9udGFqZSBlcyBlbCByZWFsaXphZG8gcGFy
YSBzdXN0aXR1aXIgYWwgSW5kdXN0cnVpbm8gcXVlIHNlIHF1ZW3Dsy48L3A+PHA+PGJyPjwvcD48
cD4jIyMgU29mdHdhcmU6IEZ1bmNpb25hbGlkYWQgYSBpbXBsZW1lbnRhciB5IGRpc2XDsW8gZGVs
IHByb3RvY29sbyB1dGlsaXphZG88L3A+PHA+PGJyPjwvcD48cD5FbiBlc3RlIGFwYXJ0YWRvIHNl
IGNvbWVudGEgbGEgZnVuY2lvbmFsaWRhZCBxdWUgY3VtcGxlIGVsIHNvZnR3YXJlIGNyZWFkbyB5
IGVsIHByb3RvY29sbyBkZSBtZW5zYWplcsOtYSBxdWUgc2UgaGEgZGlzZcOxYWRvIHBhcmEgcXVl
IGxhIGNvbXVuaWNhY2nDs24gY3VtcGxhIGNvbiBsYSBmdW5jaW9uYWxpZGFkIGRlc2VhZGEuPC9w
PjxwPjxicj48L3A+PHA+TGEgZnVuY2lvbmFsaWRhZCBkZWwgc29mdHdhcmUgaW1wbGVtZW50YWRv
IGVzIGxhIHNpZ3VpZW50ZTo8L3A+PHA+PGJyPjwvcD48cD4qIEF1dG8gY2FsaWJyYWNpw7NuIGRl
IGxvcyBzZW5zb3JlcyBkZSBsdXouIEVzdGUgcGFzbyBzZSBoYSBkZSByZWFsaXphciBhdXRvbcOh
dGljYW1lbnRlIGFsIGFycmFuY2FyIGxhIGJhcnJhIGRlIGRlbnNpZGFkIG8gY3VhbmRvIGVsIHVz
dWFyaW8gbG8gcGlkYS48L3A+PHA+KiBBIHBhcnRpciBkZSB1biB2YWxvciBtZWRpbyBkZSBsdXog
cXVlIHNlIGNvbnNpZGVyZSBjb21vIHbDoWxpZG8gKGxhIGNhbGlkYWQgZGVsIHByb2R1Y3RvIGVz
IGxhIGNvcnJlY3RhKSBzZSBsZSBoYW4gZGUgaW5kaWNhciB1biBwb3JjZW50YWplIHN1cGVyaW9y
IHkgdW5vIGluZmVyaW9yLCBkZW50cm8gZGUgbG9zIGN1YWxlcyBlbCBwcm9kdWN0byBzZSBjb25z
aWRlcmEgcXVlIGNvbnRpZW5lIGxhIGNhbGlkYWQgZGVzZWFkYS4gRWwgdmFsb3IgdsOhbGlkbyBz
ZSBvYnRlbmRyw6EgZGVzZGUgZWwgYXV0byBjYWxpYnJhZG8uPC9wPjxwPiogQSBwYXJ0aXIgZGUg
bG9zIGRhdG9zIGRlIGxvcyAyIHB1bnRvcyBhbnRlcmlvcmVzIGVudmlhciB1bmEgc2XDsWFsIHNp
IGVsIHByb2R1Y3RvIG5vIGVzdMOhIGRlbnRybyBkZSBsYSBjYWxpZGFkIGRlc2VhZGEuPC9wPjxw
Pjxicj48L3A+PHA+Q2FkYSB1bmEgZGUgbGFzIGJhcnJhcyBzZSBlbmNhcmdhIGRlIHVuYSBvIHZh
cmlhcyBmdW5jaW9uYWxpZGFkZXMgeSBlbCBJbmR1c3RydWlubyh5IHBvc3Rlcmlvcm1lbnRlIGVs
IEFyZHVpbm8gY29uIHBhbnRhbGxhKSBkZSBvdHJhcywgZXN0YXMgc29uOjwvcD48cD48YnI+PC9w
PjxwPiogSW5kdXN0cnVpbm8gLyBBcmR1aW5vIGNvbiBwYW50YWxsYTo8L3A+PHA+Jm5ic3A7LSBD
b25maWd1cmFjacOzbiBkZSBsb3MgcG9yY2VudGFqZXMgYSBhcGxpY2FyIGFsIHZhbG9yIG1lZGlv
IGRlIGNhbGlkYWQuPC9wPjxwPiZuYnNwOy0gQWN0aXZhciBsYSBzZcOxYWwgZGUgYXZpc28gc2kg
cmVjaWJlIGxhIG5vdGlmaWNhY2nDs24gZGUgcXVlIHNlIGhhIGVuY29udHJhZG8gYWxnw7puIHRy
b3pvIHF1ZSBubyBjdW1wbGUgbGEgY2FsaWRhZC48L3A+PHA+Jm5ic3A7LSBQZXRpY2nDs24gZGUg
Y29uZmlndXJhY2nDs24gZGUgbGEgYmFycmEgZGUgZGVuc2lkYWQuPC9wPjxwPiogQmFycmEgZGUg
ZGVuc2lkYWQ8L3A+PHA+Jm5ic3A7LSBFamVjdWNpw7NuIGRlbCBhdXRvIGNhbGlicmFkbywgeWEg
c2VhIGFsIGFycmFuY2FyIG8gY3VhbmRvIHNlIGxlIHBpZGEuPC9wPjxwPiZuYnNwOy0gUmVhbGl6
YXIgbGFzIG1lZGljaW9uZXMgeSBhdmlzYXIgc2kgYWxndW5hIGVzdMOhIGZ1ZXJhIGRlIHJhbmdv
LjwvcD48cD4qIEJhcnJhIGRlIGNvbXVuaWNhY2lvbmVzPC9wPjxwPiZuYnNwOy0gSW50ZXJtZWRp
YXJpbyBlbnRyZSBsYSBiYXJyYSBkZSBkZW5zaWRhZCB5IGVsIEluZHVzdHJ1aW5vLCBkZW50cm8g
ZGUgZXN0ZSByb2wgc2UgZW5jYXJnYSBkZTo8L3A+PHA+Jm5ic3A7ICZuYnNwOy0gQ29udmVydGly
IGxvcyBwb3JjZW50YWplcyBwYXNhZG9zIHBvciBlbCBJbmR1c3RydWlubyBhIHZhbG9yZXMgZGVu
dHJvIGRlbCByYW5nbyBkZSBtZWRpY2nDs24geSBjb211bmljw6Fyc2Vsb3MgYSBsYSBiYXJyYSBk
ZSBkZW5zaWRhZC48L3A+PHA+Jm5ic3A7ICZuYnNwOy0gUGVkaXIgYSBsYSBiYXJyYSBkZSBkZW5z
aWRhZCBsb3MgdmFsb3JlcyByZXF1ZXJpZG9zIHBvciBlbCBJbmR1c3RydWlubyB5IHRyYW5zZm9y
bcOhbmRvbG9zIHNpIGVzIG5lY2VzYXJpby48L3A+PHA+Jm5ic3A7ICZuYnNwOy0gRmlsdHJhciBs
b3MgYXZpc29zIGRlIGxhIGJhcnJhIGRlIGRlbnNpZGFkIGFsIEluZHVzdHJ1aW5vLCBzw7NsbyBh
dmlzYSBhbCBJbmR1c3RydWlubyBzaSBoYSBoYWJpZG8gdW4gY2FtYmlvJm5ic3A7PC9wPjxwPjxi
cj48L3A+PHA+UGFyYSBsYSBjb211bmljYWNpw7NuIGVudHJlIGxhcyBiYXJyYXMgc2UgZGlzZcOx
w7MgZWwgc2lndWllbnRlIHByb3RvY29sbyBkZSBtZW5zYWplcsOtYTo8L3A+PHA+PGJyPjwvcD48
cD4qIFBldGljaW9uZXMgZGVzZGUgZWwgSW5kdXN0cnVpbm88L3A+PHA+Jm5ic3A7MS4gUGV0aWNp
w7NuIGRlIGNvbmZpZ3VyYWNpw7NuIGFjdHVhbCBkZSBiYXJyYS48L3A+PHA+YGBgIG1lcm1haWQ8
L3A+PHA+c2VxdWVuY2VEaWFncmFtPC9wPjxwPiZuYnNwOyAmbmJzcDsgcGFydGljaXBhbnQgSW5k
dXN0cnVpbm88L3A+PHA+Jm5ic3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBCYXJyYV9jb211bmljYWNp
b25lczwvcD48cD4mbmJzcDsgJm5ic3A7IHBhcnRpY2lwYW50IEJhcnJhX2RlbnNpZGFkPC9wPjxw
Pjxicj48L3A+PHA+Jm5ic3A7ICZuYnNwOyAlJU5vdGUgb3ZlciBJbmR1c3RydWlubyxCYXJyYV9k
ZW5zaWRhZDogUGV0aWNpw7NuIGRlICZsdDticiZndDsgY29uZmlndXJhY2nDs248L3A+PHA+Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEluZHVzdHJ1aW5vLSZndDsmZ3Q7QmFycmFfY29tdW5p
Y2FjaW9uZXM6IFBldGljacOzbiBkZSBjb25maWd1cmFjacOzbjwvcD48cD4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgQmFycmFfY29tdW5pY2FjaW9uZXMtLSZndDsmZ3Q7SW5kdXN0cnVpbm86
IEVudsOtbyBkZSBjb25maWd1cmFjacOzbjwvcD48cD5gYGA8L3A+PHA+Jm5ic3A7Mi4gRGF0b3Mg
ZGUgcmVjb25maWd1cmFjacOzbiBwYXJhIGxhIGJhcnJhIChkYXRvcyBtb2RpZmljYWRvcyBlbiBJ
bmR1c3RydWlubyB5IGVudmlhZG9zIGEgbGFzIGJhcnJhcykuPC9wPjxwPmBgYCBtZXJtYWlkPC9w
PjxwPnNlcXVlbmNlRGlhZ3JhbTwvcD48cD4mbmJzcDsgJm5ic3A7IHBhcnRpY2lwYW50IEluZHVz
dHJ1aW5vPC9wPjxwPiZuYnNwOyAmbmJzcDsgcGFydGljaXBhbnQgQmFycmFfY29tdW5pY2FjaW9u
ZXM8L3A+PHA+Jm5ic3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBCYXJyYV9kZW5zaWRhZDwvcD48cD48
YnI+PC9wPjxwPiZuYnNwOyAmbmJzcDsgJSVOb3RlIG92ZXIgSW5kdXN0cnVpbm8sQmFycmFfZGVu
c2lkYWQ6IEVudsOtbyBkZSAmbHQ7YnImZ3Q7IGNvbmZpZ3VyYWNpw7NuPC9wPjxwPiZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyBJbmR1c3RydWluby0mZ3Q7Jmd0O0JhcnJhX2NvbXVuaWNhY2lv
bmVzOiBFbnbDrW8gZGUgdmFsb3IgbcOtbmltbyB5IG3DoXhpbW8gZW4gcG9yY2VudGFqZTwvcD48
cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQmFycmFfY29tdW5pY2FjaW9uZXMtJmd0OyZn
dDtCYXJyYV9kZW5zaWRhZDogRW52w61vIGRlIHZhbG9yIG3DrW5pbW8geSBtw6F4aW1vIGVuIHVu
aWRhZGVzPC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBCYXJyYV9kZW5zaWRhZC0t
Jmd0OyZndDtCYXJyYV9jb211bmljYWNpb25lczogVmFsb3IgYXV0byBjYWxpYnJhZG88L3A+PHA+
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEJhcnJhX2NvbXVuaWNhY2lvbmVzLS0mZ3Q7Jmd0
O0luZHVzdHJ1aW5vOiBWYWxvciBhdXRvIGNhbGlicmFkbzwvcD48cD5gYGA8L3A+PHA+Jm5ic3A7
My4gUGV0aWNpw7NuIGRlIGF1dG8gY2FsaWJyYWRvIGRlIGJhcnJhLjwvcD48cD5gYGAgbWVybWFp
ZDwvcD48cD5zZXF1ZW5jZURpYWdyYW08L3A+PHA+Jm5ic3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBJ
bmR1c3RydWlubzwvcD48cD4mbmJzcDsgJm5ic3A7IHBhcnRpY2lwYW50IEJhcnJhX2NvbXVuaWNh
Y2lvbmVzPC9wPjxwPiZuYnNwOyAmbmJzcDsgcGFydGljaXBhbnQgQmFycmFfZGVuc2lkYWQ8L3A+
PHA+PGJyPjwvcD48cD4mbmJzcDsgJm5ic3A7ICUlTm90ZSBvdmVyIEluZHVzdHJ1aW5vLEJhcnJh
X2RlbnNpZGFkOiBQZXRpY2nDs24gZGUgJmx0O2JyJmd0OyBhdXRvIGNhbGlicmFjacOzbjwvcD48
cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgSW5kdXN0cnVpbm8tJmd0OyZndDtCYXJyYV9j
b211bmljYWNpb25lczogUGV0aWNpw7NuIEF1dG8gY2FsaWJyYWRvPC9wPjxwPiZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyBCYXJyYV9jb211bmljYWNpb25lcy0mZ3Q7Jmd0O0JhcnJhX2RlbnNp
ZGFkOiBQZXRpY2nDs24gQXV0byBjYWxpYnJhZG88L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7IEJhcnJhX2RlbnNpZGFkLS0mZ3Q7Jmd0O0JhcnJhX2NvbXVuaWNhY2lvbmVzOiBWYWxv
ciBhdXRvIGNhbGlicmFkbzwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQmFycmFf
Y29tdW5pY2FjaW9uZXMtLSZndDsmZ3Q7SW5kdXN0cnVpbm86IFZhbG9yIGF1dG8gY2FsaWJyYWRv
PC9wPjxwPmBgYDwvcD48cD4qIEVudsOtb3MgYWwgSW5kdXN0cnVpbm8sIGluZGVwZW5kaWVudGVz
IGEgbG9zIGFudGVyaW9yZXMgY29tbyByZXNwdWVzdGEgYSB1bmEgcGV0aWNpw7NuIGRlIMOpc3Rl
PC9wPjxwPiZuYnNwOzEuIEVudsOtbyBkZSBpbmZvcm1hY2nDs24gZGUgYXV0byBjYWxpYnJhZG8g
KGVsIHByaW1lciBhcnJhbnF1ZSBkZSBsYSBiYXJyYSBzaWVtcHJlIHJlYWxpemEgdW4gYXV0byBj
YWxpYnJhZG8sIHNpbiBxdWUgc2UgbG8gcGlkYSBlbCBJbmR1c3RydWlubyk8L3A+PHA+YGBgIG1l
cm1haWQ8L3A+PHA+c2VxdWVuY2VEaWFncmFtPC9wPjxwPiZuYnNwOyAmbmJzcDsgcGFydGljaXBh
bnQgSW5kdXN0cnVpbm88L3A+PHA+Jm5ic3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBCYXJyYV9jb211
bmljYWNpb25lczwvcD48cD4mbmJzcDsgJm5ic3A7IHBhcnRpY2lwYW50IEJhcnJhX2RlbnNpZGFk
PC9wPjxwPjxicj48L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hp
dGUtc3BhY2U6cHJlIj4JPC9zcGFuPiUlTm90ZSBvdmVyIEluZHVzdHJ1aW5vLEJhcnJhX2RlbnNp
ZGFkOiBBdmlzbyBkZSBhdXRvIGNhbGlicmFjacOzbiBpbmljaWFsPC9wPjxwPiZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyBCYXJyYV9kZW5zaWRhZC0mZ3Q7Jmd0O0JhcnJhX2NvbXVuaWNhY2lv
bmVzOiBWYWxvciBhdXRvIGNhbGlicmFkbzwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgQmFycmFfY29tdW5pY2FjaW9uZXMtJmd0OyZndDtJbmR1c3RydWlubzogVmFsb3IgYXV0byBj
YWxpYnJhZG88L3A+PHA+YGBgPC9wPjxwPiZuYnNwOzIuIEVudsOtbyBkZSBkYXRvcyBzb2JyZSBs
YXMgbGVjdHVyYXMuIFPDs2xvIHNlIGVudsOtYSBjdWFuZG8gaGF5IHVuIGNhbWJpbyBlbnRyZSBk
ZW50cm8gbyBmdWVyYSBkZWwgcmFuZ28uPC9wPjxwPmBgYCBtZXJtYWlkPC9wPjxwPnNlcXVlbmNl
RGlhZ3JhbTwvcD48cD4mbmJzcDsgJm5ic3A7IHBhcnRpY2lwYW50IEluZHVzdHJ1aW5vPC9wPjxw
PiZuYnNwOyAmbmJzcDsgcGFydGljaXBhbnQgQmFycmFfY29tdW5pY2FjaW9uZXM8L3A+PHA+Jm5i
c3A7ICZuYnNwOyBwYXJ0aWNpcGFudCBCYXJyYV9kZW5zaWRhZDwvcD48cD48YnI+PC9wPjxwPiZu
YnNwOyAmbmJzcDsgJSVOb3RlIG92ZXIgSW5kdXN0cnVpbm8sQmFycmFfZGVuc2lkYWQ6IEVudsOt
byBkZSBkYXRvcyBjb24gaW5pY2lvL2ZpbiBkZSBkZXRlY2Npw7NuIGRlIHByb2R1Y3RvIGZ1ZXJh
IGRlIGNhbGlkYWQ8L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEJhcnJhX2RlbnNp
ZGFkLSZndDsmZ3Q7QmFycmFfY29tdW5pY2FjaW9uZXM6IFZhbG9yIG9idGVuaWRvIHkgc2kgZWwg
dmFsb3IgZXN0w6EgZGVudHJvIG8gZnVlcmEgZGVsIHJhbmdvPC9wPjxwPiZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyBCYXJyYV9jb211bmljYWNpb25lcy0mZ3Q7Jmd0O0luZHVzdHJ1aW5vOiBW
YWxvciBvYnRlbmlkbyB5IHNpIGVsIHZhbG9yIGVzdMOhIGRlbnRybyBvIGZ1ZXJhIGRlbCByYW5n
bzwvcD48cD5gYGA8L3A+PHA+PGJyPjwvcD48cD48YnI+PC9wPjxwPiMjIyBMaWJyZXLDrWFzIHVz
YWRhcyBlbiBjYWRhIEFyZHVpbm86PC9wPjxwPjxicj48L3A+PHA+RW4gZXN0ZSBhcGFydGFkbyBz
ZSBlbnVtZXJhbiBjYWRhIHVuYSBkZSBsYXMgbGlicmVyw61hcyBxdWUgc2UgaGFuIGNyZWFkbyB5
IGxhcyBxdWUgc2UgaGFuIHVzYWRvIHBhcmEgY2FkYSB1bm8gZGUgbG9zIEFyZHVpbm9zIHF1ZSBj
b21wb25lbiBlbCBwcm95ZWN0by48L3A+PHA+PGJyPjwvcD48cD4jIyMjIEJhcnJhIGRlIGRlbnNp
ZGFkPC9wPjxwPjxicj48L3A+PHA+KiBbRWFzeVRyYW5zZmVyXShodHRwOi8vd3d3LmJpbGxwb3J0
ZXIuaW5mby9lYXN5dHJhbnNmZXItQXJkdWluby1saWJyYXJ5Lyk6IGxpYnJlcsOtYSB1c2FkYSBw
YXJhIGxhcyBjb211bmljYWNpb25lcyBlbnRyZSBiYXJyYXMuPC9wPjxwPiogTGlicmVyw61hcyBp
bnRlcm5hczogY3JlYWRhcyBwb3Igbm9zb3Ryb3MgeSB1c2FkYXMgcGFyYSBmYWNpbGl0YXIgbGEg
cHJvZ3JhbWFjacOzbi48L3A+PHA+Jm5ic3A7KiBDb21tdW5pY2F0aW9uU3RydWN0dXJlcy5oOiB1
c2FkYSBwYXJhIGNvbnRlbmVyIGxhcyBlc3RydWN0dXJhcyBkZSBkYXRvcyBxdWUgc2UgZW52aWFi
YW4gZW50cmUgQXJkdWlub3MuPC9wPjxwPiZuYnNwOyogRUVQUk9NQW55dGhpbmcuaDogdXNhZGEg
cGFyYSBsYSBnZXN0acOzbiBkZSBkYXRvcyBxdWUgc2UgZ3VhcmRhYmFuIGVuIGxhIEVFUFJPTS4g
T2J0ZW5pZGEgYSBwYXJ0aXIgZGUgbGEgc2lndWllbnRlIFVSTDogaHR0cDovL3BsYXlncm91bmQu
QXJkdWluby5jYy9Db2RlL0VFUFJPTVdyaXRlQW55dGhpbmc8L3A+PHA+Jm5ic3A7KiBJMkNfQW55
dGhpbmcuaDogdXNhZGEgcGFyYSBsYSBnZXN0acOzbiBkZSBsZWN0dXJhIHkgZXNjcml0dXJhIHNv
YnJlIGVsIHB1ZXJ0byBJMkMuIE9idGVuaWRhIGEgcGFydGlyIGRlIGxhIHNpZ3VpZW50ZSBVUkw6
IGh0dHA6Ly9mb3J1bS5BcmR1aW5vLmNjL2luZGV4LnBocD90b3BpYz0xMDQ3MzIuMC48L3A+PHA+
PGJyPjwvcD48cD4jIyMjIEJhcnJhIGRlIGNvbXVuaWNhY2lvbmVzPC9wPjxwPjxicj48L3A+PHA+
KiBXaXJlOiBsaWJyZXLDrWEgdXNhZGEgcGFyYSBsYXMgY29uZXhpb25lcyBJMkMuPC9wPjxwPiog
W0Vhc3lUcmFuc2Zlcl0oaHR0cDovL3d3dy5iaWxscG9ydGVyLmluZm8vZWFzeXRyYW5zZmVyLUFy
ZHVpbm8tbGlicmFyeS8pOiBsaWJyZXLDrWEgdXNhZGEgcGFyYSBsYXMgY29tdW5pY2FjaW9uZXMu
PC9wPjxwPiogTGlicmVyw61hcyBpbnRlcm5hczogY3JlYWRhcyBwb3Igbm9zb3Ryb3MgeSB1c2Fk
YXMgcGFyYSBmYWNpbGl0YXIgbGEgcHJvZ3JhbWFjacOzbi48L3A+PHA+Jm5ic3A7KiBDb21tdW5p
Y2F0aW9uU3RydWN0dXJlcy5oOiB1c2FkYSBwYXJhIGNvbnRlbmVyIGxhcyBlc3RydWN0dXJhcyBk
ZSBkYXRvcyBxdWUgc2UgZW52aWFiYW4gZW50cmUgQXJkdWlub3MuPC9wPjxwPiZuYnNwOyogRUVQ
Uk9NQW55dGhpbmcuaDogdXNhZGEgcGFyYSBsYSBnZXN0acOzbiBkZSBkYXRvcyBxdWUgc2UgZ3Vh
cmRhYmFuIGVuIGxhIEVFUFJPTS4gT2J0ZW5pZGEgYSBwYXJ0aXIgZGUgbGEgc2lndWllbnRlIFVS
TDogaHR0cDovL3BsYXlncm91bmQuQXJkdWluby5jYy9Db2RlL0VFUFJPTVdyaXRlQW55dGhpbmc8
L3A+PHA+Jm5ic3A7KiBJMkNfQW55dGhpbmcuaDogdXNhZGEgcGFyYSBsYSBnZXN0acOzbiBkZSBs
ZWN0dXJhIHkgZXNjcml0dXJhIHNvYnJlIGVsIHB1ZXJ0byBJMkMuIE9idGVuaWRhIGEgcGFydGly
IGRlIGxhIHNpZ3VpZW50ZSBVUkw6IGh0dHA6Ly9mb3J1bS5BcmR1aW5vLmNjL2luZGV4LnBocD90
b3BpYz0xMDQ3MzIuMDwvcD48cD48YnI+PC9wPjxwPiMjIyMgSW5kdXN0cnVpbm88L3A+PHA+PGJy
PjwvcD48cD4qIFU4Z2xpYjogbGlicmVyw61hIHVzYWRhIHBhcmEgcGludGFyIGVuIGxhIHBhbnRh
bGxhIGRlbCBJbmR1c3RydWluby4gT2J0ZW5pZGEgYSBwYXJ0aXIgZGUgbGEgc2lndWllbnRlIFVS
TDogaHR0cHM6Ly9naXRodWIuY29tL29saWtyYXVzL3U4Z2xpYjwvcD48cD4qIE0ydGtsaWI6IGxp
YnJlcsOtYSB1c2FkYSBwYXJhIHBpbnRhciBsb3MgbWVuw7pzIGVuIGxhIHBhbnRhbGxhIGRlbCBJ
bmR1c3RydWluby4gT2J0ZW5pZGEgYSBwYXJ0aXIgZGUgbGEgc2lndWllbnRlIFVSTDogaHR0cHM6
Ly9naXRodWIuY29tL29saWtyYXVzL20ydGtsaWI8L3A+PHA+KiBXaXJlOiBsaWJyZXLDrWEgdXNh
ZGEgcGFyYSBsYXMgY29uZXhpb25lcyBJMkMuPC9wPjxwPiogW0Vhc3lUcmFuc2Zlcl0oaHR0cDov
L3d3dy5iaWxscG9ydGVyLmluZm8vZWFzeXRyYW5zZmVyLUFyZHVpbm8tbGlicmFyeS8pOiBsaWJy
ZXLDrWEgdXNhZGEgcGFyYSBsYXMgY29tdW5pY2FjaW9uZXMuPC9wPjxwPiogTGlicmVyw61hcyBp
bnRlcm5hczogY3JlYWRhcyBwb3Igbm9zb3Ryb3MgeSB1c2FkYXMgcGFyYSBmYWNpbGl0YXIgbGEg
cHJvZ3JhbWFjacOzbi48L3A+PHA+Jm5ic3A7KiBDb21tdW5pY2F0aW9uU3RydWN0dXJlcy5oOiB1
c2FkYSBwYXJhIGNvbnRlbmVyIGxhcyBlc3RydWN0dXJhcyBkZSBkYXRvcyBxdWUgc2UgZW52aWFi
YW4gZW50cmUgQXJkdWlub3MuPC9wPjxwPiZuYnNwOyogRUVQUk9NQW55dGhpbmcuaDogdXNhZGEg
cGFyYSBsYSBnZXN0acOzbiBkZSBkYXRvcyBxdWUgc2UgZ3VhcmRhYmFuIGVuIGxhIEVFUFJPTS4g
T2J0ZW5pZGEgYSBwYXJ0aXIgZGUgbGEgc2lndWllbnRlIFVSTDogaHR0cDovL3BsYXlncm91bmQu
QXJkdWluby5jYy9Db2RlL0VFUFJPTVdyaXRlQW55dGhpbmc8L3A+PHA+Jm5ic3A7KiBJMkNfQW55
dGhpbmcuaDogdXNhZGEgcGFyYSBsYSBnZXN0acOzbiBkZSBsZWN0dXJhIHkgZXNjcml0dXJhIHNv
YnJlIGVsIHB1ZXJ0byBJMkMuIE9idGVuaWRhIGEgcGFydGlyIGRlIGxhIHNpZ3VpZW50ZSBVUkw6
IGh0dHA6Ly9mb3J1bS5BcmR1aW5vLmNjL2luZGV4LnBocD90b3BpYz0xMDQ3MzIuMDwvcD48cD48
YnI+PC9wPjxwPiMjIyMgQXJkdWlubyBjb24gcGFudGFsbGE8L3A+PHA+PGJyPjwvcD48cD4qIExp
cXVpZENyeXN0YWw6IGxpYnJlcsOtYSB1c2FkYSBwYXJhIHBpbnRhciBlbiBsYSBwYW50YWxsYSBk
ZWwgQXJkdWluby4gT2J0ZW5pZGEgYSBwYXJ0aXIgZGUgbGEgc2lndWllbnRlIFVSTDogaHR0cHM6
Ly9iaXRidWNrZXQub3JnL2ZtYWxwYXJ0aWRhL25ldy1saXF1aWRjcnlzdGFsL2Rvd25sb2Fkcy88
L3A+PHA+KiBXaXJlOiBsaWJyZXLDrWEgdXNhZGEgcGFyYSBsYXMgY29uZXhpb25lcyBJMkMuPC9w
PjxwPiogW0Vhc3lUcmFuc2Zlcl0oaHR0cDovL3d3dy5iaWxscG9ydGVyLmluZm8vZWFzeXRyYW5z
ZmVyLUFyZHVpbm8tbGlicmFyeS8pOiBsaWJyZXLDrWEgdXNhZGEgcGFyYSBsYXMgY29tdW5pY2Fj
aW9uZXMuPC9wPjxwPiogTGlicmVyw61hcyBpbnRlcm5hczogY3JlYWRhcyBwb3Igbm9zb3Ryb3Mg
eSB1c2FkYXMgcGFyYSBmYWNpbGl0YXIgbGEgcHJvZ3JhbWFjacOzbi48L3A+PHA+Jm5ic3A7KiBD
b21tdW5pY2F0aW9uU3RydWN0dXJlcy5oOiB1c2FkYSBwYXJhIGNvbnRlbmVyIGxhcyBlc3RydWN0
dXJhcyBkZSBkYXRvcyBxdWUgc2UgZW52aWFiYW4gZW50cmUgQXJkdWlub3MuPC9wPjxwPiZuYnNw
OyogRUVQUk9NQW55dGhpbmcuaDogdXNhZGEgcGFyYSBsYSBnZXN0acOzbiBkZSBkYXRvcyBxdWUg
c2UgZ3VhcmRhYmFuIGVuIGxhIEVFUFJPTS4gT2J0ZW5pZGEgYSBwYXJ0aXIgZGUgbGEgc2lndWll
bnRlIFVSTDogaHR0cDovL3BsYXlncm91bmQuQXJkdWluby5jYy9Db2RlL0VFUFJPTVdyaXRlQW55
dGhpbmc8L3A+PHA+Jm5ic3A7KiBJMkNfQW55dGhpbmcuaDogdXNhZGEgcGFyYSBsYSBnZXN0acOz
biBkZSBsZWN0dXJhIHkgZXNjcml0dXJhIHNvYnJlIGVsIHB1ZXJ0byBJMkMuIE9idGVuaWRhIGEg
cGFydGlyIGRlIGxhIHNpZ3VpZW50ZSBVUkw6IGh0dHA6Ly9mb3J1bS5BcmR1aW5vLmNjL2luZGV4
LnBocD90b3BpYz0xMDQ3MzIuMDwvcD48cD48YnI+PC9wPjxwPiMjIyBFbCBjw7NkaWdvIGRlbCBB
cmR1aW5vIGVzIGVsIHNpZ3VpZW50ZTo8L3A+PHA+PGJyPjwvcD48cD5QYXJhIGNvbXByb2JhciBs
YSBkaXJlY2Npw7NuIEkyQyBkZSBsb3MgZWxlbWVudG9zIHF1ZSB1c2FiYW4gZXN0ZSBwcm90b2Nv
bG8gc2UgaGEgdXNhZG8gZWwgcHJvZ3JhbWEgbGxhbWFkbyBbQXJkdWlubyBJMmMgU2Nhbm5lcl0o
aHR0cDovL3RvZGJvdC5jb20vYmxvZy8yMDA5LzExLzI5L2kyY3NjYW5uZXItcGRlLUFyZHVpbm8t
YXMtaTJjLWJ1cy1zY2FubmVyLykuPC9wPjxwPjxicj48L3A+PHA+IyMjIyBMaWJyZXLDrWEgaW50
ZXJuYTwvcD48cD48YnI+PC9wPjxwPkVzdGEgbm8gZXMgdW5hIGxpYnJlcsOtYSBkZSBBcmR1aW5v
LCBzaSBubywgZXMgdW4gZ3J1cG8gZGUgdXRpbGlkYWRlcyB5IGRlZmluaWNpw7NuIGRlIGVzdHJ1
Y3R1cmFzIGRlIGRhdG9zIHF1ZSBzZSB1c2FuIHBvciBlbCByZXN0byBkZSBwcm9ncmFtYXMgZGUg
QXJkdWlubyBxdWUgc2UgdXNhbiBlbiBlbCBwcm95ZWN0by48L3A+PHA+PGJyPjwvcD48cD5Fc3Rh
cyBjbGFzZXMgZXN0w6FuIHNpdHVhZGFzIGRlbnRybyBkZSBsYSBjYXJwZXRhIGBcXFVzdWFyaW9c
RG9jdW1lbnRvc1xBcmR1aW5vXGxpYnJhcmllc2AsIGVuIG51ZXN0cm8gY2FzbyBoZW1vcyBjcmVh
ZG8gdW5hIGNhcnBldGEgYWxsw60gZGVudHJvIGNvbiBlbCBub21icmUgYHV0aWxpZGFkZXNfYmFy
cmFzYC4gJm5ic3A7PC9wPjxwPkxvcyBmaWNoZXJvcyBxdWUgbGEgY29tcG9uZW4gc29uOjwvcD48
cD48YnI+PC9wPjxwPiMjIyMjIENvbW11bmljYXRpb25TdHJ1Y3R1cmVzLmg8L3A+PHA+PGJyPjwv
cD48cD5Fc3RlIGZpY2hlcm8gY29udGllbmUgbGFzIGVzdHJ1Y3R1cmFzIGRlIGRhdG9zIHF1ZSBz
ZSB1c2FuIHBhcmEgbGFzIGNvbXVuaWNhY2lvbmVzIGVudHJlIEFyZHVpbm9zLjwvcD48cD48YnI+
PC9wPjxwPmBgYCBjcHA8L3A+PHA+I2luY2x1ZGUgJmx0O0FyZHVpbm8uaCZndDs8L3A+PHA+PGJy
PjwvcD48cD4vKjwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0
ZS1zcGFjZTpwcmUiPgk8L3NwYW4+TGFzIG9wZXJhY2lvbmVzIHF1ZSBzZSBlbnbDrWFuIGVudHJl
IGVsIEluZHVzdHJ1aW5vIHkgbGFzIGJhcnJhcyBwdWVkZW4gc2VyIGxvcyBzaWd1aWVudGVzOjwv
cD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUi
PgkJPC9zcGFuPjEgLSBQZXRpY2nDs24gZGUgY29uZmlndXJhY2nDs24gZGUgYmFycmEuPC9wPjxw
PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CQk8
L3NwYW4+MiAtIERhdG9zIGRlIHJlY29uZmlndXJhY2nDs24gZGUgYmFycmEgKGRhdG9zIG1vZGlm
aWNhZG9zIGVuIEluZHVzdHJ1aW5vIHkgZW52aWFkb3MgYSBsYXMgYmFycmFzKS48L3A+PHA+PHNw
YW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCTwvc3Bh
bj4zIC0gUGV0aWNpw7NuIGRlIGF1dG8gY2FsaWJyYWRvIGRlIGJhcnJhLjwvcD48cD4qLzwvcD48
cD48YnI+PC9wPjxwPi8vIE7Dum1lcm8gZGUgTERSJ3M8L3A+PHA+I2RlZmluZSBOVU1fTERSIDQ8
L3A+PHA+PGJyPjwvcD48cD4vKjwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0
eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+Q29uZmlndXJhY2nDs24gZGUgdW4gTERSPC9w
PjxwPiovPC9wPjxwPnN0cnVjdCBjb25maWdfTERSPC9wPjxwPns8L3A+PHA+Jm5ic3A7IGludCB2
YWxvck1lZGlvOzwvcD48cD4mbmJzcDsgaW50IHZhbG9yVW1icmFsU3VwOzwvcD48cD4mbmJzcDsg
aW50IHZhbG9yVW1icmFsSW5mOzwvcD48cD59OzwvcD48cD48YnI+PC9wPjxwPi8qPC9wPjxwPjxz
cGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CTwvc3Bh
bj5WYWxvcmVzIGRlIHVuIExEUjwvcD48cD4qLzwvcD48cD5zdHJ1Y3QgdmFsb3Jlc19MRFI8L3A+
PHA+ezwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFj
ZTpwcmUiPgk8L3NwYW4+aW50IHZhbG9yQWN0dWFsOzwvcD48cD48c3BhbiBjbGFzcz0iQXBwbGUt
dGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+aW50IHZhbG9yQW50ZXJp
b3I7PC9wPjxwPn07PC9wPjxwPjxicj48L3A+PHA+Lyo8L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxl
LXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPkVzdHJ1Y3R1cmEgZGUg
ZGF0b3MgcGFyYSBjb211bmljYWNpw7NuIGVudHJlIGJhcnJhIGRlIGNvbXVuaWNhY2lvbmVzIHkg
YmFycmEgZGUgZGVuc2lkYWQ8L3A+PHA+Ki88L3A+PHA+c3RydWN0IGRhdG9zX2RlbnNpZGFkX2Jh
cnJhQ29tX2JhcnJhRGVuczwvcD48cD57PC9wPjxwPiZuYnNwOyBpbnQgb3BlcmFjaW9uOzwvcD48
cD4mbmJzcDsgY29uZmlnX0xEUiBjb25mTERSW05VTV9MRFJdOzwvcD48cD4mbmJzcDsgaW50IFVt
YnJhbFN1cDs8L3A+PHA+Jm5ic3A7IGludCBVbWJyYWxJbmY7PC9wPjxwPn07PC9wPjxwPjxicj48
L3A+PHA+Lyo8L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUt
c3BhY2U6cHJlIj4JPC9zcGFuPkVzdHJ1Y3R1cmEgZGUgZGF0b3MgcGFyYSBjb211bmljYWNpw7Nu
IGVudHJlIGJhcnJhIGRlIGRlbnNpZGFkIHkgYmFycmEgZGUgY29tdW5pY2FjaW9uZXM8L3A+PHA+
Ki88L3A+PHA+c3RydWN0IGRhdG9zX2RlbnNpZGFkX2JhcnJhRGVuc19iYXJyYUNvbTwvcD48cD57
PC9wPjxwPiZuYnNwOyBib29sZWFuIHNhbGRvOzwvcD48cD4mbmJzcDsgdmFsb3Jlc19MRFIgdmFs
TERSW05VTV9MRFJdOzwvcD48cD4mbmJzcDsgLy9QYXJhIGN1YW5kbyBzZSBhdXRvIGNhbGlicmEg
bGEgYmFycmE8L3A+PHA+Jm5ic3A7IGJvb2xlYW4gY2FtYmlvczsgLy8gSW5kaWNhIHNpIHNlIGRl
dnVlbHZlbiBjYW1iaW9zIGRlIGNvbmZpZ3VyYWNpw7NuIG8gZGF0b3MuPC9wPjxwPiZuYnNwOyBj
b25maWdfTERSIGNvbmZMRFJbTlVNX0xEUl07PC9wPjxwPn07PC9wPjxwPjxicj48L3A+PHA+Lyo8
L3A+PHA+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJl
Ij4JPC9zcGFuPkVzdHJ1Y3R1cmEgZGUgZGF0b3MgcGFyYSBjb211bmljYWNpw7NuIGVudHJlIElu
ZHVzdHJ1aW5vIHkgYmFycmEgZGUgY29tdW5pY2FjaW9uZXM8L3A+PHA+Ki88L3A+PHA+c3RydWN0
IGRhdG9zX2RlbnNpZGFkX0luZHVzdHJ1aW5vX2JhcnJhQ29tPC9wPjxwPns8L3A+PHA+Jm5ic3A7
IGludCBvcGVyYWNpb247PC9wPjxwPiZuYnNwOyBpbnQgVW1icmFsU3VwOzwvcD48cD4mbmJzcDsg
aW50IFVtYnJhbEluZjs8L3A+PHA+fTs8L3A+PHA+PGJyPjwvcD48cD4vKjwvcD48cD48c3BhbiBj
bGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgk8L3NwYW4+RXN0
cnVjdHVyYSBkZSBkYXRvcyBwYXJhIGNvbXVuaWNhY2nDs24gZW50cmUgYmFycmEgZGUgY29tdW5p
Y2FjaW9uZXMgeSBJbmR1c3RydWlubzwvcD48cD4qLzwvcD48cD5zdHJ1Y3QgZGF0b3NfZGVuc2lk
YWRfYmFycmFDb21fSW5kdXN0cnVpbm88L3A+PHA+ezwvcD48cD4mbmJzcDsgaW50IHRpcG87IC8v
VGlwbyBkZSBiYXJyYS48L3A+PHA+Jm5ic3A7IGludCB0aXBvUmVzcHVlc3RhOyAvLyBWYWxvcmVz
IHBvc2libGVzOiAxIC0gUmVzcHVlc3RhIGEgcGV0aWNpw7NuIGRlIGNvbmZpZ3VyYWNpw7NuIG8g
YSBhdXRvIGNhbGlicmFkbywgMiAtIFJlc3B1ZXN0YSBjb24gZGF0b3MuPC9wPjxwPiZuYnNwOyBi
b29sZWFuIHNhbGRvOzwvcD48cD4mbmJzcDsgdmFsb3Jlc19MRFIgdmFsTERSW05VTV9MRFJdOzwv
cD48cD4mbmJzcDsgaW50IFVtYnJhbFN1cDs8L3A+PHA+Jm5ic3A7IGludCBVbWJyYWxJbmY7PC9w
PjxwPn07PC9wPjxwPjxicj48L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+IyMjIyMgRUVQUk9N
QW55dGhpbmcuaDwvcD48cD48YnI+PC9wPjxwPkVzdGUgZmljaGVybyBzZSB1c2EgcGFyYSBsYSBn
ZXN0acOzbiBkZSBkYXRvcyBxdWUgc2UgZ3VhcmRhbiBlbiBsYSBFRVBST00uIEhhIHNpZG8gb2J0
ZW5pZGEgYSBwYXJ0aXIgZGUgbGEgaW5mb3JtYWNpw7NuIGNvbnRlbmlkYSBlbiBsYSBzaWd1aWVu
dGUgcMOhZ2luYSBkZSBsYSB3ZWIgZGUgQXJkdWlubzogW2h0dHA6Ly9wbGF5Z3JvdW5kLkFyZHVp
bm8uY2MvQ29kZS9FRVBST01Xcml0ZUFueXRoaW5nXShodHRwOi8vcGxheWdyb3VuZC5BcmR1aW5v
LmNjL0NvZGUvRUVQUk9NV3JpdGVBbnl0aGluZykuPC9wPjxwPjxicj48L3A+PHA+YGBgIGNwcDwv
cD48cD4jaW5jbHVkZSAmbHQ7RUVQUk9NLmgmZ3Q7PC9wPjxwPiNpbmNsdWRlICZsdDtBcmR1aW5v
LmgmZ3Q7ICZuYnNwOy8vIGZvciB0eXBlIGRlZmluaXRpb25zPC9wPjxwPjxicj48L3A+PHA+dGVt
cGxhdGUgJmx0O2NsYXNzIFQmZ3Q7IGludCBFRVBST01fd3JpdGVBbnl0aGluZyhpbnQgZWUsIGNv
bnN0IFQmYW1wOyB2YWx1ZSk8L3A+PHA+ezwvcD48cD4mbmJzcDsgY29uc3QgYnl0ZSogcCA9IChj
b25zdCBieXRlKikoY29uc3Qgdm9pZCopJmFtcDt2YWx1ZTs8L3A+PHA+Jm5ic3A7IHVuc2lnbmVk
IGludCBpOzwvcD48cD4mbmJzcDsgZm9yIChpID0gMDsgaSAmbHQ7IHNpemVvZih2YWx1ZSk7IGkr
Kyk8L3A+PHA+Jm5ic3A7ICZuYnNwOyBFRVBST00ud3JpdGUoZWUrKywgKnArKyk7PC9wPjxwPiZu
YnNwOyByZXR1cm4gaTs8L3A+PHA+fTwvcD48cD48YnI+PC9wPjxwPnRlbXBsYXRlICZsdDtjbGFz
cyBUJmd0OyBpbnQgRUVQUk9NX3JlYWRBbnl0aGluZyhpbnQgZWUsIFQmYW1wOyB2YWx1ZSk8L3A+
PHA+ezwvcD48cD4mbmJzcDsgYnl0ZSogcCA9IChieXRlKikodm9pZCopJmFtcDt2YWx1ZTs8L3A+
PHA+Jm5ic3A7IHVuc2lnbmVkIGludCBpOzwvcD48cD4mbmJzcDsgZm9yIChpID0gMDsgaSAmbHQ7
IHNpemVvZih2YWx1ZSk7IGkrKyk8L3A+PHA+Jm5ic3A7ICZuYnNwOyAqcCsrID0gRUVQUk9NLnJl
YWQoZWUrKyk7PC9wPjxwPiZuYnNwOyByZXR1cm4gaTs8L3A+PHA+fTwvcD48cD48YnI+PC9wPjxw
PnZvaWQgRUVQUk9NX2NsZWFyKCk8L3A+PHA+ezwvcD48cD4mbmJzcDsgLy8gd3JpdGUgYSAwIHRv
IGFsbCA1MTIgYnl0ZXMgb2YgdGhlIEVFUFJPTTwvcD48cD4mbmJzcDsgZm9yIChpbnQgaSA9IDA7
IGkgJmx0OyA1MTI7IGkrKyk8L3A+PHA+Jm5ic3A7ICZuYnNwOyBFRVBST00ud3JpdGUoaSwgMCk7
PC9wPjxwPn08L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+IyMjIyMgSTJDX0FueXRoaW5nLmg8
L3A+PHA+PGJyPjwvcD48cD5Fc3RlIGZpY2hlcm8gc2UgdXNhIHBhcmEgbGEgZ2VzdGnDs24gZGUg
bGVjdHVyYSB5IGVzY3JpdHVyYSBzb2JyZSBlbCBwdWVydG8gSTJDLiBIYSBzaWRvIG9idGVuaWRh
IGEgcGFydGlyIGRlIGxhIGluZm9ybWFjacOzbiBjb250ZW5pZGEgZW4gbGEgc2lndWllbnRlIGVu
dHJhZGEgZGVsIGJsb2cgZGUgQXJkdWlubzogW2h0dHA6Ly9mb3J1bS5BcmR1aW5vLmNjL2luZGV4
LnBocD90b3BpYz0xMDQ3MzIuMF0oaHR0cDovL2ZvcnVtLkFyZHVpbm8uY2MvaW5kZXgucGhwP3Rv
cGljPTEwNDczMi4wKTwvcD48cD48YnI+PC9wPjxwPmBgYCBjcHA8L3A+PHA+Ly8gV3JpdHRlbiBi
eSBOaWNrIEdhbW1vbjwvcD48cD4vLyBNYXkgMjAxMjwvcD48cD48YnI+PC9wPjxwPiNpbmNsdWRl
ICZsdDtBcmR1aW5vLmgmZ3Q7PC9wPjxwPiNpbmNsdWRlICZsdDtXaXJlLmgmZ3Q7PC9wPjxwPjxi
cj48L3A+PHA+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQmZ3Q7IHVuc2lnbmVkIGludCBJMkNfd3Jp
dGVBbnl0aGluZyAoY29uc3QgVCZhbXA7IHZhbHVlKTwvcD48cD4mbmJzcDsgezwvcD48cD4mbmJz
cDsgJm5ic3A7IGNvbnN0IGJ5dGUgKiBwID0gKGNvbnN0IGJ5dGUqKSAmYW1wO3ZhbHVlOzwvcD48
cD4mbmJzcDsgJm5ic3A7IHVuc2lnbmVkIGludCBpOzwvcD48cD4mbmJzcDsgJm5ic3A7IGZvciAo
aSA9IDA7IGkgJmx0OyBzaXplb2YgdmFsdWU7IGkrKyk8L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyBXaXJlLndyaXRlKCpwKyspOzwvcD48cD4mbmJzcDsgJm5ic3A7IHJl
dHVybiBpOzwvcD48cD4mbmJzcDsgfSAmbmJzcDsvLyBlbmQgb2YgSTJDX3dyaXRlQW55dGhpbmc8
L3A+PHA+PGJyPjwvcD48cD50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVCZndDsgdW5zaWduZWQgaW50
IEkyQ19yZWFkQW55dGhpbmcoVCZhbXA7IHZhbHVlKTwvcD48cD4mbmJzcDsgezwvcD48cD4mbmJz
cDsgJm5ic3A7IGJ5dGUgKiBwID0gKGJ5dGUqKSAmYW1wO3ZhbHVlOzwvcD48cD4mbmJzcDsgJm5i
c3A7IHVuc2lnbmVkIGludCBpOzwvcD48cD4mbmJzcDsgJm5ic3A7IGZvciAoaSA9IDA7IGkgJmx0
OyBzaXplb2YgdmFsdWU7IGkrKyk8L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAqcCsrID0gV2lyZS5yZWFkKCk7PC9wPjxwPiZuYnNwOyAmbmJzcDsgcmV0dXJuIGk7PC9w
PjxwPiZuYnNwOyB9ICZuYnNwOy8vIGVuZCBvZiBJMkNfcmVhZEFueXRoaW5nPC9wPjxwPmBgYDwv
cD48cD48YnI+PC9wPjxwPiMjIyMgQmFycmEgZGUgZGVuc2lkYWQ8L3A+PHA+PGJyPjwvcD48cD5M
b3MgZmljaGVyb3MgcXVlIGNvbXBvbmVuIGVzdGUgcHJveWVjdG8vcHJvZ3JhbWEgc29uOjwvcD48
cD48YnI+PC9wPjxwPiogKipiYXJyYV9kZW5zaWRhZC5pbm86KiogRXN0ZSBmaWNoZXJvIGVzIGVs
IGZpY2hlcm8gYmFzZSBkZWwgcHJveWVjdG8geSBjb250aWVuZSBsb3Mgc2lndWllbnRlcyBlbGVt
ZW50b3M6PC9wPjxwPiZuYnNwOyogTcOpdG9kb3MgYsOhc2ljb3MgZGUgdW4gcHJvZ3JhbWEgZW4g
QXJkdWlubyAoc2V0dXAgeSBsb29wKS48L3A+PHA+Jm5ic3A7KiBEZWNsYXJhY2nDs24gZSBpbmlj
aWFsaXphY2nDs24gZGUgdmFyaWFibGVzIGdsb2JhbGVzLjwvcD48cD4mbmJzcDsqIERlY2xhcmFj
acOzbiBkZSBlc3RydWN0dXJhcyBkZSBkYXRvcyBpbnRlcm5hcyBhbCBwcm9ncmFtYS48L3A+PHA+
KiAqKmRhdG9zX2RlbnNpZGFkLmlubzoqKiBFc3RlIGZpY2hlcm8gY29udGllbmUgbGFzIGVzdHJ1
Y3R1cmFzIGRlIGRhdG9zIGNvbiBsYSBpbmZvcm1hY2nDs24gZGUgbGEgYmFycmEgZGUgZGVuc2lk
YWQgeSBsYSBnZXN0acOzbiBkZSBlc3Rhcy48L3A+PHA+KiAqKmRhdG9zX0xEUi5pbm86KiogRXN0
ZSBmaWNoZXJvIGNvbnRpZW5lIGxhIGdlc3Rpw7NuIGRlIGNvbmZpZ3VyYWNpw7NuIHkgYWNjZXNv
IGEgZGF0b3MgZGUgbG9zIExEUnMsIGFkaWNpb25hbG1lbnRlIGN1YW5kbyBvYnRpZW5lIGxvcyBk
YXRvcyBkZSBsb3MgTERScyBsb3MgcHJvY2VzYS48L3A+PHA+PGJyPjwvcD48cD4mbHQ7aWZyYW1l
IHNyYz0iaHR0cHM6Ly9jcmVhdGUuYXJkdWluby5jYy9lZGl0b3IvanVhYWx0YS9mMTU4MjAzOC04
YmMyLTQ5NTQtYjMxNC03YTU4OGJjZmRiNjIvcHJldmlldz9lbWJlZCIgc3R5bGU9ImhlaWdodDo1
MTBweDt3aWR0aDoxMDAlO21hcmdpbjoxMHB4IDAiIGZyYW1lYm9yZGVyPSIwIiZndDsmbHQ7L2lm
cmFtZSZndDs8L3A+PHA+PGJyPjwvcD48cD48YnI+PC9wPjxwPiMjIyMgQmFycmEgZGUgY29tdW5p
Y2FjaW9uZXM8L3A+PHA+PGJyPjwvcD48cD5Mb3MgZmljaGVyb3MgcXVlIGNvbXBvbmVuIGVzdGUg
cHJveWVjdG8vcHJvZ3JhbWEgc29uOjwvcD48cD48YnI+PC9wPjxwPiogKipiYXJyYV9kZW5zaWRh
ZF9jb25lY3Rvci5pbm86KiogRXN0ZSBmaWNoZXJvIGVzIGVsIGZpY2hlcm8gYmFzZSBkZWwgcHJv
eWVjdG8geSBjb250aWVuZSBsb3Mgc2lndWllbnRlcyBlbGVtZW50b3M6PC9wPjxwPiZuYnNwOyog
TcOpdG9kb3MgYsOhc2ljb3MgZGUgdW4gcHJvZ3JhbWEgZW4gQXJkdWlubyAoc2V0dXAgeSBsb29w
KS48L3A+PHA+Jm5ic3A7KiBEZWNsYXJhY2nDs24gZSBpbmljaWFsaXphY2nDs24gZGUgdmFyaWFi
bGVzIGdsb2JhbGVzLjwvcD48cD4mbmJzcDsqIERlY2xhcmFjacOzbiBkZSBlc3RydWN0dXJhcyBk
ZSBkYXRvcyBpbnRlcm5hcyBhbCBwcm9ncmFtYS48L3A+PHA+KiAqKmRhdG9zX2RlbnNpZGFkLmlu
bzoqKiBFc3RlIGZpY2hlcm8gY29udGllbmUgbGFzIGVzdHJ1Y3R1cmFzIGRlIGRhdG9zIGNvbiBs
YSBpbmZvcm1hY2nDs24gZGUgbGEgYmFycmEgZGUgZGVuc2lkYWQgeSBsYSBnZXN0acOzbiBkZSBl
c3Rhcy48L3A+PHA+PGJyPjwvcD48cD4mbHQ7aWZyYW1lIHNyYz0iaHR0cHM6Ly9jcmVhdGUuYXJk
dWluby5jYy9lZGl0b3IvanVhYWx0YS8wMDA1NzZhNy00MmY0LTRiNzQtYmIyMi1lYTY5ZWYxZTJl
MjEvcHJldmlldz9lbWJlZCIgc3R5bGU9ImhlaWdodDo1MTBweDt3aWR0aDoxMDAlO21hcmdpbjox
MHB4IDAiIGZyYW1lYm9yZGVyPSIwIiZndDsmbHQ7L2lmcmFtZSZndDs8L3A+PHA+PGJyPjwvcD48
cD48YnI+PC9wPjxwPiMjIyMgSW5kdXN0cnVpbm88L3A+PHA+PGJyPjwvcD48cD5Mb3MgZmljaGVy
b3MgcXVlIGNvbXBvbmVuIGVzdGUgcHJveWVjdG8vcHJvZ3JhbWEgc29uOjwvcD48cD48YnI+PC9w
PjxwPiogKipJbmR1c3RydWluby5pbm86KiogRXN0ZSBmaWNoZXJvIGVzIGVsIGZpY2hlcm8gYmFz
ZSBkZWwgcHJveWVjdG8geSBjb250aWVuZSBsb3Mgc2lndWllbnRlcyBlbGVtZW50b3M6PC9wPjxw
PiZuYnNwOyogTcOpdG9kb3MgYsOhc2ljb3MgZGUgdW4gcHJvZ3JhbWEgZW4gQXJkdWlubyAoc2V0
dXAgeSBsb29wKS48L3A+PHA+Jm5ic3A7KiBEZWNsYXJhY2nDs24gZSBpbmljaWFsaXphY2nDs24g
ZGUgdmFyaWFibGVzIGdsb2JhbGVzLjwvcD48cD4mbmJzcDsqIERlY2xhcmFjacOzbiBkZSBlc3Ry
dWN0dXJhcyBkZSBkYXRvcyBpbnRlcm5hcyBhbCBwcm9ncmFtYS48L3A+PHA+KiAqKkluZHVzdHJ1
aW5vX0kyYy5pbm86KiogRXN0ZSBmaWNoZXJvIGNvbnRpZW5lIGxhIGdlc3Rpw7NuIGRlIGxhcyBj
b211bmljYWNpb25lcyBJMkMuPC9wPjxwPiogJm5ic3A7KipJbmR1c3RydWlub19NZW51Lmlubzoq
KiBFc3RlIGZpY2hlcm8gY29udGllbmUgZWwgcGludGFkbyB5IGdlc3Rpw7NuIGRlbCBtZW7DuiBk
ZWwgcHJvZ3JhbWEuPC9wPjxwPiogKipJbmR1c3RydWlub19QYW50YWxsYS5pbm86KiogRXN0ZSBm
aWNoZXJvIGNvbnRpZW5lIGxhIGdlc3Rpw7NuIGRlIGxhIHBhbnRhbGxhLjwvcD48cD4qICoqSW5k
dXN0cnVpbm9fZGF0b3MuaW5vOioqIEVzdGUgZmljaGVybyBjb250aWVuZSBsYSBnZXN0acOzbiBk
ZSBsb3MgZGF0b3MgcmVjaWJpZG9zIHkgYSBlbnZpYXIuPC9wPjxwPjxicj48L3A+PHA+Jmx0O2lm
cmFtZSBzcmM9Imh0dHBzOi8vY3JlYXRlLmFyZHVpbm8uY2MvZWRpdG9yL2p1YWFsdGEvN2FhZjgw
ZTAtZDliZC00NzU3LTk0Y2QtMjdiMjZlNmY1YWNlL3ByZXZpZXc/ZW1iZWQiIHN0eWxlPSJoZWln
aHQ6NTEwcHg7d2lkdGg6MTAwJTttYXJnaW46MTBweCAwIiBmcmFtZWJvcmRlcj0iMCImZ3Q7Jmx0
Oy9pZnJhbWUmZ3Q7PC9wPjxwPjxicj48L3A+PHA+PGJyPjwvcD48cD4jIyMjIEFyZHVpbm8gY29u
IHBhbnRhbGxhPC9wPjxwPjxicj48L3A+PHA+TG9zIGZpY2hlcm9zIHF1ZSBjb21wb25lbiBlc3Rl
IHByb3llY3RvL3Byb2dyYW1hIHNvbjo8L3A+PHA+PGJyPjwvcD48cD4qIGFyZF9wYW50YWxsYS5p
bm86IEVzdGUgZmljaGVybyBlcyBlbCBmaWNoZXJvIGJhc2UgZGVsIHByb3llY3RvIHkgY29udGll
bmUgbG9zIHNpZ3VpZW50ZXMgZWxlbWVudG9zOjwvcD48cD4mbmJzcDsqIE3DqXRvZG9zIGLDoXNp
Y29zIGRlIHVuIHByb2dyYW1hIGVuIEFyZHVpbm8gKHNldHVwIHkgbG9vcCkuPC9wPjxwPiZuYnNw
OyogRGVjbGFyYWNpw7NuIGUgaW5pY2lhbGl6YWNpw7NuIGRlIHZhcmlhYmxlcyBnbG9iYWxlcy48
L3A+PHA+Jm5ic3A7KiBEZWNsYXJhY2nDs24gZGUgZXN0cnVjdHVyYXMgZGUgZGF0b3MgaW50ZXJu
YXMgYWwgcHJvZ3JhbWEuPC9wPjxwPiogQm90b25lcy5pbm86IEVzdGUgZmljaGVybyBjb250aWVu
ZSBsb3MgbcOpdG9kb3MgdXRpbGl6YWRvcyBwYXJhIHRyYWJhamFyIGNvbiBsb3MgYm90b25lcy48
L3A+PHA+KiBjb25leGlvbl9JMmMuaW5vOiBFc3RlIGZpY2hlcm8gY29udGllbmUgbGEgZ2VzdGnD
s24gZGUgbGFzIGNvbXVuaWNhY2lvbmVzIEkyQy48L3A+PHA+KiBNZW51cy5pbm86IEVzdGUgZmlj
aGVybyBjb250aWVuZSBlbCBwaW50YWRvIHkgZ2VzdGnDs24gZGVsIG1lbsO6IGRlbCBwcm9ncmFt
YS48L3A+PHA+KiBQYW50YWxsYS5pbm86IEVzdGUgZmljaGVybyBjb250aWVuZSBsYSBnZXN0acOz
biBkZSBsYSBwYW50YWxsYS48L3A+PHA+KiBnZXN0aW9uX2RhdG9zLmlubzogRXN0ZSBmaWNoZXJv
IGNvbnRpZW5lIGxhIGdlc3Rpw7NuIGRlIGxvcyBkYXRvcyByZWNpYmlkb3MgeSBhIGVudmlhci48
L3A+PHA+PGJyPjwvcD48cD4mbHQ7aWZyYW1lIHNyYz0iaHR0cHM6Ly9jcmVhdGUuYXJkdWluby5j
Yy9lZGl0b3IvanVhYWx0YS9mMTU4MjAzOC04YmMyLTQ5NTQtYjMxNC03YTU4OGJjZmRiNjIvcHJl
dmlldz9lbWJlZCIgc3R5bGU9ImhlaWdodDo1MTBweDt3aWR0aDoxMDAlO21hcmdpbjoxMHB4IDAi
IGZyYW1lYm9yZGVyPSIwIiZndDsmbHQ7L2lmcmFtZSZndDs8L3A+PHA+PGJyPjwvcD48cD48YnI+
PC9wPjxwPiMjIEFncmFkZWNpbWllbnRvczwvcD48cD48YnI+PC9wPjxwPkEgbWkgYW1pZ28gRnJh
biBwb3IgcGVuc2FyIGVuIG3DrSBwYXJhIGxhIHJlYWxpemFjacOzbiBkZSBlc3RlIHByb3llY3Rv
LCBzaW4gZWwgbm8gaHViaWVyYSB0ZW5pZG8gbmluZ8O6biBjb250YWN0byBjb24gZWwgbXVuZG8g
ZGUgQXJkdWluby48L3A+PHA+PGJyPjwvcD48cD5BIG1pIGhlcm1hbm8gUmF1bCBwb3IgbGEgY3Jl
YWNpw7NuIGRlbCBiYW5jbyBkZSBwcnVlYmFzIHkgcG9yIGRhcm5vcyBhbGd1bmEgc29sdWNpw7Nu
IGluZ2VuaW9zYSBhIGxvcyBwcm9ibGVtYXMgZXN0cnVjdHVyYWxlcyBkZSBsYXMgYmFycmFzIHF1
ZSBub3MgZW5jb250cmFtb3MgcG9yIGVsIGNhbWlubyB5IG5vcyBibG9xdWVhcm9uIGVuIGFsZ8O6
biBtb21lbnRvIHB1bnR1YWwuPC9wPjxwPjxicj48L3A+PHA+QSBtaSBhbWlnbyBTZXJnaW8gcG9y
IHN1cyBheXVkYXMgcHVudHVhbGVzIGVuIGVsIGRpc2XDsW8gZGUgbGEgZWxlY3Ryw7NuaWNhLjwv
cD48cD48YnI+PC9wPjxwPkEgTWFyaW8geSBhIEpvc2UgQW50b25pbyBwb3IgYXl1ZGFybWUgYSBy
ZXZpc2FyIGVsIGFydMOtY3VsbyB5IHByb3BvbmVybWUgbWVqb3JhcyBlbiBsYSByZWRhY2Npw7Nu
IHkgbGEgZm9ybWEuPC9wPjxwPjxicj48L3A+PHA+QWwgcmVzdG8gZGUgZ2VudGUgcXVlIGNvbiBz
dXMgw6FuaW1vcyB5IGF5dWRhcyBwdW50dWFsZXMgbm9zIGF5dWRhcm9uIGEgYWNhYmFyIGVzdGUg
cHJveWVjdG8uPC9wPjxkaXY+PGJyPjwvZGl2Pg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/549057331098235709/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2017/03/sistema-de-deteccion-de-la-densidad-del_31.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/549057331098235709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/549057331098235709'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2017/03/sistema-de-deteccion-de-la-densidad-del_31.html' title='Sistema de detección de la densidad del material usado para crear las toallitas húmedas con Arduino 2/2'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-lxmt_FrygIB6BKw9ozZhq93VFNsvr2lXkyVmNP09VzY0zlwxWdFtR5dC2Y2PIOexBoaePPrUMwaC-_yrI0QZSqnCWyffGWQohlWq6b23nhWyHrnmnJlYFdVlETPX9GXLuODpl95RDkYd/s72-c/barra_densidad_bb.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-3356002749475942987</id><published>2017-03-30T08:05:00.000+02:00</published><updated>2017-04-05T08:24:53.502+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="Artículo en inglés"/><title type='text'>Material density detection system used to create wet wipes with Arduino 1/2</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=3356002749475942987;onPublishedMenu=allposts;onClosedMenu=allposts;postNum=1;src=link&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h1 id=&quot;material-density-detection-system-used-to-create-wet-wipes-with-arduino-&quot; style=&quot;border-bottom: 1px solid rgb(221, 221, 221); font-size: 1.6em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
&lt;/h1&gt;
&lt;div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5LZ8nexwVBQMsiNPwcc0DY194ctOfI3It4kGTfWGMtZuPAUwaQKagRAm1QrpWotC-w5xFUMxJ9F0MgX3iCbXsb_23KrbetFSKebKiMP10Jos3-1bTwnme7aIGnKOJ43g_Z98E_gmzQS1J/s1600/Introduccion_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Bars mounted inside the demo case&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5LZ8nexwVBQMsiNPwcc0DY194ctOfI3It4kGTfWGMtZuPAUwaQKagRAm1QrpWotC-w5xFUMxJ9F0MgX3iCbXsb_23KrbetFSKebKiMP10Jos3-1bTwnme7aIGnKOJ43g_Z98E_gmzQS1J/s640/Introduccion_01.jpg&quot; title=&quot;Bars mounted inside the demo case&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;font-size: 12.8px;&quot;&gt;Bars mounted inside the demo case&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggR3jdGqXV6JitAP-MgjXwMmtlKcppADOdqYRgvJodVQggLrL3woLKNXRaryNrCMTkYPS2qyJydgo0GmDacc8fPlME_52fVBjthYVpz8GmL3kfKY4YaMjK9BNN4OPykBCTiaiyRyTkriim/s1600/Introduccion_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Bars mounted on the test bench&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggR3jdGqXV6JitAP-MgjXwMmtlKcppADOdqYRgvJodVQggLrL3woLKNXRaryNrCMTkYPS2qyJydgo0GmDacc8fPlME_52fVBjthYVpz8GmL3kfKY4YaMjK9BNN4OPykBCTiaiyRyTkriim/s640/Introduccion_02.jpg&quot; title=&quot;Bars mounted on the test bench&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bars mounted on the test bench&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 id=&quot;introduction&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Introduction&lt;/h2&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This adventure began when my friend &lt;a href=&quot;https://www.linkedin.com/in/franciscoferri/&quot; target=&quot;_blank&quot;&gt;Fran&lt;/a&gt; came to find me to tell me the need he had detected in a company and wanted me to lend a hand to get it to good port.&lt;br /&gt;
Although in the end the project was not implemented in the company, we decided to finish it, we had spent too much time in it not to do it.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The project was to create a system to detect the density of a material to detect if it met the expected quality.&lt;br /&gt;
In case of failure to comply, a relay must be activated.&lt;br /&gt;
The solution that was chosen had to be applied to 9 machines, to be able to be working 24 hours a day and to perform the tasks at the speed of operation of the machine.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The product to be analyzed consisted of the reels of material used to create the wet wipes.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The cases that had to produce the activation of the relay were the following:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Product density less than expected.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Product density higher than expected.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Binding tapes on the product.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Breakage and deformation of the product.&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguRKQnRJ5wYe-y_zdI-UNPjeTu6ioPML8GK3LdCtgWh7CII1tS127kXW_5s0T57VAFSpb8IVaOWnTWeOppGmX-HcqnP6LSyKvptzw7bfX9nd0JO_Bkg4DTbNCbkYV5dE4xBW5l578NeZUP/s1600/Introduccion_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Side of the machines on which the bars were to be mounted&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguRKQnRJ5wYe-y_zdI-UNPjeTu6ioPML8GK3LdCtgWh7CII1tS127kXW_5s0T57VAFSpb8IVaOWnTWeOppGmX-HcqnP6LSyKvptzw7bfX9nd0JO_Bkg4DTbNCbkYV5dE4xBW5l578NeZUP/s640/Introduccion_03.jpg&quot; title=&quot;Side of the machines on which the bars were to be mounted&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Side of the machines on which the bars were to be mounted&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdAgPqbx0Z2wCQg9-ev6hhOVp3csPwB2kCGGOn_vZ6K0RsiDAFJyr9iCAVBvQwKFbWQUaC6ZQGicpD6OHdKE3I5q3raF64SK9XnxA_F2jecLwklJhhQ90zi1DZDVl3NJRPjXagwjKIoReE/s1600/Introduccion_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Detail of the place where one of the bars had to be mounted&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdAgPqbx0Z2wCQg9-ev6hhOVp3csPwB2kCGGOn_vZ6K0RsiDAFJyr9iCAVBvQwKFbWQUaC6ZQGicpD6OHdKE3I5q3raF64SK9XnxA_F2jecLwklJhhQ90zi1DZDVl3NJRPjXagwjKIoReE/s640/Introduccion_04.jpg&quot; title=&quot;Detail of the place where one of the bars had to be mounted&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detail of the place where one of the bars had to be mounted&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHKzF2iwYkgAALoxEWpij_w5FXDeCeRf8QgKvVgmS_OZvl0SjNyzyzd5_jbB34L77uklF4WUdQHME3GMvu2EV8mOZ23PXKvfiUntasZZRMaEzjt5D3t8uPsJEsdXAUtfKJQDpL2SwqaZMk/s1600/Introduccion_05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Measures of the gap to the entrance of the material in the machine&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHKzF2iwYkgAALoxEWpij_w5FXDeCeRf8QgKvVgmS_OZvl0SjNyzyzd5_jbB34L77uklF4WUdQHME3GMvu2EV8mOZ23PXKvfiUntasZZRMaEzjt5D3t8uPsJEsdXAUtfKJQDpL2SwqaZMk/s640/Introduccion_05.jpg&quot; title=&quot;Measures of the gap to the entrance of the material in the machine&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Measures of the gap to the entrance of the material in the machine&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVwx9IESC4irRbHnerZO63KmHkUb0eIKCQw-1DRI2hnSYtGQNDZhpFhiwaBYKEeLdpx32lpP2w6qAfTYhwlrf7E3tYnqBN9fgbjVtlp9Qh84DTBJvhrv4x2Tjhp2ZZD-ZrUmzKemB4K2kh/s1600/Introduccion_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Measurements of the hole in which it was believed best to fit the bars&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVwx9IESC4irRbHnerZO63KmHkUb0eIKCQw-1DRI2hnSYtGQNDZhpFhiwaBYKEeLdpx32lpP2w6qAfTYhwlrf7E3tYnqBN9fgbjVtlp9Qh84DTBJvhrv4x2Tjhp2ZZD-ZrUmzKemB4K2kh/s640/Introduccion_06.jpg&quot; title=&quot;Measurements of the hole in which it was believed best to fit the bars&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;en&quot; tabindex=&quot;-1&quot;&gt;&lt;span class=&quot;&quot;&gt;Measurements of the hole in which it was believed best to fit the bars&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
To address the problem it was decided to create several brainstorming sessions and information search to try to find the best solutions to this problem.&lt;br /&gt;
The ideas that occurred to us and that were studied as possible solutions to the problem, in order, are the following:&lt;/div&gt;
&lt;h3 id=&quot;using-a-camera-and-study-the-product-from-the-information-received-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Using a camera and study the product from the information received.&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The idea was, from the information obtained from a camera that was pointing directly to the product, using an image analysis software to detect each of the cases described above.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The detection of joints, breaks and deformations consisted of using artificial vision libraries such as &lt;a href=&quot;http://opencv.org/&quot; target=&quot;_blank&quot;&gt;OpenCV&lt;/a&gt; or &lt;a href=&quot;http://simplecv.org/&quot; target=&quot;_blank&quot;&gt;SimpleCV&lt;/a&gt; to analyze the received images , and from certain rules to obtain if these cases were fulfilled.&lt;br /&gt;
The measurement of the density of the product should be made by analyzing the color of the product when it is crossed by a light, with a color to study.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This idea was discarded by the high cost of hardware needed to do it, in addition to the complexity of the software to be created.&lt;/div&gt;
&lt;h3 id=&quot;illuminate-with-infrared-light-and-analyzing-light-passing-through-the-product-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Illuminate with infrared light and analyzing light passing through the product.&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The idea was, with an infrared light to illuminate the product and analyze the temperature of the light through this one.&lt;br /&gt;
The best way to perform the measurements was studied for a time, but any changes in the temperature or light intensity of the room in which the machines were found affected the measurements.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
It was discarded because the temperature of the product can change due to external effects and beyond our control, therefore, it complicated the measurement of this temperature greatly and forced the system to detect changes of temperature and light intensity in the room and forced that the system will calibrate itself by detecting a minimum change of one of these two parameters.&lt;/div&gt;
&lt;h3 id=&quot;illuminate-with-normal-light-and-analyze-the-amount-of-light-that-passes-through-the-product-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Illuminate with normal light and analyze the amount of light that passes through the product.&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This was the idea that was put into practice.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The idea was to illuminate the product on one side and the opposite measure the amount of light that passed through.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
After studying what color to use it was decided to use white, this was the best information could be obtained and the least affected by having to pass through the product.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
This system could detect the 4 cases that the system had to comply with:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Product density lower than expected:&lt;/b&gt; It would be detected if the light intensity was higher than an upper limit value of light intensity.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Product density higher than expected:&lt;/b&gt; It would be detected if the light intensity was less than a lower limit value of light intensity.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Bonding tapes on the product:&lt;/b&gt; It would be detected if the light intensity was zero or almost null.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Product breakages and deformations:&lt;/b&gt; It would be detected if the light intensity was the maximum possible or near maximum.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;iterations-phases-through-which-the-project-passed-to-reach-the-final-solution-&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iterations / Phases through which the project passed to reach the final solution.&lt;/h2&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
After deciding how to solve the problem, he decided how to put it into practice.&lt;br /&gt;
The conclusion reached was as follows:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;They had to create 2 bars that should be aligned and the product should pass between them.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;One bar should illuminate the product evenly and the other should be the LDR’s (Light Dependent Resistor) to analyze the amount of light that passes through it.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;To control both bars would use an Arduino. It was decided to use the Arduino Pro Mini because of its small size.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;To activate the relays and send the configuration parameters to the Arduinos that handled the bars would use another Arduino. We searched the internet for one that could be used in an electrical panel or a carcass for the same one that fulfilled the same purpose and we found the [Industruino] (&lt;a href=&quot;https://industruino.com/&quot;&gt;https://Industruino.com/&lt;/a&gt;).&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;The communication between the Arduinos of the bars and the Industruino would be realized by the bus I2C.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
From the solution that was decided to follow was created 3 iterations. Each of the iterations generated a different prototype and brought us closer to the final solution of the problem.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
In order to carry out the tests, it was necessary to use the ingenuity of my brother Raúl, who built us a bank to be able to carry out the tests, this one was modified according to the necessities in each one of the tests that were realized.&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHL4piSfXXC6wJAeBJstZ7Kc9Qf-GiHHv_sCLGOBLOH3Ksd83aLchjrxYU75AyH9qC6c8r-Q9wsUFTv7ThdPM0p-hi5s4V7KM9BSMdOheYxLLytbNWfLi93jCoFXB9-4cHRPvQVTvf8haa/s1600/Introduccion_07.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Initial test bench&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHL4piSfXXC6wJAeBJstZ7Kc9Qf-GiHHv_sCLGOBLOH3Ksd83aLchjrxYU75AyH9qC6c8r-Q9wsUFTv7ThdPM0p-hi5s4V7KM9BSMdOheYxLLytbNWfLi93jCoFXB9-4cHRPvQVTvf8haa/s640/Introduccion_07.jpg&quot; title=&quot;Initial test bench&quot; width=&quot;548&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Initial test bench&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;iteration-1&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iteration 1&lt;/h3&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimTI56LsErwsnn-2op3NVbm695G7VAPQYFldTNn4RTnRvUcMIixyMZSluQm-HOqpcQtc-0OlZzNEQdNIHV6aGMLejTgk30-U2RDDzoTsjqMTYmlTMRmQmoIiH1rhyOUYMX0yPhU3Iu5xLT/s1600/PROTOTIPO_1_01.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Matrix without LEDs or LCDs&quot; border=&quot;0&quot; height=&quot;201&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimTI56LsErwsnn-2op3NVbm695G7VAPQYFldTNn4RTnRvUcMIixyMZSluQm-HOqpcQtc-0OlZzNEQdNIHV6aGMLejTgk30-U2RDDzoTsjqMTYmlTMRmQmoIiH1rhyOUYMX0yPhU3Iu5xLT/s320/PROTOTIPO_1_01.JPG&quot; title=&quot;Matrix without LEDs or LCDs&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Matrix without LEDs or LCDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilhF2A1VBazZSJSpfEfd1E5II8bEXH3c3vujoZJ3zvauZSSHRqSH3TjAgjh0T7nKgIwXZyb5QWSLLbb_XAqvEMilZeCjS2g3nLI_e9vRTEDXHx-iZBqJZ0qPavfQiYhpn19IfuHMpYR3H1/s1600/PROTOTIPO_1_02.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Position of the LEDs&quot; border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilhF2A1VBazZSJSpfEfd1E5II8bEXH3c3vujoZJ3zvauZSSHRqSH3TjAgjh0T7nKgIwXZyb5QWSLLbb_XAqvEMilZeCjS2g3nLI_e9vRTEDXHx-iZBqJZ0qPavfQiYhpn19IfuHMpYR3H1/s320/PROTOTIPO_1_02.JPG&quot; title=&quot;Position of the LEDs&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Position of the LEDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFypQYUPUz7WOwI6I2lN5pv6qhlcbZDlDSJJk_dv9mgAb1kIs7ETdRhaz754KDhppgFAvG4xAVQPoKeaMEeQ1JF6fAP0lPAfS2GNsVdUb81Wy6bnXr2glkV577PXd-rflql14kxLKhXuI1/s1600/PROTOTIPO_1_03.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Distribution of LCDs&quot; border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFypQYUPUz7WOwI6I2lN5pv6qhlcbZDlDSJJk_dv9mgAb1kIs7ETdRhaz754KDhppgFAvG4xAVQPoKeaMEeQ1JF6fAP0lPAfS2GNsVdUb81Wy6bnXr2glkV577PXd-rflql14kxLKhXuI1/s320/PROTOTIPO_1_03.JPG&quot; title=&quot;Distribution of LCDs&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Distribution of LCDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5v5tGH-7iQ1gWWNCc6_muknpUC7HZwokeVXSjlhcevAtBssFHgpir_QtmhR1eJKjU6mbY0InwHDnHP9NOZl1dt4Spd3Ss1_Ieq4xHAZl4qQCLB_WUbe4p68a88oeQ6CVnUG945v89zZI/s1600/PROTOTIPO_1_04.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Mounting on test bench&quot; border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5v5tGH-7iQ1gWWNCc6_muknpUC7HZwokeVXSjlhcevAtBssFHgpir_QtmhR1eJKjU6mbY0InwHDnHP9NOZl1dt4Spd3Ss1_Ieq4xHAZl4qQCLB_WUbe4p68a88oeQ6CVnUG945v89zZI/s320/PROTOTIPO_1_04.JPG&quot; title=&quot;Mounting on test bench&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Mounting on test bench&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
In this iteration was considered to create 1 matrix of holes of 5x9 squares, in which an LED would be introduced, but taking into account that the LEDs could not be placed in consecutive holes. In this way we avoided that the light of an LED would affect a LDR that was not its own, in addition to trying to prevent the ambient light from affecting the light measurements performed by the LDR.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
First, it started with LED bulbs, but it was not possible to get enough light to make the measurements correctly and efficiently.&lt;br /&gt;
We continued with some car headlight LEDs, but the result was the same as with previous LEDs.&lt;br /&gt;
We continued the search for LEDs that were powerful enough to take the measurements correctly and we found some 10w, they made a lot of light and had to regulate its intensity, the amount of light they emitted at maximum power was so great which traversed the product and the measurements were close to the maximum light that LDRs could measure.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
As last test was placed a row of 10w LEDs and a row of car LEDs. After the test was concluded that the LEDs to be used were 10w, but with their intensity regulated. These bars were able to meet all the detection objectives, but their size was too large and therefore discarded.&lt;/div&gt;
&lt;h3 id=&quot;iteration-2&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iteration 2&lt;/h3&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGQJnd433wX44uPuXF6s4Y6AXQj21tV_z17mIEl_VqsjvtOZAaP3-GX5CCkKTlhVeyWyyihJsxt1CJ-MLw1Tez4PJE2scgsVlcsuPkSoUwKQrEzs37mtKevmFPfj7IFjpmNr0_C7hxB98Y/s1600/PROTOTIPO_2_01.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Interior of the LED bar&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGQJnd433wX44uPuXF6s4Y6AXQj21tV_z17mIEl_VqsjvtOZAaP3-GX5CCkKTlhVeyWyyihJsxt1CJ-MLw1Tez4PJE2scgsVlcsuPkSoUwKQrEzs37mtKevmFPfj7IFjpmNr0_C7hxB98Y/s640/PROTOTIPO_2_01.JPG&quot; title=&quot;Interior of the LED bar&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Interior of the LED bar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ04RusHt1q3df1od5ApPkfGIpz_EVOvxclGJ0Uvx9bMBTzkHJEOCKAqaIiPhpDGbFG6lpZ8S2AdLN_AyJCQR9Cy2aCMzcQqDUfxnn-ZUXGBD6tRaWlP83TB-5pqgkGMU1aRDXkWpImx-3/s1600/PROTOTIPO_2_02.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Interior of the LDR bar&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ04RusHt1q3df1od5ApPkfGIpz_EVOvxclGJ0Uvx9bMBTzkHJEOCKAqaIiPhpDGbFG6lpZ8S2AdLN_AyJCQR9Cy2aCMzcQqDUfxnn-ZUXGBD6tRaWlP83TB-5pqgkGMU1aRDXkWpImx-3/s640/PROTOTIPO_2_02.JPG&quot; title=&quot;Interior of the LDR bar&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Interior of the LDR bar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid8CZGgZrI9BU34mh8e04Gi3xc1j7BmUiizNO9xNYVIsyyNgie7WRkTtGUk2gsJn7obIYQdzzQTwPbpX_a6EgAbLtzKkEo0ebZslLk4oAyQQ-Q5w9KX7kfe1yxMBdODLX-UqS0j0I9bCyD/s1600/PROTOTIPO_2_03.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Bars - inner faces&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid8CZGgZrI9BU34mh8e04Gi3xc1j7BmUiizNO9xNYVIsyyNgie7WRkTtGUk2gsJn7obIYQdzzQTwPbpX_a6EgAbLtzKkEo0ebZslLk4oAyQQ-Q5w9KX7kfe1yxMBdODLX-UqS0j0I9bCyD/s640/PROTOTIPO_2_03.JPG&quot; title=&quot;Bars - inner faces&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bars - inner faces&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikjGEltWGcYBxIIF-SKcOL5IttcizfnAVXaXeATMFA7CQlT2bn0Cyc43balldsC2cqx9D2T6OK7xaJOEjet4c0CSoYxfRz524IkJRNjvUQPy_H30mgg0SvUF38wWEa8iwWv9kcBxf9IF-w/s1600/PROTOTIPO_2_04.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Bars - outer faces&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikjGEltWGcYBxIIF-SKcOL5IttcizfnAVXaXeATMFA7CQlT2bn0Cyc43balldsC2cqx9D2T6OK7xaJOEjet4c0CSoYxfRz524IkJRNjvUQPy_H30mgg0SvUF38wWEa8iwWv9kcBxf9IF-w/s640/PROTOTIPO_2_04.JPG&quot; title=&quot;Bars - outer faces&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bars - outer faces&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuXDQrsQ_fMbmWZ0aLsUgqNIXSeopMOHkHU1zf7nm9kO55u_4ofOhcC38h1YqghlahDrZNFA4O_4jtPTGQictkElCTMDM3AITxl1oIvDEeR251qJrev9tcru8aM9A79x1wDYhMktqC_WND/s1600/PROTOTIPO_2_05.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Bars - sides&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuXDQrsQ_fMbmWZ0aLsUgqNIXSeopMOHkHU1zf7nm9kO55u_4ofOhcC38h1YqghlahDrZNFA4O_4jtPTGQictkElCTMDM3AITxl1oIvDEeR251qJrev9tcru8aM9A79x1wDYhMktqC_WND/s640/PROTOTIPO_2_05.JPG&quot; title=&quot;Bars - sides&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bars - sides&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8OceCb99kIaWkuWVZ8h0GJOYwea5O30b0CzukyLQjl3R6oQMsjCWzusylP4nahXeDguw_jF9r7DRKpFQkVmf4YK8A6tDr4JHVEScR8HqFPVoVL-NiT7Zrz-3fXEXBVCjlfyORFu9DRqqq/s1600/PROTOTIPO_2_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Bars mounted on test bench&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8OceCb99kIaWkuWVZ8h0GJOYwea5O30b0CzukyLQjl3R6oQMsjCWzusylP4nahXeDguw_jF9r7DRKpFQkVmf4YK8A6tDr4JHVEScR8HqFPVoVL-NiT7Zrz-3fXEXBVCjlfyORFu9DRqqq/s640/PROTOTIPO_2_06.jpg&quot; title=&quot;Bars mounted on test bench&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bars mounted on test bench&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
In this iteration rectangular aluminum bars were used, which allowed the bars to be thinner than those designed with wood in the previous iteration.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
To avoid that some LEDs did not affect the others and the LDR were not affected by the light of the other LEDs were all withdrawn a little towards the interior of the bar of LEDs, in this way it was avoided that the non-direct light received by the LDRs of the LDRs bar will affect the measurements.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
In this iteration one had the problem that each of the LEDs emitted a slightly different intensity of light and in some cases a slightly different color, this complicated the code enough, since this forced that the LEDs and the LDRs had to be calibrated in an independent way. In addition to the above, it was found that the bars were still a little large for the available space.&lt;/div&gt;
&lt;h3 id=&quot;iteration-3&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iteration 3&lt;/h3&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYa555AcwMWad6yFe-BW1UW54cDdpjba9S9lf9FCdeV3PTtLlD7_Bbp99bTLT7R915kaR01ismqdxY2vLmQEl64PzBgzsVnWV3rVP5Z08xAJKQbYtksIS4XdDIyuknpj2UhyObHl3DoX2I/s1600/PROTOTIPO_3_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;9w definitive LEDs&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYa555AcwMWad6yFe-BW1UW54cDdpjba9S9lf9FCdeV3PTtLlD7_Bbp99bTLT7R915kaR01ismqdxY2vLmQEl64PzBgzsVnWV3rVP5Z08xAJKQbYtksIS4XdDIyuknpj2UhyObHl3DoX2I/s640/PROTOTIPO_3_01.jpg&quot; title=&quot;9w definitive LEDs&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;9w definitive LEDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLAwnVyoxgmlJ-Wi4HYsvzGFDS_XhdH_Q9amAmavDbRgiutbp7aH7NWM_ftjuFqbVYZkWb-Hw17C_zPiNZRseba2Dsp8KpkROb3l9c6qUr2Tlj-3_mHTQfLAovg94bjsnXoqOVAYvW5-cZ/s1600/PROTOTIPO_3_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Parts used for bars&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLAwnVyoxgmlJ-Wi4HYsvzGFDS_XhdH_Q9amAmavDbRgiutbp7aH7NWM_ftjuFqbVYZkWb-Hw17C_zPiNZRseba2Dsp8KpkROb3l9c6qUr2Tlj-3_mHTQfLAovg94bjsnXoqOVAYvW5-cZ/s640/PROTOTIPO_3_02.jpg&quot; title=&quot;Parts used for bars&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Parts used for bars&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTUEf0WnOUwegZspc-xAWczRixj6yCCpoOR6Nai675EE6ZDIJio7-uVN1P92AYq5EeeuIAsiKMFlJOWhc_BYcFvwnP5l84lvmuisjTd2g6Xnp1hPaiXsfhLkP0STbK1dbQBxU3rzV7sWg8/s1600/PROTOTIPO_3_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Hole Testing for LEDs&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTUEf0WnOUwegZspc-xAWczRixj6yCCpoOR6Nai675EE6ZDIJio7-uVN1P92AYq5EeeuIAsiKMFlJOWhc_BYcFvwnP5l84lvmuisjTd2g6Xnp1hPaiXsfhLkP0STbK1dbQBxU3rzV7sWg8/s640/PROTOTIPO_3_03.jpg&quot; title=&quot;Hole Testing for LEDs&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Hole Testing for LEDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVWXCANrzj59i3GU9YjS0gyBvF4dA8CkTciYbwV9z61g7l6EM91yWpAanb9DbUL8vqlL-y-JvriOIbaQfwGW_gi2GTRr8P9Dnc2BRoAY46d_dBCkzVcI_q0ABzMlzWZD_sWzHMShx_oOJ_/s1600/PROTOTIPO_3_04.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Mounted bars - bar detail LDRs&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVWXCANrzj59i3GU9YjS0gyBvF4dA8CkTciYbwV9z61g7l6EM91yWpAanb9DbUL8vqlL-y-JvriOIbaQfwGW_gi2GTRr8P9Dnc2BRoAY46d_dBCkzVcI_q0ABzMlzWZD_sWzHMShx_oOJ_/s640/PROTOTIPO_3_04.JPG&quot; title=&quot;Mounted bars - bar detail LDRs&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Mounted bars - bar detail LDRs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf8QyN0zAYJAbzeHri_I1rGosoZdPBHaUXfAg_gj27PI5M5g1SHL4UMDBLzfdWNfHkjr_Luh7_G2CKpyuiVZLxQuUMlYizcXNZPE6mFOYlzK4Z6DRtXmzc6pgh6D-4cIkOwvX5MPUAF0ul/s1600/PROTOTIPO_3_05.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Mounted Bars - LED Bar Detail&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf8QyN0zAYJAbzeHri_I1rGosoZdPBHaUXfAg_gj27PI5M5g1SHL4UMDBLzfdWNfHkjr_Luh7_G2CKpyuiVZLxQuUMlYizcXNZPE6mFOYlzK4Z6DRtXmzc6pgh6D-4cIkOwvX5MPUAF0ul/s640/PROTOTIPO_3_05.JPG&quot; title=&quot;Mounted Bars - LED Bar Detail&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Mounted Bars - LED Bar Detail&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcitlG6HwvwIrkAXyHWcdLHY-Q6v-AfzdtWkjMZiQWedOWKV7PDGYcQDp8fuvmXcQXkmQ0RmPb3ObVA1ShyIlWPjMZzGwKB345WOkWtyeci5hbLw4xid11AqwkHrSwN-SZllTKfYqiSaD5/s1600/PROTOTIPO_3_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Bars mounted on test bench&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcitlG6HwvwIrkAXyHWcdLHY-Q6v-AfzdtWkjMZiQWedOWKV7PDGYcQDp8fuvmXcQXkmQ0RmPb3ObVA1ShyIlWPjMZzGwKB345WOkWtyeci5hbLw4xid11AqwkHrSwN-SZllTKfYqiSaD5/s640/PROTOTIPO_3_06.jpg&quot; title=&quot;Bars mounted on test bench&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bars mounted on test bench&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBPYqi-pL54bIVYrlnOQk-CcBGpyzwLH_hXmk-cUvltnVJnUHZYv_Y7UCCRzRfxpMMsRyqSQzTcr_BK8tHwCrbOQvNAMg1DWyMpEfAhQTWtrHOfByWhuYv9aVSVjiQtIXCxwNQw2BqM9aG/s1600/PROTOTIPO_3_07.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Detail power input circuit and Arduino communications&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBPYqi-pL54bIVYrlnOQk-CcBGpyzwLH_hXmk-cUvltnVJnUHZYv_Y7UCCRzRfxpMMsRyqSQzTcr_BK8tHwCrbOQvNAMg1DWyMpEfAhQTWtrHOfByWhuYv9aVSVjiQtIXCxwNQw2BqM9aG/s640/PROTOTIPO_3_07.jpg&quot; title=&quot;Detail power input circuit and Arduino communications&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detail power input circuit and Arduino communications&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV9UFy2cQ-ubjMEYnCVLnbJ9vXj5wnXZPz-L7en3hqmGP7Dbhcl-UpLSKpZY0ZXiI0pvjcard1xGTT747xhZ6jN5S4ZGxoNhGwY57pB34mTn5izwS2gLD43pckCZQbSm1bmlbgd6GiVxXN/s1600/PROTOTIPO_3_08.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Detail circuit with Arduino of reading of LDRs and decision making&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV9UFy2cQ-ubjMEYnCVLnbJ9vXj5wnXZPz-L7en3hqmGP7Dbhcl-UpLSKpZY0ZXiI0pvjcard1xGTT747xhZ6jN5S4ZGxoNhGwY57pB34mTn5izwS2gLD43pckCZQbSm1bmlbgd6GiVxXN/s640/PROTOTIPO_3_08.jpg&quot; title=&quot;Detail circuit with Arduino of reading of LDRs and decision making&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detail circuit with Arduino of reading of LDRs and decision making&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The beginning of this iteration began with the search for smaller bars and that allowed to reduce the total size of the bars, of this form to be able to use them in the final solution. As a result of this search were found profiles used for outdoor lighting that allowed us to have the desired size for the bars, in addition to a rather large capacity of heat dissipation, 10w LEDs emitted a fairly high amount of heat.&lt;br /&gt;
During the search process of the previous bars and by chance were found rectangular LED 6W COB 170 x 15 mm, which allowed to illuminate all the product of uniform form, of this form it avoided to have to hide the LDR so that the light of a different LED than the one assigned will affect the measurement of this one. This allowed all previous LEDs to be replaced with only one COB.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
The finding of these LEDs also made it possible to simplify the calibration process, since from then only the measurements to be taken by each of the LDRs had to be calibrated and the calibration of the LED was unnecessary since only one COB LED was needed. In addition to this, it simplified the circuit necessary for the control of the bars, this allowed that this circuit could be placed in the same bars and did not have to place it in a box outside these.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
During this phase was a mishap and an error in the connection of a power supply, connected to the Industruino in an unregulated input a voltage higher than the one supported and it was burned, being unusable, therefore, it was decided to create a similar assembly to Industruino, but with an Arduino UNO, a LCD 16x2 and 3 buttons, this way could be finished this phase.&lt;/div&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+IyBNYXRlcmlhbCBkZW5zaXR5IGRldGVjdGlvbiBzeXN0ZW0gdXNlZCB0byBjcmVhdGUgd2V0
IHdpcGVzIHdpdGggQXJkdWluby48L3A+PHA+PGJyPjwvcD48cD4hW0JhcnMgbW91bnRlZCBpbnNp
ZGUgdGhlIGRlbW8gY2FzZV0oLi9pbWFnZW5lc192My9JbnRyb2R1Y2Npb25fMDEuanBnICJCYXJz
IG1vdW50ZWQgaW5zaWRlIHRoZSBkZW1vIGNhc2UiKTwvcD48cD48YnI+PC9wPjxwPiFbQmFycyBt
b3VudGVkIG9uIHRoZSB0ZXN0IGJlbmNoXSguL2ltYWdlbmVzX3YzL0ludHJvZHVjY2lvbl8wMi5q
cGcgIkJhcnMgbW91bnRlZCBvbiB0aGUgdGVzdCBiZW5jaCIpPC9wPjxwPjxicj48L3A+PHA+IyMg
SW50cm9kdWN0aW9uPC9wPjxwPjxicj48L3A+PHA+VGhpcyBhZHZlbnR1cmUgYmVnYW4gd2hlbiBt
eSBmcmllbmQgRnJhbiBjYW1lIHRvIGZpbmQgbWUgdG8gdGVsbCBtZSB0aGUgbmVlZCBoZSBoYWQg
ZGV0ZWN0ZWQgaW4gYSBjb21wYW55IGFuZCB3YW50ZWQgbWUgdG8gbGVuZCBhIGhhbmQgdG8gZ2V0
IGl0IHRvIGdvb2QgcG9ydC4gJm5ic3A7PC9wPjxwPkFsdGhvdWdoIGluIHRoZSBlbmQgdGhlIHBy
b2plY3Qgd2FzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29tcGFueSwgd2UgZGVjaWRlZCB0byBm
aW5pc2ggaXQsIHdlIGhhZCBzcGVudCB0b28gbXVjaCB0aW1lIGluIGl0IG5vdCB0byBkbyBpdC48
L3A+PHA+PGJyPjwvcD48cD5UaGUgcHJvamVjdCB3YXMgdG8gY3JlYXRlIGEgc3lzdGVtIHRvIGRl
dGVjdCB0aGUgZGVuc2l0eSBvZiBhIG1hdGVyaWFsIHRvIGRldGVjdCBpZiBpdCBtZXQgdGhlIGV4
cGVjdGVkIHF1YWxpdHkuJm5ic3A7PC9wPjxwPkluIGNhc2Ugb2YgZmFpbHVyZSB0byBjb21wbHks
IGEgcmVsYXkgbXVzdCBiZSBhY3RpdmF0ZWQuJm5ic3A7PC9wPjxwPlRoZSBzb2x1dGlvbiB0aGF0
IHdhcyBjaG9zZW4gaGFkIHRvIGJlIGFwcGxpZWQgdG8gOSBtYWNoaW5lcywgdG8gYmUgYWJsZSB0
byBiZSB3b3JraW5nIDI0IGhvdXJzIGEgZGF5IGFuZCB0byBwZXJmb3JtIHRoZSB0YXNrcyBhdCB0
aGUgc3BlZWQgb2Ygb3BlcmF0aW9uIG9mIHRoZSBtYWNoaW5lLjwvcD48cD48YnI+PC9wPjxwPlRo
ZSBwcm9kdWN0IHRvIGJlIGFuYWx5emVkIGNvbnNpc3RlZCBvZiB0aGUgcmVlbHMgb2YgbWF0ZXJp
YWwgdXNlZCB0byBjcmVhdGUgdGhlIHdldCB3aXBlcy48L3A+PHA+PGJyPjwvcD48cD5UaGUgY2Fz
ZXMgdGhhdCBoYWQgdG8gcHJvZHVjZSB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgcmVsYXkgd2VyZSB0
aGUgZm9sbG93aW5nOjwvcD48cD48YnI+PC9wPjxwPi0gUHJvZHVjdCBkZW5zaXR5IGxlc3MgdGhh
biBleHBlY3RlZC48L3A+PHA+LSBQcm9kdWN0IGRlbnNpdHkgaGlnaGVyIHRoYW4gZXhwZWN0ZWQu
PC9wPjxwPi0gQmluZGluZyB0YXBlcyBvbiB0aGUgcHJvZHVjdC48L3A+PHA+LSBCcmVha2FnZSBh
bmQgZGVmb3JtYXRpb24gb2YgdGhlIHByb2R1Y3QuPC9wPjxwPjxicj48L3A+PHA+IVtTaWRlIG9m
IHRoZSBtYWNoaW5lcyBvbiB3aGljaCB0aGUgYmFycyB3ZXJlIHRvIGJlIG1vdW50ZWRdKC4vaW1h
Z2VuZXNfdjMvSW50cm9kdWNjaW9uXzAzLmpwZyAiU2lkZSBvZiB0aGUgbWFjaGluZXMgb24gd2hp
Y2ggdGhlIGJhcnMgd2VyZSB0byBiZSBtb3VudGVkIik8L3A+PHA+PGJyPjwvcD48cD4hW0RldGFp
bCBvZiB0aGUgcGxhY2Ugd2hlcmUgb25lIG9mIHRoZSBiYXJzIGhhZCB0byBiZSBtb3VudGVkXSgu
L2ltYWdlbmVzX3YzL0ludHJvZHVjY2lvbl8wNC5qcGcgIkRldGFpbCBvZiB0aGUgcGxhY2Ugd2hl
cmUgb25lIG9mIHRoZSBiYXJzIGhhZCB0byBiZSBtb3VudGVkIik8L3A+PHA+PGJyPjwvcD48cD4h
W01lYXN1cmVzIG9mIHRoZSBnYXAgdG8gdGhlIGVudHJhbmNlIG9mIHRoZSBtYXRlcmlhbCBpbiB0
aGUgbWFjaGluZV0oLi9pbWFnZW5lc192My9JbnRyb2R1Y2Npb25fMDUuanBnICJNZWFzdXJlcyBv
ZiB0aGUgZ2FwIHRvIHRoZSBlbnRyYW5jZSBvZiB0aGUgbWF0ZXJpYWwgaW4gdGhlIG1hY2hpbmUi
KTwvcD48cD48YnI+PC9wPjxwPiFbTWVkaWFzIGRlbCBodWVjbyBlbiBlbCBxdWUgc2UgY3Jlw61h
IG1lam9yIHBhcmEgZXN0YXIgbW9udGFkYXMgbGFzIGJhcnJhc10oLi9pbWFnZW5lc192My9JbnRy
b2R1Y2Npb25fMDYuanBnICJTdG9ja2luZ3Mgb2YgdGhlIGhvbGUgaW4gd2hpY2ggaXQgd2FzIGJl
bGlldmVkIGJlc3QgdG8gYmUgbW91bnRlZCB0aGUgYmFycyIpPC9wPjxwPjxicj48L3A+PHA+VG8g
YWRkcmVzcyB0aGUgcHJvYmxlbSBpdCB3YXMgZGVjaWRlZCB0byBjcmVhdGUgc2V2ZXJhbCBicmFp
bnN0b3JtaW5nIHNlc3Npb25zIGFuZCBpbmZvcm1hdGlvbiBzZWFyY2ggdG8gdHJ5IHRvIGZpbmQg
dGhlIGJlc3Qgc29sdXRpb25zIHRvIHRoaXMgcHJvYmxlbS4gJm5ic3A7PC9wPjxwPlRoZSBpZGVh
cyB0aGF0IG9jY3VycmVkIHRvIHVzIGFuZCB0aGF0IHdlcmUgc3R1ZGllZCBhcyBwb3NzaWJsZSBz
b2x1dGlvbnMgdG8gdGhlIHByb2JsZW0sIGluIG9yZGVyLCBhcmUgdGhlIGZvbGxvd2luZzo8L3A+
PHA+PGJyPjwvcD48cD4jIyMgVXNpbmcgYSBjYW1lcmEgYW5kIHN0dWR5IHRoZSBwcm9kdWN0IGZy
b20gdGhlIGluZm9ybWF0aW9uIHJlY2VpdmVkLjwvcD48cD48YnI+PC9wPjxwPlRoZSBpZGVhIHdh
cywgZnJvbSB0aGUgaW5mb3JtYXRpb24gb2J0YWluZWQgZnJvbSBhIGNhbWVyYSB0aGF0IHdhcyBw
b2ludGluZyBkaXJlY3RseSB0byB0aGUgcHJvZHVjdCwgdXNpbmcgYW4gaW1hZ2UgYW5hbHlzaXMg
c29mdHdhcmUgdG8gZGV0ZWN0IGVhY2ggb2YgdGhlIGNhc2VzIGRlc2NyaWJlZCBhYm92ZS48L3A+
PHA+PGJyPjwvcD48cD5UaGUgZGV0ZWN0aW9uIG9mIGpvaW50cywgYnJlYWtzIGFuZCBkZWZvcm1h
dGlvbnMgY29uc2lzdGVkIG9mIHVzaW5nIGFydGlmaWNpYWwgdmlzaW9uIGxpYnJhcmllcyBzdWNo
IGFzIFtPcGVuQ1ZdIChodHRwOi8vb3BlbmN2Lm9yZy8pIG9yIFtTaW1wbGVDVl0gKGh0dHA6Ly9z
aW1wbGVjdi5vcmcvKSB0byBhbmFseXplIHRoZSByZWNlaXZlZCBpbWFnZXMgLCBhbmQgZnJvbSBj
ZXJ0YWluIHJ1bGVzIHRvIG9idGFpbiBpZiB0aGVzZSBjYXNlcyB3ZXJlIGZ1bGZpbGxlZC4gJm5i
c3A7PC9wPjxwPlRoZSBtZWFzdXJlbWVudCBvZiB0aGUgZGVuc2l0eSBvZiB0aGUgcHJvZHVjdCBz
aG91bGQgYmUgbWFkZSBieSBhbmFseXppbmcgdGhlIGNvbG9yIG9mIHRoZSBwcm9kdWN0IHdoZW4g
aXQgaXMgY3Jvc3NlZCBieSBhIGxpZ2h0LCB3aXRoIGEgY29sb3IgdG8gc3R1ZHkuPC9wPjxwPjxi
cj48L3A+PHA+VGhpcyBpZGVhIHdhcyBkaXNjYXJkZWQgYnkgdGhlIGhpZ2ggY29zdCBvZiBoYXJk
d2FyZSBuZWVkZWQgdG8gZG8gaXQsIGluIGFkZGl0aW9uIHRvIHRoZSBjb21wbGV4aXR5IG9mIHRo
ZSBzb2Z0d2FyZSB0byBiZSBjcmVhdGVkLjwvcD48cD48YnI+PC9wPjxwPiMjIyBJbGx1bWluYXRl
IHdpdGggaW5mcmFyZWQgbGlnaHQgYW5kIGFuYWx5emluZyBsaWdodCBwYXNzaW5nIHRocm91Z2gg
dGhlIHByb2R1Y3QuPC9wPjxwPjxicj48L3A+PHA+VGhlIGlkZWEgd2FzLCB3aXRoIGFuIGluZnJh
cmVkIGxpZ2h0IHRvIGlsbHVtaW5hdGUgdGhlIHByb2R1Y3QgYW5kIGFuYWx5emUgdGhlIHRlbXBl
cmF0dXJlIG9mIHRoZSBsaWdodCB0aHJvdWdoIHRoaXMgb25lLjwvcD48cD5UaGUgYmVzdCB3YXkg
dG8gcGVyZm9ybSB0aGUgbWVhc3VyZW1lbnRzIHdhcyBzdHVkaWVkIGZvciBhIHRpbWUsIGJ1dCBh
bnkgY2hhbmdlcyBpbiB0aGUgdGVtcGVyYXR1cmUgb3IgbGlnaHQgaW50ZW5zaXR5IG9mIHRoZSBy
b29tIGluIHdoaWNoIHRoZSBtYWNoaW5lcyB3ZXJlIGZvdW5kIGFmZmVjdGVkIHRoZSBtZWFzdXJl
bWVudHMuPC9wPjxwPjxicj48L3A+PHA+SXQgd2FzIGRpc2NhcmRlZCBiZWNhdXNlIHRoZSB0ZW1w
ZXJhdHVyZSBvZiB0aGUgcHJvZHVjdCBjYW4gY2hhbmdlIGR1ZSB0byBleHRlcm5hbCBlZmZlY3Rz
IGFuZCBiZXlvbmQgb3VyIGNvbnRyb2wsIHRoZXJlZm9yZSwgaXQgY29tcGxpY2F0ZWQgdGhlIG1l
YXN1cmVtZW50IG9mIHRoaXMgdGVtcGVyYXR1cmUgZ3JlYXRseSBhbmQgZm9yY2VkIHRoZSBzeXN0
ZW0gdG8gZGV0ZWN0IGNoYW5nZXMgb2YgdGVtcGVyYXR1cmUgYW5kIGxpZ2h0IGludGVuc2l0eSBp
biB0aGUgcm9vbSBhbmQgZm9yY2VkIHRoYXQgdGhlIHN5c3RlbSB3aWxsIGNhbGlicmF0ZSBpdHNl
bGYgYnkgZGV0ZWN0aW5nIGEgbWluaW11bSBjaGFuZ2Ugb2Ygb25lIG9mIHRoZXNlIHR3byBwYXJh
bWV0ZXJzLjwvcD48cD48YnI+PC9wPjxwPiMjIyBJbGx1bWluYXRlIHdpdGggbm9ybWFsIGxpZ2h0
IGFuZCBhbmFseXplIHRoZSBhbW91bnQgb2YgbGlnaHQgdGhhdCBwYXNzZXMgdGhyb3VnaCB0aGUg
cHJvZHVjdC48L3A+PHA+PGJyPjwvcD48cD5UaGlzIHdhcyB0aGUgaWRlYSB0aGF0IHdhcyBwdXQg
aW50byBwcmFjdGljZS48L3A+PHA+PGJyPjwvcD48cD5UaGUgaWRlYSB3YXMgdG8gaWxsdW1pbmF0
ZSB0aGUgcHJvZHVjdCBvbiBvbmUgc2lkZSBhbmQgdGhlIG9wcG9zaXRlIG1lYXN1cmUgdGhlIGFt
b3VudCBvZiBsaWdodCB0aGF0IHBhc3NlZCB0aHJvdWdoLjwvcD48cD48YnI+PC9wPjxwPkFmdGVy
IHN0dWR5aW5nIHdoYXQgY29sb3IgdG8gdXNlIGl0IHdhcyBkZWNpZGVkIHRvIHVzZSB3aGl0ZSwg
dGhpcyB3YXMgdGhlIGJlc3QgaW5mb3JtYXRpb24gY291bGQgYmUgb2J0YWluZWQgYW5kIHRoZSBs
ZWFzdCBhZmZlY3RlZCBieSBoYXZpbmcgdG8gcGFzcyB0aHJvdWdoIHRoZSBwcm9kdWN0LjwvcD48
cD48YnI+PC9wPjxwPlRoaXMgc3lzdGVtIGNvdWxkIGRldGVjdCB0aGUgNCBjYXNlcyB0aGF0IHRo
ZSBzeXN0ZW0gaGFkIHRvIGNvbXBseSB3aXRoOjwvcD48cD48YnI+PC9wPjxwPi0gKipQcm9kdWN0
IGRlbnNpdHkgbG93ZXIgdGhhbiBleHBlY3RlZDoqKiBJdCB3b3VsZCBiZSBkZXRlY3RlZCBpZiB0
aGUgbGlnaHQgaW50ZW5zaXR5IHdhcyBoaWdoZXIgdGhhbiBhbiB1cHBlciBsaW1pdCB2YWx1ZSBv
ZiBsaWdodCBpbnRlbnNpdHkuPC9wPjxwPi0gKipQcm9kdWN0IGRlbnNpdHkgaGlnaGVyIHRoYW4g
ZXhwZWN0ZWQ6KiogSXQgd291bGQgYmUgZGV0ZWN0ZWQgaWYgdGhlIGxpZ2h0IGludGVuc2l0eSB3
YXMgbGVzcyB0aGFuIGEgbG93ZXIgbGltaXQgdmFsdWUgb2YgbGlnaHQgaW50ZW5zaXR5LjwvcD48
cD4tICoqQm9uZGluZyB0YXBlcyBvbiB0aGUgcHJvZHVjdDoqKiBJdCB3b3VsZCBiZSBkZXRlY3Rl
ZCBpZiB0aGUgbGlnaHQgaW50ZW5zaXR5IHdhcyB6ZXJvIG9yIGFsbW9zdCBudWxsLjwvcD48cD4t
ICoqUHJvZHVjdCBicmVha2FnZXMgYW5kIGRlZm9ybWF0aW9uczoqKiBJdCB3b3VsZCBiZSBkZXRl
Y3RlZCBpZiB0aGUgbGlnaHQgaW50ZW5zaXR5IHdhcyB0aGUgbWF4aW11bSBwb3NzaWJsZSBvciBu
ZWFyIG1heGltdW0uPC9wPjxwPjxicj48L3A+PHA+IyMgSXRlcmF0aW9ucyAvIFBoYXNlcyB0aHJv
dWdoIHdoaWNoIHRoZSBwcm9qZWN0IHBhc3NlZCB0byByZWFjaCB0aGUgZmluYWwgc29sdXRpb24u
PC9wPjxwPjxicj48L3A+PHA+QWZ0ZXIgZGVjaWRpbmcgaG93IHRvIHNvbHZlIHRoZSBwcm9ibGVt
LCBoZSBkZWNpZGVkIGhvdyB0byBwdXQgaXQgaW50byBwcmFjdGljZS4gJm5ic3A7PC9wPjxwPlRo
ZSBjb25jbHVzaW9uIHJlYWNoZWQgd2FzIGFzIGZvbGxvd3M6PC9wPjxwPjxicj48L3A+PHA+LSBU
aGV5IGhhZCB0byBjcmVhdGUgMiBiYXJzIHRoYXQgc2hvdWxkIGJlIGFsaWduZWQgYW5kIHRoZSBw
cm9kdWN0IHNob3VsZCBwYXNzIGJldHdlZW4gdGhlbS48L3A+PHA+LSBPbmUgYmFyIHNob3VsZCBp
bGx1bWluYXRlIHRoZSBwcm9kdWN0IGV2ZW5seSBhbmQgdGhlIG90aGVyIHNob3VsZCBiZSB0aGUg
TERSJ3MgKExpZ2h0IERlcGVuZGVudCBSZXNpc3RvcikgdG8gYW5hbHl6ZSB0aGUgYW1vdW50IG9m
IGxpZ2h0IHRoYXQgcGFzc2VzIHRocm91Z2ggaXQuPC9wPjxwPi0gVG8gY29udHJvbCBib3RoIGJh
cnMgd291bGQgdXNlIGFuIEFyZHVpbm8uIEl0IHdhcyBkZWNpZGVkIHRvIHVzZSB0aGUgQXJkdWlu
byBQcm8gTWluaSBiZWNhdXNlIG9mIGl0cyBzbWFsbCBzaXplLjwvcD48cD4tIFRvIGFjdGl2YXRl
IHRoZSByZWxheXMgYW5kIHNlbmQgdGhlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyB0byB0aGUg
QXJkdWlub3MgdGhhdCBoYW5kbGVkIHRoZSBiYXJzIHdvdWxkIHVzZSBhbm90aGVyIEFyZHVpbm8u
IFdlIHNlYXJjaGVkIHRoZSBpbnRlcm5ldCBmb3Igb25lIHRoYXQgY291bGQgYmUgdXNlZCBpbiBh
biBlbGVjdHJpY2FsIHBhbmVsIG9yIGEgY2FyY2FzcyBmb3IgdGhlIHNhbWUgb25lIHRoYXQgZnVs
ZmlsbGVkIHRoZSBzYW1lIHB1cnBvc2UgYW5kIHdlIGZvdW5kIHRoZSBbSW5kdXN0cnVpbm9dICho
dHRwczovL0luZHVzdHJ1aW5vLmNvbS8pLjwvcD48cD4tIFRoZSBjb21tdW5pY2F0aW9uIGJldHdl
ZW4gdGhlIEFyZHVpbm9zIG9mIHRoZSBiYXJzIGFuZCB0aGUgSW5kdXN0cnVpbm8gd291bGQgYmUg
cmVhbGl6ZWQgYnkgdGhlIGJ1cyBJMkMuPC9wPjxwPjxicj48L3A+PHA+RnJvbSB0aGUgc29sdXRp
b24gdGhhdCB3YXMgZGVjaWRlZCB0byBmb2xsb3cgd2FzIGNyZWF0ZWQgMyBpdGVyYXRpb25zLiBF
YWNoIG9mIHRoZSBpdGVyYXRpb25zIGdlbmVyYXRlZCBhIGRpZmZlcmVudCBwcm90b3R5cGUgYW5k
IGJyb3VnaHQgdXMgY2xvc2VyIHRvIHRoZSBmaW5hbCBzb2x1dGlvbiBvZiB0aGUgcHJvYmxlbS48
L3A+PHA+PGJyPjwvcD48cD5JbiBvcmRlciB0byBjYXJyeSBvdXQgdGhlIHRlc3RzLCBpdCB3YXMg
bmVjZXNzYXJ5IHRvIHVzZSB0aGUgaW5nZW51aXR5IG9mIG15IGJyb3RoZXIgUmHDumwsIHdobyBi
dWlsdCB1cyBhIGJhbmsgdG8gYmUgYWJsZSB0byBjYXJyeSBvdXQgdGhlIHRlc3RzLCB0aGlzIG9u
ZSB3YXMgbW9kaWZpZWQgYWNjb3JkaW5nIHRvIHRoZSBuZWNlc3NpdGllcyBpbiBlYWNoIG9uZSBv
ZiB0aGUgdGVzdHMgdGhhdCB3ZXJlIHJlYWxpemVkLjwvcD48cD48YnI+PC9wPjxwPiFbSW5pdGlh
bCB0ZXN0IGJlbmNoXSguL2ltYWdlbmVzX3YzL0ludHJvZHVjY2lvbl8wNy5qcGcgIkluaXRpYWwg
dGVzdCBiZW5jaCIpPC9wPjxwPjxicj48L3A+PHA+IyMjIEl0ZXJhdGlvbiAxPC9wPjxwPjxicj48
L3A+PHA+IVtNYXRyaXggd2l0aG91dCBMRURzIG9yIExDRHNdKC4vaW1hZ2VuZXNfdjMvUFJPVE9U
SVBPXzFfMDEuSlBHICJNYXRyaXggd2l0aG91dCBMRURzIG9yIExDRHMiKTwvcD48cD48YnI+PC9w
PjxwPiFbUG9zaXRpb24gb2YgdGhlIExFRHNdKC4vaW1hZ2VuZXNfdjMvUFJPVE9USVBPXzFfMDIu
SlBHICJQb3NpdGlvbiBvZiB0aGUgTEVEcyIpPC9wPjxwPjxicj48L3A+PHA+IVtEaXN0cmlidXRp
b24gb2YgTENEc10oLi9pbWFnZW5lc192My9QUk9UT1RJUE9fMV8wMy5KUEcgIkRpc3RyaWJ1dGlv
biBvZiBMQ0RzIik8L3A+PHA+PGJyPjwvcD48cD4hW01vdW50aW5nIG9uIHRlc3QgYmVuY2hdKC4v
aW1hZ2VuZXNfdjMvUFJPVE9USVBPXzFfMDQuSlBHICJNb3VudGluZyBvbiB0ZXN0IGJlbmNoIik8
L3A+PHA+PGJyPjwvcD48cD5JbiB0aGlzIGl0ZXJhdGlvbiB3YXMgY29uc2lkZXJlZCB0byBjcmVh
dGUgMSBtYXRyaXggb2YgaG9sZXMgb2YgNXg5IHNxdWFyZXMsIGluIHdoaWNoIGFuIExFRCB3b3Vs
ZCBiZSBpbnRyb2R1Y2VkLCBidXQgdGFraW5nIGludG8gYWNjb3VudCB0aGF0IHRoZSBMRURzIGNv
dWxkIG5vdCBiZSBwbGFjZWQgaW4gY29uc2VjdXRpdmUgaG9sZXMuIEluIHRoaXMgd2F5IHdlIGF2
b2lkZWQgdGhhdCB0aGUgbGlnaHQgb2YgYW4gTEVEIHdvdWxkIGFmZmVjdCBhIExEUiB0aGF0IHdh
cyBub3QgaXRzIG93biwgaW4gYWRkaXRpb24gdG8gdHJ5aW5nIHRvIHByZXZlbnQgdGhlIGFtYmll
bnQgbGlnaHQgZnJvbSBhZmZlY3RpbmcgdGhlIGxpZ2h0IG1lYXN1cmVtZW50cyBwZXJmb3JtZWQg
YnkgdGhlIExEUi48L3A+PHA+PGJyPjwvcD48cD5GaXJzdCwgaXQgc3RhcnRlZCB3aXRoIExFRCBi
dWxicywgYnV0IGl0IHdhcyBub3QgcG9zc2libGUgdG8gZ2V0IGVub3VnaCBsaWdodCB0byBtYWtl
IHRoZSBtZWFzdXJlbWVudHMgY29ycmVjdGx5IGFuZCBlZmZpY2llbnRseS4gJm5ic3A7PC9wPjxw
PldlIGNvbnRpbnVlZCB3aXRoIHNvbWUgY2FyIGhlYWRsaWdodCBMRURzLCBidXQgdGhlIHJlc3Vs
dCB3YXMgdGhlIHNhbWUgYXMgd2l0aCBwcmV2aW91cyBMRURzLiAmbmJzcDs8L3A+PHA+V2UgY29u
dGludWVkIHRoZSBzZWFyY2ggZm9yIExFRHMgdGhhdCB3ZXJlIHBvd2VyZnVsIGVub3VnaCB0byB0
YWtlIHRoZSBtZWFzdXJlbWVudHMgY29ycmVjdGx5IGFuZCB3ZSBmb3VuZCBzb21lIDEwdywgdGhl
eSBtYWRlIGEgbG90IG9mIGxpZ2h0IGFuZCBoYWQgdG8gcmVndWxhdGUgaXRzIGludGVuc2l0eSwg
dGhlIGFtb3VudCBvZiBsaWdodCB0aGV5IGVtaXR0ZWQgYXQgbWF4aW11bSBwb3dlciB3YXMgc28g
Z3JlYXQgd2hpY2ggdHJhdmVyc2VkIHRoZSBwcm9kdWN0IGFuZCB0aGUgbWVhc3VyZW1lbnRzIHdl
cmUgY2xvc2UgdG8gdGhlIG1heGltdW0gbGlnaHQgdGhhdCBMRFJzIGNvdWxkIG1lYXN1cmUuPC9w
PjxwPjxicj48L3A+PHA+QXMgbGFzdCB0ZXN0IHdhcyBwbGFjZWQgYSByb3cgb2YgMTB3IExFRHMg
YW5kIGEgcm93IG9mIGNhciBMRURzLiBBZnRlciB0aGUgdGVzdCB3YXMgY29uY2x1ZGVkIHRoYXQg
dGhlIExFRHMgdG8gYmUgdXNlZCB3ZXJlIDEwdywgYnV0IHdpdGggdGhlaXIgaW50ZW5zaXR5IHJl
Z3VsYXRlZC4gVGhlc2UgYmFycyB3ZXJlIGFibGUgdG8gbWVldCBhbGwgdGhlIGRldGVjdGlvbiBv
YmplY3RpdmVzLCBidXQgdGhlaXIgc2l6ZSB3YXMgdG9vIGxhcmdlIGFuZCB0aGVyZWZvcmUgZGlz
Y2FyZGVkLjwvcD48cD48YnI+PC9wPjxwPiMjIyBJdGVyYXRpb24gMjwvcD48cD48YnI+PC9wPjxw
PiFbSW50ZXJpb3Igb2YgdGhlIExFRCBiYXJdKC4vaW1hZ2VuZXNfdjMvUFJPVE9USVBPXzJfMDEu
SlBHICJJbnRlcmlvciBvZiB0aGUgTEVEIGJhciIpPC9wPjxwPjxicj48L3A+PHA+IVtJbnRlcmlv
ciBvZiB0aGUgTERSIGJhcl0oLi9pbWFnZW5lc192My9QUk9UT1RJUE9fMl8wMi5KUEcgIkludGVy
aW9yIG9mIHRoZSBMRFIgYmFyIik8L3A+PHA+PGJyPjwvcD48cD4hW0JhcnMgLSBpbm5lciBmYWNl
c10oLi9pbWFnZW5lc192My9QUk9UT1RJUE9fMl8wMy5KUEcgIkJhcnMgLSBpbm5lciBmYWNlcyIp
PC9wPjxwPjxicj48L3A+PHA+IVtCYXJzIC0gb3V0ZXIgZmFjZXNdKC4vaW1hZ2VuZXNfdjMvUFJP
VE9USVBPXzJfMDQuSlBHICJCYXJzIC0gb3V0ZXIgZmFjZXMiKTwvcD48cD48YnI+PC9wPjxwPiFb
QmFycyAtIHNpZGVzXSguL2ltYWdlbmVzX3YzL1BST1RPVElQT18yXzA1LkpQRyAiQmFycyAtIHNp
ZGVzIik8L3A+PHA+PGJyPjwvcD48cD4hW0JhcnMgbW91bnRlZCBvbiB0ZXN0IGJlbmNoXSguL2lt
YWdlbmVzX3YzL1BST1RPVElQT18yXzA2LkpQRyAiQmFycyBtb3VudGVkIG9uIHRlc3QgYmVuY2gi
KTwvcD48cD48YnI+PC9wPjxwPkluIHRoaXMgaXRlcmF0aW9uIHJlY3Rhbmd1bGFyIGFsdW1pbnVt
IGJhcnMgd2VyZSB1c2VkLCB3aGljaCBhbGxvd2VkIHRoZSBiYXJzIHRvIGJlIHRoaW5uZXIgdGhh
biB0aG9zZSBkZXNpZ25lZCB3aXRoIHdvb2QgaW4gdGhlIHByZXZpb3VzIGl0ZXJhdGlvbi48L3A+
PHA+PGJyPjwvcD48cD5UbyBhdm9pZCB0aGF0IHNvbWUgTEVEcyBkaWQgbm90IGFmZmVjdCB0aGUg
b3RoZXJzIGFuZCB0aGUgTERSIHdlcmUgbm90IGFmZmVjdGVkIGJ5IHRoZSBsaWdodCBvZiB0aGUg
b3RoZXIgTEVEcyB3ZXJlIGFsbCB3aXRoZHJhd24gYSBsaXR0bGUgdG93YXJkcyB0aGUgaW50ZXJp
b3Igb2YgdGhlIGJhciBvZiBMRURzLCBpbiB0aGlzIHdheSBpdCB3YXMgYXZvaWRlZCB0aGF0IHRo
ZSBub24tZGlyZWN0IGxpZ2h0IHJlY2VpdmVkIGJ5IHRoZSBMRFJzIG9mIHRoZSBMRFJzIGJhciB3
aWxsIGFmZmVjdCB0aGUgbWVhc3VyZW1lbnRzLjwvcD48cD48YnI+PC9wPjxwPkluIHRoaXMgaXRl
cmF0aW9uIG9uZSBoYWQgdGhlIHByb2JsZW0gdGhhdCBlYWNoIG9mIHRoZSBMRURzIGVtaXR0ZWQg
YSBzbGlnaHRseSBkaWZmZXJlbnQgaW50ZW5zaXR5IG9mIGxpZ2h0IGFuZCBpbiBzb21lIGNhc2Vz
IGEgc2xpZ2h0bHkgZGlmZmVyZW50IGNvbG9yLCB0aGlzIGNvbXBsaWNhdGVkIHRoZSBjb2RlIGVu
b3VnaCwgc2luY2UgdGhpcyBmb3JjZWQgdGhhdCB0aGUgTEVEcyBhbmQgdGhlIExEUnMgaGFkIHRv
IGJlIGNhbGlicmF0ZWQgaW4gYW4gaW5kZXBlbmRlbnQgd2F5LiBJbiBhZGRpdGlvbiB0byB0aGUg
YWJvdmUsIGl0IHdhcyBmb3VuZCB0aGF0IHRoZSBiYXJzIHdlcmUgc3RpbGwgYSBsaXR0bGUgbGFy
Z2UgZm9yIHRoZSBhdmFpbGFibGUgc3BhY2UuPC9wPjxwPjxicj48L3A+PHA+IyMjIEl0ZXJhdGlv
biAzPC9wPjxwPjxicj48L3A+PHA+IVs5dyBkZWZpbml0aXZlIExFRHNdKC4vaW1hZ2VuZXNfdjMv
UFJPVE9USVBPXzNfMDEuSlBHICI5dyBkZWZpbml0aXZlIExFRHMiKTwvcD48cD48YnI+PC9wPjxw
PiFbUGFydHMgdXNlZCBmb3IgYmFyc10oLi9pbWFnZW5lc192My9QUk9UT1RJUE9fM18wMi5KUEcg
IlBhcnRzIHVzZWQgZm9yIGJhcnMiKTwvcD48cD48YnI+PC9wPjxwPiFbSG9sZSBUZXN0aW5nIGZv
ciBMRURzXSguL2ltYWdlbmVzX3YzL1BST1RPVElQT18zXzAzLkpQRyAiSG9sZSBUZXN0aW5nIGZv
ciBMRURzIik8L3A+PHA+PGJyPjwvcD48cD4hW01vdW50ZWQgYmFycyAtIGJhciBkZXRhaWwgTERS
c10oLi9pbWFnZW5lc192My9QUk9UT1RJUE9fM18wNC5KUEcgIk1vdW50ZWQgYmFycyAtIGJhciBk
ZXRhaWwgTERScyIpPC9wPjxwPjxicj48L3A+PHA+IVtNb3VudGVkIEJhcnMgLSBMRUQgQmFyIERl
dGFpbF0oLi9pbWFnZW5lc192My9QUk9UT1RJUE9fM18wNS5KUEcgIk1vdW50ZWQgQmFycyAtIExF
RCBCYXIgRGV0YWlsIik8L3A+PHA+PGJyPjwvcD48cD4hW0JhcnMgbW91bnRlZCBvbiB0ZXN0IGJl
bmNoXSguL2ltYWdlbmVzX3YzL1BST1RPVElQT18zXzA2LkpQRyAiQmFycyBtb3VudGVkIG9uIHRl
c3QgYmVuY2giKTwvcD48cD48YnI+PC9wPjxwPiFbRGV0YWlsIHBvd2VyIGlucHV0IGNpcmN1aXQg
YW5kIEFyZHVpbm8gY29tbXVuaWNhdGlvbnNdKC4vaW1hZ2VuZXNfdjMvUFJPVE9USVBPXzNfMDcu
SlBHICJEZXRhaWwgcG93ZXIgaW5wdXQgY2lyY3VpdCBhbmQgQXJkdWlubyBjb21tdW5pY2F0aW9u
cyIpPC9wPjxwPjxicj48L3A+PHA+IVtEZXRhaWwgY2lyY3VpdCB3aXRoIEFyZHVpbm8gb2YgcmVh
ZGluZyBvZiBMRFJzIGFuZCBkZWNpc2lvbiBtYWtpbmddKC4vaW1hZ2VuZXNfdjMvUFJPVE9USVBP
XzNfMDguSlBHICJEZXRhaWwgY2lyY3VpdCB3aXRoIEFyZHVpbm8gb2YgcmVhZGluZyBvZiBMRFJz
IGFuZCBkZWNpc2lvbiBtYWtpbmciKTwvcD48cD48YnI+PC9wPjxwPlRoZSBiZWdpbm5pbmcgb2Yg
dGhpcyBpdGVyYXRpb24gYmVnYW4gd2l0aCB0aGUgc2VhcmNoIGZvciBzbWFsbGVyIGJhcnMgYW5k
IHRoYXQgYWxsb3dlZCB0byByZWR1Y2UgdGhlIHRvdGFsIHNpemUgb2YgdGhlIGJhcnMsIG9mIHRo
aXMgZm9ybSB0byBiZSBhYmxlIHRvIHVzZSB0aGVtIGluIHRoZSBmaW5hbCBzb2x1dGlvbi4gQXMg
YSByZXN1bHQgb2YgdGhpcyBzZWFyY2ggd2VyZSBmb3VuZCBwcm9maWxlcyB1c2VkIGZvciBvdXRk
b29yIGxpZ2h0aW5nIHRoYXQgYWxsb3dlZCB1cyB0byBoYXZlIHRoZSBkZXNpcmVkIHNpemUgZm9y
IHRoZSBiYXJzLCBpbiBhZGRpdGlvbiB0byBhIHJhdGhlciBsYXJnZSBjYXBhY2l0eSBvZiBoZWF0
IGRpc3NpcGF0aW9uLCAxMHcgTEVEcyBlbWl0dGVkIGEgZmFpcmx5IGhpZ2ggYW1vdW50IG9mIGhl
YXQuICZuYnNwOzwvcD48cD5EdXJpbmcgdGhlIHNlYXJjaCBwcm9jZXNzIG9mIHRoZSBwcmV2aW91
cyBiYXJzIGFuZCBieSBjaGFuY2Ugd2VyZSBmb3VuZCByZWN0YW5ndWxhciBMRUQgNlcgQ09CIDE3
MCB4IDE1IG1tLCB3aGljaCBhbGxvd2VkIHRvIGlsbHVtaW5hdGUgYWxsIHRoZSBwcm9kdWN0IG9m
IHVuaWZvcm0gZm9ybSwgb2YgdGhpcyBmb3JtIGl0IGF2b2lkZWQgdG8gaGF2ZSB0byBoaWRlIHRo
ZSBMRFIgc28gdGhhdCB0aGUgbGlnaHQgb2YgYSBkaWZmZXJlbnQgTEVEIHRoYW4gdGhlIG9uZSBh
c3NpZ25lZCB3aWxsIGFmZmVjdCB0aGUgbWVhc3VyZW1lbnQgb2YgdGhpcyBvbmUuIFRoaXMgYWxs
b3dlZCBhbGwgcHJldmlvdXMgTEVEcyB0byBiZSByZXBsYWNlZCB3aXRoIG9ubHkgb25lIENPQi48
L3A+PHA+PGJyPjwvcD48cD5UaGUgZmluZGluZyBvZiB0aGVzZSBMRURzIGFsc28gbWFkZSBpdCBw
b3NzaWJsZSB0byBzaW1wbGlmeSB0aGUgY2FsaWJyYXRpb24gcHJvY2Vzcywgc2luY2UgZnJvbSB0
aGVuIG9ubHkgdGhlIG1lYXN1cmVtZW50cyB0byBiZSB0YWtlbiBieSBlYWNoIG9mIHRoZSBMRFJz
IGhhZCB0byBiZSBjYWxpYnJhdGVkIGFuZCB0aGUgY2FsaWJyYXRpb24gb2YgdGhlIExFRCB3YXMg
dW5uZWNlc3Nhcnkgc2luY2Ugb25seSBvbmUgQ09CIExFRCB3YXMgbmVlZGVkLiBJbiBhZGRpdGlv
biB0byB0aGlzLCBpdCBzaW1wbGlmaWVkIHRoZSBjaXJjdWl0IG5lY2Vzc2FyeSBmb3IgdGhlIGNv
bnRyb2wgb2YgdGhlIGJhcnMsIHRoaXMgYWxsb3dlZCB0aGF0IHRoaXMgY2lyY3VpdCBjb3VsZCBi
ZSBwbGFjZWQgaW4gdGhlIHNhbWUgYmFycyBhbmQgZGlkIG5vdCBoYXZlIHRvIHBsYWNlIGl0IGlu
IGEgYm94IG91dHNpZGUgdGhlc2UuPC9wPjxwPjxicj48L3A+PHA+RHVyaW5nIHRoaXMgcGhhc2Ug
d2FzIGEgbWlzaGFwIGFuZCBhbiBlcnJvciBpbiB0aGUgY29ubmVjdGlvbiBvZiBhIHBvd2VyIHN1
cHBseSwgY29ubmVjdGVkIHRvIHRoZSBJbmR1c3RydWlubyBpbiBhbiB1bnJlZ3VsYXRlZCBpbnB1
dCBhIHZvbHRhZ2UgaGlnaGVyIHRoYW4gdGhlIG9uZSBzdXBwb3J0ZWQgYW5kIGl0IHdhcyBidXJu
ZWQsIGJlaW5nIHVudXNhYmxlLCB0aGVyZWZvcmUsIGl0IHdhcyBkZWNpZGVkIHRvIGNyZWF0ZSBh
IHNpbWlsYXIgYXNzZW1ibHkgdG8gSW5kdXN0cnVpbm8sIGJ1dCB3aXRoIGFuIEFyZHVpbm8gVU5P
LCBhIExDRCAxNngyIGFuZCAzIGJ1dHRvbnMsIHRoaXMgd2F5IGNvdWxkIGJlIGZpbmlzaGVkIHRo
aXMgcGhhc2UuPC9wPjxkaXY+PGJyPjwvZGl2Pg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/3356002749475942987/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2017/03/material-density-detection-system-used.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/3356002749475942987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/3356002749475942987'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2017/03/material-density-detection-system-used.html' title='Material density detection system used to create wet wipes with Arduino 1/2'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5LZ8nexwVBQMsiNPwcc0DY194ctOfI3It4kGTfWGMtZuPAUwaQKagRAm1QrpWotC-w5xFUMxJ9F0MgX3iCbXsb_23KrbetFSKebKiMP10Jos3-1bTwnme7aIGnKOJ43g_Z98E_gmzQS1J/s72-c/Introduccion_01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-7671691094458154044</id><published>2017-03-30T08:00:00.000+02:00</published><updated>2017-04-05T08:24:27.095+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><title type='text'>Sistema de detección de la densidad del material usado para crear las toallitas húmedas con Arduino 1/2</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=7671691094458154044;onPublishedMenu=allposts;onClosedMenu=allposts;postNum=2;src=link&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h1 id=&quot;sistema-de-detecci-n-de-la-densidad-del-material-usado-para-crear-las-toallitas-h-medas-con-arduino-&quot; style=&quot;border-bottom: 1px solid rgb(221, 221, 221); font-size: 1.6em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
&lt;/h1&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5LZ8nexwVBQMsiNPwcc0DY194ctOfI3It4kGTfWGMtZuPAUwaQKagRAm1QrpWotC-w5xFUMxJ9F0MgX3iCbXsb_23KrbetFSKebKiMP10Jos3-1bTwnme7aIGnKOJ43g_Z98E_gmzQS1J/s1600/Introduccion_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras montadas dentro del maletín de demo&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5LZ8nexwVBQMsiNPwcc0DY194ctOfI3It4kGTfWGMtZuPAUwaQKagRAm1QrpWotC-w5xFUMxJ9F0MgX3iCbXsb_23KrbetFSKebKiMP10Jos3-1bTwnme7aIGnKOJ43g_Z98E_gmzQS1J/s640/Introduccion_01.jpg&quot; title=&quot;Barras montadas dentro del maletín de demo&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras montadas dentro del maletín de demo&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggR3jdGqXV6JitAP-MgjXwMmtlKcppADOdqYRgvJodVQggLrL3woLKNXRaryNrCMTkYPS2qyJydgo0GmDacc8fPlME_52fVBjthYVpz8GmL3kfKY4YaMjK9BNN4OPykBCTiaiyRyTkriim/s1600/Introduccion_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras montadas en el banco de pruebas&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggR3jdGqXV6JitAP-MgjXwMmtlKcppADOdqYRgvJodVQggLrL3woLKNXRaryNrCMTkYPS2qyJydgo0GmDacc8fPlME_52fVBjthYVpz8GmL3kfKY4YaMjK9BNN4OPykBCTiaiyRyTkriim/s640/Introduccion_02.jpg&quot; title=&quot;Barras montadas en el banco de pruebas&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras montadas en el banco de pruebas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 id=&quot;introducci-n&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Introducción&lt;/h2&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Esta aventura comenzó cuando mi amigo &lt;a href=&quot;https://www.linkedin.com/in/franciscoferri/&quot; target=&quot;_blank&quot;&gt;Fran&lt;/a&gt; vino a buscarme para contarme la necesidad que había detectado en una empresa y quería que le echara una mano para llevarla a buen puerto.&lt;br /&gt;
Aunque al final el proyecto no se aplicó en la empresa, decidimos terminarlo, habíamos dedicado demasiado tiempo en él como para no hacerlo.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
El proyecto consistía en crear un sistema de detección de la densidad de un material para detectar si este cumplía con la calidad esperada.&lt;br /&gt;
En caso de no cumplirla se debía de activar un relé.&lt;br /&gt;
La solución que se eligiera debía de aplicarse a 9 máquinas, ser capaz de estar funcionando las 24 horas del día y realizar las tareas a la velocidad de funcionamiento de la máquina.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
El producto a analizar consistía en las bobinas de material usado para crear las toallitas húmedas.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Los casos que debían producir la activación del relé eran los siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Densidad del producto inferior a la esperada.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Densidad del producto superior a la esperada.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Cintas de unión sobre el producto.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Roturas y deformaciones del producto.&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguRKQnRJ5wYe-y_zdI-UNPjeTu6ioPML8GK3LdCtgWh7CII1tS127kXW_5s0T57VAFSpb8IVaOWnTWeOppGmX-HcqnP6LSyKvptzw7bfX9nd0JO_Bkg4DTbNCbkYV5dE4xBW5l578NeZUP/s1600/Introduccion_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Lateral de las máquinas sobre las que se tenía que montar las barras&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguRKQnRJ5wYe-y_zdI-UNPjeTu6ioPML8GK3LdCtgWh7CII1tS127kXW_5s0T57VAFSpb8IVaOWnTWeOppGmX-HcqnP6LSyKvptzw7bfX9nd0JO_Bkg4DTbNCbkYV5dE4xBW5l578NeZUP/s640/Introduccion_03.jpg&quot; title=&quot;Lateral de las máquinas sobre las que se tenía que montar las barras&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Lateral de las máquinas sobre las que se tenía que montar las barras&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdAgPqbx0Z2wCQg9-ev6hhOVp3csPwB2kCGGOn_vZ6K0RsiDAFJyr9iCAVBvQwKFbWQUaC6ZQGicpD6OHdKE3I5q3raF64SK9XnxA_F2jecLwklJhhQ90zi1DZDVl3NJRPjXagwjKIoReE/s1600/Introduccion_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Detalle del lugar en el que se tenían que montar una de las barras&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdAgPqbx0Z2wCQg9-ev6hhOVp3csPwB2kCGGOn_vZ6K0RsiDAFJyr9iCAVBvQwKFbWQUaC6ZQGicpD6OHdKE3I5q3raF64SK9XnxA_F2jecLwklJhhQ90zi1DZDVl3NJRPjXagwjKIoReE/s640/Introduccion_04.jpg&quot; title=&quot;Detalle del lugar en el que se tenían que montar una de las barras&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detalle del lugar en el que se tenían que montar una de las barras&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHKzF2iwYkgAALoxEWpij_w5FXDeCeRf8QgKvVgmS_OZvl0SjNyzyzd5_jbB34L77uklF4WUdQHME3GMvu2EV8mOZ23PXKvfiUntasZZRMaEzjt5D3t8uPsJEsdXAUtfKJQDpL2SwqaZMk/s1600/Introduccion_05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Medidas del hueco a la entrada del material en la máquina&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHKzF2iwYkgAALoxEWpij_w5FXDeCeRf8QgKvVgmS_OZvl0SjNyzyzd5_jbB34L77uklF4WUdQHME3GMvu2EV8mOZ23PXKvfiUntasZZRMaEzjt5D3t8uPsJEsdXAUtfKJQDpL2SwqaZMk/s640/Introduccion_05.jpg&quot; title=&quot;Medidas del hueco a la entrada del material en la máquina&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Medidas del hueco a la entrada del material en la máquina&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVwx9IESC4irRbHnerZO63KmHkUb0eIKCQw-1DRI2hnSYtGQNDZhpFhiwaBYKEeLdpx32lpP2w6qAfTYhwlrf7E3tYnqBN9fgbjVtlp9Qh84DTBJvhrv4x2Tjhp2ZZD-ZrUmzKemB4K2kh/s1600/Introduccion_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Medidas del hueco en el que se creía mejor para estar montadas las barras&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVwx9IESC4irRbHnerZO63KmHkUb0eIKCQw-1DRI2hnSYtGQNDZhpFhiwaBYKEeLdpx32lpP2w6qAfTYhwlrf7E3tYnqBN9fgbjVtlp9Qh84DTBJvhrv4x2Tjhp2ZZD-ZrUmzKemB4K2kh/s640/Introduccion_06.jpg&quot; title=&quot;Medidas del hueco en el que se creía mejor para estar montadas las barras&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Medidas del hueco en el que se creía mejor para estar montadas las barras&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Para abordar el problema se decidió crear varias sesiones de brainstorming y de búsqueda de información para intentar encontrar las mejores soluciones a este problema.&lt;br /&gt;
Las ideas que se nos ocurrieron y que se estudiaron como posibles soluciones al problema, por orden, son las siguientes:&lt;/div&gt;
&lt;h3 id=&quot;usar-una-c-mara-y-estudiar-el-producto-a-partir-de-la-informaci-n-recibida-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Usar una cámara y estudiar el producto a partir de la información recibida.&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
La idea consistía en, a partir de la información obtenida de una cámara que estaba apuntando directamente al producto, usar un software de análisis de imágenes para detectar cada uno de los casos descritos antes.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
La detección de cintas de unión, roturas y deformaciones consistía en usar librerías de visión artificial como &lt;a href=&quot;http://opencv.org/&quot;&gt;OpenCV&lt;/a&gt; o &lt;a href=&quot;http://simplecv.org/&quot;&gt;SimpleCV&lt;/a&gt; para analizar las imágenes recibidas, y a partir de ciertas reglas obtener si se cumplían estos casos.&lt;br /&gt;
La medición de la densidad del producto se debía de realizar analizando el color del producto al ser atravesado por una luz, con un color a estudiar.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Esta idea se descartó por el alto coste de hardware necesario para realizarlo, además de por la complejidad del software que se debía crear.&lt;/div&gt;
&lt;h3 id=&quot;iluminar-con-una-luz-infrarroja-y-analizar-la-luz-que-atraviesa-el-producto-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iluminar con una luz infrarroja y analizar la luz que atraviesa el producto.&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
La idea consistía en, iluminar con una luz infrarroja el producto y analizar la temperatura de la luz que atravesaba a éste.&lt;br /&gt;
Se estudió durante un tiempo la mejor forma de realizar las mediciones, pero se descubrió que cualquier cambio mínimo en la temperatura o en la intensidad de la luz de la sala en la que se encontraban las máquinas afectaba a las mediciones.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Se descartó porque la temperatura del producto puede cambiar por efectos externos y fuera de nuestro control, por tanto, complicaba sobremanera la medición de esta temperatura y obligaba a que el sistema detectara cambios de temperatura e intensidad de la luz en la sala y obligara a que el sistema se auto calibrara al detectar un mínimo cambio de uno de estos dos parámetros.&lt;/div&gt;
&lt;h3 id=&quot;iluminar-con-una-luz-normal-y-analizar-la-cantidad-de-luz-que-atraviesa-al-producto-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iluminar con una luz normal y analizar la cantidad de luz que atraviesa al producto.&lt;/h3&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Esta fue la idea que se llevó a la práctica.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
La idea consistía en iluminar el producto por una cara y por la opuesta medir la cantidad de luz que lo traspasaba.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Después de estudiar qué color usar se decidió usar el blanco, éste era del que mejor información se podía obtener y el menos afectado por tener que traspasar el producto.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Mediante este sistema se podrían detectar los 4 casos que debía de cumplir el sistema:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Densidad del producto inferior a la esperada:&lt;/b&gt; Se detectaría si la intensidad de luz era superior a un valor límite superior de intensidad de luz.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Densidad del producto superior a la esperada:&lt;/b&gt; Se detectaría si la intensidad de luz era inferior a un valor límite inferior de intensidad de luz.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Cintas de unión sobre el producto:&lt;/b&gt; Se detectaría si la intensidad de luz era nula o casi nula.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;b&gt;Roturas y deformaciones del producto:&lt;/b&gt; Se detectaría si la intensidad de luz era la máxima posible o casi la máxima.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;iteraciones-fases-por-las-que-pas-el-proyecto-para-llegar-a-la-soluci-n-final-&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iteraciones/Fases por las que pasó el proyecto para llegar a la solución final.&lt;/h2&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Después de decidir cómo solucionar el problema, tocó decidir cómo llevarlo a la práctica.&lt;br /&gt;
La conclusión a la que se llegó fue la siguiente:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se debían de crear 2 barras que deberían de estar alineadas y el producto debería de pasar entre ambas.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Una barra debería de iluminar el producto de forma uniforme y en la otra deberían de estar los LDR’s (Light Dependent Resistor - fotorresistencia) para analizar la cantidad de luz que atraviesa a éste.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Para controlar a ambas barras se usaría un Arduino. Se decidió usar el Arduino Pro Mini por su reducido tamaño.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Para activar los relés y enviar los parámetros de configuración a los Arduinos que manejaban las barras se usaría otro Arduino. Se buscó por internet uno que pudiera usarse en un cuadro eléctrico o una carcasa para éste que cumpliera el mismo cometido y encontramos el &lt;a href=&quot;https://industruino.com/&quot;&gt;Industruino&lt;/a&gt;.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;La comunicación entre los Arduinos de las barras y el Industruino se realizaría por el bus I2C.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
A partir de la solución que se decidió seguir se crearon 3 iteraciones. Cada una de las iteraciones generó un prototipo diferente y que nos acercó más a la solución final del problema.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Para poder realizar las pruebas se tuvo que echar mano del ingenio de mi hermano Raúl, quien nos construyó un banco para poder realizar las pruebas, éste fue modificándose según las necesidades en cada una de las pruebas que se realizaron.&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHL4piSfXXC6wJAeBJstZ7Kc9Qf-GiHHv_sCLGOBLOH3Ksd83aLchjrxYU75AyH9qC6c8r-Q9wsUFTv7ThdPM0p-hi5s4V7KM9BSMdOheYxLLytbNWfLi93jCoFXB9-4cHRPvQVTvf8haa/s1600/Introduccion_07.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Banco de pruebas inicial&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHL4piSfXXC6wJAeBJstZ7Kc9Qf-GiHHv_sCLGOBLOH3Ksd83aLchjrxYU75AyH9qC6c8r-Q9wsUFTv7ThdPM0p-hi5s4V7KM9BSMdOheYxLLytbNWfLi93jCoFXB9-4cHRPvQVTvf8haa/s640/Introduccion_07.jpg&quot; title=&quot;Banco de pruebas inicial&quot; width=&quot;548&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Banco de pruebas inicial&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 id=&quot;iteraci-n-1&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iteración 1&lt;/h3&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimTI56LsErwsnn-2op3NVbm695G7VAPQYFldTNn4RTnRvUcMIixyMZSluQm-HOqpcQtc-0OlZzNEQdNIHV6aGMLejTgk30-U2RDDzoTsjqMTYmlTMRmQmoIiH1rhyOUYMX0yPhU3Iu5xLT/s1600/PROTOTIPO_1_01.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Matriz sin LEDs ni LCDs&quot; border=&quot;0&quot; height=&quot;402&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimTI56LsErwsnn-2op3NVbm695G7VAPQYFldTNn4RTnRvUcMIixyMZSluQm-HOqpcQtc-0OlZzNEQdNIHV6aGMLejTgk30-U2RDDzoTsjqMTYmlTMRmQmoIiH1rhyOUYMX0yPhU3Iu5xLT/s640/PROTOTIPO_1_01.JPG&quot; title=&quot;Matriz sin LEDs ni LCDs&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Matriz sin LEDs ni LCDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilhF2A1VBazZSJSpfEfd1E5II8bEXH3c3vujoZJ3zvauZSSHRqSH3TjAgjh0T7nKgIwXZyb5QWSLLbb_XAqvEMilZeCjS2g3nLI_e9vRTEDXHx-iZBqJZ0qPavfQiYhpn19IfuHMpYR3H1/s1600/PROTOTIPO_1_02.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Posicionado de los LEDs&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilhF2A1VBazZSJSpfEfd1E5II8bEXH3c3vujoZJ3zvauZSSHRqSH3TjAgjh0T7nKgIwXZyb5QWSLLbb_XAqvEMilZeCjS2g3nLI_e9vRTEDXHx-iZBqJZ0qPavfQiYhpn19IfuHMpYR3H1/s640/PROTOTIPO_1_02.JPG&quot; title=&quot;Posicionado de los LEDs&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Posicionado de los LEDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFypQYUPUz7WOwI6I2lN5pv6qhlcbZDlDSJJk_dv9mgAb1kIs7ETdRhaz754KDhppgFAvG4xAVQPoKeaMEeQ1JF6fAP0lPAfS2GNsVdUb81Wy6bnXr2glkV577PXd-rflql14kxLKhXuI1/s1600/PROTOTIPO_1_03.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Distribución de los LCDs&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFypQYUPUz7WOwI6I2lN5pv6qhlcbZDlDSJJk_dv9mgAb1kIs7ETdRhaz754KDhppgFAvG4xAVQPoKeaMEeQ1JF6fAP0lPAfS2GNsVdUb81Wy6bnXr2glkV577PXd-rflql14kxLKhXuI1/s640/PROTOTIPO_1_03.JPG&quot; title=&quot;Distribución de los LCDs&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Distribución de los LCDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5v5tGH-7iQ1gWWNCc6_muknpUC7HZwokeVXSjlhcevAtBssFHgpir_QtmhR1eJKjU6mbY0InwHDnHP9NOZl1dt4Spd3Ss1_Ieq4xHAZl4qQCLB_WUbe4p68a88oeQ6CVnUG945v89zZI/s1600/PROTOTIPO_1_04.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Montaje sobre banco de pruebas&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_5v5tGH-7iQ1gWWNCc6_muknpUC7HZwokeVXSjlhcevAtBssFHgpir_QtmhR1eJKjU6mbY0InwHDnHP9NOZl1dt4Spd3Ss1_Ieq4xHAZl4qQCLB_WUbe4p68a88oeQ6CVnUG945v89zZI/s640/PROTOTIPO_1_04.JPG&quot; title=&quot;Montaje sobre banco de pruebas&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Montaje sobre banco de pruebas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
En esta iteración se consideró crear 1 matriz de agujeros de 5x9 cuadros, en los que se introduciría un LED, pero teniendo en cuenta que los LEDs no podían estar colocados en agujeros consecutivos. De esta forma evitábamos que la luz de un LED afectara a un LDR que no fuera el suyo, además de que se intentaba evitar que la luz ambiente afectara a las medidas de luz que realizaban los LDR.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Primero se empezó con unos LED de bombillas, pero no se conseguía obtener la suficiente luz para poder realizar las mediciones de forma correcta y eficiente.&lt;br /&gt;
Continuamos con unos LEDs de faros de coche, pero el resultado era el mismo que con los anteriores LEDs.&lt;br /&gt;
Se continuó con la búsqueda de LEDs que fueran lo suficiente potentes para tomar las mediciones de forma correcta y se encontraron unos de 10w, estos hacían muchísima luz y se tuvo que regular su intensidad, la cantidad de luz que emitían a máxima potencia era tan grande que atravesaba el producto y las mediciones se aproximaban al máximo de luz que podían medir los LDRs.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Como última prueba se colocó una fila de LEDs de 10w y una fila de los LEDs de coche. Una vez realizada la prueba se llegó a la conclusión de que los LEDs a utilizar eran los de 10w, pero con su intensidad regulada. Estas barras conseguían cumplir todos los objetivos de detección, pero su tamaño era demasiado grande, por tanto, se descartaron.&lt;/div&gt;
&lt;h3 id=&quot;iteraci-n-2&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iteración 2&lt;/h3&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGQJnd433wX44uPuXF6s4Y6AXQj21tV_z17mIEl_VqsjvtOZAaP3-GX5CCkKTlhVeyWyyihJsxt1CJ-MLw1Tez4PJE2scgsVlcsuPkSoUwKQrEzs37mtKevmFPfj7IFjpmNr0_C7hxB98Y/s1600/PROTOTIPO_2_01.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Interior de la barra de LEDs&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGQJnd433wX44uPuXF6s4Y6AXQj21tV_z17mIEl_VqsjvtOZAaP3-GX5CCkKTlhVeyWyyihJsxt1CJ-MLw1Tez4PJE2scgsVlcsuPkSoUwKQrEzs37mtKevmFPfj7IFjpmNr0_C7hxB98Y/s640/PROTOTIPO_2_01.JPG&quot; title=&quot;Interior de la barra de LEDs&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Interior de la barra de LEDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ04RusHt1q3df1od5ApPkfGIpz_EVOvxclGJ0Uvx9bMBTzkHJEOCKAqaIiPhpDGbFG6lpZ8S2AdLN_AyJCQR9Cy2aCMzcQqDUfxnn-ZUXGBD6tRaWlP83TB-5pqgkGMU1aRDXkWpImx-3/s1600/PROTOTIPO_2_02.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Interior de la barra de LDRs&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ04RusHt1q3df1od5ApPkfGIpz_EVOvxclGJ0Uvx9bMBTzkHJEOCKAqaIiPhpDGbFG6lpZ8S2AdLN_AyJCQR9Cy2aCMzcQqDUfxnn-ZUXGBD6tRaWlP83TB-5pqgkGMU1aRDXkWpImx-3/s640/PROTOTIPO_2_02.JPG&quot; title=&quot;Interior de la barra de LDRs&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Interior de la barra de LDRs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid8CZGgZrI9BU34mh8e04Gi3xc1j7BmUiizNO9xNYVIsyyNgie7WRkTtGUk2gsJn7obIYQdzzQTwPbpX_a6EgAbLtzKkEo0ebZslLk4oAyQQ-Q5w9KX7kfe1yxMBdODLX-UqS0j0I9bCyD/s1600/PROTOTIPO_2_03.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras - caras interiores&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid8CZGgZrI9BU34mh8e04Gi3xc1j7BmUiizNO9xNYVIsyyNgie7WRkTtGUk2gsJn7obIYQdzzQTwPbpX_a6EgAbLtzKkEo0ebZslLk4oAyQQ-Q5w9KX7kfe1yxMBdODLX-UqS0j0I9bCyD/s640/PROTOTIPO_2_03.JPG&quot; title=&quot;Barras - caras interiores&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras - caras interiores&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikjGEltWGcYBxIIF-SKcOL5IttcizfnAVXaXeATMFA7CQlT2bn0Cyc43balldsC2cqx9D2T6OK7xaJOEjet4c0CSoYxfRz524IkJRNjvUQPy_H30mgg0SvUF38wWEa8iwWv9kcBxf9IF-w/s1600/PROTOTIPO_2_04.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras - caras exteriores&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikjGEltWGcYBxIIF-SKcOL5IttcizfnAVXaXeATMFA7CQlT2bn0Cyc43balldsC2cqx9D2T6OK7xaJOEjet4c0CSoYxfRz524IkJRNjvUQPy_H30mgg0SvUF38wWEa8iwWv9kcBxf9IF-w/s640/PROTOTIPO_2_04.JPG&quot; title=&quot;Barras - caras exteriores&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras - caras exteriores&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuXDQrsQ_fMbmWZ0aLsUgqNIXSeopMOHkHU1zf7nm9kO55u_4ofOhcC38h1YqghlahDrZNFA4O_4jtPTGQictkElCTMDM3AITxl1oIvDEeR251qJrev9tcru8aM9A79x1wDYhMktqC_WND/s1600/PROTOTIPO_2_05.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras - laterales&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuXDQrsQ_fMbmWZ0aLsUgqNIXSeopMOHkHU1zf7nm9kO55u_4ofOhcC38h1YqghlahDrZNFA4O_4jtPTGQictkElCTMDM3AITxl1oIvDEeR251qJrev9tcru8aM9A79x1wDYhMktqC_WND/s640/PROTOTIPO_2_05.JPG&quot; title=&quot;Barras - laterales&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras - laterales&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8OceCb99kIaWkuWVZ8h0GJOYwea5O30b0CzukyLQjl3R6oQMsjCWzusylP4nahXeDguw_jF9r7DRKpFQkVmf4YK8A6tDr4JHVEScR8HqFPVoVL-NiT7Zrz-3fXEXBVCjlfyORFu9DRqqq/s1600/PROTOTIPO_2_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras montadas sobre banco de pruebas&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8OceCb99kIaWkuWVZ8h0GJOYwea5O30b0CzukyLQjl3R6oQMsjCWzusylP4nahXeDguw_jF9r7DRKpFQkVmf4YK8A6tDr4JHVEScR8HqFPVoVL-NiT7Zrz-3fXEXBVCjlfyORFu9DRqqq/s640/PROTOTIPO_2_06.jpg&quot; title=&quot;Barras montadas sobre banco de pruebas&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras montadas sobre banco de pruebas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
En esta iteración se usaron barras rectangulares de aluminio, lo que permitió que las barras fueran más finas que las diseñadas con madera en la iteración anterior.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Para evitar que unos LEDs no afectaran a los otros y los LDR no estuvieran afectados por la luz de los otros LEDs fueron todos retirados un poco hacia el interior de la barra de LEDs, de esta forma se evitaba que la luz no directa recibida por los LDRs de la barra de LDRs afectara a las mediciones.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
En esta iteración se tuvo el problema de que cada uno de los LEDs emitía una intensidad ligeramente diferente de luz y en algunos casos un color ligeramente diferente, esto complicaba bastante el código, ya que esto obligaba a que los LEDs y los LDRs tenían que calibrarse de forma independiente. Además de lo anterior se comprobó que las barras continuaban siendo un poco grandes para el hueco disponible.&lt;/div&gt;
&lt;h3 id=&quot;iteraci-n-3&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Iteración 3&lt;/h3&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYa555AcwMWad6yFe-BW1UW54cDdpjba9S9lf9FCdeV3PTtLlD7_Bbp99bTLT7R915kaR01ismqdxY2vLmQEl64PzBgzsVnWV3rVP5Z08xAJKQbYtksIS4XdDIyuknpj2UhyObHl3DoX2I/s1600/PROTOTIPO_3_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;LEDs 9w definitivos&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYa555AcwMWad6yFe-BW1UW54cDdpjba9S9lf9FCdeV3PTtLlD7_Bbp99bTLT7R915kaR01ismqdxY2vLmQEl64PzBgzsVnWV3rVP5Z08xAJKQbYtksIS4XdDIyuknpj2UhyObHl3DoX2I/s640/PROTOTIPO_3_01.jpg&quot; title=&quot;LEDs 9w definitivos&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;LEDs 9w definitivos&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLAwnVyoxgmlJ-Wi4HYsvzGFDS_XhdH_Q9amAmavDbRgiutbp7aH7NWM_ftjuFqbVYZkWb-Hw17C_zPiNZRseba2Dsp8KpkROb3l9c6qUr2Tlj-3_mHTQfLAovg94bjsnXoqOVAYvW5-cZ/s1600/PROTOTIPO_3_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Piezas usadas para las barras&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLAwnVyoxgmlJ-Wi4HYsvzGFDS_XhdH_Q9amAmavDbRgiutbp7aH7NWM_ftjuFqbVYZkWb-Hw17C_zPiNZRseba2Dsp8KpkROb3l9c6qUr2Tlj-3_mHTQfLAovg94bjsnXoqOVAYvW5-cZ/s640/PROTOTIPO_3_02.jpg&quot; title=&quot;Piezas usadas para las barras&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Piezas usadas para las barras&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTUEf0WnOUwegZspc-xAWczRixj6yCCpoOR6Nai675EE6ZDIJio7-uVN1P92AYq5EeeuIAsiKMFlJOWhc_BYcFvwnP5l84lvmuisjTd2g6Xnp1hPaiXsfhLkP0STbK1dbQBxU3rzV7sWg8/s1600/PROTOTIPO_3_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Pruebas de agujeros para los LEDs&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTUEf0WnOUwegZspc-xAWczRixj6yCCpoOR6Nai675EE6ZDIJio7-uVN1P92AYq5EeeuIAsiKMFlJOWhc_BYcFvwnP5l84lvmuisjTd2g6Xnp1hPaiXsfhLkP0STbK1dbQBxU3rzV7sWg8/s640/PROTOTIPO_3_03.jpg&quot; title=&quot;Pruebas de agujeros para los LEDs&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Pruebas de agujeros para los LEDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVWXCANrzj59i3GU9YjS0gyBvF4dA8CkTciYbwV9z61g7l6EM91yWpAanb9DbUL8vqlL-y-JvriOIbaQfwGW_gi2GTRr8P9Dnc2BRoAY46d_dBCkzVcI_q0ABzMlzWZD_sWzHMShx_oOJ_/s1600/PROTOTIPO_3_04.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras montadas - detalle de barra de LDRs&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVWXCANrzj59i3GU9YjS0gyBvF4dA8CkTciYbwV9z61g7l6EM91yWpAanb9DbUL8vqlL-y-JvriOIbaQfwGW_gi2GTRr8P9Dnc2BRoAY46d_dBCkzVcI_q0ABzMlzWZD_sWzHMShx_oOJ_/s640/PROTOTIPO_3_04.JPG&quot; title=&quot;Barras montadas - detalle de barra de LDRs&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras montadas - detalle de barra de LDRs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf8QyN0zAYJAbzeHri_I1rGosoZdPBHaUXfAg_gj27PI5M5g1SHL4UMDBLzfdWNfHkjr_Luh7_G2CKpyuiVZLxQuUMlYizcXNZPE6mFOYlzK4Z6DRtXmzc6pgh6D-4cIkOwvX5MPUAF0ul/s1600/PROTOTIPO_3_05.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras montadas - detalle de barra de LEDs&quot; border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf8QyN0zAYJAbzeHri_I1rGosoZdPBHaUXfAg_gj27PI5M5g1SHL4UMDBLzfdWNfHkjr_Luh7_G2CKpyuiVZLxQuUMlYizcXNZPE6mFOYlzK4Z6DRtXmzc6pgh6D-4cIkOwvX5MPUAF0ul/s640/PROTOTIPO_3_05.JPG&quot; title=&quot;Barras montadas - detalle de barra de LEDs&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras montadas - detalle de barra de LEDs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcitlG6HwvwIrkAXyHWcdLHY-Q6v-AfzdtWkjMZiQWedOWKV7PDGYcQDp8fuvmXcQXkmQ0RmPb3ObVA1ShyIlWPjMZzGwKB345WOkWtyeci5hbLw4xid11AqwkHrSwN-SZllTKfYqiSaD5/s1600/PROTOTIPO_3_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Barras montadas sobre banco de pruebas&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcitlG6HwvwIrkAXyHWcdLHY-Q6v-AfzdtWkjMZiQWedOWKV7PDGYcQDp8fuvmXcQXkmQ0RmPb3ObVA1ShyIlWPjMZzGwKB345WOkWtyeci5hbLw4xid11AqwkHrSwN-SZllTKfYqiSaD5/s640/PROTOTIPO_3_06.jpg&quot; title=&quot;Barras montadas sobre banco de pruebas&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Barras montadas sobre banco de pruebas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBPYqi-pL54bIVYrlnOQk-CcBGpyzwLH_hXmk-cUvltnVJnUHZYv_Y7UCCRzRfxpMMsRyqSQzTcr_BK8tHwCrbOQvNAMg1DWyMpEfAhQTWtrHOfByWhuYv9aVSVjiQtIXCxwNQw2BqM9aG/s1600/PROTOTIPO_3_07.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Detalle circuito de entrada de alimentación y Arduino de comunicaciones&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBPYqi-pL54bIVYrlnOQk-CcBGpyzwLH_hXmk-cUvltnVJnUHZYv_Y7UCCRzRfxpMMsRyqSQzTcr_BK8tHwCrbOQvNAMg1DWyMpEfAhQTWtrHOfByWhuYv9aVSVjiQtIXCxwNQw2BqM9aG/s640/PROTOTIPO_3_07.jpg&quot; title=&quot;Detalle circuito de entrada de alimentación y Arduino de comunicaciones&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detalle circuito de entrada de alimentación y Arduino de comunicaciones&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV9UFy2cQ-ubjMEYnCVLnbJ9vXj5wnXZPz-L7en3hqmGP7Dbhcl-UpLSKpZY0ZXiI0pvjcard1xGTT747xhZ6jN5S4ZGxoNhGwY57pB34mTn5izwS2gLD43pckCZQbSm1bmlbgd6GiVxXN/s1600/PROTOTIPO_3_08.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Detalle circuito con Arduino de lectura de LDRs y toma de decisiones&quot; border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV9UFy2cQ-ubjMEYnCVLnbJ9vXj5wnXZPz-L7en3hqmGP7Dbhcl-UpLSKpZY0ZXiI0pvjcard1xGTT747xhZ6jN5S4ZGxoNhGwY57pB34mTn5izwS2gLD43pckCZQbSm1bmlbgd6GiVxXN/s640/PROTOTIPO_3_08.jpg&quot; title=&quot;Detalle circuito con Arduino de lectura de LDRs y toma de decisiones&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detalle circuito con Arduino de lectura de LDRs y toma de decisiones&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
El inicio de esta iteración comenzó con la búsqueda de unas barras más pequeñas y que permitieran reducir el tamaño total de las barras, de esta forma poder usarlas en la solución final. Como resultado de esta búsqueda se encontraron unos perfiles usados para iluminación de exteriores que nos permitían tener el tamaño deseado para las barras, además de una capacidad bastante grande de disipación de calor, los LEDs de 10w emitían una cantidad bastante grade de calor.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Durante el proceso de búsqueda de las barras anteriores y de casualidad se encontraron unos LED COB de 6w rectangulares de 170 x 15mm, lo que permitía iluminar todo el producto de forma uniforme, de esta forma se evitaba tener que esconder los LDR para que la luz de un LED diferente al asignado afectara a la medición de este. Esto permitió que se sustituyeron todos los LEDs anteriores un uno sólo COB.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
El encontrar estos LEDs también permitió simplificar el proceso de calibrado, ya que a partir de entonces sólo se tenía que calibrar las medidas a tomar por cada uno de los LDRs y hacía innecesario el calibrado del LED, ya que sólo era necesario un LED COB. Además de esto simplificó el circuito necesario para el control de las barras, esto permitió que este circuito pudiera colocarse en las mismas barras y no tener que colocarlo en una caja exterior a estas.&lt;/div&gt;
&lt;div style=&quot;margin: 0px 0px 1.2em !important;&quot;&gt;
Durante esta fase se tuvo un percance y por un error en la conexión de una alimentación, se conectó al Industruino en una entrada no regulada una tensión superior a la soportada y éste se quemó, quedando inutilizable, por tanto, se decidió crear un montaje similar al Industruino, pero con un Arduino UNO, una pantalla LCD de 16x2 y 3 botones, de esta forma se pudo acabar esta fase.&lt;/div&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+IyBTaXN0ZW1hIGRlIGRldGVjY2nDs24gZGUgbGEgZGVuc2lkYWQgZGVsIG1hdGVyaWFsIHVz
YWRvIHBhcmEgY3JlYXIgbGFzIHRvYWxsaXRhcyBow7ptZWRhcyBjb24gQXJkdWluby48L3A+PHA+
PGJyPjwvcD48cD4hW0JhcnJhcyBtb250YWRhcyBkZW50cm8gZGVsIG1hbGV0w61uIGRlIGRlbW9d
KC4vaW1hZ2VuZXNfdjMvSW50cm9kdWNjaW9uXzAxLmpwZyAiQmFycmFzIG1vbnRhZGFzIGRlbnRy
byBkZWwgbWFsZXTDrW4gZGUgZGVtbyIpPC9wPjxwPjxicj48L3A+PHA+IVtCYXJyYXMgbW9udGFk
YXMgZW4gZWwgYmFuY28gZGUgcHJ1ZWJhc10oLi9pbWFnZW5lc192My9JbnRyb2R1Y2Npb25fMDIu
anBnICJCYXJyYXMgbW9udGFkYXMgZW4gZWwgYmFuY28gZGUgcHJ1ZWJhcyIpPC9wPjxwPjxicj48
L3A+PHA+IyMgSW50cm9kdWNjacOzbjwvcD48cD48YnI+PC9wPjxwPkVzdGEgYXZlbnR1cmEgY29t
ZW56w7MgY3VhbmRvIG1pIGFtaWdvIEZyYW4gdmlubyBhIGJ1c2Nhcm1lIHBhcmEgY29udGFybWUg
bGEgbmVjZXNpZGFkIHF1ZSBoYWLDrWEgZGV0ZWN0YWRvIGVuIHVuYSBlbXByZXNhIHkgcXVlcsOt
YSBxdWUgbGUgZWNoYXJhIHVuYSBtYW5vIHBhcmEgbGxldmFybGEgYSBidWVuIHB1ZXJ0by4gJm5i
c3A7PC9wPjxwPkF1bnF1ZSBhbCBmaW5hbCBlbCBwcm95ZWN0byBubyBzZSBhcGxpY8OzIGVuIGxh
IGVtcHJlc2EsIGRlY2lkaW1vcyB0ZXJtaW5hcmxvLCBoYWLDrWFtb3MgZGVkaWNhZG8gZGVtYXNp
YWRvIHRpZW1wbyBlbiDDqWwgY29tbyBwYXJhIG5vIGhhY2VybG8uPC9wPjxwPjxicj48L3A+PHA+
RWwgcHJveWVjdG8gY29uc2lzdMOtYSBlbiBjcmVhciB1biBzaXN0ZW1hIGRlIGRldGVjY2nDs24g
ZGUgbGEgZGVuc2lkYWQgZGUgdW4gbWF0ZXJpYWwgcGFyYSBkZXRlY3RhciBzaSBlc3RlIGN1bXBs
w61hIGNvbiBsYSBjYWxpZGFkIGVzcGVyYWRhLiZuYnNwOzwvcD48cD5FbiBjYXNvIGRlIG5vIGN1
bXBsaXJsYSBzZSBkZWLDrWEgZGUgYWN0aXZhciB1biByZWzDqS4mbmJzcDs8L3A+PHA+TGEgc29s
dWNpw7NuIHF1ZSBzZSBlbGlnaWVyYSBkZWLDrWEgZGUgYXBsaWNhcnNlIGEgOSBtw6FxdWluYXMs
IHNlciBjYXBheiBkZSBlc3RhciBmdW5jaW9uYW5kbyBsYXMgMjQgaG9yYXMgZGVsIGTDrWEgeSBy
ZWFsaXphciBsYXMgdGFyZWFzIGEgbGEgdmVsb2NpZGFkIGRlIGZ1bmNpb25hbWllbnRvIGRlIGxh
IG3DoXF1aW5hLjwvcD48cD48YnI+PC9wPjxwPkVsIHByb2R1Y3RvIGEgYW5hbGl6YXIgY29uc2lz
dMOtYSBlbiBsYXMgYm9iaW5hcyBkZSBtYXRlcmlhbCB1c2FkbyBwYXJhIGNyZWFyIGxhcyB0b2Fs
bGl0YXMgaMO6bWVkYXMuPC9wPjxwPjxicj48L3A+PHA+TG9zIGNhc29zIHF1ZSBkZWLDrWFuIHBy
b2R1Y2lyIGxhIGFjdGl2YWNpw7NuIGRlbCByZWzDqSBlcmFuIGxvcyBzaWd1aWVudGVzOjwvcD48
cD48YnI+PC9wPjxwPi0gRGVuc2lkYWQgZGVsIHByb2R1Y3RvIGluZmVyaW9yIGEgbGEgZXNwZXJh
ZGEuPC9wPjxwPi0gRGVuc2lkYWQgZGVsIHByb2R1Y3RvIHN1cGVyaW9yIGEgbGEgZXNwZXJhZGEu
PC9wPjxwPi0gQ2ludGFzIGRlIHVuacOzbiBzb2JyZSBlbCBwcm9kdWN0by48L3A+PHA+LSBSb3R1
cmFzIHkgZGVmb3JtYWNpb25lcyBkZWwgcHJvZHVjdG8uPC9wPjxwPjxicj48L3A+PHA+IVtMYXRl
cmFsIGRlIGxhcyBtw6FxdWluYXMgc29icmUgbGFzIHF1ZSBzZSB0ZW7DrWEgcXVlIG1vbnRhciBs
YXMgYmFycmFzXSguL2ltYWdlbmVzX3YzL0ludHJvZHVjY2lvbl8wMy5qcGcgIkxhdGVyYWwgZGUg
bGFzIG3DoXF1aW5hcyBzb2JyZSBsYXMgcXVlIHNlIHRlbsOtYSBxdWUgbW9udGFyIGxhcyBiYXJy
YXMiKTwvcD48cD48YnI+PC9wPjxwPiFbRGV0YWxsZSBkZWwgbHVnYXIgZW4gZWwgcXVlIHNlIHRl
bsOtYW4gcXVlIG1vbnRhciB1bmEgZGUgbGFzIGJhcnJhc10oLi9pbWFnZW5lc192My9JbnRyb2R1
Y2Npb25fMDQuanBnICJEZXRhbGxlIGRlbCBsdWdhciBlbiBlbCBxdWUgc2UgdGVuw61hbiBxdWUg
bW9udGFyIHVuYSBkZSBsYXMgYmFycmFzIik8L3A+PHA+PGJyPjwvcD48cD4hW01lZGlkYXMgZGVs
IGh1ZWNvIGEgbGEgZW50cmFkYSBkZWwgbWF0ZXJpYWwgZW4gbGEgbcOhcXVpbmFdKC4vaW1hZ2Vu
ZXNfdjMvSW50cm9kdWNjaW9uXzA1LmpwZyAiTWVkaWRhcyBkZWwgaHVlY28gYSBsYSBlbnRyYWRh
IGRlbCBtYXRlcmlhbCBlbiBsYSBtw6FxdWluYSIpPC9wPjxwPjxicj48L3A+PHA+IVtNZWRpYXMg
ZGVsIGh1ZWNvIGVuIGVsIHF1ZSBzZSBjcmXDrWEgbWVqb3IgcGFyYSBlc3RhciBtb250YWRhcyBs
YXMgYmFycmFzXSguL2ltYWdlbmVzX3YzL0ludHJvZHVjY2lvbl8wNi5qcGcgIk1lZGlhcyBkZWwg
aHVlY28gZW4gZWwgcXVlIHNlIGNyZcOtYSBtZWpvciBwYXJhIGVzdGFyIG1vbnRhZGFzIGxhcyBi
YXJyYXMiKTwvcD48cD48YnI+PC9wPjxwPlBhcmEgYWJvcmRhciBlbCBwcm9ibGVtYSBzZSBkZWNp
ZGnDsyBjcmVhciB2YXJpYXMgc2VzaW9uZXMgZGUgYnJhaW5zdG9ybWluZyB5IGRlIGLDunNxdWVk
YSBkZSBpbmZvcm1hY2nDs24gcGFyYSBpbnRlbnRhciBlbmNvbnRyYXIgbGFzIG1lam9yZXMgc29s
dWNpb25lcyBhIGVzdGUgcHJvYmxlbWEuICZuYnNwOzwvcD48cD5MYXMgaWRlYXMgcXVlIHNlIG5v
cyBvY3Vycmllcm9uIHkgcXVlIHNlIGVzdHVkaWFyb24gY29tbyBwb3NpYmxlcyBzb2x1Y2lvbmVz
IGFsIHByb2JsZW1hLCBwb3Igb3JkZW4sIHNvbiBsYXMgc2lndWllbnRlczo8L3A+PHA+PGJyPjwv
cD48cD4jIyMgVXNhciB1bmEgY8OhbWFyYSB5IGVzdHVkaWFyIGVsIHByb2R1Y3RvIGEgcGFydGly
IGRlIGxhIGluZm9ybWFjacOzbiByZWNpYmlkYS48L3A+PHA+PGJyPjwvcD48cD5MYSBpZGVhIGNv
bnNpc3TDrWEgZW4sIGEgcGFydGlyIGRlIGxhIGluZm9ybWFjacOzbiBvYnRlbmlkYSBkZSB1bmEg
Y8OhbWFyYSBxdWUgZXN0YWJhIGFwdW50YW5kbyBkaXJlY3RhbWVudGUgYWwgcHJvZHVjdG8sIHVz
YXIgdW4gc29mdHdhcmUgZGUgYW7DoWxpc2lzIGRlIGltw6FnZW5lcyBwYXJhIGRldGVjdGFyIGNh
ZGEgdW5vIGRlIGxvcyBjYXNvcyBkZXNjcml0b3MgYW50ZXMuPC9wPjxwPjxicj48L3A+PHA+TGEg
ZGV0ZWNjacOzbiBkZSBjaW50YXMgZGUgdW5pw7NuLCByb3R1cmFzIHkgZGVmb3JtYWNpb25lcyBj
b25zaXN0w61hIGVuIHVzYXIgbGlicmVyw61hcyBkZSB2aXNpw7NuIGFydGlmaWNpYWwgY29tbyBb
T3BlbkNWXShodHRwOi8vb3BlbmN2Lm9yZy8pIG8gW1NpbXBsZUNWXShodHRwOi8vc2ltcGxlY3Yu
b3JnLykgcGFyYSBhbmFsaXphciBsYXMgaW3DoWdlbmVzIHJlY2liaWRhcywgeSBhIHBhcnRpciBk
ZSBjaWVydGFzIHJlZ2xhcyBvYnRlbmVyIHNpIHNlIGN1bXBsw61hbiBlc3RvcyBjYXNvcy4gJm5i
c3A7PC9wPjxwPkxhIG1lZGljacOzbiBkZSBsYSBkZW5zaWRhZCBkZWwgcHJvZHVjdG8gc2UgZGVi
w61hIGRlIHJlYWxpemFyIGFuYWxpemFuZG8gZWwgY29sb3IgZGVsIHByb2R1Y3RvIGFsIHNlciBh
dHJhdmVzYWRvIHBvciB1bmEgbHV6LCBjb24gdW4gY29sb3IgYSBlc3R1ZGlhci48L3A+PHA+PGJy
PjwvcD48cD5Fc3RhIGlkZWEgc2UgZGVzY2FydMOzIHBvciBlbCBhbHRvIGNvc3RlIGRlIGhhcmR3
YXJlIG5lY2VzYXJpbyBwYXJhIHJlYWxpemFybG8sIGFkZW3DoXMgZGUgcG9yIGxhIGNvbXBsZWpp
ZGFkIGRlbCBzb2Z0d2FyZSBxdWUgc2UgZGViw61hIGNyZWFyLjwvcD48cD48YnI+PC9wPjxwPiMj
IyBJbHVtaW5hciBjb24gdW5hIGx1eiBpbmZyYXJyb2phIHkgYW5hbGl6YXIgbGEgbHV6IHF1ZSBh
dHJhdmllc2EgZWwgcHJvZHVjdG8uPC9wPjxwPjxicj48L3A+PHA+TGEgaWRlYSBjb25zaXN0w61h
IGVuLCBpbHVtaW5hciBjb24gdW5hIGx1eiBpbmZyYXJyb2phIGVsIHByb2R1Y3RvIHkgYW5hbGl6
YXIgbGEgdGVtcGVyYXR1cmEgZGUgbGEgbHV6IHF1ZSBhdHJhdmVzYWJhIGEgw6lzdGUuPC9wPjxw
PlNlIGVzdHVkacOzIGR1cmFudGUgdW4gdGllbXBvIGxhIG1lam9yIGZvcm1hIGRlIHJlYWxpemFy
IGxhcyBtZWRpY2lvbmVzLCBwZXJvIHNlIGRlc2N1YnJpw7MgcXVlIGN1YWxxdWllciBjYW1iaW8g
bcOtbmltbyBlbiBsYSB0ZW1wZXJhdHVyYSBvIGVuIGxhIGludGVuc2lkYWQgZGUgbGEgbHV6IGRl
IGxhIHNhbGEgZW4gbGEgcXVlIHNlIGVuY29udHJhYmFuIGxhcyBtw6FxdWluYXMgYWZlY3RhYmEg
YSBsYXMgbWVkaWNpb25lcy48L3A+PHA+PGJyPjwvcD48cD5TZSBkZXNjYXJ0w7MgcG9ycXVlIGxh
IHRlbXBlcmF0dXJhIGRlbCBwcm9kdWN0byBwdWVkZSBjYW1iaWFyIHBvciBlZmVjdG9zIGV4dGVy
bm9zIHkgZnVlcmEgZGUgbnVlc3RybyBjb250cm9sLCBwb3IgdGFudG8sIGNvbXBsaWNhYmEgc29i
cmVtYW5lcmEgbGEgbWVkaWNpw7NuIGRlIGVzdGEgdGVtcGVyYXR1cmEgeSBvYmxpZ2FiYSBhIHF1
ZSBlbCBzaXN0ZW1hIGRldGVjdGFyYSBjYW1iaW9zIGRlIHRlbXBlcmF0dXJhIGUgaW50ZW5zaWRh
ZCBkZSBsYSBsdXogZW4gbGEgc2FsYSB5IG9ibGlnYXJhIGEgcXVlIGVsIHNpc3RlbWEgc2UgYXV0
byBjYWxpYnJhcmEgYWwgZGV0ZWN0YXIgdW4gbcOtbmltbyBjYW1iaW8gZGUgdW5vIGRlIGVzdG9z
IGRvcyBwYXLDoW1ldHJvcy48L3A+PHA+PGJyPjwvcD48cD4jIyMgSWx1bWluYXIgY29uIHVuYSBs
dXogbm9ybWFsIHkgYW5hbGl6YXIgbGEgY2FudGlkYWQgZGUgbHV6IHF1ZSBhdHJhdmllc2EgYWwg
cHJvZHVjdG8uPC9wPjxwPjxicj48L3A+PHA+RXN0YSBmdWUgbGEgaWRlYSBxdWUgc2UgbGxldsOz
IGEgbGEgcHLDoWN0aWNhLjwvcD48cD48YnI+PC9wPjxwPkxhIGlkZWEgY29uc2lzdMOtYSBlbiBp
bHVtaW5hciBlbCBwcm9kdWN0byBwb3IgdW5hIGNhcmEgeSBwb3IgbGEgb3B1ZXN0YSBtZWRpciBs
YSBjYW50aWRhZCBkZSBsdXogcXVlIGxvIHRyYXNwYXNhYmEuPC9wPjxwPjxicj48L3A+PHA+RGVz
cHXDqXMgZGUgZXN0dWRpYXIgcXXDqSBjb2xvciB1c2FyIHNlIGRlY2lkacOzIHVzYXIgZWwgYmxh
bmNvLCDDqXN0ZSBlcmEgZGVsIHF1ZSBtZWpvciBpbmZvcm1hY2nDs24gc2UgcG9kw61hIG9idGVu
ZXIgeSBlbCBtZW5vcyBhZmVjdGFkbyBwb3IgdGVuZXIgcXVlIHRyYXNwYXNhciBlbCBwcm9kdWN0
by48L3A+PHA+PGJyPjwvcD48cD5NZWRpYW50ZSBlc3RlIHNpc3RlbWEgc2UgcG9kcsOtYW4gZGV0
ZWN0YXIgbG9zIDQgY2Fzb3MgcXVlIGRlYsOtYSBkZSBjdW1wbGlyIGVsIHNpc3RlbWE6PC9wPjxw
Pjxicj48L3A+PHA+LSAqKkRlbnNpZGFkIGRlbCBwcm9kdWN0byBpbmZlcmlvciBhIGxhIGVzcGVy
YWRhOioqIFNlIGRldGVjdGFyw61hIHNpIGxhIGludGVuc2lkYWQgZGUgbHV6IGVyYSBzdXBlcmlv
ciBhIHVuIHZhbG9yIGzDrW1pdGUgc3VwZXJpb3IgZGUgaW50ZW5zaWRhZCBkZSBsdXouPC9wPjxw
Pi0gKipEZW5zaWRhZCBkZWwgcHJvZHVjdG8gc3VwZXJpb3IgYSBsYSBlc3BlcmFkYToqKiBTZSBk
ZXRlY3RhcsOtYSBzaSBsYSBpbnRlbnNpZGFkIGRlIGx1eiBlcmEgaW5mZXJpb3IgYSB1biB2YWxv
ciBsw61taXRlIGluZmVyaW9yIGRlIGludGVuc2lkYWQgZGUgbHV6LjwvcD48cD4tICoqQ2ludGFz
IGRlIHVuacOzbiBzb2JyZSBlbCBwcm9kdWN0bzoqKiBTZSBkZXRlY3RhcsOtYSBzaSBsYSBpbnRl
bnNpZGFkIGRlIGx1eiBlcmEgbnVsYSBvIGNhc2kgbnVsYS48L3A+PHA+LSAqKlJvdHVyYXMgeSBk
ZWZvcm1hY2lvbmVzIGRlbCBwcm9kdWN0bzoqKiBTZSBkZXRlY3RhcsOtYSBzaSBsYSBpbnRlbnNp
ZGFkIGRlIGx1eiBlcmEgbGEgbcOheGltYSBwb3NpYmxlIG8gY2FzaSBsYSBtw6F4aW1hLjwvcD48
cD48YnI+PC9wPjxwPiMjIEl0ZXJhY2lvbmVzL0Zhc2VzIHBvciBsYXMgcXVlIHBhc8OzIGVsIHBy
b3llY3RvIHBhcmEgbGxlZ2FyIGEgbGEgc29sdWNpw7NuIGZpbmFsLjwvcD48cD48YnI+PC9wPjxw
PkRlc3B1w6lzIGRlIGRlY2lkaXIgY8OzbW8gc29sdWNpb25hciBlbCBwcm9ibGVtYSwgdG9jw7Mg
ZGVjaWRpciBjw7NtbyBsbGV2YXJsbyBhIGxhIHByw6FjdGljYS4gJm5ic3A7PC9wPjxwPkxhIGNv
bmNsdXNpw7NuIGEgbGEgcXVlIHNlIGxsZWfDsyBmdWUgbGEgc2lndWllbnRlOjwvcD48cD48YnI+
PC9wPjxwPi0gU2UgZGViw61hbiBkZSBjcmVhciAyIGJhcnJhcyBxdWUgZGViZXLDrWFuIGRlIGVz
dGFyIGFsaW5lYWRhcyB5IGVsIHByb2R1Y3RvIGRlYmVyw61hIGRlIHBhc2FyIGVudHJlIGFtYmFz
LjwvcD48cD4tIFVuYSBiYXJyYSBkZWJlcsOtYSBkZSBpbHVtaW5hciBlbCBwcm9kdWN0byBkZSBm
b3JtYSB1bmlmb3JtZSB5IGVuIGxhIG90cmEgZGViZXLDrWFuIGRlIGVzdGFyIGxvcyBMRFIncyAo
TGlnaHQgRGVwZW5kZW50IFJlc2lzdG9yIC0gZm90b3JyZXNpc3RlbmNpYSkgcGFyYSBhbmFsaXph
ciBsYSBjYW50aWRhZCBkZSBsdXogcXVlIGF0cmF2aWVzYSBhIMOpc3RlLjwvcD48cD4tIFBhcmEg
Y29udHJvbGFyIGEgYW1iYXMgYmFycmFzIHNlIHVzYXLDrWEgdW4gQXJkdWluby4gU2UgZGVjaWRp
w7MgdXNhciBlbCBBcmR1aW5vIFBybyBNaW5pIHBvciBzdSByZWR1Y2lkbyB0YW1hw7FvLjwvcD48
cD4tIFBhcmEgYWN0aXZhciBsb3MgcmVsw6lzIHkgZW52aWFyIGxvcyBwYXLDoW1ldHJvcyBkZSBj
b25maWd1cmFjacOzbiBhIGxvcyBBcmR1aW5vcyBxdWUgbWFuZWphYmFuIGxhcyBiYXJyYXMgc2Ug
dXNhcsOtYSBvdHJvIEFyZHVpbm8uIFNlIGJ1c2PDsyBwb3IgaW50ZXJuZXQgdW5vIHF1ZSBwdWRp
ZXJhIHVzYXJzZSBlbiB1biBjdWFkcm8gZWzDqWN0cmljbyBvIHVuYSBjYXJjYXNhIHBhcmEgw6lz
dGUgcXVlIGN1bXBsaWVyYSBlbCBtaXNtbyBjb21ldGlkbyB5IGVuY29udHJhbW9zIGVsIFtJbmR1
c3RydWlub10oaHR0cHM6Ly9JbmR1c3RydWluby5jb20vKS48L3A+PHA+LSBMYSBjb211bmljYWNp
w7NuIGVudHJlIGxvcyBBcmR1aW5vcyBkZSBsYXMgYmFycmFzIHkgZWwgSW5kdXN0cnVpbm8gc2Ug
cmVhbGl6YXLDrWEgcG9yIGVsIGJ1cyBJMkMuPC9wPjxwPjxicj48L3A+PHA+QSBwYXJ0aXIgZGUg
bGEgc29sdWNpw7NuIHF1ZSBzZSBkZWNpZGnDsyBzZWd1aXIgc2UgY3JlYXJvbiAzIGl0ZXJhY2lv
bmVzLiBDYWRhIHVuYSBkZSBsYXMgaXRlcmFjaW9uZXMgZ2VuZXLDsyB1biBwcm90b3RpcG8gZGlm
ZXJlbnRlIHkgcXVlIG5vcyBhY2VyY8OzIG3DoXMgYSBsYSBzb2x1Y2nDs24gZmluYWwgZGVsIHBy
b2JsZW1hLjwvcD48cD48YnI+PC9wPjxwPlBhcmEgcG9kZXIgcmVhbGl6YXIgbGFzIHBydWViYXMg
c2UgdHV2byBxdWUgZWNoYXIgbWFubyBkZWwgaW5nZW5pbyBkZSBtaSBoZXJtYW5vIFJhw7psLCBx
dWllbiBub3MgY29uc3RydXnDsyB1biBiYW5jbyBwYXJhIHBvZGVyIHJlYWxpemFyIGxhcyBwcnVl
YmFzLCDDqXN0ZSBmdWUgbW9kaWZpY8OhbmRvc2Ugc2Vnw7puIGxhcyBuZWNlc2lkYWRlcyBlbiBj
YWRhIHVuYSBkZSBsYXMgcHJ1ZWJhcyBxdWUgc2UgcmVhbGl6YXJvbi48L3A+PHA+PGJyPjwvcD48
cD4hW0JhbmNvIGRlIHBydWViYXMgaW5pY2lhbF0oLi9pbWFnZW5lc192My9JbnRyb2R1Y2Npb25f
MDcuanBnICJCYW5jbyBkZSBwcnVlYmFzIGluaWNpYWwiKTwvcD48cD48YnI+PC9wPjxwPiMjIyBJ
dGVyYWNpw7NuIDE8L3A+PHA+PGJyPjwvcD48cD4hW01hdHJpeiBzaW4gTEVEcyBuaSBMQ0RzXSgu
L2ltYWdlbmVzX3YzL1BST1RPVElQT18xXzAxLkpQRyAiTWF0cml6IHNpbiBMRURzIG5pIExDRHMi
KTwvcD48cD48YnI+PC9wPjxwPiFbUG9zaWNpb25hZG8gZGUgbG9zIExFRHNdKC4vaW1hZ2VuZXNf
djMvUFJPVE9USVBPXzFfMDIuSlBHICJQb3NpY2lvbmFkbyBkZSBsb3MgTEVEcyIpPC9wPjxwPjxi
cj48L3A+PHA+IVtEaXN0cmlidWNpw7NuIGRlIGxvcyBMQ0RzXSguL2ltYWdlbmVzX3YzL1BST1RP
VElQT18xXzAzLkpQRyAiRGlzdHJpYnVjacOzbiBkZSBsb3MgTENEcyIpPC9wPjxwPjxicj48L3A+
PHA+IVtNb250YWplIHNvYnJlIGJhbmNvIGRlIHBydWViYXNdKC4vaW1hZ2VuZXNfdjMvUFJPVE9U
SVBPXzFfMDQuSlBHICJNb250YWplIHNvYnJlIGJhbmNvIGRlIHBydWViYXMiKTwvcD48cD48YnI+
PC9wPjxwPkVuIGVzdGEgaXRlcmFjacOzbiBzZSBjb25zaWRlcsOzIGNyZWFyIDEgbWF0cml6IGRl
IGFndWplcm9zIGRlIDV4OSBjdWFkcm9zLCBlbiBsb3MgcXVlIHNlIGludHJvZHVjaXLDrWEgdW4g
TEVELCBwZXJvIHRlbmllbmRvIGVuIGN1ZW50YSBxdWUgbG9zIExFRHMgbm8gcG9kw61hbiBlc3Rh
ciBjb2xvY2Fkb3MgZW4gYWd1amVyb3MgY29uc2VjdXRpdm9zLiBEZSBlc3RhIGZvcm1hIGV2aXTD
oWJhbW9zIHF1ZSBsYSBsdXogZGUgdW4gTEVEIGFmZWN0YXJhIGEgdW4gTERSIHF1ZSBubyBmdWVy
YSBlbCBzdXlvLCBhZGVtw6FzIGRlIHF1ZSBzZSBpbnRlbnRhYmEgZXZpdGFyIHF1ZSBsYSBsdXog
YW1iaWVudGUgYWZlY3RhcmEgYSBsYXMgbWVkaWRhcyBkZSBsdXogcXVlIHJlYWxpemFiYW4gbG9z
IExEUi48L3A+PHA+PGJyPjwvcD48cD5QcmltZXJvIHNlIGVtcGV6w7MgY29uIHVub3MgTEVEIGRl
IGJvbWJpbGxhcywgcGVybyBubyBzZSBjb25zZWd1w61hIG9idGVuZXIgbGEgc3VmaWNpZW50ZSBs
dXogcGFyYSBwb2RlciByZWFsaXphciBsYXMgbWVkaWNpb25lcyBkZSBmb3JtYSBjb3JyZWN0YSB5
IGVmaWNpZW50ZS4gJm5ic3A7PC9wPjxwPkNvbnRpbnVhbW9zIGNvbiB1bm9zIExFRHMgZGUgZmFy
b3MgZGUgY29jaGUsIHBlcm8gZWwgcmVzdWx0YWRvIGVyYSBlbCBtaXNtbyBxdWUgY29uIGxvcyBh
bnRlcmlvcmVzIExFRHMuICZuYnNwOzwvcD48cD5TZSBjb250aW51w7MgY29uIGxhIGLDunNxdWVk
YSBkZSBMRURzIHF1ZSBmdWVyYW4gbG8gc3VmaWNpZW50ZSBwb3RlbnRlcyBwYXJhIHRvbWFyIGxh
cyBtZWRpY2lvbmVzIGRlIGZvcm1hIGNvcnJlY3RhIHkgc2UgZW5jb250cmFyb24gdW5vcyBkZSAx
MHcsIGVzdG9zIGhhY8OtYW4gbXVjaMOtc2ltYSBsdXogeSBzZSB0dXZvIHF1ZSByZWd1bGFyIHN1
IGludGVuc2lkYWQsIGxhIGNhbnRpZGFkIGRlIGx1eiBxdWUgZW1pdMOtYW4gYSBtw6F4aW1hIHBv
dGVuY2lhIGVyYSB0YW4gZ3JhbmRlIHF1ZSBhdHJhdmVzYWJhIGVsIHByb2R1Y3RvIHkgbGFzIG1l
ZGljaW9uZXMgc2UgYXByb3hpbWFiYW4gYWwgbcOheGltbyBkZSBsdXogcXVlIHBvZMOtYW4gbWVk
aXIgbG9zIExEUnMuPC9wPjxwPjxicj48L3A+PHA+Q29tbyDDumx0aW1hIHBydWViYSBzZSBjb2xv
Y8OzIHVuYSBmaWxhIGRlIExFRHMgZGUgMTB3IHkgdW5hIGZpbGEgZGUgbG9zIExFRHMgZGUgY29j
aGUuIFVuYSB2ZXogcmVhbGl6YWRhIGxhIHBydWViYSBzZSBsbGVnw7MgYSBsYSBjb25jbHVzacOz
biBkZSBxdWUgbG9zIExFRHMgYSB1dGlsaXphciBlcmFuIGxvcyBkZSAxMHcsIHBlcm8gY29uIHN1
IGludGVuc2lkYWQgcmVndWxhZGEuIEVzdGFzIGJhcnJhcyBjb25zZWd1w61hbiBjdW1wbGlyIHRv
ZG9zIGxvcyBvYmpldGl2b3MgZGUgZGV0ZWNjacOzbiwgcGVybyBzdSB0YW1hw7FvIGVyYSBkZW1h
c2lhZG8gZ3JhbmRlLCBwb3IgdGFudG8sIHNlIGRlc2NhcnRhcm9uLjwvcD48cD48YnI+PC9wPjxw
PiMjIyBJdGVyYWNpw7NuIDI8L3A+PHA+PGJyPjwvcD48cD4hW0ludGVyaW9yIGRlIGxhIGJhcnJh
IGRlIExFRHNdKC4vaW1hZ2VuZXNfdjMvUFJPVE9USVBPXzJfMDEuSlBHICJJbnRlcmlvciBkZSBs
YSBiYXJyYSBkZSBMRURzIik8L3A+PHA+PGJyPjwvcD48cD4hW0ludGVyaW9yIGRlIGxhIGJhcnJh
IGRlIExEUnNdKC4vaW1hZ2VuZXNfdjMvUFJPVE9USVBPXzJfMDIuSlBHICJJbnRlcmlvciBkZSBs
YSBiYXJyYSBkZSBMRFJzIik8L3A+PHA+PGJyPjwvcD48cD4hW0JhcnJhcyAtIGNhcmFzIGludGVy
aW9yZXNdKC4vaW1hZ2VuZXNfdjMvUFJPVE9USVBPXzJfMDMuSlBHICJCYXJyYXMgLSBjYXJhcyBp
bnRlcmlvcmVzIik8L3A+PHA+PGJyPjwvcD48cD4hW0JhcnJhcyAtIGNhcmFzIGV4dGVyaW9yZXNd
KC4vaW1hZ2VuZXNfdjMvUFJPVE9USVBPXzJfMDQuSlBHICJCYXJyYXMgLSBjYXJhcyBleHRlcmlv
cmVzIik8L3A+PHA+PGJyPjwvcD48cD4hW0JhcnJhcyAtIGxhdGVyYWxlc10oLi9pbWFnZW5lc192
My9QUk9UT1RJUE9fMl8wNS5KUEcgIkJhcnJhcyAtIGxhdGVyYWxlcyIpPC9wPjxwPjxicj48L3A+
PHA+IVtCYXJyYXMgbW9udGFkYXMgc29icmUgYmFuY28gZGUgcHJ1ZWJhc10oLi9pbWFnZW5lc192
My9QUk9UT1RJUE9fMl8wNi5KUEcgIkJhcnJhcyBtb250YWRhcyBzb2JyZSBiYW5jbyBkZSBwcnVl
YmFzIik8L3A+PHA+PGJyPjwvcD48cD5FbiBlc3RhIGl0ZXJhY2nDs24gc2UgdXNhcm9uIGJhcnJh
cyByZWN0YW5ndWxhcmVzIGRlIGFsdW1pbmlvLCBsbyBxdWUgcGVybWl0acOzIHF1ZSBsYXMgYmFy
cmFzIGZ1ZXJhbiBtw6FzIGZpbmFzIHF1ZSBsYXMgZGlzZcOxYWRhcyBjb24gbWFkZXJhIGVuIGxh
IGl0ZXJhY2nDs24gYW50ZXJpb3IuPC9wPjxwPjxicj48L3A+PHA+UGFyYSBldml0YXIgcXVlIHVu
b3MgTEVEcyBubyBhZmVjdGFyYW4gYSBsb3Mgb3Ryb3MgeSBsb3MgTERSIG5vIGVzdHV2aWVyYW4g
YWZlY3RhZG9zIHBvciBsYSBsdXogZGUgbG9zIG90cm9zIExFRHMgZnVlcm9uIHRvZG9zIHJldGly
YWRvcyB1biBwb2NvIGhhY2lhIGVsIGludGVyaW9yIGRlIGxhIGJhcnJhIGRlIExFRHMsIGRlIGVz
dGEgZm9ybWEgc2UgZXZpdGFiYSBxdWUgbGEgbHV6IG5vIGRpcmVjdGEgcmVjaWJpZGEgcG9yIGxv
cyBMRFJzIGRlIGxhIGJhcnJhIGRlIExEUnMgYWZlY3RhcmEgYSBsYXMgbWVkaWNpb25lcy48L3A+
PHA+PGJyPjwvcD48cD5FbiBlc3RhIGl0ZXJhY2nDs24gc2UgdHV2byBlbCBwcm9ibGVtYSBkZSBx
dWUgY2FkYSB1bm8gZGUgbG9zIExFRHMgZW1pdMOtYSB1bmEgaW50ZW5zaWRhZCBsaWdlcmFtZW50
ZSBkaWZlcmVudGUgZGUgbHV6IHkgZW4gYWxndW5vcyBjYXNvcyB1biBjb2xvciBsaWdlcmFtZW50
ZSBkaWZlcmVudGUsIGVzdG8gY29tcGxpY2FiYSBiYXN0YW50ZSBlbCBjw7NkaWdvLCB5YSBxdWUg
ZXN0byBvYmxpZ2FiYSBhIHF1ZSBsb3MgTEVEcyB5IGxvcyBMRFJzIHRlbsOtYW4gcXVlIGNhbGli
cmFyc2UgZGUgZm9ybWEgaW5kZXBlbmRpZW50ZS4gQWRlbcOhcyBkZSBsbyBhbnRlcmlvciBzZSBj
b21wcm9iw7MgcXVlIGxhcyBiYXJyYXMgY29udGludWFiYW4gc2llbmRvIHVuIHBvY28gZ3JhbmRl
cyBwYXJhIGVsIGh1ZWNvIGRpc3BvbmlibGUuPC9wPjxwPjxicj48L3A+PHA+IyMjIEl0ZXJhY2nD
s24gMzwvcD48cD48YnI+PC9wPjxwPiFbTEVEcyA5dyBkZWZpbml0aXZvc10oLi9pbWFnZW5lc192
My9QUk9UT1RJUE9fM18wMS5KUEcgIkxFRHMgOXcgZGVmaW5pdGl2b3MiKTwvcD48cD48YnI+PC9w
PjxwPiFbUGllemFzIHVzYWRhcyBwYXJhIGxhcyBiYXJyYXNdKC4vaW1hZ2VuZXNfdjMvUFJPVE9U
SVBPXzNfMDIuSlBHICJQaWV6YXMgdXNhZGFzIHBhcmEgbGFzIGJhcnJhcyIpPC9wPjxwPjxicj48
L3A+PHA+IVtQcnVlYmFzIGRlIGFndWplcm9zIHBhcmEgbG9zIExFRHNdKC4vaW1hZ2VuZXNfdjMv
UFJPVE9USVBPXzNfMDMuSlBHICJQcnVlYmFzIGRlIGFndWplcm9zIHBhcmEgbG9zIExFRHMiKTwv
cD48cD48YnI+PC9wPjxwPiFbQmFycmFzIG1vbnRhZGFzIC0gZGV0YWxsZSBkZSBiYXJyYSBkZSBM
RFJzXSguL2ltYWdlbmVzX3YzL1BST1RPVElQT18zXzA0LkpQRyAiQmFycmFzIG1vbnRhZGFzIC0g
ZGV0YWxsZSBkZSBiYXJyYSBkZSBMRFJzIik8L3A+PHA+PGJyPjwvcD48cD4hW0JhcnJhcyBtb250
YWRhcyAtIGRldGFsbGUgZGUgYmFycmEgZGUgTEVEc10oLi9pbWFnZW5lc192My9QUk9UT1RJUE9f
M18wNS5KUEcgIkJhcnJhcyBtb250YWRhcyAtIGRldGFsbGUgZGUgYmFycmEgZGUgTEVEcyIpPC9w
PjxwPjxicj48L3A+PHA+IVtCYXJyYXMgbW9udGFkYXMgc29icmUgYmFuY28gZGUgcHJ1ZWJhc10o
Li9pbWFnZW5lc192My9QUk9UT1RJUE9fM18wNi5KUEcgIkJhcnJhcyBtb250YWRhcyBzb2JyZSBi
YW5jbyBkZSBwcnVlYmFzIik8L3A+PHA+PGJyPjwvcD48cD4hW0RldGFsbGUgY2lyY3VpdG8gZGUg
ZW50cmFkYSBkZSBhbGltZW50YWNpw7NuIHkgQXJkdWlubyBkZSBjb211bmljYWNpb25lc10oLi9p
bWFnZW5lc192My9QUk9UT1RJUE9fM18wNy5KUEcgIkRldGFsbGUgY2lyY3VpdG8gZGUgZW50cmFk
YSBkZSBhbGltZW50YWNpw7NuIHkgQXJkdWlubyBkZSBjb211bmljYWNpb25lcyIpPC9wPjxwPjxi
cj48L3A+PHA+IVtEZXRhbGxlIGNpcmN1aXRvIGNvbiBBcmR1aW5vIGRlIGxlY3R1cmEgZGUgTERS
cyB5IHRvbWEgZGUgZGVjaXNpb25lc10oLi9pbWFnZW5lc192My9QUk9UT1RJUE9fM18wOC5KUEcg
IkRldGFsbGUgY2lyY3VpdG8gY29uIEFyZHVpbm8gZGUgbGVjdHVyYSBkZSBMRFJzIHkgdG9tYSBk
ZSBkZWNpc2lvbmVzIik8L3A+PHA+PGJyPjwvcD48cD5FbCBpbmljaW8gZGUgZXN0YSBpdGVyYWNp
w7NuIGNvbWVuesOzIGNvbiBsYSBiw7pzcXVlZGEgZGUgdW5hcyBiYXJyYXMgbcOhcyBwZXF1ZcOx
YXMgeSBxdWUgcGVybWl0aWVyYW4gcmVkdWNpciBlbCB0YW1hw7FvIHRvdGFsIGRlIGxhcyBiYXJy
YXMsIGRlIGVzdGEgZm9ybWEgcG9kZXIgdXNhcmxhcyBlbiBsYSBzb2x1Y2nDs24gZmluYWwuIENv
bW8gcmVzdWx0YWRvIGRlIGVzdGEgYsO6c3F1ZWRhIHNlIGVuY29udHJhcm9uIHVub3MgcGVyZmls
ZXMgdXNhZG9zIHBhcmEgaWx1bWluYWNpw7NuIGRlIGV4dGVyaW9yZXMgcXVlIG5vcyBwZXJtaXTD
rWFuIHRlbmVyIGVsIHRhbWHDsW8gZGVzZWFkbyBwYXJhIGxhcyBiYXJyYXMsIGFkZW3DoXMgZGUg
dW5hIGNhcGFjaWRhZCBiYXN0YW50ZSBncmFuZGUgZGUgZGlzaXBhY2nDs24gZGUgY2Fsb3IsIGxv
cyBMRURzIGRlIDEwdyBlbWl0w61hbiB1bmEgY2FudGlkYWQgYmFzdGFudGUgZ3JhZGUgZGUgY2Fs
b3IuICZuYnNwOzwvcD48cD5EdXJhbnRlIGVsIHByb2Nlc28gZGUgYsO6c3F1ZWRhIGRlIGxhcyBi
YXJyYXMgYW50ZXJpb3JlcyB5IGRlIGNhc3VhbGlkYWQgc2UgZW5jb250cmFyb24gdW5vcyBMRUQg
Q09CIGRlIDZ3IHJlY3Rhbmd1bGFyZXMgZGUgMTcwIHggMTVtbSwgbG8gcXVlIHBlcm1pdMOtYSBp
bHVtaW5hciB0b2RvIGVsIHByb2R1Y3RvIGRlIGZvcm1hIHVuaWZvcm1lLCBkZSBlc3RhIGZvcm1h
IHNlIGV2aXRhYmEgdGVuZXIgcXVlIGVzY29uZGVyIGxvcyBMRFIgcGFyYSBxdWUgbGEgbHV6IGRl
IHVuIExFRCBkaWZlcmVudGUgYWwgYXNpZ25hZG8gYWZlY3RhcmEgYSBsYSBtZWRpY2nDs24gZGUg
ZXN0ZS4gRXN0byBwZXJtaXRpw7MgcXVlIHNlIHN1c3RpdHV5ZXJvbiB0b2RvcyBsb3MgTEVEcyBh
bnRlcmlvcmVzIHVuIHVubyBzw7NsbyBDT0IuPC9wPjxwPjxicj48L3A+PHA+RWwgZW5jb250cmFy
IGVzdG9zIExFRHMgdGFtYmnDqW4gcGVybWl0acOzIHNpbXBsaWZpY2FyIGVsIHByb2Nlc28gZGUg
Y2FsaWJyYWRvLCB5YSBxdWUgYSBwYXJ0aXIgZGUgZW50b25jZXMgc8OzbG8gc2UgdGVuw61hIHF1
ZSBjYWxpYnJhciBsYXMgbWVkaWRhcyBhIHRvbWFyIHBvciBjYWRhIHVubyBkZSBsb3MgTERScyB5
IGhhY8OtYSBpbm5lY2VzYXJpbyBlbCBjYWxpYnJhZG8gZGVsIExFRCwgeWEgcXVlIHPDs2xvIGVy
YSBuZWNlc2FyaW8gdW4gTEVEIENPQi4gQWRlbcOhcyBkZSBlc3RvIHNpbXBsaWZpY8OzIGVsIGNp
cmN1aXRvIG5lY2VzYXJpbyBwYXJhIGVsIGNvbnRyb2wgZGUgbGFzIGJhcnJhcywgZXN0byBwZXJt
aXRpw7MgcXVlIGVzdGUgY2lyY3VpdG8gcHVkaWVyYSBjb2xvY2Fyc2UgZW4gbGFzIG1pc21hcyBi
YXJyYXMgeSBubyB0ZW5lciBxdWUgY29sb2NhcmxvIGVuIHVuYSBjYWphIGV4dGVyaW9yIGEgZXN0
YXMuPC9wPjxwPjxicj48L3A+PHA+RHVyYW50ZSBlc3RhIGZhc2Ugc2UgdHV2byB1biBwZXJjYW5j
ZSB5IHBvciB1biBlcnJvciBlbiBsYSBjb25leGnDs24gZGUgdW5hIGFsaW1lbnRhY2nDs24sIHNl
IGNvbmVjdMOzIGFsIEluZHVzdHJ1aW5vIGVuIHVuYSBlbnRyYWRhIG5vIHJlZ3VsYWRhIHVuYSB0
ZW5zacOzbiBzdXBlcmlvciBhIGxhIHNvcG9ydGFkYSB5IMOpc3RlIHNlIHF1ZW3DsywgcXVlZGFu
ZG8gaW51dGlsaXphYmxlLCBwb3IgdGFudG8sIHNlIGRlY2lkacOzIGNyZWFyIHVuIG1vbnRhamUg
c2ltaWxhciBhbCBJbmR1c3RydWlubywgcGVybyBjb24gdW4gQXJkdWlubyBVTk8sIHVuYSBwYW50
YWxsYSBMQ0QgZGUgMTZ4MiB5IDMgYm90b25lcywgZGUgZXN0YSBmb3JtYSBzZSBwdWRvIGFjYWJh
ciBlc3RhIGZhc2UuPC9wPjxwPjxicj48L3A+&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/7671691094458154044/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2017/03/sistema-de-deteccion-de-la-densidad-del.html#comment-form' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/7671691094458154044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/7671691094458154044'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2017/03/sistema-de-deteccion-de-la-densidad-del.html' title='Sistema de detección de la densidad del material usado para crear las toallitas húmedas con Arduino 1/2'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5LZ8nexwVBQMsiNPwcc0DY194ctOfI3It4kGTfWGMtZuPAUwaQKagRAm1QrpWotC-w5xFUMxJ9F0MgX3iCbXsb_23KrbetFSKebKiMP10Jos3-1bTwnme7aIGnKOJ43g_Z98E_gmzQS1J/s72-c/Introduccion_01.jpg" height="72" width="72"/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-4442482209900805193</id><published>2017-02-15T22:24:00.002+01:00</published><updated>2017-02-15T22:24:46.248+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AngularJS"/><category scheme="http://www.blogger.com/atom/ns#" term="BitTorrent"/><category scheme="http://www.blogger.com/atom/ns#" term="Bittorrent Sync"/><category scheme="http://www.blogger.com/atom/ns#" term="Cubieboard"/><category scheme="http://www.blogger.com/atom/ns#" term="Cubietruck"/><category scheme="http://www.blogger.com/atom/ns#" term="NodeJS"/><title type='text'>Recreacion del sistema de backup online usando el Resilio Sync y una Cubietruck (Cubieboard 3)</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=4442482209900805193&quot;&gt;
&lt;h2 id=&quot;finalidad-del-art-culo&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Finalidad del artículo&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
La finalidad inicial del artículo ha sido la de cómo actualizar el linux de la Cubietruck y después migrar de Bittorrent Sync a Resilio Sync, pero por descuido no he creado una copia de seguridad de la tarjeta y actualizando el linux éste ha dejado de funcionar. Por tanto el artículo he tenido que cambiarlo de una actualización y migración a una creación total de la máquina desde cero, pero en este caso he añadido, además del Resilio Sync, el monitor creado con AngularJs y NodeJs para controlar la máquina.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Por si a alguien le interesa y desea intentar actualizar el linux indico a continuación los pasos que he seguido, hasta que me ha fallado, pero le recomiendo encarecidamente que haga una copia de seguridad de la tarjeta por si acaso le pasa lo mismo que a mí.&lt;/div&gt;
&lt;h3 id=&quot;actualizaci-n-del-linux-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Actualización del linux:&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Antes que nada indicar que hace tiempo pude hacer una actualización del sistema operativo y ejecuté los siguientes pasos:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Primero actualicé las librerías a su última versión.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get update
&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Depués actualicé el gestor de paquetes &lt;strong&gt;apt&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;apt-get check
apt-get install apt
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Por último subí la versión del linux.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;do&lt;/span&gt;-release-upgrade

apt update
apt dist-upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Esta última vez he seguido los siguientes pasos.&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Primero he actualizado las librerías a su última versión:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get update
&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Después he subido la versión del linux.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;do&lt;/span&gt;-release-upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
La ejecución del anterior paso me ha dado como resultado el siguiente error: &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;The required dependency &#39;apt (&amp;gt;= 1.0.1ubuntu2.13)&#39; is not installed.&lt;/code&gt;.&lt;br /&gt;Para solucionarlo he bajado el paquete deb que pide desde la siguiente url: &lt;a href=&quot;https://launchpad.net/ubuntu/trusty/armhf/apt/1.0.1ubuntu2.13&quot;&gt;https://launchpad.net/ubuntu/trusty/armhf/apt/1.0.1ubuntu2.13&lt;/a&gt;.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;wget http://launchpadlibrarian.net/&lt;span class=&quot;hljs-number&quot;&gt;254525360&lt;/span&gt;/apt_1.&lt;span class=&quot;hljs-number&quot;&gt;0.1&lt;/span&gt;ubuntu2.&lt;span class=&quot;hljs-number&quot;&gt;13&lt;/span&gt;_armhf.deb
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Una vez descargado el fichero lo he instalado ejecutando el siguiente comando.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;dpkg -i apt_1.&lt;span class=&quot;hljs-number&quot;&gt;0.1&lt;/span&gt;ubuntu2.&lt;span class=&quot;hljs-number&quot;&gt;13&lt;/span&gt;_armhf.deb
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;He vuelto a ejecutar el comando de actualización:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;do&lt;/span&gt;-release-upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
He vuelto a obtener otro error, en este caso ha sido el siguiente: &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Error: The required dependency &#39;dpkg (&amp;gt;= 1.17.5ubuntu5.6)&#39; is not installed&lt;/code&gt;.&lt;br /&gt;Para solucionarlo he bajado el paquete deb que pide desde la siguiente url: &lt;a href=&quot;https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/9631646&quot;&gt;https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/9631646&lt;/a&gt;&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/&lt;span class=&quot;hljs-number&quot;&gt;9631646&lt;/span&gt;/+files/dpkg_1.&lt;span class=&quot;hljs-number&quot;&gt;17.5&lt;/span&gt;ubuntu5.&lt;span class=&quot;hljs-number&quot;&gt;6&lt;/span&gt;_armhf.deb
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Una vez descargado el fichero lo he instalado ejecutando el siguiente comando.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;dpkg -i dpkg_1.&lt;span class=&quot;hljs-number&quot;&gt;17.5&lt;/span&gt;ubuntu5.&lt;span class=&quot;hljs-number&quot;&gt;6&lt;/span&gt;_armhf.deb
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;He vuelto a ejecutar el comando de actualización:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;do&lt;/span&gt;-release-upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Si después de ejecutar el comando anterior y reiniciar la máquina, esta arranca (en mi caso no lo ha hecho), se han de ejecutar los siguientes comandos para actualizar las librerías a la versión final.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;apt update
apt dist-upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;consideraciones-iniciales-sobre-el-art-culo&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Consideraciones iniciales sobre el artículo&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
En este artículo se detallan los pasos seguidos para instalar el Lubuntu Server en una Cubietruck (Cubieboard 3) y el Resilio Sync.&lt;br /&gt;Los pasos detallados son los que yo he seguido y que a mí me han funcionado.&lt;br /&gt;En mi caso en la tarjeta SD está el sistema operativo y las aplicaciones, en el disco duro sólo se encuentran los ficheros del BitTorrent Sync.&lt;br /&gt;He aprovechado para instalar el Linaro Server y no el Linaro, como tenía la máquina anterior, de esta forma he conseguido que ocupe menos en la tarjeta sd.&lt;/div&gt;
&lt;h2 id=&quot;instalaci-n-del-sistema-operativo-en-la-sd&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación del sistema operativo en la SD&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Desde su &lt;a href=&quot;http://cubieboard.org/&quot;&gt;página oficial&lt;/a&gt; y partir de esta ruta &lt;a href=&quot;http://cubieboard.org/model/cb3/&quot;&gt;Home › Model › cubieboard3(cubietruck)&lt;/a&gt; he descargado la siguiente imagen: &lt;a href=&quot;http://dl.cubieboard.org/model/CubieBoard3/Image/Linaro-server/linaro-server-ct-card0-hdmi&amp;amp;vga-v1.0.img.7z&quot;&gt;linaro-server-ct-card0-hdmi&amp;amp;vga-v1.0.img.7z&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Después de descargarla la he grabado en la tarjeta SD.&lt;/div&gt;
&lt;h2 id=&quot;configuraci-n-del-sistema-operativo&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Configuración del sistema operativo&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para la configuración del sistema operativo he seguido los siguientes pasos.&lt;/div&gt;
&lt;h3 id=&quot;configuraci-n-del-teclado-en-espa-ol-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Configuración del teclado en español:&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para esto ejecutamos el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; dpkg-reconfigure keyboard-configuration
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Este comando se encarga de lanzar la aplicación de reconfiguración del teclado.&lt;br /&gt;Seleccionamos &lt;strong&gt;Generic 105 key (Intl PC)&lt;/strong&gt;, el idioma &lt;strong&gt;Spanish&lt;/strong&gt; y luego las opciones predeterminadas con &lt;strong&gt;OK&lt;/strong&gt;.&lt;/div&gt;
&lt;h3 id=&quot;configuraci-n-de-red-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Configuración de red:&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
En mi caso no la he tocado, ya que uso el DHCP, que es la configuración que viene por defecto.&lt;/div&gt;
&lt;h3 id=&quot;configuraci-n-de-la-zona-horaria-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Configuración de la zona horaria:&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para esto ejecutamos el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; dpkg-reconfigure tzdata
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Este comando se encarga de lanzar la aplicación de reconfiguración de la zona horaria.&lt;br /&gt;Seleccionamos la zona geográfica &lt;strong&gt;Europe&lt;/strong&gt; y la zona horaria &lt;strong&gt;Madrid&lt;/strong&gt;.&lt;/div&gt;
&lt;h3 id=&quot;cambio-del-nombre-a-la-cubieboard-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Cambio del nombre a la cubieboard:&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para esto tenemos que crear/modificar el fichero &lt;strong&gt;/etc/hosts&lt;/strong&gt; y añadir el nombre que deseemos que tenga la cubieboard.&lt;br /&gt;Para ello ejecutaremos el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; vi /etc/hosts
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Y cambiaremos los nombres de la máquina en las siguientes líneas, quedando de la siguiente forma:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;127.0.0.1       CUBIEBOARD
127.0.1.1       CUBIEBOARD
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
y el fichero &lt;strong&gt;/etc/hostname&lt;/strong&gt;&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; vi /etc/hostname
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Cambiando el nombre que allí se encuentra por el de la máquina:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;CUBIEBOARD
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;montado-del-disco-duro-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Montado del disco duro:&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
En mi caso el disco duro es &lt;strong&gt;/dev/sda1&lt;/strong&gt;.&lt;br /&gt;El disco duro se va a montar sobre la carpeta &lt;strong&gt;/media/hdd&lt;/strong&gt;.&lt;br /&gt;Para montar el disco duro y que la configuración se guarde entre arranques del sistema operativo se ha de modificar el fichero &lt;strong&gt;/etc/fstab&lt;/strong&gt;, usando el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; vi /etc/fstab
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para ello añadiremos la siguiente línea a dicho fichero.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;/dev/sda1 /media/hdd ext4 defaults 0 2
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;actualizaci-n-del-sistema-operativo&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Actualización del sistema operativo&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para actualizar los paquetes del sistema operativo se han ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get update
&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;instalaci-n-de-resilio-sync&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de Resilio Sync&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para instalar el programa desde &lt;strong&gt;apt-get&lt;/strong&gt;, he seguido la información del siguiente enlace: &lt;a href=&quot;https://www.resilio.com/blog/official-linux-packages-for-sync-now-available&quot;&gt;https://www.resilio.com/blog/official-linux-packages-for-sync-now-available&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;preparaci-n-del-repositorio&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Preparación del repositorio&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para preparar el repositorio se crea el fichero &lt;strong&gt;/etc/apt/sources.list.d/resilio-sync.list&lt;/strong&gt;, ejecutando el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; vi /etc/apt/sources.list.d/resilio-sync.list
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Se añade la siguiente linea:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;wget -qO - https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add -
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;instalaci-n&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para instalar la aplicación se ejecuta el siguiente comando.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get update
&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get install resilio-sync
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;configuraci-n&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Configuración&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para configurar el Resilio Sync y poder aprovechar lo que ya tenía del Bittorrent Sync he realizado los siguientes pasos:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Nos movemos a la carpeta de configuración del Resilio Sync.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;cd&lt;/span&gt; /etc/resilio-sync
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Creamos variables del sistema para ayudarnos en este proceso:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;config=&lt;span class=&quot;hljs-string&quot;&gt;&quot;/etc/resilio-sync/config.json&quot;&lt;/span&gt;
user=&lt;span class=&quot;hljs-string&quot;&gt;&quot;root&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Extraemos el fichero de configuración por defecto del Resilio Sync:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;rslsync --dump-sample-config &amp;gt; &lt;span class=&quot;hljs-variable&quot;&gt;$config&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Reconfiguramos el fichero de configuración por defecto. Para ello se lanzan los siguientes comandos.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;sed -i &lt;span class=&quot;hljs-string&quot;&gt;&#39;s/&quot;device_name&quot;\s*:\s*&quot;My Sync Device&quot;/&quot;device_name&quot;: &quot;CUBIEBOARD&quot;/g&#39;&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot;&gt;$config&lt;/span&gt;
sed -i &lt;span class=&quot;hljs-string&quot;&gt;&#39;s/&quot;storage_path&quot;\s*:\s*&quot;\/home\/user\/\.sync&quot;/&quot;storage_path&quot;: &quot;\/media\/hdd\/btsync&quot;/g&#39;&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot;&gt;$config&lt;/span&gt;
sed -i &lt;span class=&quot;hljs-string&quot;&gt;&#39;s/&quot;login&quot;\s*:\s*&quot;admin&quot;,//g&#39;&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot;&gt;$config&lt;/span&gt;
sed -i &lt;span class=&quot;hljs-string&quot;&gt;&#39;s/&quot;password&quot;\s*:\s*&quot;password&quot;//g&#39;&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot;&gt;$config&lt;/span&gt;
sed -i &lt;span class=&quot;hljs-string&quot;&gt;&#39;s/:8888&quot;,/:8888&quot;/g&#39;&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot;&gt;$config&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Después editamos el fichero de configuración por defecto &lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;vi /etc/resilio-sync/config.json
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
y descomentamos las líneas que contengan &lt;strong&gt;device_name&lt;/strong&gt; y &lt;strong&gt;storage_path&lt;/strong&gt; si estaban comentadas en el fichero.&lt;/div&gt;
&lt;h3 id=&quot;uso-datos-anteriores-de-bittorrnent-sync&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Uso datos anteriores de BitTorrnent Sync&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para que pueda tener acceso al disco duro anterior hay que cambiar que el usuario que arranca el servicio, en nuestro caso es root y no rslsync, para ello hay que modificar el fichero /etc/init.d/resilio-sync.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;vi /etc/init.d/resilio-sync
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
y cambiamos&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;SYNC_USER=rslsync
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
por&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;SYNC_USER=root
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
y además cambiamos&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;start-stop-daemon --start --quiet -b -o -c $SYNC_USER -u $SYNC_USER --exec $DAEMON --umask 0002 -- --config $CONFIG
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
por&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;start-stop-daemon --start --quiet -b -o -c $SYNC_USER -u $SYNC_USER --exec $DAEMON --umask 0007 -- --config $CONFIG
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Después de esto ya podemos reiniciar la cubietruck.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; shutdown -h &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;a href=&quot;http://blog.juansal.com/2014/12/pasos-seguidos-para-crear-un-sistema-de.html&quot;&gt;Pasos seguidos para crear un sistema de backup online usando el BitTorrent y una Cubietruck (Cubieboard 3) &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://help.getsync.com/hc/en-us/articles/211928186-Upgrade-on-dekstops-BitTorrent-Sync-Resilio-Sync-&quot;&gt;Upgrade on dekstops (BitTorrent Sync -&amp;gt; Resilio Sync) &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://www.resilio.com/blog/official-linux-packages-for-sync-now-available&quot;&gt;Official Linux Packages for Sync Now Available&lt;/a&gt;&lt;/div&gt;
&lt;h2 id=&quot;instalaci-n-del-monitor-basado-en-angularjs-y-nodejs&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación del monitor basado en AngularJs y NodeJs&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Basándome en el siguiente artículo &lt;a href=&quot;http://blog.juansal.com/2016/07/monitor-basado-en-angularjs-y-nodejs.html&quot;&gt;Monitor basado en AngularJs y NodeJs para la Cubietruck (Cubieboard 3)&lt;/a&gt; he instalado el monitor.&lt;/div&gt;
&lt;h3 id=&quot;software-instalado&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software instalado&lt;/h3&gt;
&lt;h4 id=&quot;git&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Git&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Este es el cliente usado para descargar la web desde github.&lt;br /&gt;Para la instalación he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get install git
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;nodejs&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
NodeJS&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para la instalación de NodeJS he elegido la última versión (en el momento de escribir el artículo es la 6.x) y he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get install curl
curl &lt;span class=&quot;hljs-operator&quot;&gt;-s&lt;/span&gt;L https://deb.nodesource.com/setup_6.x | &lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; -E bash -
&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get install -y nodejs
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;a href=&quot;https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions&quot;&gt;Installing Node.js via package manager&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;librer-as-adicionales-que-he-instalado-en-la-cubieboard-para-poder-realizar-la-monitorizaci-n&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Librerías adicionales que he instalado en la Cubieboard para poder realizar la monitorización&lt;/h3&gt;
&lt;h4 id=&quot;lm-sensors&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
lm-sensors&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para poder detectar la temperatura de la CPU he usado la herramienta lm-sensors.&lt;br /&gt;Los pasos que he seguido para instalarla han sido los siguientes:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Primero he ejecutado el siguiente comando para instalarla:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; apt-get install lm-sensors
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Una vez instalada he ejecutado los siguientes comandos para configurarla y arrancarla:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; sensors-detect
&lt;span class=&quot;hljs-built_in&quot;&gt;sudo&lt;/span&gt; service kmod start
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;a href=&quot;http://www.lm-sensors.org/&quot;&gt;lm-sensors&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/groeck/lm-sensors&quot;&gt;Repositorio Github&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://askubuntu.com/questions/15832/how-do-i-get-the-cpu-temperature&quot;&gt;How do I get the CPU temperature?&lt;/a&gt;&lt;/div&gt;
&lt;h4 id=&quot;smartmontools&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
smartmontools&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para obtener la información de los discos se puede utiliar el paquete smartmontools:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;apt-get install smartmontools
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;hddtemp&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
hddtemp&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Para obtener la información de los discos se puede utilizar el paquete hddtemp:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;apt-get install hddtemp
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;instalaci-n-de-la-web-de-monitorizaci-n&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de la web de monitorización&lt;/h2&gt;
&lt;h3 id=&quot;instalaci-n-de-la-web&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de la web&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Los pasos para instalar el proyecto en la Cubieboard son los siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Configurar git, sólo la primera vez:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;git config --global user.email &lt;span class=&quot;hljs-string&quot;&gt;&quot;correo&quot;&lt;/span&gt;
git config --global user.name &lt;span class=&quot;hljs-string&quot;&gt;&quot;usuario&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Bajar el proyecto desde github a la carpeta ~/cubieboard-monitor:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;cd&lt;/span&gt;
git clone https://github.com/juaalta/cubieboard-monitor.git cubieboard-monitor
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Entrar en la carpeta en la que se ha descargado e instalar las dependencias necesarias:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;cd&lt;/span&gt; cubieboard-monitor

npm install
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Una vez seguidos los pasos anteriores, si queremos probar la aplicación sólo tenemos que lanzar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;nodejs server.js
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
También puede ejecutarse:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;npm start
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+IyMgRmluYWxpZGFkIGRlbCBhcnTDrWN1bG88L3A+PHA+PGJyPjwvcD48cD5MYSBmaW5hbGlk
YWQgaW5pY2lhbCBkZWwgYXJ0w61jdWxvIGhhIHNpZG8gbGEgZGUgY8OzbW8gYWN0dWFsaXphciBl
bCBsaW51eCBkZSBsYSBDdWJpZXRydWNrIHkgZGVzcHXDqXMgbWlncmFyIGRlIEJpdHRvcnJlbnQg
U3luYyBhIFJlc2lsaW8gU3luYywgcGVybyBwb3IgZGVzY3VpZG8gbm8gaGUgY3JlYWRvIHVuYSBj
b3BpYSBkZSBzZWd1cmlkYWQgZGUgbGEgdGFyamV0YSB5IGFjdHVhbGl6YW5kbyBlbCBsaW51eCDD
qXN0ZSBoYSBkZWphZG8gZGUgZnVuY2lvbmFyLiBQb3IgdGFudG8gZWwgYXJ0w61jdWxvIGhlIHRl
bmlkbyBxdWUgY2FtYmlhcmxvIGRlIHVuYSBhY3R1YWxpemFjacOzbiB5IG1pZ3JhY2nDs24gYSB1
bmEgY3JlYWNpw7NuIHRvdGFsIGRlIGxhIG3DoXF1aW5hIGRlc2RlIGNlcm8sIHBlcm8gZW4gZXN0
ZSBjYXNvIGhlIGHDsWFkaWRvLCBhZGVtw6FzIGRlbCBSZXNpbGlvIFN5bmMsIGVsIG1vbml0b3Ig
Y3JlYWRvIGNvbiBBbmd1bGFySnMgeSBOb2RlSnMgcGFyYSBjb250cm9sYXIgbGEgbcOhcXVpbmEu
PC9wPjxwPjxicj48L3A+PHA+UG9yIHNpIGEgYWxndWllbiBsZSBpbnRlcmVzYSB5IGRlc2VhIGlu
dGVudGFyIGFjdHVhbGl6YXIgZWwgbGludXggaW5kaWNvIGEgY29udGludWFjacOzbiBsb3MgcGFz
b3MgcXVlIGhlIHNlZ3VpZG8sIGhhc3RhIHF1ZSBtZSBoYSBmYWxsYWRvLCBwZXJvIGxlIHJlY29t
aWVuZG8gZW5jYXJlY2lkYW1lbnRlIHF1ZSBoYWdhIHVuYSBjb3BpYSBkZSBzZWd1cmlkYWQgZGUg
bGEgdGFyamV0YSBwb3Igc2kgYWNhc28gbGUgcGFzYSBsbyBtaXNtbyBxdWUgYSBtw60uPC9wPjxw
Pjxicj48L3A+PHA+IyMjIEFjdHVhbGl6YWNpw7NuIGRlbCBsaW51eDo8L3A+PHA+PGJyPjwvcD48
cD5BbnRlcyBxdWUgbmFkYSBpbmRpY2FyIHF1ZSBoYWNlIHRpZW1wbyBwdWRlIGhhY2VyIHVuYSBh
Y3R1YWxpemFjacOzbiBkZWwgc2lzdGVtYSBvcGVyYXRpdm8geSBlamVjdXTDqSBsb3Mgc2lndWll
bnRlcyBwYXNvczo8L3A+PHA+PGJyPjwvcD48cD4qIFByaW1lcm8gYWN0dWFsaWPDqSBsYXMgbGli
cmVyw61hcyBhIHN1IMO6bHRpbWEgdmVyc2nDs24uPC9wPjxwPjxicj48L3A+PHA+YGBgIGJhc2g8
L3A+PHA+c3VkbyBhcHQtZ2V0IHVwZGF0ZTwvcD48cD5zdWRvIGFwdC1nZXQgdXBncmFkZTwvcD48
cD5gYGA8L3A+PHA+PGJyPjwvcD48cD4qIERlcHXDqXMgYWN0dWFsaWPDqSBlbCBnZXN0b3IgZGUg
cGFxdWV0ZXMgKiphcHQqKi48L3A+PHA+PGJyPjwvcD48cD5gYGAgYmFzaDwvcD48cD5hcHQtZ2V0
IGNoZWNrPC9wPjxwPmFwdC1nZXQgaW5zdGFsbCBhcHQ8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+
PHA+KiBQb3Igw7psdGltbyBzdWLDrSBsYSB2ZXJzacOzbiBkZWwgbGludXguPC9wPjxwPjxicj48
L3A+PHA+YGBgIGJhc2g8L3A+PHA+ZG8tcmVsZWFzZS11cGdyYWRlPC9wPjxwPjxicj48L3A+PHA+
YXB0IHVwZGF0ZTwvcD48cD5hcHQgZGlzdC11cGdyYWRlPC9wPjxwPmBgYDwvcD48cD48YnI+PC9w
PjxwPkVzdGEgw7psdGltYSB2ZXogaGUgc2VndWlkbyBsb3Mgc2lndWllbnRlcyBwYXNvcy48L3A+
PHA+PGJyPjwvcD48cD4qIFByaW1lcm8gaGUgYWN0dWFsaXphZG8gbGFzIGxpYnJlcsOtYXMgYSBz
dSDDumx0aW1hIHZlcnNpw7NuOjwvcD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPnN1ZG8g
YXB0LWdldCB1cGRhdGU8L3A+PHA+c3VkbyBhcHQtZ2V0IHVwZ3JhZGU8L3A+PHA+YGBgPC9wPjxw
Pjxicj48L3A+PHA+KiBEZXNwdcOpcyBoZSBzdWJpZG8gbGEgdmVyc2nDs24gZGVsIGxpbnV4Ljwv
cD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPmRvLXJlbGVhc2UtdXBncmFkZTwvcD48cD5g
YGA8L3A+PHA+PGJyPjwvcD48cD5MYSBlamVjdWNpw7NuIGRlbCBhbnRlcmlvciBwYXNvIG1lIGhh
IGRhZG8gY29tbyByZXN1bHRhZG8gZWwgc2lndWllbnRlIGVycm9yOiBgVGhlIHJlcXVpcmVkIGRl
cGVuZGVuY3kgJ2FwdCAoJmd0Oz0gMS4wLjF1YnVudHUyLjEzKScgaXMgbm90IGluc3RhbGxlZC5g
LiAmbmJzcDs8L3A+PHA+UGFyYSBzb2x1Y2lvbmFybG8gaGUgYmFqYWRvIGVsIHBhcXVldGUgZGVi
IHF1ZSBwaWRlIGRlc2RlIGxhIHNpZ3VpZW50ZSB1cmw6IFtodHRwczovL2xhdW5jaHBhZC5uZXQv
dWJ1bnR1L3RydXN0eS9hcm1oZi9hcHQvMS4wLjF1YnVudHUyLjEzXShodHRwczovL2xhdW5jaHBh
ZC5uZXQvdWJ1bnR1L3RydXN0eS9hcm1oZi9hcHQvMS4wLjF1YnVudHUyLjEzKS48L3A+PHA+PGJy
PjwvcD48cD5gYGAgYmFzaDwvcD48cD53Z2V0IGh0dHA6Ly9sYXVuY2hwYWRsaWJyYXJpYW4ubmV0
LzI1NDUyNTM2MC9hcHRfMS4wLjF1YnVudHUyLjEzX2FybWhmLmRlYjwvcD48cD5gYGA8L3A+PHA+
PGJyPjwvcD48cD5VbmEgdmV6IGRlc2NhcmdhZG8gZWwgZmljaGVybyBsbyBoZSBpbnN0YWxhZG8g
ZWplY3V0YW5kbyBlbCBzaWd1aWVudGUgY29tYW5kby48L3A+PHA+PGJyPjwvcD48cD5gYGAgYmFz
aDwvcD48cD5kcGtnIC1pIGFwdF8xLjAuMXVidW50dTIuMTNfYXJtaGYuZGViPC9wPjxwPmBgYDwv
cD48cD48YnI+PC9wPjxwPiogSGUgdnVlbHRvIGEgZWplY3V0YXIgZWwgY29tYW5kbyBkZSBhY3R1
YWxpemFjacOzbjo8L3A+PHA+PGJyPjwvcD48cD5gYGAgYmFzaDwvcD48cD5kby1yZWxlYXNlLXVw
Z3JhZGU8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+SGUgdnVlbHRvIGEgb2J0ZW5lciBvdHJv
IGVycm9yLCBlbiBlc3RlIGNhc28gaGEgc2lkbyBlbCBzaWd1aWVudGU6IGBFcnJvcjogVGhlIHJl
cXVpcmVkIGRlcGVuZGVuY3kgJ2Rwa2cgKCZndDs9IDEuMTcuNXVidW50dTUuNiknIGlzIG5vdCBp
bnN0YWxsZWRgLiAmbmJzcDs8L3A+PHA+UGFyYSBzb2x1Y2lvbmFybG8gaGUgYmFqYWRvIGVsIHBh
cXVldGUgZGViIHF1ZSBwaWRlIGRlc2RlIGxhIHNpZ3VpZW50ZSB1cmw6IFtodHRwczovL2xhdW5j
aHBhZC5uZXQvfnVidW50dS1zZWN1cml0eS8rYXJjaGl2ZS91YnVudHUvcHBhLytidWlsZC85NjMx
NjQ2XShodHRwczovL2xhdW5jaHBhZC5uZXQvfnVidW50dS1zZWN1cml0eS8rYXJjaGl2ZS91YnVu
dHUvcHBhLytidWlsZC85NjMxNjQ2KTwvcD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPndn
ZXQgaHR0cHM6Ly9sYXVuY2hwYWQubmV0L351YnVudHUtc2VjdXJpdHkvK2FyY2hpdmUvdWJ1bnR1
L3BwYS8rYnVpbGQvOTYzMTY0Ni8rZmlsZXMvZHBrZ18xLjE3LjV1YnVudHU1LjZfYXJtaGYuZGVi
PC9wPjxwPmBgYDwvcD48cD48YnI+PC9wPjxwPlVuYSB2ZXogZGVzY2FyZ2FkbyBlbCBmaWNoZXJv
IGxvIGhlIGluc3RhbGFkbyBlamVjdXRhbmRvIGVsIHNpZ3VpZW50ZSBjb21hbmRvLjwvcD48cD48
YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPmRwa2cgLWkgZHBrZ18xLjE3LjV1YnVudHU1LjZfYXJt
aGYuZGViPC9wPjxwPmBgYDwvcD48cD48YnI+PC9wPjxwPiogSGUgdnVlbHRvIGEgZWplY3V0YXIg
ZWwgY29tYW5kbyBkZSBhY3R1YWxpemFjacOzbjo8L3A+PHA+PGJyPjwvcD48cD5gYGAgYmFzaDwv
cD48cD5kby1yZWxlYXNlLXVwZ3JhZGU8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+U2kgZGVz
cHXDqXMgZGUgZWplY3V0YXIgZWwgY29tYW5kbyBhbnRlcmlvciB5IHJlaW5pY2lhciBsYSBtw6Fx
dWluYSwgZXN0YSBhcnJhbmNhIChlbiBtaSBjYXNvIG5vIGxvIGhhIGhlY2hvKSwgc2UgaGFuIGRl
IGVqZWN1dGFyIGxvcyBzaWd1aWVudGVzIGNvbWFuZG9zIHBhcmEgYWN0dWFsaXphciBsYXMgbGli
cmVyw61hcyBhIGxhIHZlcnNpw7NuIGZpbmFsLjwvcD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9w
PjxwPmFwdCB1cGRhdGU8L3A+PHA+YXB0IGRpc3QtdXBncmFkZTwvcD48cD5gYGA8L3A+PHA+PGJy
PjwvcD48cD4jIyBDb25zaWRlcmFjaW9uZXMgaW5pY2lhbGVzIHNvYnJlIGVsIGFydMOtY3Vsbzwv
cD48cD48YnI+PC9wPjxwPkVuIGVzdGUgYXJ0w61jdWxvIHNlIGRldGFsbGFuIGxvcyBwYXNvcyBz
ZWd1aWRvcyBwYXJhIGluc3RhbGFyIGVsIEx1YnVudHUgU2VydmVyIGVuIHVuYSBDdWJpZXRydWNr
IChDdWJpZWJvYXJkIDMpIHkgZWwgUmVzaWxpbyBTeW5jLiAmbmJzcDs8L3A+PHA+TG9zIHBhc29z
IGRldGFsbGFkb3Mgc29uIGxvcyBxdWUgeW8gaGUgc2VndWlkbyB5IHF1ZSBhIG3DrSBtZSBoYW4g
ZnVuY2lvbmFkby4gJm5ic3A7PC9wPjxwPkVuIG1pIGNhc28gZW4gbGEgdGFyamV0YSBTRCBlc3TD
oSBlbCBzaXN0ZW1hIG9wZXJhdGl2byB5IGxhcyBhcGxpY2FjaW9uZXMsIGVuIGVsIGRpc2NvIGR1
cm8gc8OzbG8gc2UgZW5jdWVudHJhbiBsb3MgZmljaGVyb3MgZGVsIEJpdFRvcnJlbnQgU3luYy4g
Jm5ic3A7PC9wPjxwPkhlIGFwcm92ZWNoYWRvIHBhcmEgaW5zdGFsYXIgZWwgTGluYXJvIFNlcnZl
ciB5IG5vIGVsIExpbmFybywgY29tbyB0ZW7DrWEgbGEgbcOhcXVpbmEgYW50ZXJpb3IsIGRlIGVz
dGEgZm9ybWEgaGUgY29uc2VndWlkbyBxdWUgb2N1cGUgbWVub3MgZW4gbGEgdGFyamV0YSBzZC48
L3A+PHA+PGJyPjwvcD48cD4jIyBJbnN0YWxhY2nDs24gZGVsIHNpc3RlbWEgb3BlcmF0aXZvIGVu
IGxhIFNEPC9wPjxwPjxicj48L3A+PHA+RGVzZGUgc3UgW3DDoWdpbmEgb2ZpY2lhbF0oaHR0cDov
L2N1YmllYm9hcmQub3JnKSB5IHBhcnRpciBkZSBlc3RhIHJ1dGEgW0hvbWUg4oC6IE1vZGVsIOKA
uiBjdWJpZWJvYXJkMyhjdWJpZXRydWNrKV0oaHR0cDovL2N1YmllYm9hcmQub3JnL21vZGVsL2Ni
My8pIGhlIGRlc2NhcmdhZG8gbGEgc2lndWllbnRlIGltYWdlbjogW2xpbmFyby1zZXJ2ZXItY3Qt
Y2FyZDAtaGRtaSZhbXA7dmdhLXYxLjAuaW1nLjd6XShodHRwOi8vZGwuY3ViaWVib2FyZC5vcmcv
bW9kZWwvQ3ViaWVCb2FyZDMvSW1hZ2UvTGluYXJvLXNlcnZlci9saW5hcm8tc2VydmVyLWN0LWNh
cmQwLWhkbWkmYW1wO3ZnYS12MS4wLmltZy43eik8L3A+PHA+PGJyPjwvcD48cD5EZXNwdcOpcyBk
ZSBkZXNjYXJnYXJsYSBsYSBoZSBncmFiYWRvIGVuIGxhIHRhcmpldGEgU0QuPC9wPjxwPjxicj48
L3A+PHA+IyMgJm5ic3A7Q29uZmlndXJhY2nDs24gZGVsIHNpc3RlbWEgb3BlcmF0aXZvPC9wPjxw
Pjxicj48L3A+PHA+UGFyYSBsYSBjb25maWd1cmFjacOzbiBkZWwgc2lzdGVtYSBvcGVyYXRpdm8g
aGUgc2VndWlkbyBsb3Mgc2lndWllbnRlcyBwYXNvcy48L3A+PHA+PGJyPjwvcD48cD4jIyMgQ29u
ZmlndXJhY2nDs24gZGVsIHRlY2xhZG8gZW4gZXNwYcOxb2w6PC9wPjxwPjxicj48L3A+PHA+UGFy
YSBlc3RvIGVqZWN1dGFtb3MgZWwgc2lndWllbnRlIGNvbWFuZG86PC9wPjxwPjxicj48L3A+PHA+
YGBgIGJhc2g8L3A+PHA+c3VkbyBkcGtnLXJlY29uZmlndXJlIGtleWJvYXJkLWNvbmZpZ3VyYXRp
b248L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+RXN0ZSBjb21hbmRvIHNlIGVuY2FyZ2EgZGUg
bGFuemFyIGxhIGFwbGljYWNpw7NuIGRlIHJlY29uZmlndXJhY2nDs24gZGVsIHRlY2xhZG8uPC9w
PjxwPlNlbGVjY2lvbmFtb3MgKipHZW5lcmljIDEwNSBrZXkgKEludGwgUEMpKiosIGVsIGlkaW9t
YSAqKlNwYW5pc2gqKiB5IGx1ZWdvIGxhcyBvcGNpb25lcyBwcmVkZXRlcm1pbmFkYXMgY29uICoq
T0sqKi48L3A+PHA+PGJyPjwvcD48cD4jIyMgQ29uZmlndXJhY2nDs24gZGUgcmVkOjwvcD48cD48
YnI+PC9wPjxwPkVuIG1pIGNhc28gbm8gbGEgaGUgdG9jYWRvLCB5YSBxdWUgdXNvIGVsIERIQ1As
IHF1ZSBlcyBsYSBjb25maWd1cmFjacOzbiBxdWUgdmllbmUgcG9yIGRlZmVjdG8uPC9wPjxwPjxi
cj48L3A+PHA+IyMjIENvbmZpZ3VyYWNpw7NuIGRlIGxhIHpvbmEgaG9yYXJpYTo8L3A+PHA+PGJy
PjwvcD48cD5QYXJhIGVzdG8gZWplY3V0YW1vcyBlbCBzaWd1aWVudGUgY29tYW5kbzo8L3A+PHA+
PGJyPjwvcD48cD5gYGAgYmFzaDwvcD48cD5zdWRvIGRwa2ctcmVjb25maWd1cmUgdHpkYXRhPC9w
PjxwPmBgYDwvcD48cD48YnI+PC9wPjxwPkVzdGUgY29tYW5kbyBzZSBlbmNhcmdhIGRlIGxhbnph
ciBsYSBhcGxpY2FjacOzbiBkZSByZWNvbmZpZ3VyYWNpw7NuIGRlIGxhIHpvbmEgaG9yYXJpYS4g
Jm5ic3A7PC9wPjxwPlNlbGVjY2lvbmFtb3MgbGEgem9uYSBnZW9ncsOhZmljYSAqKkV1cm9wZSoq
IHkgbGEgem9uYSBob3JhcmlhICoqTWFkcmlkKiouPC9wPjxwPjxicj48L3A+PHA+IyMjIENhbWJp
byBkZWwgbm9tYnJlIGEgbGEgY3ViaWVib2FyZDo8L3A+PHA+PGJyPjwvcD48cD5QYXJhIGVzdG8g
dGVuZW1vcyBxdWUgY3JlYXIvbW9kaWZpY2FyIGVsIGZpY2hlcm8gKiovZXRjL2hvc3RzKiogeSBh
w7FhZGlyIGVsIG5vbWJyZSBxdWUgZGVzZWVtb3MgcXVlIHRlbmdhIGxhIGN1YmllYm9hcmQuICZu
YnNwOzwvcD48cD5QYXJhIGVsbG8gZWplY3V0YXJlbW9zIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjwv
cD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPnN1ZG8gdmkgL2V0Yy9ob3N0czwvcD48cD5g
YGA8L3A+PHA+PGJyPjwvcD48cD5ZIGNhbWJpYXJlbW9zIGxvcyBub21icmVzIGRlIGxhIG3DoXF1
aW5hIGVuIGxhcyBzaWd1aWVudGVzIGzDrW5lYXMsIHF1ZWRhbmRvIGRlIGxhIHNpZ3VpZW50ZSBm
b3JtYTo8L3A+PHA+PGJyPjwvcD48cD5gYGA8L3A+PHA+MTI3LjAuMC4xICZuYnNwOyAmbmJzcDsg
Jm5ic3A7IENVQklFQk9BUkQ8L3A+PHA+MTI3LjAuMS4xICZuYnNwOyAmbmJzcDsgJm5ic3A7IENV
QklFQk9BUkQ8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+eSBlbCBmaWNoZXJvICoqL2V0Yy9o
b3N0bmFtZSoqPC9wPjxwPjxicj48L3A+PHA+YGBgIGJhc2g8L3A+PHA+c3VkbyB2aSAvZXRjL2hv
c3RuYW1lPC9wPjxwPmBgYDwvcD48cD48YnI+PC9wPjxwPkNhbWJpYW5kbyBlbCBub21icmUgcXVl
IGFsbMOtIHNlIGVuY3VlbnRyYSBwb3IgZWwgZGUgbGEgbcOhcXVpbmE6PC9wPjxwPjxicj48L3A+
PHA+YGBgPC9wPjxwPkNVQklFQk9BUkQ8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+IyMjICZu
YnNwO01vbnRhZG8gZGVsIGRpc2NvIGR1cm86PC9wPjxwPkVuIG1pIGNhc28gZWwgZGlzY28gZHVy
byBlcyAqKi9kZXYvc2RhMSoqLiAmbmJzcDs8L3A+PHA+RWwgZGlzY28gZHVybyBzZSB2YSBhIG1v
bnRhciBzb2JyZSBsYSBjYXJwZXRhICoqL21lZGlhL2hkZCoqLiAmbmJzcDs8L3A+PHA+UGFyYSBt
b250YXIgZWwgZGlzY28gZHVybyB5IHF1ZSBsYSBjb25maWd1cmFjacOzbiBzZSBndWFyZGUgZW50
cmUgYXJyYW5xdWVzIGRlbCBzaXN0ZW1hIG9wZXJhdGl2byBzZSBoYSBkZSBtb2RpZmljYXIgZWwg
ZmljaGVybyAqKi9ldGMvZnN0YWIqKiwgdXNhbmRvIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjwvcD48
cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPnN1ZG8gdmkgL2V0Yy9mc3RhYjwvcD48cD5gYGA8
L3A+PHA+PGJyPjwvcD48cD5QYXJhIGVsbG8gYcOxYWRpcmVtb3MgbGEgc2lndWllbnRlIGzDrW5l
YSBhIGRpY2hvIGZpY2hlcm8uPC9wPjxwPjxicj48L3A+PHA+YGBgPC9wPjxwPi9kZXYvc2RhMSAv
bWVkaWEvaGRkIGV4dDQgZGVmYXVsdHMgMCAyPC9wPjxwPmBgYDwvcD48cD48YnI+PC9wPjxwPiMj
IyBBY3R1YWxpemFjacOzbiBkZWwgc2lzdGVtYSBvcGVyYXRpdm88L3A+PHA+PGJyPjwvcD48cD5Q
YXJhIGFjdHVhbGl6YXIgbG9zIHBhcXVldGVzIGRlbCBzaXN0ZW1hIG9wZXJhdGl2byBzZSBoYW4g
ZWplY3V0YWRvIGxvcyBzaWd1aWVudGVzIGNvbWFuZG9zOjwvcD48cD48YnI+PC9wPjxwPmBgYCBi
YXNoPC9wPjxwPnN1ZG8gYXB0LWdldCB1cGRhdGU8L3A+PHA+c3VkbyBhcHQtZ2V0IHVwZ3JhZGU8
L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+PGJyPjwvcD48cD4jIyBJbnN0YWxhY2nDs24gZGUg
UmVzaWxpbyBTeW5jPC9wPjxwPjxicj48L3A+PHA+UGFyYSBpbnN0YWxhciBlbCBwcm9ncmFtYSBk
ZXNkZSAqKmFwdC1nZXQqKiwgaGUgc2VndWlkbyBsYSBpbmZvcm1hY2nDs24gZGVsIHNpZ3VpZW50
ZSBlbmxhY2U6IGh0dHBzOi8vd3d3LnJlc2lsaW8uY29tL2Jsb2cvb2ZmaWNpYWwtbGludXgtcGFj
a2FnZXMtZm9yLXN5bmMtbm93LWF2YWlsYWJsZTwvcD48cD48YnI+PC9wPjxwPiMjIyBQcmVwYXJh
Y2nDs24gZGVsIHJlcG9zaXRvcmlvPC9wPjxwPjxicj48L3A+PHA+UGFyYSBwcmVwYXJhciBlbCBy
ZXBvc2l0b3JpbyBzZSBjcmVhIGVsIGZpY2hlcm8gKiovZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9y
ZXNpbGlvLXN5bmMubGlzdCoqLCBlamVjdXRhbmRvIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjwvcD48
cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPnN1ZG8gdmkgL2V0Yy9hcHQvc291cmNlcy5saXN0
LmQvcmVzaWxpby1zeW5jLmxpc3Q8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+U2UgYcOxYWRl
IGxhIHNpZ3VpZW50ZSBsaW5lYTo8L3A+PHA+PGJyPjwvcD48cD5gYGA8L3A+PHA+d2dldCAtcU8g
LSBodHRwczovL2xpbnV4LXBhY2thZ2VzLnJlc2lsaW8uY29tL3Jlc2lsaW8tc3luYy9rZXkuYXNj
IHwgc3VkbyBhcHQta2V5IGFkZCAtPC9wPjxwPmBgYDwvcD48cD48YnI+PC9wPjxwPiMjIyBJbnN0
YWxhY2nDs248L3A+PHA+PGJyPjwvcD48cD5QYXJhIGluc3RhbGFyIGxhIGFwbGljYWNpw7NuIHNl
IGVqZWN1dGEgZWwgc2lndWllbnRlIGNvbWFuZG8uPC9wPjxwPjxicj48L3A+PHA+YGBgIGJhc2g8
L3A+PHA+c3VkbyBhcHQtZ2V0IHVwZGF0ZTwvcD48cD5zdWRvIGFwdC1nZXQgaW5zdGFsbCByZXNp
bGlvLXN5bmM8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+IyMjIENvbmZpZ3VyYWNpw7NuPC9w
PjxwPjxicj48L3A+PHA+UGFyYSBjb25maWd1cmFyIGVsIFJlc2lsaW8gU3luYyB5IHBvZGVyIGFw
cm92ZWNoYXIgbG8gcXVlIHlhIHRlbsOtYSBkZWwgQml0dG9ycmVudCBTeW5jIGhlIHJlYWxpemFk
byBsb3Mgc2lndWllbnRlcyBwYXNvczo8L3A+PHA+PGJyPjwvcD48cD4qIE5vcyBtb3ZlbW9zIGEg
bGEgY2FycGV0YSBkZSBjb25maWd1cmFjacOzbiBkZWwgUmVzaWxpbyBTeW5jLjwvcD48cD48YnI+
PC9wPjxwPmBgYCBiYXNoPC9wPjxwPmNkIC9ldGMvcmVzaWxpby1zeW5jPC9wPjxwPmBgYDwvcD48
cD48YnI+PC9wPjxwPiogQ3JlYW1vcyB2YXJpYWJsZXMgZGVsIHNpc3RlbWEgcGFyYSBheXVkYXJu
b3MgZW4gZXN0ZSBwcm9jZXNvOjwvcD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPmNvbmZp
Zz0iL2V0Yy9yZXNpbGlvLXN5bmMvY29uZmlnLmpzb24iPC9wPjxwPnVzZXI9InJvb3QiPC9wPjxw
PmBgYDwvcD48cD48YnI+PC9wPjxwPiogRXh0cmFlbW9zIGVsIGZpY2hlcm8gZGUgY29uZmlndXJh
Y2nDs24gcG9yIGRlZmVjdG8gZGVsIFJlc2lsaW8gU3luYzo8L3A+PHA+PGJyPjwvcD48cD5gYGAg
YmFzaDwvcD48cD5yc2xzeW5jIC0tZHVtcC1zYW1wbGUtY29uZmlnICZndDsgJGNvbmZpZzwvcD48
cD5gYGA8L3A+PHA+PGJyPjwvcD48cD48YnI+PC9wPjxwPiogUmVjb25maWd1cmFtb3MgZWwgZmlj
aGVybyBkZSBjb25maWd1cmFjacOzbiBwb3IgZGVmZWN0by4gUGFyYSBlbGxvIHNlIGxhbnphbiBs
b3Mgc2lndWllbnRlcyBjb21hbmRvcy48L3A+PHA+PGJyPjwvcD48cD5gYGAgYmFzaDwvcD48cD5z
ZWQgLWkgJ3MvImRldmljZV9uYW1lIlxzKjpccyoiTXkgU3luYyBEZXZpY2UiLyJkZXZpY2VfbmFt
ZSI6ICJDVUJJRUJPQVJEIi9nJyAkY29uZmlnPC9wPjxwPnNlZCAtaSAncy8ic3RvcmFnZV9wYXRo
IlxzKjpccyoiXC9ob21lXC91c2VyXC9cLnN5bmMiLyJzdG9yYWdlX3BhdGgiOiAiXC9tZWRpYVwv
aGRkXC9idHN5bmMiL2cnICRjb25maWc8L3A+PHA+c2VkIC1pICdzLyJsb2dpbiJccyo6XHMqImFk
bWluIiwvL2cnICRjb25maWc8L3A+PHA+c2VkIC1pICdzLyJwYXNzd29yZCJccyo6XHMqInBhc3N3
b3JkIi8vZycgJGNvbmZpZzwvcD48cD5zZWQgLWkgJ3MvOjg4ODgiLC86ODg4OCIvZycgJGNvbmZp
ZzwvcD48cD5gYGA8L3A+PHA+PGJyPjwvcD48cD4qIERlc3B1w6lzIGVkaXRhbW9zIGVsIGZpY2hl
cm8gZGUgY29uZmlndXJhY2nDs24gcG9yIGRlZmVjdG8mbmJzcDs8L3A+PHA+PGJyPjwvcD48cD5g
YGAgYmFzaDwvcD48cD52aSAvZXRjL3Jlc2lsaW8tc3luYy9jb25maWcuanNvbjwvcD48cD5gYGA8
L3A+PHA+PGJyPjwvcD48cD55IGRlc2NvbWVudGFtb3MgbGFzIGzDrW5lYXMgcXVlIGNvbnRlbmdh
biAqKmRldmljZV9uYW1lKiogeSAqKnN0b3JhZ2VfcGF0aCoqIHNpIGVzdGFiYW4gY29tZW50YWRh
cyBlbiBlbCBmaWNoZXJvLjwvcD48cD48YnI+PC9wPjxwPjxicj48L3A+PHA+IyMjIFVzbyBkYXRv
cyBhbnRlcmlvcmVzIGRlIEJpdFRvcnJuZW50IFN5bmM8L3A+PHA+PGJyPjwvcD48cD5QYXJhIHF1
ZSBwdWVkYSB0ZW5lciBhY2Nlc28gYWwgZGlzY28gZHVybyBhbnRlcmlvciBoYXkgcXVlIGNhbWJp
YXIgcXVlIGVsIHVzdWFyaW8gcXVlIGFycmFuY2EgZWwgc2VydmljaW8sIGVuIG51ZXN0cm8gY2Fz
byBlcyByb290IHkgbm8gcnNsc3luYywgcGFyYSBlbGxvIGhheSBxdWUgbW9kaWZpY2FyIGVsIGZp
Y2hlcm8gL2V0Yy9pbml0LmQvcmVzaWxpby1zeW5jLjwvcD48cD48YnI+PC9wPjxwPmBgYCBiYXNo
PC9wPjxwPnZpIC9ldGMvaW5pdC5kL3Jlc2lsaW8tc3luYzwvcD48cD5gYGA8L3A+PHA+PGJyPjwv
cD48cD55IGNhbWJpYW1vczwvcD48cD48YnI+PC9wPjxwPmBgYDwvcD48cD5TWU5DX1VTRVI9cnNs
c3luYzwvcD48cD5gYGA8L3A+PHA+PGJyPjwvcD48cD5wb3I8L3A+PHA+PGJyPjwvcD48cD5gYGA8
L3A+PHA+U1lOQ19VU0VSPXJvb3Q8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+eSBhZGVtw6Fz
IGNhbWJpYW1vczwvcD48cD48YnI+PC9wPjxwPmBgYDwvcD48cD5zdGFydC1zdG9wLWRhZW1vbiAt
LXN0YXJ0IC0tcXVpZXQgLWIgLW8gLWMgJFNZTkNfVVNFUiAtdSAkU1lOQ19VU0VSIC0tZXhlYyAk
REFFTU9OIC0tdW1hc2sgMDAwMiAtLSAtLWNvbmZpZyAkQ09ORklHPC9wPjxwPmBgYDwvcD48cD48
YnI+PC9wPjxwPnBvcjwvcD48cD48YnI+PC9wPjxwPmBgYDwvcD48cD5zdGFydC1zdG9wLWRhZW1v
biAtLXN0YXJ0IC0tcXVpZXQgLWIgLW8gLWMgJFNZTkNfVVNFUiAtdSAkU1lOQ19VU0VSIC0tZXhl
YyAkREFFTU9OIC0tdW1hc2sgMDAwNyAtLSAtLWNvbmZpZyAkQ09ORklHPC9wPjxwPmBgYDwvcD48
cD48YnI+PC9wPjxwPjxicj48L3A+PHA+RGVzcHXDqXMgZGUgZXN0byB5YSBwb2RlbW9zIHJlaW5p
Y2lhciBsYSBjdWJpZXRydWNrLjwvcD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPnN1ZG8g
c2h1dGRvd24gLWggMDwvcD48cD5gYGA8L3A+PHA+PGJyPjwvcD48cD4jIyMjIEluZm9ybWFjacOz
biBhZGljaW9uYWw8L3A+PHA+PGJyPjwvcD48cD5bUGFzb3Mgc2VndWlkb3MgcGFyYSBjcmVhciB1
biBzaXN0ZW1hIGRlIGJhY2t1cCBvbmxpbmUgdXNhbmRvIGVsIEJpdFRvcnJlbnQgeSB1bmEgQ3Vi
aWV0cnVjayAoQ3ViaWVib2FyZCAzKSBdKGh0dHA6Ly9ibG9nLmp1YW5zYWwuY29tLzIwMTQvMTIv
cGFzb3Mtc2VndWlkb3MtcGFyYS1jcmVhci11bi1zaXN0ZW1hLWRlLmh0bWwpICZuYnNwOzwvcD48
cD5bVXBncmFkZSBvbiBkZWtzdG9wcyAoQml0VG9ycmVudCBTeW5jIC0mZ3Q7IFJlc2lsaW8gU3lu
YykgXShodHRwczovL2hlbHAuZ2V0c3luYy5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvMjExOTI4MTg2
LVVwZ3JhZGUtb24tZGVrc3RvcHMtQml0VG9ycmVudC1TeW5jLVJlc2lsaW8tU3luYy0pICZuYnNw
OzwvcD48cD5bT2ZmaWNpYWwgTGludXggUGFja2FnZXMgZm9yIFN5bmMgTm93IEF2YWlsYWJsZV0o
aHR0cHM6Ly93d3cucmVzaWxpby5jb20vYmxvZy9vZmZpY2lhbC1saW51eC1wYWNrYWdlcy1mb3It
c3luYy1ub3ctYXZhaWxhYmxlKTwvcD48cD48YnI+PC9wPjxwPjxicj48L3A+PHA+IyMgSW5zdGFs
YWNpw7NuIGRlbCBtb25pdG9yIGJhc2FkbyBlbiBBbmd1bGFySnMgeSBOb2RlSnM8L3A+PHA+PGJy
PjwvcD48cD5CYXPDoW5kb21lIGVuIGVsIHNpZ3VpZW50ZSBhcnTDrWN1bG8gW01vbml0b3IgYmFz
YWRvIGVuIEFuZ3VsYXJKcyB5IE5vZGVKcyBwYXJhIGxhIEN1YmlldHJ1Y2sgKEN1YmllYm9hcmQg
MyldKGh0dHA6Ly9ibG9nLmp1YW5zYWwuY29tLzIwMTYvMDcvbW9uaXRvci1iYXNhZG8tZW4tYW5n
dWxhcmpzLXktbm9kZWpzLmh0bWwpIGhlIGluc3RhbGFkbyBlbCBtb25pdG9yLjwvcD48cD48YnI+
PC9wPjxwPjxicj48L3A+PHA+IyMjICZuYnNwO1NvZnR3YXJlIGluc3RhbGFkbzwvcD48cD48YnI+
PC9wPjxwPiMjIyMgR2l0PC9wPjxwPjxicj48L3A+PHA+RXN0ZSBlcyBlbCBjbGllbnRlIHVzYWRv
IHBhcmEgZGVzY2FyZ2FyIGxhIHdlYiBkZXNkZSBnaXRodWIuICZuYnNwOzwvcD48cD5QYXJhIGxh
IGluc3RhbGFjacOzbiBoZSBlamVjdXRhZG8gbG9zIHNpZ3VpZW50ZXMgY29tYW5kb3M6PC9wPjxw
Pjxicj48L3A+PHA+YGBgIGJhc2g8L3A+PHA+c3VkbyBhcHQtZ2V0IGluc3RhbGwgZ2l0PC9wPjxw
PmBgYDwvcD48cD48YnI+PC9wPjxwPiMjIyMgTm9kZUpTPC9wPjxwPjxicj48L3A+PHA+UGFyYSBs
YSBpbnN0YWxhY2nDs24gZGUgTm9kZUpTIGhlIGVsZWdpZG8gbGEgw7psdGltYSB2ZXJzacOzbiAo
ZW4gZWwgbW9tZW50byBkZSBlc2NyaWJpciBlbCBhcnTDrWN1bG8gZXMgbGEgNi54KSB5IGhlIGVq
ZWN1dGFkbyBsb3Mgc2lndWllbnRlcyBjb21hbmRvczo8L3A+PHA+PGJyPjwvcD48cD5gYGAgYmFz
aDwvcD48cD5zdWRvIGFwdC1nZXQgaW5zdGFsbCBjdXJsPC9wPjxwPmN1cmwgLXNMIGh0dHBzOi8v
ZGViLm5vZGVzb3VyY2UuY29tL3NldHVwXzYueCB8IHN1ZG8gLUUgYmFzaCAtPC9wPjxwPnN1ZG8g
YXB0LWdldCBpbnN0YWxsIC15IG5vZGVqczwvcD48cD5gYGA8L3A+PHA+PGJyPjwvcD48cD4jIyMj
IyBJbmZvcm1hY2nDs24gYWRpY2lvbmFsPC9wPjxwPjxicj48L3A+PHA+W0luc3RhbGxpbmcgTm9k
ZS5qcyB2aWEgcGFja2FnZSBtYW5hZ2VyXShodHRwczovL25vZGVqcy5vcmcvZW4vZG93bmxvYWQv
cGFja2FnZS1tYW5hZ2VyLyNkZWJpYW4tYW5kLXVidW50dS1iYXNlZC1saW51eC1kaXN0cmlidXRp
b25zKTwvcD48cD48YnI+PC9wPjxwPiMjIyAmbmJzcDtMaWJyZXLDrWFzIGFkaWNpb25hbGVzIHF1
ZSBoZSBpbnN0YWxhZG8gZW4gbGEgQ3ViaWVib2FyZCBwYXJhIHBvZGVyIHJlYWxpemFyIGxhIG1v
bml0b3JpemFjacOzbjwvcD48cD48YnI+PC9wPjxwPiMjIyMgbG0tc2Vuc29yczwvcD48cD48YnI+
PC9wPjxwPlBhcmEgcG9kZXIgZGV0ZWN0YXIgbGEgdGVtcGVyYXR1cmEgZGUgbGEgQ1BVIGhlIHVz
YWRvIGxhIGhlcnJhbWllbnRhIGxtLXNlbnNvcnMuICZuYnNwOzwvcD48cD5Mb3MgcGFzb3MgcXVl
IGhlIHNlZ3VpZG8gcGFyYSBpbnN0YWxhcmxhIGhhbiBzaWRvIGxvcyBzaWd1aWVudGVzOjwvcD48
cD48YnI+PC9wPjxwPlByaW1lcm8gaGUgZWplY3V0YWRvIGVsIHNpZ3VpZW50ZSBjb21hbmRvIHBh
cmEgaW5zdGFsYXJsYTo8L3A+PHA+PGJyPjwvcD48cD5gYGAgYmFzaDwvcD48cD5zdWRvIGFwdC1n
ZXQgaW5zdGFsbCBsbS1zZW5zb3JzPC9wPjxwPmBgYDwvcD48cD48YnI+PC9wPjxwPlVuYSB2ZXog
aW5zdGFsYWRhIGhlIGVqZWN1dGFkbyBsb3Mgc2lndWllbnRlcyBjb21hbmRvcyBwYXJhIGNvbmZp
Z3VyYXJsYSB5IGFycmFuY2FybGE6PC9wPjxwPjxicj48L3A+PHA+YGBgIGJhc2g8L3A+PHA+c3Vk
byBzZW5zb3JzLWRldGVjdDwvcD48cD5zdWRvIHNlcnZpY2Uga21vZCBzdGFydDwvcD48cD5gYGA8
L3A+PHA+PGJyPjwvcD48cD4jIyMjIyBJbmZvcm1hY2nDs24gYWRpY2lvbmFsPC9wPjxwPltsbS1z
ZW5zb3JzXShodHRwOi8vd3d3LmxtLXNlbnNvcnMub3JnLykgJm5ic3A7PC9wPjxwPltSZXBvc2l0
b3JpbyBHaXRodWJdKGh0dHBzOi8vZ2l0aHViLmNvbS9ncm9lY2svbG0tc2Vuc29ycykgJm5ic3A7
PC9wPjxwPltIb3cgZG8gSSBnZXQgdGhlIENQVSB0ZW1wZXJhdHVyZT9dKGh0dHA6Ly9hc2t1YnVu
dHUuY29tL3F1ZXN0aW9ucy8xNTgzMi9ob3ctZG8taS1nZXQtdGhlLWNwdS10ZW1wZXJhdHVyZSk8
L3A+PHA+PGJyPjwvcD48cD4jIyMjICZuYnNwO3NtYXJ0bW9udG9vbHM8L3A+PHA+PGJyPjwvcD48
cD5QYXJhIG9idGVuZXIgbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBkaXNjb3Mgc2UgcHVlZGUgdXRp
bGlhciBlbCBwYXF1ZXRlIHNtYXJ0bW9udG9vbHM6PC9wPjxwPjxicj48L3A+PHA+YGBgIGJhc2g8
L3A+PHA+YXB0LWdldCBpbnN0YWxsIHNtYXJ0bW9udG9vbHM8L3A+PHA+YGBgPC9wPjxwPjxicj48
L3A+PHA+IyMjIyAmbmJzcDtoZGR0ZW1wPC9wPjxwPjxicj48L3A+PHA+UGFyYSBvYnRlbmVyIGxh
IGluZm9ybWFjacOzbiBkZSBsb3MgZGlzY29zIHNlIHB1ZWRlIHV0aWxpemFyIGVsIHBhcXVldGUg
aGRkdGVtcDo8L3A+PHA+PGJyPjwvcD48cD5gYGAgYmFzaDwvcD48cD5hcHQtZ2V0IGluc3RhbGwg
aGRkdGVtcDwvcD48cD5gYGA8L3A+PHA+PGJyPjwvcD48cD48YnI+PC9wPjxwPjxicj48L3A+PHA+
IyMgSW5zdGFsYWNpw7NuIGRlIGxhIHdlYiBkZSBtb25pdG9yaXphY2nDs248L3A+PHA+PGJyPjwv
cD48cD4jIyMgSW5zdGFsYWNpw7NuIGRlIGxhIHdlYjwvcD48cD48YnI+PC9wPjxwPkxvcyBwYXNv
cyBwYXJhIGluc3RhbGFyIGVsIHByb3llY3RvIGVuIGxhIEN1YmllYm9hcmQgc29uIGxvcyBzaWd1
aWVudGVzOjwvcD48cD48YnI+PC9wPjxwPiogQ29uZmlndXJhciBnaXQsIHPDs2xvIGxhIHByaW1l
cmEgdmV6OjwvcD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPmdpdCBjb25maWcgLS1nbG9i
YWwgdXNlci5lbWFpbCAiY29ycmVvIjwvcD48cD5naXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFt
ZSAidXN1YXJpbyI8L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+KiBCYWphciBlbCBwcm95ZWN0
byBkZXNkZSBnaXRodWIgYSBsYSBjYXJwZXRhIH4vY3ViaWVib2FyZC1tb25pdG9yOjwvcD48cD48
YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPmNkPC9wPjxwPmdpdCBjbG9uZSBodHRwczovL2dpdGh1
Yi5jb20vanVhYWx0YS9jdWJpZWJvYXJkLW1vbml0b3IuZ2l0IGN1YmllYm9hcmQtbW9uaXRvcjwv
cD48cD5gYGA8L3A+PHA+PGJyPjwvcD48cD4qIEVudHJhciBlbiBsYSBjYXJwZXRhIGVuIGxhIHF1
ZSBzZSBoYSBkZXNjYXJnYWRvIGUgaW5zdGFsYXIgbGFzIGRlcGVuZGVuY2lhcyBuZWNlc2FyaWFz
OjwvcD48cD48YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPmNkIGN1YmllYm9hcmQtbW9uaXRvcjwv
cD48cD48YnI+PC9wPjxwPm5wbSBpbnN0YWxsPC9wPjxwPmBgYDwvcD48cD48YnI+PC9wPjxwPlVu
YSB2ZXogc2VndWlkb3MgbG9zIHBhc29zIGFudGVyaW9yZXMsIHNpIHF1ZXJlbW9zIHByb2JhciBs
YSBhcGxpY2FjacOzbiBzw7NsbyB0ZW5lbW9zIHF1ZSBsYW56YXIgZWwgc2lndWllbnRlIGNvbWFu
ZG86PC9wPjxwPjxicj48L3A+PHA+YGBgIGJhc2g8L3A+PHA+bm9kZWpzIHNlcnZlci5qczwvcD48
cD5gYGA8L3A+PHA+PGJyPjwvcD48cD5UYW1iacOpbiBwdWVkZSBlamVjdXRhcnNlOjwvcD48cD48
YnI+PC9wPjxwPmBgYCBiYXNoPC9wPjxwPm5wbSBzdGFydDwvcD48cD5gYGA8L3A+PHA+PGJyPjwv
cD4=&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/4442482209900805193/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2017/02/recreacion-del-sistema-de-backup-online.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/4442482209900805193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/4442482209900805193'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2017/02/recreacion-del-sistema-de-backup-online.html' title='Recreacion del sistema de backup online usando el Resilio Sync y una Cubietruck (Cubieboard 3)'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-1140871614484388676</id><published>2017-02-01T08:30:00.000+01:00</published><updated>2017-03-31T00:05:19.848+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="Artículo en inglés"/><title type='text'>Step detection system by a way with Arduino</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/src=sidebar&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h2 id=&quot;description&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Description&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
The purpose of the project is to detect the passing of cars and people at the entrance to an orchard and a warning beep inside this house.&lt;br /&gt;
For this project it consists of 2 modules:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Module detection step, either of people or cars.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Module warning step.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
The requirements are:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;The step detection module, being in the garden, must have a separate power supply, in this case we have put a solar panel and a battery.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;The module must sound warning when the detection module warn you.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;The detection module is at the entrance of the garden.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;The warning module is inside the house.&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX3UbrgsSDHdzSBR1LlRnIkcrPkzrqU0ZAXDCw1BaPSjfbWVgCPjiBVy6GY8ksQQ6m72IWM-K7TLRn-gThx3208hNZVoAG4V7507oHrFP8gk8nWd4PNmZSSdPq_L3zk4xq8aZMIAruL9Z5/s1600/Descripcion_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX3UbrgsSDHdzSBR1LlRnIkcrPkzrqU0ZAXDCw1BaPSjfbWVgCPjiBVy6GY8ksQQ6m72IWM-K7TLRn-gThx3208hNZVoAG4V7507oHrFP8gk8nWd4PNmZSSdPq_L3zk4xq8aZMIAruL9Z5/s640/Descripcion_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detection module with solar panel&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 id=&quot;instructions&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instructions&lt;/h2&gt;
&lt;h3 id=&quot;components-used&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Components used&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
The components used have been:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Detection module&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.wish.com/c/549bc514b9cb921840d9ecc5&quot;&gt;Arduino Nano&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ebay.es/itm/20x-Double-Side-Prototype-PCB-Universal-Circuit-Board-2x8-3x7-4x6-5x7CM-DIY-124-/170989228488?hash=item27cfc091c8:g:ZtEAAMXQkN1RyZV7&quot;&gt;PCB 5x7 cm&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.seeedstudio.com/depot/3W-Solar-Panel-138X160-p-954.html&quot;&gt;3W Solar Panel 138x160&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://es.aliexpress.com/store/product/Solar-Street-Light-battery-3-7v-6600mAh-made-by-Chinese-manufacturer/1894067_32447790091.html#extend&quot;&gt;Battery 3.7 v 6600 mAh&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.seeedstudio.com/depot/LiPo-Rider-Pro-p-992.html&quot;&gt;LiPo Rider Pro&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.aliexpress.com/item/BL8530-BL8531-DC-DC-Step-Up-Power-Converter-Module-DC-Boost-Converter-Board-5V-3-3V/32296844878.html&quot;&gt;Step up power converter module 3.3v to 5v&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ebay.es/itm/272041782549?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&quot;&gt;Ultrasonic Module Distance Measuring Transducer Sensor Waterproof JSN-SR04T&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://tienda.tuelectronica.es/index.php?route=product/product&amp;amp;product_id=57&amp;amp;search=SKU156095&quot;&gt;APC220 RF wireless modules&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Warning module&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.wish.com/c/549bc514b9cb921840d9ecc5&quot;&gt;Arduino Nano&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ebay.es/itm/20x-Double-Side-Prototype-PCB-Universal-Circuit-Board-2x8-3x7-4x6-5x7CM-DIY-124-/170989228488?hash=item27cfc091c8:g:ZtEAAMXQkN1RyZV7&quot;&gt;PCB 5x7 cm&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://tienda.tuelectronica.es/index.php?route=product/product&amp;amp;product_id=57&amp;amp;search=SKU156095&quot;&gt;APC220 RF wireless modules&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Passive buzzer / relay.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;assembly-of-the-circuit&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Assembly of the circuit&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
The Fritzing scheme is as follows:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Detection module&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnlteCuV_CXUDvPu68VfRB4fmtQspaJu4D7UBlwVRXNbaQaxoxP6cLyCulmKp5BSvKBLJ20B5pwElIYjN5mm78b9S0ovA0Y_Heuz_ANp4SJ1EA37R0fXU6BWMg4Vif0BBK6ei31Af3e_Wc/s1600/DetectorCoches_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;616&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnlteCuV_CXUDvPu68VfRB4fmtQspaJu4D7UBlwVRXNbaQaxoxP6cLyCulmKp5BSvKBLJ20B5pwElIYjN5mm78b9S0ovA0Y_Heuz_ANp4SJ1EA37R0fXU6BWMg4Vif0BBK6ei31Af3e_Wc/s640/DetectorCoches_bb.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detection module&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
In this scheme has not been added to the connection part of the Lipo Rider Pro, battery and solar panel, I not to have the designs for Fritzing.&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Warning module&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2ju6-rwxSHkSTkySKTC_UZtBH64y_cIdl4OmUtg8JrFMabqF4GxbsMz7TbLQEu4RQEozMjOBflSwYB9kJnhHtQaTYUNTCnsj4mNJs0PjdV8nCh9C88wTC7AOjQjYxIrmgA2Y5Lmf9OFC2/s1600/Alarma_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2ju6-rwxSHkSTkySKTC_UZtBH64y_cIdl4OmUtg8JrFMabqF4GxbsMz7TbLQEu4RQEozMjOBflSwYB9kJnhHtQaTYUNTCnsj4mNJs0PjdV8nCh9C88wTC7AOjQjYxIrmgA2Y5Lmf9OFC2/s640/Alarma_bb.png&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Warning module&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Images of the system mounted inside the laboratory:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Detection module&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGIYckxwHURgj37TqPgfq3N77opHNW19THDv4iQuqbt9Lvjc1N3XIK3dYa2P0L2MSIWybT5-UsKTPQOh_HowxL8eDtQeOSb3VHs012-WVuE89QweBgVI4ue9MmQOYi4R6XV1sBycWb8NTq/s1600/DetectorCoches_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGIYckxwHURgj37TqPgfq3N77opHNW19THDv4iQuqbt9Lvjc1N3XIK3dYa2P0L2MSIWybT5-UsKTPQOh_HowxL8eDtQeOSb3VHs012-WVuE89QweBgVI4ue9MmQOYi4R6XV1sBycWb8NTq/s640/DetectorCoches_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Solar panel with Lipo Rider Pro and battery&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYiopefrvkFlvyCDvwUChGP771_wtS9hjx8X_V-WhCtSiUEwKt0kJpPn3pGMVdBtA7ff_vJzIoVwjy32gY8SkeV7gdVPSgd4JoJnzYjfakzkNX1YFYudINLrI97bsg17IaFbX9dwLNz5jf/s1600/DetectorCoches_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYiopefrvkFlvyCDvwUChGP771_wtS9hjx8X_V-WhCtSiUEwKt0kJpPn3pGMVdBtA7ff_vJzIoVwjy32gY8SkeV7gdVPSgd4JoJnzYjfakzkNX1YFYudINLrI97bsg17IaFbX9dwLNz5jf/s640/DetectorCoches_02.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detection module mounted on a breadboard with initial ultrasound detector&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigaRLUbYVVSAIfa9hqETZchuEbEdSIzfhrJ4uWP_6N2xd5MH76F6o-2ObD1NZ9r08a4g80OElrQB6g1cT3P6iHTwae4WNJkShbeAzpaGlxt0tJjlfj8JM1eIeduiyf8peou7MWFWPTVFq1/s1600/DetectorCoches_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigaRLUbYVVSAIfa9hqETZchuEbEdSIzfhrJ4uWP_6N2xd5MH76F6o-2ObD1NZ9r08a4g80OElrQB6g1cT3P6iHTwae4WNJkShbeAzpaGlxt0tJjlfj8JM1eIeduiyf8peou7MWFWPTVFq1/s640/DetectorCoches_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detection module mounted on a breadboard with final ultrasound detector&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPufRd_jbn99WRAW4ySgVHyA4-Nn6cAqkUgzi4RjJsIirHW8qKHpJQmuSyqXdIuOk67fzhy3jkYdod9usc_VuHUTlEZXjxYB80Yj9d3fvoBBs-vaNeViepQysqnL_UbVTLO68pbPraFe-A/s1600/DetectorCoches_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPufRd_jbn99WRAW4ySgVHyA4-Nn6cAqkUgzi4RjJsIirHW8qKHpJQmuSyqXdIuOk67fzhy3jkYdod9usc_VuHUTlEZXjxYB80Yj9d3fvoBBs-vaNeViepQysqnL_UbVTLO68pbPraFe-A/s640/DetectorCoches_04.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Top of the PCB detection module without connected components&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3Xfk6UnlUdVqQ_sOs3x3xkE6-h1bWlPfyRPsEODo3oPrBysDCrFYM9ZZKQ9YIZWvoteBgHGyaKOIXiTTcW0mV_8njOcFdks9-lVDqynJsYw8AUcuewgtgqpkSg32pvV8-06lmBgyyw0Pu/s1600/DetectorCoches_05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3Xfk6UnlUdVqQ_sOs3x3xkE6-h1bWlPfyRPsEODo3oPrBysDCrFYM9ZZKQ9YIZWvoteBgHGyaKOIXiTTcW0mV_8njOcFdks9-lVDqynJsYw8AUcuewgtgqpkSg32pvV8-06lmBgyyw0Pu/s640/DetectorCoches_05.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Top of the PCB detection module with connected components&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAA93fP0zzeEJ51CV_J70o9cVYVzD6Sx-2qCnbaZCXkcOmYO1mv67wtZD2mHhFuznqbw64zV-SYHRm5S4VR_8IZDNpVoRA3J-QF-d0h0JByb0GcYd4Va6uvujagoeNblg7Zy9HPPSLp3-z/s1600/DetectorCoches_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAA93fP0zzeEJ51CV_J70o9cVYVzD6Sx-2qCnbaZCXkcOmYO1mv67wtZD2mHhFuznqbw64zV-SYHRm5S4VR_8IZDNpVoRA3J-QF-d0h0JByb0GcYd4Va6uvujagoeNblg7Zy9HPPSLp3-z/s640/DetectorCoches_06.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detection module inside his waterproof case&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Warning module&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkf7LJYZ8Bvt6jaVKLVfLeD9Gh3FdjIzrFy498zy4q_gIw3BYtUyovJHLCPUZxzUcs3Kic3Y4YOnQ8GvxN0N3S2kafO4Gkx-ClhD2jKUzCHa-9aLAST2kjIqunywOjEg_lD1I3_Z0JQoto/s1600/Alarma_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkf7LJYZ8Bvt6jaVKLVfLeD9Gh3FdjIzrFy498zy4q_gIw3BYtUyovJHLCPUZxzUcs3Kic3Y4YOnQ8GvxN0N3S2kafO4Gkx-ClhD2jKUzCHa-9aLAST2kjIqunywOjEg_lD1I3_Z0JQoto/s640/Alarma_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Warning module mounted on a breadboard&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr8O-3VKU5BaD3APenpmA0qr-T5dhvb9hdE0rymMpz5OjLkvo9XGSdKx2cvj7mrRWArUgHPLWJqkoLiJimPcBWpH77X74gt1DsvCJPQFMAQnmoT5hrGFTNMxAuNV2AuRB-S27bV8HKZ-1W/s1600/Alarma_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr8O-3VKU5BaD3APenpmA0qr-T5dhvb9hdE0rymMpz5OjLkvo9XGSdKx2cvj7mrRWArUgHPLWJqkoLiJimPcBWpH77X74gt1DsvCJPQFMAQnmoT5hrGFTNMxAuNV2AuRB-S27bV8HKZ-1W/s640/Alarma_02.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Top of the PCB warning module without connected components&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXMEHT6u0qF4YihrEtS2l3dPJHVvXd4_IBGx_-QRAQ1y9mRy8A_yiy4Y4KK6ByVlPvZ0rtBDAhXVv-7rUlRJaDvwIwXMWmtetJFbdFEGxyAVx2fHwInS37Jm0hEPTLgwgQWcJgWjDI1FHO/s1600/Alarma_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXMEHT6u0qF4YihrEtS2l3dPJHVvXd4_IBGx_-QRAQ1y9mRy8A_yiy4Y4KK6ByVlPvZ0rtBDAhXVv-7rUlRJaDvwIwXMWmtetJFbdFEGxyAVx2fHwInS37Jm0hEPTLgwgQWcJgWjDI1FHO/s640/Alarma_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Top of the PCB warning module with connected components&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigMK8BtGJdYPvU-z6cOv-4pD_dTtLL38-sOFeVSukw647vVh3r3AxD3YVBRSVfxNtkmvrnu6UsTXz9-8V4m-W5YXknsaJlY_h4b49wsu_hLZ_Td9Vd7XjAH1LdvakfQjRwUWDuKSNFbU8E/s1600/Alarma_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigMK8BtGJdYPvU-z6cOv-4pD_dTtLL38-sOFeVSukw647vVh3r3AxD3YVBRSVfxNtkmvrnu6UsTXz9-8V4m-W5YXknsaJlY_h4b49wsu_hLZ_Td9Vd7XjAH1LdvakfQjRwUWDuKSNFbU8E/s640/Alarma_04.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Warning module inside his waterproof case&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 id=&quot;software&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
The libraries used have been:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://freecode.com/projects/hc-sr04-ultrasonic-arduino-library&quot;&gt;HCSR04Ultrasonic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
The code of the Arduino is the following:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Detection module&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;/*
  Título: Modulo_RF_APC220 --&amp;gt; Puerto serie
*/&lt;/span&gt;

&lt;span class=&quot;hljs-preprocessor&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;include &amp;lt;Ultrasonic.h&amp;gt;&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot;&gt;//Pins ultrasonido&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; TRIG_PIN = &lt;span class=&quot;hljs-number&quot;&gt;12&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; ECHO_PIN = &lt;span class=&quot;hljs-number&quot;&gt;13&lt;/span&gt;;

Ultrasonic ultrasonic(TRIG_PIN, ECHO_PIN);

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; setup()
{
  Serial.begin(&lt;span class=&quot;hljs-number&quot;&gt;9600&lt;/span&gt;); &lt;span class=&quot;hljs-comment&quot;&gt;// Establecemos la velocidad del puerto serie (Igual que APC220)&lt;/span&gt;
}

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; loop()
{

  &lt;span class=&quot;hljs-keyword&quot;&gt;float&lt;/span&gt; cmMsec;
  &lt;span class=&quot;hljs-keyword&quot;&gt;long&lt;/span&gt; microsec = ultrasonic.timing();
  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);

  Serial.print(&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt;(cmMsec));
  Serial.println(&lt;span class=&quot;hljs-string&quot;&gt;&quot;=&quot;&lt;/span&gt;);

  delay(&lt;span class=&quot;hljs-number&quot;&gt;1000&lt;/span&gt;);

}
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Warning module&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;
&lt;span class=&quot;hljs-comment&quot;&gt;// create notes for our song&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; C = &lt;span class=&quot;hljs-number&quot;&gt;131&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; D = &lt;span class=&quot;hljs-number&quot;&gt;147&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; E = &lt;span class=&quot;hljs-number&quot;&gt;165&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; F = &lt;span class=&quot;hljs-number&quot;&gt;175&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; G = &lt;span class=&quot;hljs-number&quot;&gt;196&lt;/span&gt;;

&lt;span class=&quot;hljs-comment&quot;&gt;// create an array to hold note values&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; songNotes[] = {E, E, E, E, E, E, E, G, C, D, E, F, F, F, F, F, E, E, E, G, G, F, D, C};
&lt;span class=&quot;hljs-comment&quot;&gt;// create another array to hold note lengths&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; noteDurations[] = {&lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;};

byte byteRead;  &lt;span class=&quot;hljs-comment&quot;&gt;//Datos leídos por el puerto serie&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;long&lt;/span&gt; longitud;  &lt;span class=&quot;hljs-comment&quot;&gt;//Longitud recibida por el puerto serie&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot;&gt;long&lt;/span&gt; longitudMaxima = &lt;span class=&quot;hljs-number&quot;&gt;100&lt;/span&gt;;

String inString = &lt;span class=&quot;hljs-string&quot;&gt;&quot;&quot;&lt;/span&gt;;                          &lt;span class=&quot;hljs-comment&quot;&gt;//This string is used to store the incoming data&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; pitch;                            &lt;span class=&quot;hljs-comment&quot;&gt;//This is the variable we will use to store the buzzers p&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; setup()
{
  Serial.begin(&lt;span class=&quot;hljs-number&quot;&gt;9600&lt;/span&gt;);

  longitud = &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;;
}

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; loop()
{

  &lt;span class=&quot;hljs-keyword&quot;&gt;while&lt;/span&gt; (Serial.available() &amp;gt; &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;)
  {
    byteRead = Serial.read();

    &lt;span class=&quot;hljs-comment&quot;&gt;//listen for numbers between 0-9&lt;/span&gt;
    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (byteRead &amp;gt; &lt;span class=&quot;hljs-number&quot;&gt;47&lt;/span&gt; &amp;amp;&amp;amp; byteRead &amp;lt; &lt;span class=&quot;hljs-number&quot;&gt;58&lt;/span&gt;) {
      &lt;span class=&quot;hljs-comment&quot;&gt;//number found&lt;/span&gt;
      longitud = (longitud * &lt;span class=&quot;hljs-number&quot;&gt;10&lt;/span&gt;) + (byteRead - &lt;span class=&quot;hljs-number&quot;&gt;48&lt;/span&gt;);
    }

    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (byteRead == &lt;span class=&quot;hljs-number&quot;&gt;61&lt;/span&gt;)
    {
      Serial.println(longitud);

      &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (longitud &amp;lt;= longitudMaxima)
      {
        melodia();
      }

      longitud = &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;;
    }

  }

}

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; melodia()
{
  &lt;span class=&quot;hljs-comment&quot;&gt;// iterate through arrays to play each note for its duration&lt;/span&gt;
  &lt;span class=&quot;hljs-comment&quot;&gt;// plays our jingle once&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; i = &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-number&quot;&gt;24&lt;/span&gt;; i ++)
  {
    &lt;span class=&quot;hljs-comment&quot;&gt;// calculate note duration&lt;/span&gt;
    &lt;span class=&quot;hljs-comment&quot;&gt;// 1 second divided by note length&lt;/span&gt;
    &lt;span class=&quot;hljs-comment&quot;&gt;// adjusting value of 1000 can change tempo&lt;/span&gt;
    &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; noteDuration = &lt;span class=&quot;hljs-number&quot;&gt;1000&lt;/span&gt; / noteDurations[i];
    &lt;span class=&quot;hljs-comment&quot;&gt;// sends tone to pin 8&lt;/span&gt;
    tone(&lt;span class=&quot;hljs-number&quot;&gt;8&lt;/span&gt;, songNotes[i], noteDuration);

    &lt;span class=&quot;hljs-comment&quot;&gt;// pause between notes a little to hear them better&lt;/span&gt;
    &lt;span class=&quot;hljs-comment&quot;&gt;// this can also be used to adjust tempo&lt;/span&gt;
    &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; pauseBetweenNotes = noteDuration * &lt;span class=&quot;hljs-number&quot;&gt;1.3&lt;/span&gt;;
    delay(pauseBetweenNotes);
    &lt;span class=&quot;hljs-comment&quot;&gt;// once note is done, stop playing it&lt;/span&gt;
    noTone(&lt;span class=&quot;hljs-number&quot;&gt;8&lt;/span&gt;);
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+IyMgRGVzY3JpcHRpb248L3A+PHA+PGJyPjwvcD48cD5UaGUgcHVycG9zZSBvZiB0aGUgcHJv
amVjdCBpcyB0byBkZXRlY3QgdGhlIHBhc3Npbmcgb2YgY2FycyBhbmQgcGVvcGxlIGF0IHRoZSBl
bnRyYW5jZSB0byBhbiBvcmNoYXJkIGFuZCBhIHdhcm5pbmcgYmVlcCBpbnNpZGUgdGhpcyBob3Vz
ZS4gJm5ic3A7PC9wPjxwPkZvciB0aGlzIHByb2plY3QgaXQgY29uc2lzdHMgb2YgMiBtb2R1bGVz
OjwvcD48cD48YnI+PC9wPjxwPi0gTW9kdWxlIGRldGVjdGlvbiBzdGVwLCBlaXRoZXIgb2YgcGVv
cGxlIG9yIGNhcnMuPC9wPjxwPi0gTW9kdWxlIHdhcm5pbmcgc3RlcC48L3A+PHA+PGJyPjwvcD48
cD5UaGUgcmVxdWlyZW1lbnRzIGFyZTo8L3A+PHA+PGJyPjwvcD48cD4tIFRoZSBzdGVwIGRldGVj
dGlvbiBtb2R1bGUsIGJlaW5nIGluIHRoZSBnYXJkZW4sIG11c3QgaGF2ZSBhIHNlcGFyYXRlIHBv
d2VyIHN1cHBseSwgaW4gdGhpcyBjYXNlIHdlIGhhdmUgcHV0IGEgc29sYXIgcGFuZWwgYW5kIGEg
YmF0dGVyeS48L3A+PHA+LSBUaGUgbW9kdWxlIG11c3Qgc291bmQgd2FybmluZyB3aGVuIHRoZSBk
ZXRlY3Rpb24gbW9kdWxlIHdhcm4geW91LjwvcD48cD4tIFRoZSBkZXRlY3Rpb24gbW9kdWxlIGlz
IGF0IHRoZSBlbnRyYW5jZSBvZiB0aGUgZ2FyZGVuLjwvcD48cD4tIFRoZSB3YXJuaW5nIG1vZHVs
ZSBpcyBpbnNpZGUgdGhlIGhvdXNlLjwvcD48cD48YnI+PC9wPjxwPiFbRGV0ZWN0aW9uIG1vZHVs
ZSB3aXRoIHNvbGFyIHBhbmVsXSguL2ltYWdlbmVzL0Rlc2NyaXBjaW9uXzAxLmpwZyAiRGV0ZWN0
aW9uIG1vZHVsZSB3aXRoIHNvbGFyIHBhbmVsIik8L3A+PHA+PGJyPjwvcD48cD4jIyBJbnN0cnVj
dGlvbnM8L3A+PHA+PGJyPjwvcD48cD4jIyMgQ29tcG9uZW50cyB1c2VkPC9wPjxwPjxicj48L3A+
PHA+VGhlIGNvbXBvbmVudHMgdXNlZCBoYXZlIGJlZW46PC9wPjxwPjxicj48L3A+PHA+LSBEZXRl
Y3Rpb24gbW9kdWxlPC9wPjxwPiZuYnNwOy0gW0FyZHVpbm8gTmFub10oaHR0cHM6Ly93d3cud2lz
aC5jb20vYy81NDliYzUxNGI5Y2I5MjE4NDBkOWVjYzUpPC9wPjxwPiZuYnNwOy0gW1BDQiA1eDcg
Y21dKGh0dHA6Ly93d3cuZWJheS5lcy9pdG0vMjB4LURvdWJsZS1TaWRlLVByb3RvdHlwZS1QQ0It
VW5pdmVyc2FsLUNpcmN1aXQtQm9hcmQtMng4LTN4Ny00eDYtNXg3Q00tRElZLTEyNC0vMTcwOTg5
MjI4NDg4P2hhc2g9aXRlbTI3Y2ZjMDkxYzg6ZzpadEVBQU1YUWtOMVJ5WlY3KTwvcD48cD4mbmJz
cDstIFszVyBTb2xhciBQYW5lbCAxMzh4MTYwXShodHRwOi8vd3d3LnNlZWVkc3R1ZGlvLmNvbS9k
ZXBvdC8zVy1Tb2xhci1QYW5lbC0xMzhYMTYwLXAtOTU0Lmh0bWwpPC9wPjxwPiZuYnNwOy0gW0Jh
dHRlcnkgMy43IHYgNjYwMCBtQWhdKGh0dHA6Ly9lcy5hbGlleHByZXNzLmNvbS9zdG9yZS9wcm9k
dWN0L1NvbGFyLVN0cmVldC1MaWdodC1iYXR0ZXJ5LTMtN3YtNjYwMG1BaC1tYWRlLWJ5LUNoaW5l
c2UtbWFudWZhY3R1cmVyLzE4OTQwNjdfMzI0NDc3OTAwOTEuaHRtbCNleHRlbmQpPC9wPjxwPiZu
YnNwOy0gW0xpUG8gUmlkZXIgUHJvXShodHRwOi8vd3d3LnNlZWVkc3R1ZGlvLmNvbS9kZXBvdC9M
aVBvLVJpZGVyLVByby1wLTk5Mi5odG1sKTwvcD48cD4mbmJzcDstIFtTdGVwIHVwIHBvd2VyIGNv
bnZlcnRlciBtb2R1bGUgMy4zdiB0byA1dl0oaHR0cDovL3d3dy5hbGlleHByZXNzLmNvbS9pdGVt
L0JMODUzMC1CTDg1MzEtREMtREMtU3RlcC1VcC1Qb3dlci1Db252ZXJ0ZXItTW9kdWxlLURDLUJv
b3N0LUNvbnZlcnRlci1Cb2FyZC01Vi0zLTNWLzMyMjk2ODQ0ODc4Lmh0bWwpPC9wPjxwPiZuYnNw
Oy0gW1VsdHJhc29uaWMgTW9kdWxlIERpc3RhbmNlIE1lYXN1cmluZyBUcmFuc2R1Y2VyIFNlbnNv
ciBXYXRlcnByb29mIEpTTi1TUjA0VF0oaHR0cDovL3d3dy5lYmF5LmVzL2l0bS8yNzIwNDE3ODI1
NDk/X3Rya3NpZD1wMjA2MDM1My5tMjc0OS5sMjY0OSZhbXA7c3NQYWdlTmFtZT1TVFJLJTNBTUVC
SURYJTNBSVQpPC9wPjxwPiZuYnNwOy0gW0FQQzIyMCBSRiB3aXJlbGVzcyBtb2R1bGVzXShodHRw
Oi8vdGllbmRhLnR1ZWxlY3Ryb25pY2EuZXMvaW5kZXgucGhwP3JvdXRlPXByb2R1Y3QvcHJvZHVj
dCZhbXA7cHJvZHVjdF9pZD01NyZhbXA7c2VhcmNoPVNLVTE1NjA5NSk8L3A+PHA+LSBXYXJuaW5n
IG1vZHVsZTwvcD48cD4mbmJzcDstIFtBcmR1aW5vIE5hbm9dKGh0dHBzOi8vd3d3Lndpc2guY29t
L2MvNTQ5YmM1MTRiOWNiOTIxODQwZDllY2M1KTwvcD48cD4mbmJzcDstIFtQQ0IgNXg3IGNtXSho
dHRwOi8vd3d3LmViYXkuZXMvaXRtLzIweC1Eb3VibGUtU2lkZS1Qcm90b3R5cGUtUENCLVVuaXZl
cnNhbC1DaXJjdWl0LUJvYXJkLTJ4OC0zeDctNHg2LTV4N0NNLURJWS0xMjQtLzE3MDk4OTIyODQ4
OD9oYXNoPWl0ZW0yN2NmYzA5MWM4Omc6WnRFQUFNWFFrTjFSeVpWNyk8L3A+PHA+Jm5ic3A7LSBb
VWx0cmFzb25pYyBNb2R1bGUgRGlzdGFuY2UgTWVhc3VyaW5nIFRyYW5zZHVjZXIgU2Vuc29yIFdh
dGVycHJvb2YgSlNOLVNSMDRUXShodHRwOi8vd3d3LmViYXkuZXMvaXRtLzI3MjA0MTc4MjU0OT9f
dHJrc2lkPXAyMDYwMzUzLm0yNzQ5LmwyNjQ5JmFtcDtzc1BhZ2VOYW1lPVNUUkslM0FNRUJJRFgl
M0FJVCk8L3A+PHA+Jm5ic3A7LSBQYXNzaXZlIGJ1enplciAvIHJlbGF5LjwvcD48cD48YnI+PC9w
PjxwPiMjIyBBc3NlbWJseSBvZiB0aGUgY2lyY3VpdDwvcD48cD48YnI+PC9wPjxwPlRoZSBGcml0
emluZyBzY2hlbWUgaXMgYXMgZm9sbG93czo8L3A+PHA+PGJyPjwvcD48cD4tIERldGVjdGlvbiBt
b2R1bGU8L3A+PHA+PGJyPjwvcD48cD4hW0RldGVjdGlvbiBtb2R1bGVdKC4vaW1hZ2VuZXMvRGV0
ZWN0b3JDb2NoZXNfYmIucG5nICJEZXRlY3Rpb24gbW9kdWxlIik8L3A+PHA+PGJyPjwvcD48cD5J
biB0aGlzIHNjaGVtZSBoYXMgbm90IGJlZW4gYWRkZWQgdG8gdGhlIGNvbm5lY3Rpb24gcGFydCBv
ZiB0aGUgTGlwbyBSaWRlciBQcm8sIGJhdHRlcnkgYW5kIHNvbGFyIHBhbmVsLCBJIG5vdCB0byBo
YXZlIHRoZSBkZXNpZ25zIGZvciBGcml0emluZy48L3A+PHA+PGJyPjwvcD48cD4tIFdhcm5pbmcg
bW9kdWxlPC9wPjxwPjxicj48L3A+PHA+IVtXYXJuaW5nIG1vZHVsZV0oLi9pbWFnZW5lcy9BbGFy
bWFfYmIucG5nICJXYXJuaW5nIG1vZHVsZSIpPC9wPjxwPjxicj48L3A+PHA+SW1hZ2VzIG9mIHRo
ZSBzeXN0ZW0gbW91bnRlZCBpbnNpZGUgdGhlIGxhYm9yYXRvcnk6PC9wPjxwPjxicj48L3A+PHA+
LSBEZXRlY3Rpb24gbW9kdWxlPC9wPjxwPjxicj48L3A+PHA+IVtTb2xhciBwYW5lbCB3aXRoIExp
cG8gUmlkZXIgUHJvIGFuZCBiYXR0ZXJ5XSguL2ltYWdlbmVzL0RldGVjdG9yQ29jaGVzXzAxLmpw
ZyAiU29sYXIgcGFuZWwgd2l0aCBMaXBvIFJpZGVyIFBybyBhbmQgYmF0dGVyeSIpPC9wPjxwPjxi
cj48L3A+PHA+IVtEZXRlY3Rpb24gbW9kdWxlIG1vdW50ZWQgb24gYSBicmVhZGJvYXJkIHdpdGgg
aW5pdGlhbCB1bHRyYXNvdW5kIGRldGVjdG9yXSguL2ltYWdlbmVzL0RldGVjdG9yQ29jaGVzXzAy
LmpwZyAiRGV0ZWN0aW9uIG1vZHVsZSBtb3VudGVkIG9uIGEgYnJlYWRib2FyZCB3aXRoIGluaXRp
YWwgdWx0cmFzb3VuZCBkZXRlY3RvciIpPC9wPjxwPjxicj48L3A+PHA+IVtEZXRlY3Rpb24gbW9k
dWxlIG1vdW50ZWQgb24gYSBicmVhZGJvYXJkIHdpdGggZmluYWwgdWx0cmFzb3VuZCBkZXRlY3Rv
cl0oLi9pbWFnZW5lcy9EZXRlY3RvckNvY2hlc18wMy5qcGcgIkRldGVjdGlvbiBtb2R1bGUgbW91
bnRlZCBvbiBhIGJyZWFkYm9hcmQgd2l0aCBmaW5hbCB1bHRyYXNvdW5kIGRldGVjdG9yIik8L3A+
PHA+PGJyPjwvcD48cD4hW1RvcCBvZiB0aGUgUENCIGRldGVjdGlvbiBtb2R1bGUgd2l0aG91dCBj
b25uZWN0ZWQgY29tcG9uZW50c10oLi9pbWFnZW5lcy9EZXRlY3RvckNvY2hlc18wNC5qcGcgIlRv
cCBvZiB0aGUgUENCIGRldGVjdGlvbiBtb2R1bGUgd2l0aG91dCBjb25uZWN0ZWQgY29tcG9uZW50
cyIpPC9wPjxwPjxicj48L3A+PHA+IVtUb3Agb2YgdGhlIFBDQiBkZXRlY3Rpb24gbW9kdWxlIHdp
dGggY29ubmVjdGVkIGNvbXBvbmVudHNdKC4vaW1hZ2VuZXMvRGV0ZWN0b3JDb2NoZXNfMDUuanBn
ICJUb3Agb2YgdGhlIFBDQiBkZXRlY3Rpb24gbW9kdWxlIHdpdGggY29ubmVjdGVkIGNvbXBvbmVu
dHMiKTwvcD48cD48YnI+PC9wPjxwPiFbRGV0ZWN0aW9uIG1vZHVsZSBpbnNpZGUgaGlzIHdhdGVy
cHJvb2YgY2FzZV0oLi9pbWFnZW5lcy9EZXRlY3RvckNvY2hlc18wNi5qcGcgIkRldGVjdGlvbiBt
b2R1bGUgaW5zaWRlIGhpcyB3YXRlcnByb29mIGNhc2UiKTwvcD48cD48YnI+PC9wPjxwPi0gV2Fy
bmluZyBtb2R1bGU8L3A+PHA+PGJyPjwvcD48cD4hW1dhcm5pbmcgbW9kdWxlIG1vdW50ZWQgb24g
YSBicmVhZGJvYXJkXSguL2ltYWdlbmVzL0FsYXJtYV8wMS5qcGcgIldhcm5pbmcgbW9kdWxlIG1v
dW50ZWQgb24gYSBicmVhZGJvYXJkIik8L3A+PHA+PGJyPjwvcD48cD4hW1RvcCBvZiB0aGUgUENC
IHdhcm5pbmcgbW9kdWxlIHdpdGhvdXQgY29ubmVjdGVkIGNvbXBvbmVudHNdKC4vaW1hZ2VuZXMv
QWxhcm1hXzAyLmpwZyAiVG9wIG9mIHRoZSBQQ0Igd2FybmluZyBtb2R1bGUgd2l0aG91dCBjb25u
ZWN0ZWQgY29tcG9uZW50cyIpPC9wPjxwPjxicj48L3A+PHA+IVtUb3Agb2YgdGhlIFBDQiB3YXJu
aW5nIG1vZHVsZSB3aXRoIGNvbm5lY3RlZCBjb21wb25lbnRzXSguL2ltYWdlbmVzL0FsYXJtYV8w
My5qcGcgIlRvcCBvZiB0aGUgUENCIHdhcm5pbmcgbW9kdWxlIHdpdGggY29ubmVjdGVkIGNvbXBv
bmVudHMiKTwvcD48cD48YnI+PC9wPjxwPiFbV2FybmluZyBtb2R1bGUgaW5zaWRlIGhpcyB3YXRl
cnByb29mIGNhc2VdKC4vaW1hZ2VuZXMvQWxhcm1hXzA0LmpwZyAiV2FybmluZyBtb2R1bGUgaW5z
aWRlIGhpcyB3YXRlcnByb29mIGNhc2UiKTwvcD48cD48YnI+PC9wPjxwPiMjIyBTb2Z0d2FyZTwv
cD48cD48YnI+PC9wPjxwPlRoZSBsaWJyYXJpZXMgdXNlZCBoYXZlIGJlZW46PC9wPjxwPjxicj48
L3A+PHA+LSBbSENTUjA0VWx0cmFzb25pY10oaHR0cDovL2ZyZWVjb2RlLmNvbS9wcm9qZWN0cy9o
Yy1zcjA0LXVsdHJhc29uaWMtYXJkdWluby1saWJyYXJ5KTwvcD48cD48YnI+PC9wPjxwPlRoZSBj
b2RlIG9mIHRoZSBBcmR1aW5vIGlzIHRoZSBmb2xsb3dpbmc6PC9wPjxwPjxicj48L3A+PHA+LSBE
ZXRlY3Rpb24gbW9kdWxlPC9wPjxwPjxicj48L3A+PHA+YGBgIGNwcDwvcD48cD4vKjwvcD48cD4m
bmJzcDsgVMOtdHVsbzogTW9kdWxvX1JGX0FQQzIyMCAtLSZndDsgUHVlcnRvIHNlcmllPC9wPjxw
PiovPC9wPjxwPjxicj48L3A+PHA+I2luY2x1ZGUgJmx0O1VsdHJhc29uaWMuaCZndDs8L3A+PHA+
PGJyPjwvcD48cD4vL1BpbnMgdWx0cmFzb25pZG88L3A+PHA+Y29uc3QgaW50IFRSSUdfUElOID0g
MTI7PC9wPjxwPmNvbnN0IGludCBFQ0hPX1BJTiA9IDEzOzwvcD48cD48YnI+PC9wPjxwPlVsdHJh
c29uaWMgdWx0cmFzb25pYyhUUklHX1BJTiwgRUNIT19QSU4pOzwvcD48cD48YnI+PC9wPjxwPnZv
aWQgc2V0dXAoKTwvcD48cD57PC9wPjxwPiZuYnNwOyBTZXJpYWwuYmVnaW4oOTYwMCk7IC8vIEVz
dGFibGVjZW1vcyBsYSB2ZWxvY2lkYWQgZGVsIHB1ZXJ0byBzZXJpZSAoSWd1YWwgcXVlIEFQQzIy
MCk8L3A+PHA+fTwvcD48cD48YnI+PC9wPjxwPnZvaWQgbG9vcCgpPC9wPjxwPns8L3A+PHA+PGJy
PjwvcD48cD4mbmJzcDsgZmxvYXQgY21Nc2VjOzwvcD48cD4mbmJzcDsgbG9uZyBtaWNyb3NlYyA9
IHVsdHJhc29uaWMudGltaW5nKCk7PC9wPjxwPiZuYnNwOyBjbU1zZWMgPSB1bHRyYXNvbmljLmNv
bnZlcnQobWljcm9zZWMsIFVsdHJhc29uaWM6OkNNKTs8L3A+PHA+PGJyPjwvcD48cD4mbmJzcDsg
U2VyaWFsLnByaW50KGludChjbU1zZWMpKTs8L3A+PHA+Jm5ic3A7IFNlcmlhbC5wcmludGxuKCI9
Iik7PC9wPjxwPjxicj48L3A+PHA+Jm5ic3A7IGRlbGF5KDEwMDApOzwvcD48cD48YnI+PC9wPjxw
Pn08L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+LSBXYXJuaW5nIG1vZHVsZTwvcD48cD48YnI+
PC9wPjxwPmBgYCBjcHA8L3A+PHA+PGJyPjwvcD48cD4vLyBjcmVhdGUgbm90ZXMgZm9yIG91ciBz
b25nPC9wPjxwPmludCBDID0gMTMxOzwvcD48cD5pbnQgRCA9IDE0Nzs8L3A+PHA+aW50IEUgPSAx
NjU7PC9wPjxwPmludCBGID0gMTc1OzwvcD48cD5pbnQgRyA9IDE5Njs8L3A+PHA+PGJyPjwvcD48
cD4vLyBjcmVhdGUgYW4gYXJyYXkgdG8gaG9sZCBub3RlIHZhbHVlczwvcD48cD5pbnQgc29uZ05v
dGVzW10gPSB7RSwgRSwgRSwgRSwgRSwgRSwgRSwgRywgQywgRCwgRSwgRiwgRiwgRiwgRiwgRiwg
RSwgRSwgRSwgRywgRywgRiwgRCwgQ307PC9wPjxwPi8vIGNyZWF0ZSBhbm90aGVyIGFycmF5IHRv
IGhvbGQgbm90ZSBsZW5ndGhzPC9wPjxwPmludCBub3RlRHVyYXRpb25zW10gPSB7NCwgNCwgMiwg
NCwgNCwgMiwgNCwgNCwgNCwgNCwgMSwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwg
NCwgMX07PC9wPjxwPjxicj48L3A+PHA+Ynl0ZSBieXRlUmVhZDsgJm5ic3A7Ly9EYXRvcyBsZcOt
ZG9zIHBvciBlbCBwdWVydG8gc2VyaWU8L3A+PHA+bG9uZyBsb25naXR1ZDsgJm5ic3A7Ly9Mb25n
aXR1ZCByZWNpYmlkYSBwb3IgZWwgcHVlcnRvIHNlcmllPC9wPjxwPjxicj48L3A+PHA+bG9uZyBs
b25naXR1ZE1heGltYSA9IDEwMDs8L3A+PHA+PGJyPjwvcD48cD5TdHJpbmcgaW5TdHJpbmcgPSAi
IjsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Ly9UaGlzIHN0cmluZyBpcyB1c2Vk
IHRvIHN0b3JlIHRoZSBpbmNvbWluZyBkYXRhPC9wPjxwPnVuc2lnbmVkIGludCBwaXRjaDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8vVGhpcyBpcyB0aGUgdmFyaWFi
bGUgd2Ugd2lsbCB1c2UgdG8gc3RvcmUgdGhlIGJ1enplcnMgcDwvcD48cD48YnI+PC9wPjxwPnZv
aWQgc2V0dXAoKTwvcD48cD57PC9wPjxwPiZuYnNwOyBTZXJpYWwuYmVnaW4oOTYwMCk7PC9wPjxw
Pjxicj48L3A+PHA+Jm5ic3A7IGxvbmdpdHVkID0gMDs8L3A+PHA+fTwvcD48cD48YnI+PC9wPjxw
Pjxicj48L3A+PHA+dm9pZCBsb29wKCk8L3A+PHA+ezwvcD48cD48YnI+PC9wPjxwPiZuYnNwOyB3
aGlsZSAoU2VyaWFsLmF2YWlsYWJsZSgpICZndDsgMCk8L3A+PHA+Jm5ic3A7IHs8L3A+PHA+Jm5i
c3A7ICZuYnNwOyBieXRlUmVhZCA9IFNlcmlhbC5yZWFkKCk7PC9wPjxwPjxicj48L3A+PHA+Jm5i
c3A7ICZuYnNwOyAvL2xpc3RlbiBmb3IgbnVtYmVycyBiZXR3ZWVuIDAtOTwvcD48cD4mbmJzcDsg
Jm5ic3A7IGlmIChieXRlUmVhZCAmZ3Q7IDQ3ICZhbXA7JmFtcDsgYnl0ZVJlYWQgJmx0OyA1OCkg
ezwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAvL251bWJlciBmb3VuZDwvcD48cD4mbmJzcDsg
Jm5ic3A7ICZuYnNwOyBsb25naXR1ZCA9IChsb25naXR1ZCAqIDEwKSArIChieXRlUmVhZCAtIDQ4
KTs8L3A+PHA+Jm5ic3A7ICZuYnNwOyB9PC9wPjxwPjxicj48L3A+PHA+Jm5ic3A7ICZuYnNwOyBp
ZiAoYnl0ZVJlYWQgPT0gNjEpPC9wPjxwPiZuYnNwOyAmbmJzcDsgezwvcD48cD4mbmJzcDsgJm5i
c3A7ICZuYnNwOyBTZXJpYWwucHJpbnRsbihsb25naXR1ZCk7PC9wPjxwPjxicj48L3A+PHA+Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgaWYgKGxvbmdpdHVkICZsdDs9IGxvbmdpdHVkTWF4aW1hKTwvcD48
cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyB7PC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyBtZWxvZGlhKCk7PC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7IH08L3A+PHA+PGJyPjwvcD48
cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyBsb25naXR1ZCA9IDA7PC9wPjxwPiZuYnNwOyAmbmJzcDsg
fTwvcD48cD48YnI+PC9wPjxwPiZuYnNwOyB9PC9wPjxwPjxicj48L3A+PHA+PGJyPjwvcD48cD59
PC9wPjxwPjxicj48L3A+PHA+PGJyPjwvcD48cD52b2lkIG1lbG9kaWEoKTwvcD48cD57PC9wPjxw
PiZuYnNwOyAvLyBpdGVyYXRlIHRocm91Z2ggYXJyYXlzIHRvIHBsYXkgZWFjaCBub3RlIGZvciBp
dHMgZHVyYXRpb248L3A+PHA+Jm5ic3A7IC8vIHBsYXlzIG91ciBqaW5nbGUgb25jZTwvcD48cD4m
bmJzcDsgZm9yIChpbnQgaSA9IDA7IGkgJmx0OyAyNDsgaSArKyk8L3A+PHA+Jm5ic3A7IHs8L3A+
PHA+Jm5ic3A7ICZuYnNwOyAvLyBjYWxjdWxhdGUgbm90ZSBkdXJhdGlvbjwvcD48cD4mbmJzcDsg
Jm5ic3A7IC8vIDEgc2Vjb25kIGRpdmlkZWQgYnkgbm90ZSBsZW5ndGg8L3A+PHA+Jm5ic3A7ICZu
YnNwOyAvLyBhZGp1c3RpbmcgdmFsdWUgb2YgMTAwMCBjYW4gY2hhbmdlIHRlbXBvPC9wPjxwPiZu
YnNwOyAmbmJzcDsgaW50IG5vdGVEdXJhdGlvbiA9IDEwMDAgLyBub3RlRHVyYXRpb25zW2ldOzwv
cD48cD4mbmJzcDsgJm5ic3A7IC8vIHNlbmRzIHRvbmUgdG8gcGluIDg8L3A+PHA+Jm5ic3A7ICZu
YnNwOyB0b25lKDgsIHNvbmdOb3Rlc1tpXSwgbm90ZUR1cmF0aW9uKTs8L3A+PHA+PGJyPjwvcD48
cD4mbmJzcDsgJm5ic3A7IC8vIHBhdXNlIGJldHdlZW4gbm90ZXMgYSBsaXR0bGUgdG8gaGVhciB0
aGVtIGJldHRlcjwvcD48cD4mbmJzcDsgJm5ic3A7IC8vIHRoaXMgY2FuIGFsc28gYmUgdXNlZCB0
byBhZGp1c3QgdGVtcG88L3A+PHA+Jm5ic3A7ICZuYnNwOyBpbnQgcGF1c2VCZXR3ZWVuTm90ZXMg
PSBub3RlRHVyYXRpb24gKiAxLjM7PC9wPjxwPiZuYnNwOyAmbmJzcDsgZGVsYXkocGF1c2VCZXR3
ZWVuTm90ZXMpOzwvcD48cD4mbmJzcDsgJm5ic3A7IC8vIG9uY2Ugbm90ZSBpcyBkb25lLCBzdG9w
IHBsYXlpbmcgaXQ8L3A+PHA+Jm5ic3A7ICZuYnNwOyBub1RvbmUoOCk7PC9wPjxwPiZuYnNwOyB9
PC9wPjxwPn08L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/1140871614484388676/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2017/02/step-detection-system-by-way-with.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/1140871614484388676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/1140871614484388676'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2017/02/step-detection-system-by-way-with.html' title='Step detection system by a way with Arduino'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX3UbrgsSDHdzSBR1LlRnIkcrPkzrqU0ZAXDCw1BaPSjfbWVgCPjiBVy6GY8ksQQ6m72IWM-K7TLRn-gThx3208hNZVoAG4V7507oHrFP8gk8nWd4PNmZSSdPq_L3zk4xq8aZMIAruL9Z5/s72-c/Descripcion_01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-5109613712185747200</id><published>2017-02-01T08:00:00.000+01:00</published><updated>2017-02-22T01:12:01.540+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><title type='text'>Sistema de detección de paso por un camino con Arduino</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=5109613712185747200&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h2 id=&quot;descripci-n&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Descripción&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
La finalidad del proyecto es detectar el paso de coches y personas a la entrada de un huerto y avisar con una señal sonora dentro de la casa de este.&lt;br /&gt;
Por esto este proyecto está compuesto por 2 módulos:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de detección de paso, ya sea de personas o de coches.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de aviso de paso.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Los requerimientos son los siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;El módulo de detección de paso, al estar en el huerto, ha de tener una fuente de alimentación independiente, en este caso le hemos puesto una placa solar y una batería.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;El módulo de aviso ha de sonar cuando el módulo de detección le avise.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;El módulo de detección está a la entrada del huerto.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;El módulo de aviso está dentro de la casa.&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglFZSJo8b-RA5Z289savUyfeToRW0z0Sz6k5N1UpQQFvUrva7ws8jgwx90PbQf4xD1tYQcFMC5JB4UHNvfokdEuhlrM7rpWZSnG2EwWhl4rbTuFDFzmyMxc8okG9ZykiT8UrlVx0ha3ly2/s1600/Descripcion_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglFZSJo8b-RA5Z289savUyfeToRW0z0Sz6k5N1UpQQFvUrva7ws8jgwx90PbQf4xD1tYQcFMC5JB4UHNvfokdEuhlrM7rpWZSnG2EwWhl4rbTuFDFzmyMxc8okG9ZykiT8UrlVx0ha3ly2/s640/Descripcion_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Módulo de detección con placa solar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 id=&quot;instrucciones&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instrucciones&lt;/h2&gt;
&lt;h3 id=&quot;componentes-usados&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Componentes usados&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Los componentes usados han sido, por módulo:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de detección&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.wish.com/c/549bc514b9cb921840d9ecc5&quot;&gt;Arduino Nano&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ebay.es/itm/20x-Double-Side-Prototype-PCB-Universal-Circuit-Board-2x8-3x7-4x6-5x7CM-DIY-124-/170989228488?hash=item27cfc091c8:g:ZtEAAMXQkN1RyZV7&quot;&gt;PCB 5x7 cm&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.seeedstudio.com/depot/3W-Solar-Panel-138X160-p-954.html&quot;&gt;Placa solar 3W 138x160&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://es.aliexpress.com/store/product/Solar-Street-Light-battery-3-7v-6600mAh-made-by-Chinese-manufacturer/1894067_32447790091.html#extend&quot;&gt;Batería 3.7 v 6600 mAh&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.seeedstudio.com/depot/LiPo-Rider-Pro-p-992.html&quot;&gt;LiPo Rider Pro&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.aliexpress.com/item/BL8530-BL8531-DC-DC-Step-Up-Power-Converter-Module-DC-Boost-Converter-Board-5V-3-3V/32296844878.html&quot;&gt;Módulo subida de 3.3v a 5v&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ebay.es/itm/272041782549?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&quot;&gt;Sensor ultrasonidos mojable JSN-SR04T&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://tienda.tuelectronica.es/index.php?route=product/product&amp;amp;product_id=57&amp;amp;search=SKU156095&quot;&gt;Módulos inalámbricos RF APC220&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de aviso&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.wish.com/c/549bc514b9cb921840d9ecc5&quot;&gt;Arduino Nano&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ebay.es/itm/20x-Double-Side-Prototype-PCB-Universal-Circuit-Board-2x8-3x7-4x6-5x7CM-DIY-124-/170989228488?hash=item27cfc091c8:g:ZtEAAMXQkN1RyZV7&quot;&gt;PCB 5x7 cm&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://tienda.tuelectronica.es/index.php?route=product/product&amp;amp;product_id=57&amp;amp;search=SKU156095&quot;&gt;Módulos inalámbricos RF APC220&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Buzzer pasivo / relé.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;montaje-del-circuito&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Montaje del circuito&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
El esquema en Fritzing es el siguiente:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de detección&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjricPI5fEnXOLFEywioJUblvjDevGLc3ty37Z30stXFEYIsFb7RmghC7YBK1T1dRDMMlu8ibFtWYzev7pBzSFS106UU5IVzV0rHMoiZZMPCW_QE1iaB6US8uTu0azxFwlB0hMPRKz514P5/s1600/DetectorCoches_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;616&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjricPI5fEnXOLFEywioJUblvjDevGLc3ty37Z30stXFEYIsFb7RmghC7YBK1T1dRDMMlu8ibFtWYzev7pBzSFS106UU5IVzV0rHMoiZZMPCW_QE1iaB6US8uTu0azxFwlB0hMPRKz514P5/s640/DetectorCoches_bb.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Módulo de detección&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
En este esquema no se ha añadido la parte de conexión al Lipo Rider Pro, la batería y la placa solar, por no tener los diseños para el Fritzing.&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de aviso&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh89UwHDWK_1oE4TIuQlSGyEVWAVV1e6vYf_QOolWfDmFAZnheL2xPeDtuF4c33svTkZvyIH7y1pjDfrTL0kTuk2D5Bn6XX3VWto-XdIgYObGLvLb8JL50RNB57zEH9-2QGaPJN17-_5b21/s1600/Alarma_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh89UwHDWK_1oE4TIuQlSGyEVWAVV1e6vYf_QOolWfDmFAZnheL2xPeDtuF4c33svTkZvyIH7y1pjDfrTL0kTuk2D5Bn6XX3VWto-XdIgYObGLvLb8JL50RNB57zEH9-2QGaPJN17-_5b21/s640/Alarma_bb.png&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Módulo de aviso&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Imágenes del sistema montado dentro del laboratorio:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de detección&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrQ-ZVYZZ_J_lFYDR0eiwnwdQD6YJctSXdiqc-4y7AbrTfAmQYi0f5bFNGyNq-Uj_nYP7lW4Iimza7B0jBpUsdoa7_ERmgMVA17Dg2DLpaQ4pOhm8fmk0sOqHZ98AVxnW36jh-rY3oJjDc/s1600/DetectorCoches_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrQ-ZVYZZ_J_lFYDR0eiwnwdQD6YJctSXdiqc-4y7AbrTfAmQYi0f5bFNGyNq-Uj_nYP7lW4Iimza7B0jBpUsdoa7_ERmgMVA17Dg2DLpaQ4pOhm8fmk0sOqHZ98AVxnW36jh-rY3oJjDc/s640/DetectorCoches_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Placa solar con Lipo Rider Pro y batería lipo conectados&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiTIp5ZQRQ96T9GYDFl4JVObqriPL2oeOc5iizQ4lXE-xKsEntifcYHKeSn5KFcxcwICCMlKnQbdtM_4KJXZMFlg9ueNp1YUKT4iPvylT_S8AxyJeQAOMs_gMjwc8CfphxLnGkr5vzqg2t/s1600/DetectorCoches_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiTIp5ZQRQ96T9GYDFl4JVObqriPL2oeOc5iizQ4lXE-xKsEntifcYHKeSn5KFcxcwICCMlKnQbdtM_4KJXZMFlg9ueNp1YUKT4iPvylT_S8AxyJeQAOMs_gMjwc8CfphxLnGkr5vzqg2t/s640/DetectorCoches_02.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Módulo de detección montado sobre una breadboard con detector de ultrasonidos inicial&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5043e-edoZ-i62uBLPp08KARgYgxJFAnME9Ap5ArPKgvT3ZLEM7sQfuIzE1i9yq98BHHzb8jWm6MihcpWvTS8clW9brwkKbznhIsOVOORFGfxGLwPRT8vwvF6Eh6X_G1-NpwennatUafD/s1600/DetectorCoches_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5043e-edoZ-i62uBLPp08KARgYgxJFAnME9Ap5ArPKgvT3ZLEM7sQfuIzE1i9yq98BHHzb8jWm6MihcpWvTS8clW9brwkKbznhIsOVOORFGfxGLwPRT8vwvF6Eh6X_G1-NpwennatUafD/s640/DetectorCoches_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Módulo de detección montado sobre una breadboard con detector de ultrasonidos final&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi55F0dl3VF6i-Yx_-9Tn8l7zxEdqvt8Fv7ysbnyMx2ZKnZWnpjptuRqjlPyW2tC1F57Bf0Goznpkqh4F_eXgnyNsTXDveoZ7mNjD3hRo7yUnlvwOrbnwK_pcty7ChDgI6uVAOChvWfm3s7/s1600/DetectorCoches_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi55F0dl3VF6i-Yx_-9Tn8l7zxEdqvt8Fv7ysbnyMx2ZKnZWnpjptuRqjlPyW2tC1F57Bf0Goznpkqh4F_eXgnyNsTXDveoZ7mNjD3hRo7yUnlvwOrbnwK_pcty7ChDgI6uVAOChvWfm3s7/s640/DetectorCoches_04.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Parte superior de la PCB del módulo de detección sin componentes conectados&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCxoY-_azXU1GRgQ-FKZ1aZSSaGWbBKoVTkhSLsJYrd1jD2K6d004YtNnMDk3bs4UhwKZNDVfZVZuXrgt54Oz9Q2q8q-ve5HLZt0NYfB4qdCGGjmnQ17eTUwQPaOlSWSAy__3FqDEfxaDj/s1600/DetectorCoches_05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCxoY-_azXU1GRgQ-FKZ1aZSSaGWbBKoVTkhSLsJYrd1jD2K6d004YtNnMDk3bs4UhwKZNDVfZVZuXrgt54Oz9Q2q8q-ve5HLZt0NYfB4qdCGGjmnQ17eTUwQPaOlSWSAy__3FqDEfxaDj/s640/DetectorCoches_05.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Parte superior de la PCB del módulo de detección con componentes conectados&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYU6zKNl7a9Qzq6RlNT6Wp8_9UJQ1FOlHljq2UqsFcPWOOGvOBfRwT3fsMNy42dYGbYcJ6O7_3rW5k_HdmmKwytw6rYxcsxeK-XqknjaOEJRhKgwi9YbEEe4grchEArM1E72myF0ojZg9/s1600/DetectorCoches_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQYU6zKNl7a9Qzq6RlNT6Wp8_9UJQ1FOlHljq2UqsFcPWOOGvOBfRwT3fsMNy42dYGbYcJ6O7_3rW5k_HdmmKwytw6rYxcsxeK-XqknjaOEJRhKgwi9YbEEe4grchEArM1E72myF0ojZg9/s640/DetectorCoches_06.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Módulo de detección dentro de su caja estanca&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de aviso&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi90bgRvKyR8oUVwkT3OpFSMVVeBIARn0j4YWFTuyCZEL_Un9W0Bwc4AjYUvcU1WpMcg5IsuJIFsmaP2kup0JsWrl-nGMe4ohgSeiEs3IxmnKla5EnrZuBZrK9-9hsM0CluSuupZVnufjaG/s1600/Alarma_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi90bgRvKyR8oUVwkT3OpFSMVVeBIARn0j4YWFTuyCZEL_Un9W0Bwc4AjYUvcU1WpMcg5IsuJIFsmaP2kup0JsWrl-nGMe4ohgSeiEs3IxmnKla5EnrZuBZrK9-9hsM0CluSuupZVnufjaG/s640/Alarma_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Módulo de aviso montado sobre una breadboard&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdTEqQbC-hXt6mw0dayO7FYZirL5cEXSVIfO8M3CtxW79DGHwIml2PNipIqBs7jTSrPOuHh2DrHtm-HOOeK9lllRiM05-xTh7vPXbJyjs1kCFNpT1OuUtbP12zlVPsyKGS5XekPHmhkDVS/s1600/Alarma_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdTEqQbC-hXt6mw0dayO7FYZirL5cEXSVIfO8M3CtxW79DGHwIml2PNipIqBs7jTSrPOuHh2DrHtm-HOOeK9lllRiM05-xTh7vPXbJyjs1kCFNpT1OuUtbP12zlVPsyKGS5XekPHmhkDVS/s640/Alarma_02.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Parte superior de la PCB del módulo de aviso sin componentes conectados&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIDQhS_CAtWZTl5ZPEHAYuGM_DyDLUQ_YMAHA1kcnHN6E-V_oXJDxGv-ZvSv8N3g2SCMKKDQarefxjS4rcT44DGmvN7YWU_Y81aXyXtVOk8l4XqtZry4Jdrq2RcXip9oY1mptlOrdF8WiH/s1600/Alarma_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIDQhS_CAtWZTl5ZPEHAYuGM_DyDLUQ_YMAHA1kcnHN6E-V_oXJDxGv-ZvSv8N3g2SCMKKDQarefxjS4rcT44DGmvN7YWU_Y81aXyXtVOk8l4XqtZry4Jdrq2RcXip9oY1mptlOrdF8WiH/s640/Alarma_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Parte superior de la PCB del módulo de aviso con componentes conectados&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjduW2JsjQbDJlGvGnHbr0OvHzar72RvAgzTkef816RwC0A3_nC-KdtyMw4XAWs-wQT7hXIx9kCUWrE9TFg1kOUUm9Y77GsVcqv41kQsPhXg9PDmdgQ8sQUOCDL1so_DsP2xFqztvwRokpf/s1600/Alarma_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjduW2JsjQbDJlGvGnHbr0OvHzar72RvAgzTkef816RwC0A3_nC-KdtyMw4XAWs-wQT7hXIx9kCUWrE9TFg1kOUUm9Y77GsVcqv41kQsPhXg9PDmdgQ8sQUOCDL1so_DsP2xFqztvwRokpf/s640/Alarma_04.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Módulo de aviso dentro de su caja estanca&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 id=&quot;software&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
Las librerías usadas han sido:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://freecode.com/projects/hc-sr04-ultrasonic-arduino-library&quot;&gt;HCSR04Ultrasonic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px !important;&quot;&gt;
El código del arduino es el siguiente:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de detección&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;/*
  Título: Modulo_RF_APC220 --&amp;gt; Puerto serie
*/&lt;/span&gt;

&lt;span class=&quot;hljs-preprocessor&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;include &amp;lt;Ultrasonic.h&amp;gt;&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot;&gt;//Pins ultrasonido&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; TRIG_PIN = &lt;span class=&quot;hljs-number&quot;&gt;12&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; ECHO_PIN = &lt;span class=&quot;hljs-number&quot;&gt;13&lt;/span&gt;;

Ultrasonic ultrasonic(TRIG_PIN, ECHO_PIN);

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; setup()
{
  Serial.begin(&lt;span class=&quot;hljs-number&quot;&gt;9600&lt;/span&gt;); &lt;span class=&quot;hljs-comment&quot;&gt;// Establecemos la velocidad del puerto serie (Igual que APC220)&lt;/span&gt;
}

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; loop()
{

  &lt;span class=&quot;hljs-keyword&quot;&gt;float&lt;/span&gt; cmMsec;
  &lt;span class=&quot;hljs-keyword&quot;&gt;long&lt;/span&gt; microsec = ultrasonic.timing();
  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);

  Serial.print(&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt;(cmMsec));
  Serial.println(&lt;span class=&quot;hljs-string&quot;&gt;&quot;=&quot;&lt;/span&gt;);

  delay(&lt;span class=&quot;hljs-number&quot;&gt;1000&lt;/span&gt;);

}
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Módulo de aviso&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-cpp&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 255); border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block !important; display: block; display: inline; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;
&lt;span class=&quot;hljs-comment&quot;&gt;// create notes for our song&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; C = &lt;span class=&quot;hljs-number&quot;&gt;131&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; D = &lt;span class=&quot;hljs-number&quot;&gt;147&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; E = &lt;span class=&quot;hljs-number&quot;&gt;165&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; F = &lt;span class=&quot;hljs-number&quot;&gt;175&lt;/span&gt;;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; G = &lt;span class=&quot;hljs-number&quot;&gt;196&lt;/span&gt;;

&lt;span class=&quot;hljs-comment&quot;&gt;// create an array to hold note values&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; songNotes[] = {E, E, E, E, E, E, E, G, C, D, E, F, F, F, F, F, E, E, E, G, G, F, D, C};
&lt;span class=&quot;hljs-comment&quot;&gt;// create another array to hold note lengths&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; noteDurations[] = {&lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;};

byte byteRead;  &lt;span class=&quot;hljs-comment&quot;&gt;//Datos leídos por el puerto serie&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;long&lt;/span&gt; longitud;  &lt;span class=&quot;hljs-comment&quot;&gt;//Longitud recibida por el puerto serie&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot;&gt;long&lt;/span&gt; longitudMaxima = &lt;span class=&quot;hljs-number&quot;&gt;100&lt;/span&gt;;

String inString = &lt;span class=&quot;hljs-string&quot;&gt;&quot;&quot;&lt;/span&gt;;                          &lt;span class=&quot;hljs-comment&quot;&gt;//This string is used to store the incoming data&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; pitch;                            &lt;span class=&quot;hljs-comment&quot;&gt;//This is the variable we will use to store the buzzers p&lt;/span&gt;

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; setup()
{
  Serial.begin(&lt;span class=&quot;hljs-number&quot;&gt;9600&lt;/span&gt;);

  longitud = &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;;
}

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; loop()
{

  &lt;span class=&quot;hljs-keyword&quot;&gt;while&lt;/span&gt; (Serial.available() &amp;gt; &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;)
  {
    byteRead = Serial.read();

    &lt;span class=&quot;hljs-comment&quot;&gt;//listen for numbers between 0-9&lt;/span&gt;
    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (byteRead &amp;gt; &lt;span class=&quot;hljs-number&quot;&gt;47&lt;/span&gt; &amp;amp;&amp;amp; byteRead &amp;lt; &lt;span class=&quot;hljs-number&quot;&gt;58&lt;/span&gt;) {
      &lt;span class=&quot;hljs-comment&quot;&gt;//number found&lt;/span&gt;
      longitud = (longitud * &lt;span class=&quot;hljs-number&quot;&gt;10&lt;/span&gt;) + (byteRead - &lt;span class=&quot;hljs-number&quot;&gt;48&lt;/span&gt;);
    }

    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (byteRead == &lt;span class=&quot;hljs-number&quot;&gt;61&lt;/span&gt;)
    {
      Serial.println(longitud);

      &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (longitud &amp;lt;= longitudMaxima)
      {
        melodia();
      }

      longitud = &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;;
    }

  }

}

&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; melodia()
{
  &lt;span class=&quot;hljs-comment&quot;&gt;// iterate through arrays to play each note for its duration&lt;/span&gt;
  &lt;span class=&quot;hljs-comment&quot;&gt;// plays our jingle once&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; i = &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;; i &amp;lt; &lt;span class=&quot;hljs-number&quot;&gt;24&lt;/span&gt;; i ++)
  {
    &lt;span class=&quot;hljs-comment&quot;&gt;// calculate note duration&lt;/span&gt;
    &lt;span class=&quot;hljs-comment&quot;&gt;// 1 second divided by note length&lt;/span&gt;
    &lt;span class=&quot;hljs-comment&quot;&gt;// adjusting value of 1000 can change tempo&lt;/span&gt;
    &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; noteDuration = &lt;span class=&quot;hljs-number&quot;&gt;1000&lt;/span&gt; / noteDurations[i];
    &lt;span class=&quot;hljs-comment&quot;&gt;// sends tone to pin 8&lt;/span&gt;
    tone(&lt;span class=&quot;hljs-number&quot;&gt;8&lt;/span&gt;, songNotes[i], noteDuration);

    &lt;span class=&quot;hljs-comment&quot;&gt;// pause between notes a little to hear them better&lt;/span&gt;
    &lt;span class=&quot;hljs-comment&quot;&gt;// this can also be used to adjust tempo&lt;/span&gt;
    &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; pauseBetweenNotes = noteDuration * &lt;span class=&quot;hljs-number&quot;&gt;1.3&lt;/span&gt;;
    delay(pauseBetweenNotes);
    &lt;span class=&quot;hljs-comment&quot;&gt;// once note is done, stop playing it&lt;/span&gt;
    noTone(&lt;span class=&quot;hljs-number&quot;&gt;8&lt;/span&gt;);
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+IyMgRGVzY3JpcGNpw7NuPC9wPjxwPjxicj48L3A+PHA+TGEgZmluYWxpZGFkIGRlbCBwcm95
ZWN0byBlcyBkZXRlY3RhciBlbCBwYXNvIGRlIGNvY2hlcyB5IHBlcnNvbmFzIGEgbGEgZW50cmFk
YSBkZSB1biBodWVydG8geSBhdmlzYXIgY29uIHVuYSBzZcOxYWwgc29ub3JhIGRlbnRybyBkZSBs
YSBjYXNhIGRlIGVzdGUuICZuYnNwOzwvcD48cD5Qb3IgZXN0byBlc3RlIHByb3llY3RvIGVzdMOh
IGNvbXB1ZXN0byBwb3IgMiBtw7NkdWxvczo8L3A+PHA+PGJyPjwvcD48cD4tIE3Ds2R1bG8gZGUg
ZGV0ZWNjacOzbiBkZSBwYXNvLCB5YSBzZWEgZGUgcGVyc29uYXMgbyBkZSBjb2NoZXMuPC9wPjxw
Pi0gTcOzZHVsbyBkZSBhdmlzbyBkZSBwYXNvLjwvcD48cD48YnI+PC9wPjxwPkxvcyByZXF1ZXJp
bWllbnRvcyBzb24gbG9zIHNpZ3VpZW50ZXM6PC9wPjxwPjxicj48L3A+PHA+LSBFbCBtw7NkdWxv
IGRlIGRldGVjY2nDs24gZGUgcGFzbywgYWwgZXN0YXIgZW4gZWwgaHVlcnRvLCBoYSBkZSB0ZW5l
ciB1bmEgZnVlbnRlIGRlIGFsaW1lbnRhY2nDs24gaW5kZXBlbmRpZW50ZSwgZW4gZXN0ZSBjYXNv
IGxlIGhlbW9zIHB1ZXN0byB1bmEgcGxhY2Egc29sYXIgeSB1bmEgYmF0ZXLDrWEuPC9wPjxwPi0g
RWwgbcOzZHVsbyBkZSBhdmlzbyBoYSBkZSBzb25hciBjdWFuZG8gZWwgbcOzZHVsbyBkZSBkZXRl
Y2Npw7NuIGxlIGF2aXNlLjwvcD48cD4tIEVsIG3Ds2R1bG8gZGUgZGV0ZWNjacOzbiBlc3TDoSBh
IGxhIGVudHJhZGEgZGVsIGh1ZXJ0by48L3A+PHA+LSBFbCBtw7NkdWxvIGRlIGF2aXNvIGVzdMOh
IGRlbnRybyBkZSBsYSBjYXNhLjwvcD48cD48YnI+PC9wPjxwPiFbTcOzZHVsbyBkZSBkZXRlY2Np
w7NuIGNvbiBwbGFjYSBzb2xhcl0oLi9pbWFnZW5lcy9EZXNjcmlwY2lvbl8wMS5qcGcgIk3Ds2R1
bG8gZGUgZGV0ZWNjacOzbiBjb24gcGxhY2Egc29sYXIiKTwvcD48cD48YnI+PC9wPjxwPiMjIElu
c3RydWNjaW9uZXM8L3A+PHA+PGJyPjwvcD48cD4jIyMgQ29tcG9uZW50ZXMgdXNhZG9zPC9wPjxw
Pjxicj48L3A+PHA+TG9zIGNvbXBvbmVudGVzIHVzYWRvcyBoYW4gc2lkbywgcG9yIG3Ds2R1bG86
PC9wPjxwPjxicj48L3A+PHA+LSBNw7NkdWxvIGRlIGRldGVjY2nDs248L3A+PHA+Jm5ic3A7LSBb
QXJkdWlubyBOYW5vXShodHRwczovL3d3dy53aXNoLmNvbS9jLzU0OWJjNTE0YjljYjkyMTg0MGQ5
ZWNjNSk8L3A+PHA+Jm5ic3A7LSBbUENCIDV4NyBjbV0oaHR0cDovL3d3dy5lYmF5LmVzL2l0bS8y
MHgtRG91YmxlLVNpZGUtUHJvdG90eXBlLVBDQi1Vbml2ZXJzYWwtQ2lyY3VpdC1Cb2FyZC0yeDgt
M3g3LTR4Ni01eDdDTS1ESVktMTI0LS8xNzA5ODkyMjg0ODg/aGFzaD1pdGVtMjdjZmMwOTFjODpn
Olp0RUFBTVhRa04xUnlaVjcpPC9wPjxwPiZuYnNwOy0gW1BsYWNhIHNvbGFyIDNXIDEzOHgxNjBd
KGh0dHA6Ly93d3cuc2VlZWRzdHVkaW8uY29tL2RlcG90LzNXLVNvbGFyLVBhbmVsLTEzOFgxNjAt
cC05NTQuaHRtbCk8L3A+PHA+Jm5ic3A7LSBbQmF0ZXLDrWEgMy43IHYgNjYwMCBtQWhdKGh0dHA6
Ly9lcy5hbGlleHByZXNzLmNvbS9zdG9yZS9wcm9kdWN0L1NvbGFyLVN0cmVldC1MaWdodC1iYXR0
ZXJ5LTMtN3YtNjYwMG1BaC1tYWRlLWJ5LUNoaW5lc2UtbWFudWZhY3R1cmVyLzE4OTQwNjdfMzI0
NDc3OTAwOTEuaHRtbCNleHRlbmQpPC9wPjxwPiZuYnNwOy0gW0xpUG8gUmlkZXIgUHJvXShodHRw
Oi8vd3d3LnNlZWVkc3R1ZGlvLmNvbS9kZXBvdC9MaVBvLVJpZGVyLVByby1wLTk5Mi5odG1sKTwv
cD48cD4mbmJzcDstIFtNw7NkdWxvIHN1YmlkYSBkZSAzLjN2IGEgNXZdKGh0dHA6Ly93d3cuYWxp
ZXhwcmVzcy5jb20vaXRlbS9CTDg1MzAtQkw4NTMxLURDLURDLVN0ZXAtVXAtUG93ZXItQ29udmVy
dGVyLU1vZHVsZS1EQy1Cb29zdC1Db252ZXJ0ZXItQm9hcmQtNVYtMy0zVi8zMjI5Njg0NDg3OC5o
dG1sKTwvcD48cD4mbmJzcDstIFtTZW5zb3IgdWx0cmFzb25pZG9zIG1vamFibGUgSlNOLVNSMDRU
XShodHRwOi8vd3d3LmViYXkuZXMvaXRtLzI3MjA0MTc4MjU0OT9fdHJrc2lkPXAyMDYwMzUzLm0y
NzQ5LmwyNjQ5JmFtcDtzc1BhZ2VOYW1lPVNUUkslM0FNRUJJRFglM0FJVCk8L3A+PHA+Jm5ic3A7
LSBbTcOzZHVsb3MgaW5hbMOhbWJyaWNvcyBSRiBBUEMyMjBdKGh0dHA6Ly90aWVuZGEudHVlbGVj
dHJvbmljYS5lcy9pbmRleC5waHA/cm91dGU9cHJvZHVjdC9wcm9kdWN0JmFtcDtwcm9kdWN0X2lk
PTU3JmFtcDtzZWFyY2g9U0tVMTU2MDk1KTwvcD48cD4tIE3Ds2R1bG8gZGUgYXZpc288L3A+PHA+
Jm5ic3A7LSBbQXJkdWlubyBOYW5vXShodHRwczovL3d3dy53aXNoLmNvbS9jLzU0OWJjNTE0Yjlj
YjkyMTg0MGQ5ZWNjNSk8L3A+PHA+Jm5ic3A7LSBbUENCIDV4NyBjbV0oaHR0cDovL3d3dy5lYmF5
LmVzL2l0bS8yMHgtRG91YmxlLVNpZGUtUHJvdG90eXBlLVBDQi1Vbml2ZXJzYWwtQ2lyY3VpdC1C
b2FyZC0yeDgtM3g3LTR4Ni01eDdDTS1ESVktMTI0LS8xNzA5ODkyMjg0ODg/aGFzaD1pdGVtMjdj
ZmMwOTFjODpnOlp0RUFBTVhRa04xUnlaVjcpPC9wPjxwPiZuYnNwOy0gW03Ds2R1bG9zIGluYWzD
oW1icmljb3MgUkYgQVBDMjIwXShodHRwOi8vdGllbmRhLnR1ZWxlY3Ryb25pY2EuZXMvaW5kZXgu
cGhwP3JvdXRlPXByb2R1Y3QvcHJvZHVjdCZhbXA7cHJvZHVjdF9pZD01NyZhbXA7c2VhcmNoPVNL
VTE1NjA5NSk8L3A+PHA+Jm5ic3A7LSBCdXp6ZXIgcGFzaXZvIC8gcmVsw6kuPC9wPjxwPjxicj48
L3A+PHA+PGJyPjwvcD48cD48YnI+PC9wPjxwPiMjIyBNb250YWplIGRlbCBjaXJjdWl0bzwvcD48
cD48YnI+PC9wPjxwPkVsIGVzcXVlbWEgZW4gRnJpdHppbmcgZXMgZWwgc2lndWllbnRlOjwvcD48
cD48YnI+PC9wPjxwPi0gTcOzZHVsbyBkZSBkZXRlY2Npw7NuPC9wPjxwPjxicj48L3A+PHA+IVtN
w7NkdWxvIGRlIGRldGVjY2nDs25dKC4vaW1hZ2VuZXMvRGV0ZWN0b3JDb2NoZXNfYmIucG5nICJN
w7NkdWxvIGRlIGRldGVjY2nDs24iKTwvcD48cD48YnI+PC9wPjxwPkVuIGVzdGUgZXNxdWVtYSBu
byBzZSBoYSBhw7FhZGlkbyBsYSBwYXJ0ZSBkZSBjb25leGnDs24gYWwgTGlwbyBSaWRlciBQcm8s
IGxhIGJhdGVyw61hIHkgbGEgcGxhY2Egc29sYXIsIHBvciBubyB0ZW5lciBsb3MgZGlzZcOxb3Mg
cGFyYSBlbCBGcml0emluZy48L3A+PHA+PGJyPjwvcD48cD4tIE3Ds2R1bG8gZGUgYXZpc288L3A+
PHA+PGJyPjwvcD48cD4hW03Ds2R1bG8gZGUgYXZpc29dKC4vaW1hZ2VuZXMvQWxhcm1hX2JiLnBu
ZyAiTcOzZHVsbyBkZSBhdmlzbyIpPC9wPjxwPjxicj48L3A+PHA+SW3DoWdlbmVzIGRlbCBzaXN0
ZW1hIG1vbnRhZG8gZGVudHJvIGRlbCBsYWJvcmF0b3Jpbzo8L3A+PHA+PGJyPjwvcD48cD4tIE3D
s2R1bG8gZGUgZGV0ZWNjacOzbjwvcD48cD48YnI+PC9wPjxwPiFbUGxhY2Egc29sYXIgY29uIExp
cG8gUmlkZXIgUHJvIHkgYmF0ZXLDrWEgbGlwbyBjb25lY3RhZG9zXSguL2ltYWdlbmVzL0RldGVj
dG9yQ29jaGVzXzAxLmpwZyAiUGxhY2Egc29sYXIgY29uIExpcG8gUmlkZXIgUHJvIHkgYmF0ZXLD
rWEgbGlwbyBjb25lY3RhZG9zIik8L3A+PHA+PGJyPjwvcD48cD4hW03Ds2R1bG8gZGUgZGV0ZWNj
acOzbiBtb250YWRvIHNvYnJlIHVuYSBicmVhZGJvYXJkIGNvbiBkZXRlY3RvciBkZSB1bHRyYXNv
bmlkb3MgaW5pY2lhbF0oLi9pbWFnZW5lcy9EZXRlY3RvckNvY2hlc18wMi5qcGcgIk3Ds2R1bG8g
ZGUgZGV0ZWNjacOzbiBtb250YWRvIHNvYnJlIHVuYSBicmVhZGJvYXJkIGNvbiBkZXRlY3RvciBk
ZSB1bHRyYXNvbmlkb3MgaW5pY2lhbCIpPC9wPjxwPjxicj48L3A+PHA+IVtNw7NkdWxvIGRlIGRl
dGVjY2nDs24gbW9udGFkbyBzb2JyZSB1bmEgYnJlYWRib2FyZCBjb24gZGV0ZWN0b3IgZGUgdWx0
cmFzb25pZG9zIGZpbmFsXSguL2ltYWdlbmVzL0RldGVjdG9yQ29jaGVzXzAzLmpwZyAiTcOzZHVs
byBkZSBkZXRlY2Npw7NuIG1vbnRhZG8gc29icmUgdW5hIGJyZWFkYm9hcmQgY29uIGRldGVjdG9y
IGRlIHVsdHJhc29uaWRvcyBmaW5hbCIpPC9wPjxwPjxicj48L3A+PHA+IVtQYXJ0ZSBzdXBlcmlv
ciBkZSBsYSBQQ0IgZGVsIG3Ds2R1bG8gZGUgZGV0ZWNjacOzbiBzaW4gY29tcG9uZW50ZXMgY29u
ZWN0YWRvc10oLi9pbWFnZW5lcy9EZXRlY3RvckNvY2hlc18wNC5qcGcgIlBhcnRlIHN1cGVyaW9y
IGRlIGxhIFBDQiBkZWwgbcOzZHVsbyBkZSBkZXRlY2Npw7NuIHNpbiBjb21wb25lbnRlcyBjb25l
Y3RhZG9zIik8L3A+PHA+PGJyPjwvcD48cD4hW1BhcnRlIHN1cGVyaW9yIGRlIGxhIFBDQiBkZWwg
bcOzZHVsbyBkZSBkZXRlY2Npw7NuIGNvbiBjb21wb25lbnRlcyBjb25lY3RhZG9zXSguL2ltYWdl
bmVzL0RldGVjdG9yQ29jaGVzXzA1LmpwZyAiUGFydGUgc3VwZXJpb3IgZGUgbGEgUENCIGRlbCBt
w7NkdWxvIGRlIGRldGVjY2nDs24gY29uIGNvbXBvbmVudGVzIGNvbmVjdGFkb3MiKTwvcD48cD48
YnI+PC9wPjxwPiFbTcOzZHVsbyBkZSBkZXRlY2Npw7NuIGRlbnRybyBkZSBzdSBjYWphIGVzdGFu
Y2FdKC4vaW1hZ2VuZXMvRGV0ZWN0b3JDb2NoZXNfMDYuanBnICJNw7NkdWxvIGRlIGRldGVjY2nD
s24gZGVudHJvIGRlIHN1IGNhamEgZXN0YW5jYSIpPC9wPjxwPjxicj48L3A+PHA+LSBNw7NkdWxv
IGRlIGF2aXNvPC9wPjxwPjxicj48L3A+PHA+IVtNw7NkdWxvIGRlIGF2aXNvIG1vbnRhZG8gc29i
cmUgdW5hIGJyZWFkYm9hcmRdKC4vaW1hZ2VuZXMvQWxhcm1hXzAxLmpwZyAiTcOzZHVsbyBkZSBh
dmlzbyBtb250YWRvIHNvYnJlIHVuYSBicmVhZGJvYXJkIik8L3A+PHA+PGJyPjwvcD48cD4hW1Bh
cnRlIHN1cGVyaW9yIGRlIGxhIFBDQiBkZWwgbcOzZHVsbyBkZSBhdmlzbyBzaW4gY29tcG9uZW50
ZXMgY29uZWN0YWRvc10oLi9pbWFnZW5lcy9BbGFybWFfMDIuanBnICJQYXJ0ZSBzdXBlcmlvciBk
ZSBsYSBQQ0IgZGVsIG3Ds2R1bG8gZGUgYXZpc28gc2luIGNvbXBvbmVudGVzIGNvbmVjdGFkb3Mi
KTwvcD48cD48YnI+PC9wPjxwPiFbUGFydGUgc3VwZXJpb3IgZGUgbGEgUENCIGRlbCBtw7NkdWxv
IGRlIGF2aXNvIGNvbiBjb21wb25lbnRlcyBjb25lY3RhZG9zXSguL2ltYWdlbmVzL0FsYXJtYV8w
My5qcGcgIlBhcnRlIHN1cGVyaW9yIGRlIGxhIFBDQiBkZWwgbcOzZHVsbyBkZSBhdmlzbyBjb24g
Y29tcG9uZW50ZXMgY29uZWN0YWRvcyIpPC9wPjxwPjxicj48L3A+PHA+IVtNw7NkdWxvIGRlIGF2
aXNvIGRlbnRybyBkZSBzdSBjYWphIGVzdGFuY2FdKC4vaW1hZ2VuZXMvQWxhcm1hXzA0LmpwZyAi
TcOzZHVsbyBkZSBhdmlzbyBkZW50cm8gZGUgc3UgY2FqYSBlc3RhbmNhIik8L3A+PHA+PGJyPjwv
cD48cD4jIyMgU29mdHdhcmU8L3A+PHA+PGJyPjwvcD48cD5MYXMgbGlicmVyw61hcyB1c2FkYXMg
aGFuIHNpZG86PC9wPjxwPjxicj48L3A+PHA+LSBbSENTUjA0VWx0cmFzb25pY10oaHR0cDovL2Zy
ZWVjb2RlLmNvbS9wcm9qZWN0cy9oYy1zcjA0LXVsdHJhc29uaWMtYXJkdWluby1saWJyYXJ5KTwv
cD48cD48YnI+PC9wPjxwPkVsIGPDs2RpZ28gZGVsIGFyZHVpbm8gZXMgZWwgc2lndWllbnRlOjwv
cD48cD48YnI+PC9wPjxwPi0gTcOzZHVsbyBkZSBkZXRlY2Npw7NuPC9wPjxwPjxicj48L3A+PHA+
YGBgIGNwcDwvcD48cD4vKjwvcD48cD4mbmJzcDsgVMOtdHVsbzogTW9kdWxvX1JGX0FQQzIyMCAt
LSZndDsgUHVlcnRvIHNlcmllPC9wPjxwPiovPC9wPjxwPjxicj48L3A+PHA+I2luY2x1ZGUgJmx0
O1VsdHJhc29uaWMuaCZndDs8L3A+PHA+PGJyPjwvcD48cD4vL1BpbnMgdWx0cmFzb25pZG88L3A+
PHA+Y29uc3QgaW50IFRSSUdfUElOID0gMTI7PC9wPjxwPmNvbnN0IGludCBFQ0hPX1BJTiA9IDEz
OzwvcD48cD48YnI+PC9wPjxwPlVsdHJhc29uaWMgdWx0cmFzb25pYyhUUklHX1BJTiwgRUNIT19Q
SU4pOzwvcD48cD48YnI+PC9wPjxwPnZvaWQgc2V0dXAoKTwvcD48cD57PC9wPjxwPiZuYnNwOyBT
ZXJpYWwuYmVnaW4oOTYwMCk7IC8vIEVzdGFibGVjZW1vcyBsYSB2ZWxvY2lkYWQgZGVsIHB1ZXJ0
byBzZXJpZSAoSWd1YWwgcXVlIEFQQzIyMCk8L3A+PHA+fTwvcD48cD48YnI+PC9wPjxwPnZvaWQg
bG9vcCgpPC9wPjxwPns8L3A+PHA+PGJyPjwvcD48cD4mbmJzcDsgZmxvYXQgY21Nc2VjOzwvcD48
cD4mbmJzcDsgbG9uZyBtaWNyb3NlYyA9IHVsdHJhc29uaWMudGltaW5nKCk7PC9wPjxwPiZuYnNw
OyBjbU1zZWMgPSB1bHRyYXNvbmljLmNvbnZlcnQobWljcm9zZWMsIFVsdHJhc29uaWM6OkNNKTs8
L3A+PHA+PGJyPjwvcD48cD4mbmJzcDsgU2VyaWFsLnByaW50KGludChjbU1zZWMpKTs8L3A+PHA+
Jm5ic3A7IFNlcmlhbC5wcmludGxuKCI9Iik7PC9wPjxwPjxicj48L3A+PHA+Jm5ic3A7IGRlbGF5
KDEwMDApOzwvcD48cD48YnI+PC9wPjxwPn08L3A+PHA+YGBgPC9wPjxwPjxicj48L3A+PHA+LSBN
w7NkdWxvIGRlIGF2aXNvPC9wPjxwPjxicj48L3A+PHA+YGBgIGNwcDwvcD48cD48YnI+PC9wPjxw
Pi8vIGNyZWF0ZSBub3RlcyBmb3Igb3VyIHNvbmc8L3A+PHA+aW50IEMgPSAxMzE7PC9wPjxwPmlu
dCBEID0gMTQ3OzwvcD48cD5pbnQgRSA9IDE2NTs8L3A+PHA+aW50IEYgPSAxNzU7PC9wPjxwPmlu
dCBHID0gMTk2OzwvcD48cD48YnI+PC9wPjxwPi8vIGNyZWF0ZSBhbiBhcnJheSB0byBob2xkIG5v
dGUgdmFsdWVzPC9wPjxwPmludCBzb25nTm90ZXNbXSA9IHtFLCBFLCBFLCBFLCBFLCBFLCBFLCBH
LCBDLCBELCBFLCBGLCBGLCBGLCBGLCBGLCBFLCBFLCBFLCBHLCBHLCBGLCBELCBDfTs8L3A+PHA+
Ly8gY3JlYXRlIGFub3RoZXIgYXJyYXkgdG8gaG9sZCBub3RlIGxlbmd0aHM8L3A+PHA+aW50IG5v
dGVEdXJhdGlvbnNbXSA9IHs0LCA0LCAyLCA0LCA0LCAyLCA0LCA0LCA0LCA0LCAxLCA0LCA0LCA0
LCA0LCA0LCA0LCA0LCA0LCA0LCA0LCA0LCA0LCAxfTs8L3A+PHA+PGJyPjwvcD48cD5ieXRlIGJ5
dGVSZWFkOyAmbmJzcDsvL0RhdG9zIGxlw61kb3MgcG9yIGVsIHB1ZXJ0byBzZXJpZTwvcD48cD5s
b25nIGxvbmdpdHVkOyAmbmJzcDsvL0xvbmdpdHVkIHJlY2liaWRhIHBvciBlbCBwdWVydG8gc2Vy
aWU8L3A+PHA+PGJyPjwvcD48cD5sb25nIGxvbmdpdHVkTWF4aW1hID0gMTAwOzwvcD48cD48YnI+
PC9wPjxwPlN0cmluZyBpblN0cmluZyA9ICIiOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsvL1RoaXMgc3RyaW5nIGlzIHVzZWQgdG8gc3RvcmUgdGhlIGluY29taW5nIGRhdGE8L3A+
PHA+dW5zaWduZWQgaW50IHBpdGNoOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7Ly9UaGlzIGlzIHRoZSB2YXJpYWJsZSB3ZSB3aWxsIHVzZSB0byBzdG9yZSB0aGUgYnV6
emVycyBwPC9wPjxwPjxicj48L3A+PHA+dm9pZCBzZXR1cCgpPC9wPjxwPns8L3A+PHA+Jm5ic3A7
IFNlcmlhbC5iZWdpbig5NjAwKTs8L3A+PHA+PGJyPjwvcD48cD4mbmJzcDsgbG9uZ2l0dWQgPSAw
OzwvcD48cD59PC9wPjxwPjxicj48L3A+PHA+PGJyPjwvcD48cD52b2lkIGxvb3AoKTwvcD48cD57
PC9wPjxwPjxicj48L3A+PHA+Jm5ic3A7IHdoaWxlIChTZXJpYWwuYXZhaWxhYmxlKCkgJmd0OyAw
KTwvcD48cD4mbmJzcDsgezwvcD48cD4mbmJzcDsgJm5ic3A7IGJ5dGVSZWFkID0gU2VyaWFsLnJl
YWQoKTs8L3A+PHA+PGJyPjwvcD48cD4mbmJzcDsgJm5ic3A7IC8vbGlzdGVuIGZvciBudW1iZXJz
IGJldHdlZW4gMC05PC9wPjxwPiZuYnNwOyAmbmJzcDsgaWYgKGJ5dGVSZWFkICZndDsgNDcgJmFt
cDsmYW1wOyBieXRlUmVhZCAmbHQ7IDU4KSB7PC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7IC8v
bnVtYmVyIGZvdW5kPC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7IGxvbmdpdHVkID0gKGxvbmdp
dHVkICogMTApICsgKGJ5dGVSZWFkIC0gNDgpOzwvcD48cD4mbmJzcDsgJm5ic3A7IH08L3A+PHA+
PGJyPjwvcD48cD4mbmJzcDsgJm5ic3A7IGlmIChieXRlUmVhZCA9PSA2MSk8L3A+PHA+Jm5ic3A7
ICZuYnNwOyB7PC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7IFNlcmlhbC5wcmludGxuKGxvbmdp
dHVkKTs8L3A+PHA+PGJyPjwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiAobG9uZ2l0dWQg
Jmx0Oz0gbG9uZ2l0dWRNYXhpbWEpPC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7IHs8L3A+PHA+
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IG1lbG9kaWEoKTs8L3A+PHA+Jm5ic3A7ICZuYnNw
OyAmbmJzcDsgfTwvcD48cD48YnI+PC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7IGxvbmdpdHVk
ID0gMDs8L3A+PHA+Jm5ic3A7ICZuYnNwOyB9PC9wPjxwPjxicj48L3A+PHA+Jm5ic3A7IH08L3A+
PHA+PGJyPjwvcD48cD48YnI+PC9wPjxwPn08L3A+PHA+PGJyPjwvcD48cD48YnI+PC9wPjxwPnZv
aWQgbWVsb2RpYSgpPC9wPjxwPns8L3A+PHA+Jm5ic3A7IC8vIGl0ZXJhdGUgdGhyb3VnaCBhcnJh
eXMgdG8gcGxheSBlYWNoIG5vdGUgZm9yIGl0cyBkdXJhdGlvbjwvcD48cD4mbmJzcDsgLy8gcGxh
eXMgb3VyIGppbmdsZSBvbmNlPC9wPjxwPiZuYnNwOyBmb3IgKGludCBpID0gMDsgaSAmbHQ7IDI0
OyBpICsrKTwvcD48cD4mbmJzcDsgezwvcD48cD4mbmJzcDsgJm5ic3A7IC8vIGNhbGN1bGF0ZSBu
b3RlIGR1cmF0aW9uPC9wPjxwPiZuYnNwOyAmbmJzcDsgLy8gMSBzZWNvbmQgZGl2aWRlZCBieSBu
b3RlIGxlbmd0aDwvcD48cD4mbmJzcDsgJm5ic3A7IC8vIGFkanVzdGluZyB2YWx1ZSBvZiAxMDAw
IGNhbiBjaGFuZ2UgdGVtcG88L3A+PHA+Jm5ic3A7ICZuYnNwOyBpbnQgbm90ZUR1cmF0aW9uID0g
MTAwMCAvIG5vdGVEdXJhdGlvbnNbaV07PC9wPjxwPiZuYnNwOyAmbmJzcDsgLy8gc2VuZHMgdG9u
ZSB0byBwaW4gODwvcD48cD4mbmJzcDsgJm5ic3A7IHRvbmUoOCwgc29uZ05vdGVzW2ldLCBub3Rl
RHVyYXRpb24pOzwvcD48cD48YnI+PC9wPjxwPiZuYnNwOyAmbmJzcDsgLy8gcGF1c2UgYmV0d2Vl
biBub3RlcyBhIGxpdHRsZSB0byBoZWFyIHRoZW0gYmV0dGVyPC9wPjxwPiZuYnNwOyAmbmJzcDsg
Ly8gdGhpcyBjYW4gYWxzbyBiZSB1c2VkIHRvIGFkanVzdCB0ZW1wbzwvcD48cD4mbmJzcDsgJm5i
c3A7IGludCBwYXVzZUJldHdlZW5Ob3RlcyA9IG5vdGVEdXJhdGlvbiAqIDEuMzs8L3A+PHA+Jm5i
c3A7ICZuYnNwOyBkZWxheShwYXVzZUJldHdlZW5Ob3Rlcyk7PC9wPjxwPiZuYnNwOyAmbmJzcDsg
Ly8gb25jZSBub3RlIGlzIGRvbmUsIHN0b3AgcGxheWluZyBpdDwvcD48cD4mbmJzcDsgJm5ic3A7
IG5vVG9uZSg4KTs8L3A+PHA+Jm5ic3A7IH08L3A+PHA+fTwvcD48cD5gYGA8L3A+PHA+PGJyPjwv
cD4=&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/5109613712185747200/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2017/02/sistema-de-deteccion-de-paso-por-un.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/5109613712185747200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/5109613712185747200'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2017/02/sistema-de-deteccion-de-paso-por-un.html' title='Sistema de detección de paso por un camino con Arduino'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglFZSJo8b-RA5Z289savUyfeToRW0z0Sz6k5N1UpQQFvUrva7ws8jgwx90PbQf4xD1tYQcFMC5JB4UHNvfokdEuhlrM7rpWZSnG2EwWhl4rbTuFDFzmyMxc8okG9ZykiT8UrlVx0ha3ly2/s72-c/Descripcion_01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-4956024564792962836</id><published>2016-07-19T00:48:00.000+02:00</published><updated>2016-07-19T00:48:25.868+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AngularJS"/><category scheme="http://www.blogger.com/atom/ns#" term="Cubieboard"/><category scheme="http://www.blogger.com/atom/ns#" term="Cubietruck"/><category scheme="http://www.blogger.com/atom/ns#" term="NodeJS"/><title type='text'>Monitor basado en AngularJs y NodeJs para la Cubietruck (Cubieboard 3)</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=4956024564792962836;onPublishedMenu=overview;onClosedMenu=overview;postNum=0;src=link&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h2 id=&quot;finalidad-del-art-culo&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Finalidad del artículo&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
La finalidad de este artículo es mostrar de forma gráfica e intuitiva la información mostrada en el &lt;a href=&quot;http://blog.juansal.com/2015/07/web-con-informacion-sobre-temperatura-y.html&quot;&gt;anterior artículo sobre la Cubietruck&lt;/a&gt;.&lt;br /&gt;Para ello he creado una web con AngularJS atacando a servicios REST hechos con NodeJS. Para mejorar la parte gráfica he utilizado una plantilla web gratuita llamada &lt;a href=&quot;https://almsaeedstudio.com/themes/AdminLTE/index2.html&quot;&gt;AdminLTE&lt;/a&gt;.&lt;br /&gt;El desarrollo de la página y de los servicios REST los he realizado utilizando la &lt;a href=&quot;http://blog.juansal.com/2016/06/maquina-virtual-de-desarrollo-para.html&quot;&gt;máquina virtual&lt;/a&gt; que he creado para tal efecto.&lt;/div&gt;
&lt;h2 id=&quot;software-instalado-en-la-cubieboard&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software instalado en la Cubieboard&lt;/h2&gt;
&lt;h3 id=&quot;git&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Git&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Este es el cliente usado para descargar la web desde github.&lt;br /&gt;Para la instalación he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;apt-get install git
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;nodejs&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
NodeJS&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la instalación de &lt;a href=&quot;https://nodejs.org/&quot;&gt;NodeJS&lt;/a&gt; he elegido la última versión (en el momento de escribir el artículo es la 6.x) y he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;curl &lt;span class=&quot;hljs-operator&quot;&gt;-s&lt;/span&gt;L https://deb.nodesource.com/setup_6.x | &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; -E bash -
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; apt-get install -y nodejs
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions&quot;&gt;Installing Node.js via package manager&lt;/a&gt;&lt;/div&gt;
&lt;h2 id=&quot;librer-as-adicionales-que-he-instalado-en-la-cubieboard-para-poder-realizar-la-monitorizaci-n&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Librerías adicionales que he instalado en la Cubieboard para poder realizar la monitorización&lt;/h2&gt;
&lt;h3 id=&quot;lm-sensors&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
lm-sensors&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para poder detectar la temperatura de la CPU he usado la herramienta &lt;a href=&quot;http://www.lm-sensors.org/&quot;&gt;lm-sensors&lt;/a&gt;.&lt;br /&gt;Los pasos que he seguido para instalarla han sido los siguientes:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Primero he ejecutado el siguiente comando para instalarla:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; apt-get install lm-sensors
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Una vez instalada he ejecutado los siguientes comandos para configurarla y arrancarla:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; sensors-detect
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; service kmod start
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;http://www.lm-sensors.org/&quot;&gt;lm-sensors&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/groeck/lm-sensors&quot;&gt;Repositorio Github&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://askubuntu.com/questions/15832/how-do-i-get-the-cpu-temperature&quot;&gt;How do I get the CPU temperature?&lt;/a&gt;&lt;/div&gt;
&lt;h2 id=&quot;software-adicional-instalado-en-la-m-quina-de-desarrollo&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software adicional instalado en la máquina de desarrollo&lt;/h2&gt;
&lt;h3 id=&quot;less&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
less&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como requerimiento de la plantilla usada para generar la web se necesita el preprocesador de css &lt;a href=&quot;http://lesscss.org/&quot;&gt;less&lt;/a&gt;.&lt;br /&gt;Para instalarlo he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; npm install -g less
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;proceso-de-creaci-n-de-la-web-en-la-m-quina-virtual-de-desarrollo&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Proceso de creación de la web en la máquina virtual de desarrollo&lt;/h2&gt;
&lt;h3 id=&quot;preparaci-n-de-la-plantilla&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Preparación de la plantilla&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para esta web he utilizado una plantilla gratuita llamada &lt;a href=&quot;https://almsaeedstudio.com/themes/AdminLTE/index2.html&quot;&gt;AdminLTE&lt;/a&gt; de la página de &lt;a href=&quot;https://almsaeedstudio.com/&quot;&gt;Almsaeed Studio&lt;/a&gt;.&lt;br /&gt;La he descargado desde la página principal pulsando sobre el link &lt;a href=&quot;https://almsaeedstudio.com/download/AdminLTE-master&quot;&gt;Download&lt;/a&gt;, la versión en el momento en que descargué la plantilla era la 2.3.3.&lt;br /&gt;La he descomprimido en &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;$HOME&lt;/code&gt; y copiado al directorio &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;cubieboard-monitor&lt;/code&gt;, de esta forma siempre tengo una copia completa de la plantilla para poder consultarla.&lt;br /&gt;Los comandos ejecutados han sido los siguientes:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt;
unzip ~/Descargas/AdminLTE-&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2.3&lt;/span&gt;.&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;3&lt;/span&gt;.zip
cp -R AdminLTE-&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2.3&lt;/span&gt;.&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;3&lt;/span&gt; cubieboard-monitor
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Una vez realizados los pasos anteriores creo en github un repositorio llamado &lt;a href=&quot;https://github.com/juaalta/cubieboard-monitor&quot;&gt;cubieboard-monitor&lt;/a&gt; y preparo la carpeta local para atacar a este repositorio.&lt;br /&gt;Los comandos ejecutados han sido los siguientes:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;git config --global user.email &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;correo&quot;&lt;/span&gt;
git config --global user.name &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;usuario&quot;&lt;/span&gt;

git init
git add .
git commit -m &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;Commit inicial&quot;&lt;/span&gt;
git remote add origin https://github.com/juaalta/cubieboard-monitor.git
git remote -v
git add .
git push -u origin master
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de los pasos anteriores ejecuto la instalación de dependencias por parte de NodeJS, mediante el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;npm install
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;creaci-n-de-los-servicios-rest&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Creación de los servicios REST&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la creación de los servicios REST he usado NodeJS, por su capacidad para ejecutar comandos de shell de Linux. Todo el código se concentra dentro del fichero &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;server.js&lt;/code&gt;.&lt;br /&gt;Los servicios que allí se encuentran están están nombrados, dependiendo para que parte del sistema monitorizan, estas partes (en el momento de redacción del documento v.1.1.0) son las siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Servicios que empiezan por &lt;strong&gt;HDD&lt;/strong&gt;: estos servicios se encargan de obtener la información sobre los discos duros y sus particiones.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Servicios que empiezan por &lt;strong&gt;CPU&lt;/strong&gt;: estos servicios se encargan de obtener la información sobre la CPU y sus cores.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Servicios que empiezan por &lt;strong&gt;SYS&lt;/strong&gt;: estos servicios se encargan de obtener información sobre el sistema.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Cada servicio llama a un script cuyo nombre es el mismo que el del servicio. Estos scripts se encuentran dentro de la carpeta &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;scripts&lt;/code&gt; de la web.&lt;/div&gt;
&lt;h3 id=&quot;dise-o-e-implementaci-n-de-la-web&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Diseño e implementación de la web&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Basándome en la plantilla instalada, he creado 3 secciones para la web, estas son:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Visión General: en esta sección se encuentra información general sobre el estado de la Cubieboard.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CPU: en esta sección se encuentra toda la información sobre el estado de la CPU.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;HDD: en esta sección se encuentra toda la información sobre el estado de los discos duros y sus particiones. &lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSIxbLkaF2NLeofdsRrGsakf_NCqCEphXr2wxYeqn_Gr1Knfn3GGw4IePSaz_547-oAIvZid9Jd1yoJFM4CxRoKeNMTT84fDGZ6ZrIhlZn9qJK2aYMYdJmimL33573uyk7i3X3pPMsOzMm/s1600/Captura_01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;Visión general&quot; border=&quot;0&quot; height=&quot;274&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSIxbLkaF2NLeofdsRrGsakf_NCqCEphXr2wxYeqn_Gr1Knfn3GGw4IePSaz_547-oAIvZid9Jd1yoJFM4CxRoKeNMTT84fDGZ6ZrIhlZn9qJK2aYMYdJmimL33573uyk7i3X3pPMsOzMm/s640/Captura_01.PNG&quot; title=&quot;Visión general&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Visión general&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZE7boX-dH39DcdfYjBr5ltff1UxrZSHZY3oXF9-tdr1NygSWTBuV_56aY2WDMLCZ_Gyba0DtFUL56SOsw6VqFqWR1-uyR2e-NcGZIfdzFU2jg1ddtZyxbODsecgtFWUdG0iUeiV0_RDPz/s1600/Captura_02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;CPU&quot; border=&quot;0&quot; height=&quot;542&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZE7boX-dH39DcdfYjBr5ltff1UxrZSHZY3oXF9-tdr1NygSWTBuV_56aY2WDMLCZ_Gyba0DtFUL56SOsw6VqFqWR1-uyR2e-NcGZIfdzFU2jg1ddtZyxbODsecgtFWUdG0iUeiV0_RDPz/s640/Captura_02.PNG&quot; title=&quot;CPU&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;CPU&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1Be6WejLH7ZL9AD-dtQSaSRepwZ-Gr5gg05LVQmeHiVONsfwVUPx92oyEC-HNrNkxBIBLFMHRKAa3riG_iWwz_safuyvqYZgr3rExF0JApz9Zwqn_q5NlsC8EO9MIpwAtnYecpOtdrG4W/s1600/Captura_03.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;HDD&quot; border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1Be6WejLH7ZL9AD-dtQSaSRepwZ-Gr5gg05LVQmeHiVONsfwVUPx92oyEC-HNrNkxBIBLFMHRKAa3riG_iWwz_safuyvqYZgr3rExF0JApz9Zwqn_q5NlsC8EO9MIpwAtnYecpOtdrG4W/s640/Captura_03.PNG&quot; title=&quot;HDD&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;HDD&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;/div&gt;
&lt;h2 id=&quot;instalaci-n-en-la-cubieboard&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación en la Cubieboard&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los pasos para instalar el proyecto en la Cubieboard son los siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Configurar git, sólo la primera vez:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;git config --global user.email &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;correo&quot;&lt;/span&gt;
git config --global user.name &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;usuario&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Bajar el proyecto desde github a la carpeta &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;~/cubieboard-monitor&lt;/code&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt;
git clone https://github.com/juaalta/cubieboard-monitor.git cubieboard-monitor
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Entrar en la carpeta en la que se ha descargado e instalar las dependencias necesarias:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt; cubieboard-monitor

npm install
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Una vez seguidos los pasos anteriores, si queremos probar la aplicación sólo tenemos que lanzar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;nodejs server.js
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
También puede ejecutarse:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;npm start
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;arranque-autom-tico&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Arranque automático&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para que la web arranque de forma automática al arrancar/reiniciar la cubieboard he seguido los siguientes pasos:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Primero he creado un script que se encargue de arrancar la web, el script se llama &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;/usr/local/bin/cubieboardMonitor.sh&lt;/code&gt; y su contenido es:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-shebang&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#! /bin/sh
&lt;/span&gt;
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt; /root/cubieboard-monitor
nodejs server.js &amp;amp;
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de esto le he dado permisos de ejecución, ejecutando el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;chmod +x /usr/local/bin/cubieboardMonitor.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después he creado el script de arranque como servicio, para esto he creado una copia de un script plantilla dentro de la carpeta &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;/etc/init.d&lt;/code&gt;. Para esto he ejecutado el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;cp /etc/init.d/skeleton /etc/init.d/cubieboardMonitor
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después he modificado su contenido para que arranque el script anterior, quedando de la siguiente forma:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-shebang&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#! /bin/sh&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;### BEGIN INIT INFO&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Provides:          skeleton&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Required-Start:    $remote_fs $syslog&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Required-Stop:     $remote_fs $syslog&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Default-Start:     2 3 4 5&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Default-Stop:      0 1 6&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Short-Description: Example initscript&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Description:       This file should be used to construct scripts to be&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#                    placed in /etc/init.d.&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;### END INIT INFO&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Author: Foo Bar &lt;foobar baz.org=&quot;&quot;&gt;&lt;/foobar&gt;&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Please remove the &quot;Author&quot; lines above and replace them&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# with your own name if you copy and modify this script.&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Do NOT &quot;set -e&quot;&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# PATH should only include /usr/* if it runs after the mountnfs.sh script&lt;/span&gt;
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=&lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;Monitor de la cubieboard&quot;&lt;/span&gt;
NAME=cubieboardMonitor
DAEMON=/usr/local/bin/cubieboardMonitor.sh
DAEMON_ARGS=&lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&quot;&lt;/span&gt;
PIDFILE=/var/run/&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;.pid
SCRIPTNAME=/etc/init.d/&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Exit if the package is not installed&lt;/span&gt;
[ -x &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DAEMON&lt;/span&gt;&quot;&lt;/span&gt; ] || &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Read configuration variable file if it is present&lt;/span&gt;
[ -r /etc/default/&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt; ] &amp;amp;&amp;amp; . /etc/default/&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Load the VERBOSE setting and other rcS variables&lt;/span&gt;
. /lib/init/vars.sh

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Define LSB log_* functions.&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Depend on lsb-base (&amp;gt;= 3.2-14) to ensure that this file is present&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# and status_of_proc is working.&lt;/span&gt;
. /lib/lsb/init-functions

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Function that starts the daemon/service&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;do_start&lt;/span&gt;&lt;/span&gt;()
{
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Return&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#   0 if daemon has been started&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#   1 if daemon was already running&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#   2 if daemon could not be started&lt;/span&gt;
        start-stop-daemon --start --quiet --pidfile &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$PIDFILE&lt;/span&gt; --exec &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DAEMON&lt;/span&gt; --test &amp;gt; /dev/null \
                || &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;
        start-stop-daemon --start --quiet --pidfile &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$PIDFILE&lt;/span&gt; --exec &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DAEMON&lt;/span&gt; -- \
                &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DAEMON_ARGS&lt;/span&gt; \
                || &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Add code here, if necessary, that waits for the process to be ready&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# to handle requests from services started subsequently which depend&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# on this one.  As a last resort, sleep for some time.&lt;/span&gt;
}

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Function that stops the daemon/service&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;do_stop&lt;/span&gt;&lt;/span&gt;()
{
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Return&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#   0 if daemon has been stopped&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#   1 if daemon was already stopped&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#   2 if daemon could not be stopped&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#   other if a failure occurred&lt;/span&gt;
        start-stop-daemon --stop --quiet --retry=TERM/&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;30&lt;/span&gt;/KILL/&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;5&lt;/span&gt; --pidfile &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$PIDFILE&lt;/span&gt; --name &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;
        RETVAL=&lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;$?&quot;&lt;/span&gt;
        [ &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$RETVAL&lt;/span&gt;&quot;&lt;/span&gt; = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt; ] &amp;amp;&amp;amp; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Wait for children to finish too if this is a daemon that forks&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# and if the daemon is only ever run from this initscript.&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# If the above conditions are not satisfied then add some other code&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# that waits for the process to drop all resources that could be&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# needed by services started subsequently.  A last resort is to&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# sleep for some time.&lt;/span&gt;
        start-stop-daemon --stop --quiet --oknodo --retry=&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;/&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;30&lt;/span&gt;/KILL/&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;5&lt;/span&gt; --exec &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DAEMON&lt;/span&gt;
        [ &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;$?&quot;&lt;/span&gt; = &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt; ] &amp;amp;&amp;amp; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Many daemons don&#39;t delete their pidfiles when they exit.&lt;/span&gt;
        rm &lt;span class=&quot;hljs-operator&quot;&gt;-f&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$PIDFILE&lt;/span&gt;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$RETVAL&lt;/span&gt;&quot;&lt;/span&gt;
}

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Function that sends a SIGHUP to the daemon/service&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;do_reload&lt;/span&gt;&lt;/span&gt;() {
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# If the daemon can reload its configuration without&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# restarting (for example, when it is sent a SIGHUP),&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# then implement that here.&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
        start-stop-daemon --stop --signal &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt; --quiet --pidfile &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$PIDFILE&lt;/span&gt; --name &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;
}

&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$1&lt;/span&gt;&quot;&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;in&lt;/span&gt;
  start)
        [ &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$VERBOSE&lt;/span&gt;&quot;&lt;/span&gt; != no ] &amp;amp;&amp;amp; log_daemon_msg &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;Starting &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DESC&lt;/span&gt;&quot;&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;&quot;&lt;/span&gt;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;do&lt;/span&gt;_start
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;$?&quot;&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;in&lt;/span&gt;
                &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;|&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;) [ &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$VERBOSE&lt;/span&gt;&quot;&lt;/span&gt; != no ] &amp;amp;&amp;amp; log_end_msg &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt; ;;
                &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt;) [ &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$VERBOSE&lt;/span&gt;&quot;&lt;/span&gt; != no ] &amp;amp;&amp;amp; log_end_msg &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt; ;;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;esac&lt;/span&gt;
        ;;
  stop)
        [ &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$VERBOSE&lt;/span&gt;&quot;&lt;/span&gt; != no ] &amp;amp;&amp;amp; log_daemon_msg &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;Stopping &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DESC&lt;/span&gt;&quot;&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;&quot;&lt;/span&gt;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;do&lt;/span&gt;_stop
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;$?&quot;&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;in&lt;/span&gt;
                &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;|&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;) [ &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$VERBOSE&lt;/span&gt;&quot;&lt;/span&gt; != no ] &amp;amp;&amp;amp; log_end_msg &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt; ;;
                &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt;) [ &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$VERBOSE&lt;/span&gt;&quot;&lt;/span&gt; != no ] &amp;amp;&amp;amp; log_end_msg &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt; ;;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;esac&lt;/span&gt;
        ;;
  status)
        status_of_proc &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DAEMON&lt;/span&gt;&quot;&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;&quot;&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt; || &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;exit&lt;/span&gt; $?
        ;;
  &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#reload|force-reload)&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# If do_reload() is not implemented then leave this commented out&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# and leave &#39;force-reload&#39; as an alias for &#39;restart&#39;.&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#log_daemon_msg &quot;Reloading $DESC&quot; &quot;$NAME&quot;&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#do_reload&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#log_end_msg $?&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#;;&lt;/span&gt;
  restart|force-reload)
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# If the &quot;reload&quot; option is implemented then remove the&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# &#39;force-reload&#39; alias&lt;/span&gt;
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#&lt;/span&gt;
        log_daemon_msg &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;Restarting &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$DESC&lt;/span&gt;&quot;&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$NAME&lt;/span&gt;&quot;&lt;/span&gt;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;do&lt;/span&gt;_stop
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;$?&quot;&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;in&lt;/span&gt;
          &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;|&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;)
                &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;do&lt;/span&gt;_start
                &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;$?&quot;&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;in&lt;/span&gt;
                        &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;) log_end_msg &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt; ;;
                        &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;) log_end_msg &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt; ;; &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Old process is still running&lt;/span&gt;
                        *) log_end_msg &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt; ;; &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Failed to start&lt;/span&gt;
                &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;esac&lt;/span&gt;
                ;;
          *)
                &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# Failed to stop&lt;/span&gt;
                log_end_msg &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;
                ;;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;esac&lt;/span&gt;
        ;;
  *)
        &lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;#echo &quot;Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}&quot; &amp;gt;&amp;amp;2&lt;/span&gt;
        &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;Usage: &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$SCRIPTNAME&lt;/span&gt; {start|stop|status|restart|force-reload}&quot;&lt;/span&gt; &amp;gt;&amp;amp;&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt;
        &lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;3&lt;/span&gt;
        ;;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;color: #333333; font-weight: bold;&quot;&gt;esac&lt;/span&gt;

:
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de modificarlo le he dado permisos de ejecución:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;chmod +x /etc/init.d/cubieboardMonitor
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para que este script arranque como demonio se ha de ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;update-rc.d cubieboardMonitor defaults
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;links-con-informaci-n-adicional-y-complementaria&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Links con información adicional y complementaria&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la creación de este proyecto me he basado en la información publicada en este artículo: &lt;a href=&quot;https://carlosazaustre.es/blog/tutorial-ejemplo-de-aplicacion-web-con-angular-js-y-api-rest-con-node/&quot;&gt;Tutorial de AngularJS. Ejemplo de aplicación web conectada a una API REST con Node&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;links-con-informaci-n-y-descarga-del-tema-adminlte&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Links con información y descarga del tema AdminLTE&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://almsaeedstudio.com/&quot;&gt;Almsaeed Studio&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html&quot;&gt;Documentación&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://almsaeedstudio.com/themes/AdminLTE/index2.html&quot;&gt;Preview&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/almasaeed2010/AdminLTE&quot;&gt;Repositorio de github&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;p-ginas-con-temas-para-angularjs&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Páginas con temas para AngularJS&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;http://startangular.com/&quot;&gt;Start Angular&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://colorlib.com/wp/free-bootstrap-admin-dashboard-templates/&quot;&gt;20 Free Bootstrap 3 Admin Dashboard Templates For Your Web App 2016&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://colorlib.com/wp/angularjs-admin-templates/&quot;&gt;15 Best Responsive HTML5 &amp;amp; CSS3 AngularJS Admin Templates To Build Awesome Web Apps 2016&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+IyMgRmluYWxpZGFkIGRlbCBhcnTDrWN1bG88YnI+PGJyPkxhIGZpbmFsaWRhZCBkZSBlc3Rl
IGFydMOtY3VsbyBlcyBtb3N0cmFyIGRlIGZvcm1hIGdyw6FmaWNhIGUgaW50dWl0aXZhIGxhIGlu
Zm9ybWFjacOzbiBtb3N0cmFkYSBlbiBlbCBbYW50ZXJpb3IgYXJ0w61jdWxvIHNvYnJlIGxhIEN1
YmlldHJ1Y2tdKGh0dHA6Ly9ibG9nLmp1YW5zYWwuY29tLzIwMTUvMDcvd2ViLWNvbi1pbmZvcm1h
Y2lvbi1zb2JyZS10ZW1wZXJhdHVyYS15Lmh0bWwpLiZuYnNwOyA8YnI+UGFyYSBlbGxvIGhlIGNy
ZWFkbyB1bmEgd2ViIGNvbiBBbmd1bGFySlMgYXRhY2FuZG8gYSBzZXJ2aWNpb3MgUkVTVCBoZWNo
b3MgY29uIE5vZGVKUy4gUGFyYSBtZWpvcmFyIGxhIHBhcnRlIGdyw6FmaWNhIGhlIHV0aWxpemFk
byB1bmEgcGxhbnRpbGxhIHdlYiBncmF0dWl0YSBsbGFtYWRhIFtBZG1pbkxURV0oaHR0cHM6Ly9h
bG1zYWVlZHN0dWRpby5jb20vdGhlbWVzL0FkbWluTFRFL2luZGV4Mi5odG1sKS4mbmJzcDsgPGJy
PkVsIGRlc2Fycm9sbG8gZGUgbGEgcMOhZ2luYSB5IGRlIGxvcyBzZXJ2aWNpb3MgUkVTVCBsb3Mg
aGUgcmVhbGl6YWRvIHV0aWxpemFuZG8gbGEgW23DoXF1aW5hIHZpcnR1YWxdKGh0dHA6Ly9ibG9n
Lmp1YW5zYWwuY29tLzIwMTYvMDYvbWFxdWluYS12aXJ0dWFsLWRlLWRlc2Fycm9sbG8tcGFyYS5o
dG1sKSBxdWUgaGUgY3JlYWRvIHBhcmEgdGFsIGVmZWN0by48YnI+PGJyPiMjIFNvZnR3YXJlIGlu
c3RhbGFkbyBlbiBsYSBDdWJpZWJvYXJkPGJyPjxicj4jIyMgR2l0PGJyPjxicj5Fc3RlIGVzIGVs
IGNsaWVudGUgdXNhZG8gcGFyYSBkZXNjYXJnYXIgbGEgd2ViIGRlc2RlIGdpdGh1Yi4mbmJzcDsg
PGJyPlBhcmEgbGEgaW5zdGFsYWNpw7NuIGhlIGVqZWN1dGFkbyBsb3Mgc2lndWllbnRlcyBjb21h
bmRvczo8YnI+PGJyPmBgYCBiYXNoPGJyPmFwdC1nZXQgaW5zdGFsbCBnaXQ8YnI+YGBgPGJyPjxi
cj4jIyMgTm9kZUpTPGJyPjxicj5QYXJhIGxhIGluc3RhbGFjacOzbiBkZSBbTm9kZUpTXShodHRw
czovL25vZGVqcy5vcmcvKSBoZSBlbGVnaWRvIGxhIMO6bHRpbWEgdmVyc2nDs24gKGVuIGVsIG1v
bWVudG8gZGUgZXNjcmliaXIgZWwgYXJ0w61jdWxvIGVzIGxhIDYueCkgeSBoZSBlamVjdXRhZG8g
bG9zIHNpZ3VpZW50ZXMgY29tYW5kb3M6PGJyPjxicj5gYGAgYmFzaDxicj5jdXJsIC1zTCBodHRw
czovL2RlYi5ub2Rlc291cmNlLmNvbS9zZXR1cF82LnggfCBzdWRvIC1FIGJhc2ggLTxicj5zdWRv
IGFwdC1nZXQgaW5zdGFsbCAteSBub2RlanM8YnI+YGBgPGJyPjxicj4jIyMjIEluZm9ybWFjacOz
biBhZGljaW9uYWw8YnI+PGJyPltJbnN0YWxsaW5nIE5vZGUuanMgdmlhIHBhY2thZ2UgbWFuYWdl
cl0oaHR0cHM6Ly9ub2RlanMub3JnL2VuL2Rvd25sb2FkL3BhY2thZ2UtbWFuYWdlci8jZGViaWFu
LWFuZC11YnVudHUtYmFzZWQtbGludXgtZGlzdHJpYnV0aW9ucyk8YnI+PGJyPiMjIExpYnJlcsOt
YXMgYWRpY2lvbmFsZXMgcXVlIGhlIGluc3RhbGFkbyBlbiBsYSBDdWJpZWJvYXJkIHBhcmEgcG9k
ZXIgcmVhbGl6YXIgbGEgbW9uaXRvcml6YWNpw7NuPGJyPjxicj4jIyMgbG0tc2Vuc29yczxicj48
YnI+UGFyYSBwb2RlciBkZXRlY3RhciBsYSB0ZW1wZXJhdHVyYSBkZSBsYSBDUFUgaGUgdXNhZG8g
bGEgaGVycmFtaWVudGEgW2xtLXNlbnNvcnNdKGh0dHA6Ly93d3cubG0tc2Vuc29ycy5vcmcpLiZu
YnNwOyA8YnI+TG9zIHBhc29zIHF1ZSBoZSBzZWd1aWRvIHBhcmEgaW5zdGFsYXJsYSBoYW4gc2lk
byBsb3Mgc2lndWllbnRlczo8YnI+PGJyPlByaW1lcm8gaGUgZWplY3V0YWRvIGVsIHNpZ3VpZW50
ZSBjb21hbmRvIHBhcmEgaW5zdGFsYXJsYTo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gYXB0LWdl
dCBpbnN0YWxsIGxtLXNlbnNvcnM8YnI+YGBgPGJyPjxicj5VbmEgdmV6IGluc3RhbGFkYSBoZSBl
amVjdXRhZG8gbG9zIHNpZ3VpZW50ZXMgY29tYW5kb3MgcGFyYSBjb25maWd1cmFybGEgeSBhcnJh
bmNhcmxhOjxicj48YnI+YGBgIGJhc2g8YnI+c3VkbyBzZW5zb3JzLWRldGVjdDxicj5zdWRvIHNl
cnZpY2Uga21vZCBzdGFydDxicj5gYGA8YnI+PGJyPiMjIyMgSW5mb3JtYWNpw7NuIGFkaWNpb25h
bDxicj48YnI+W2xtLXNlbnNvcnNdKGh0dHA6Ly93d3cubG0tc2Vuc29ycy5vcmcpJm5ic3A7IDxi
cj5bUmVwb3NpdG9yaW8gR2l0aHViXShodHRwczovL2dpdGh1Yi5jb20vZ3JvZWNrL2xtLXNlbnNv
cnMpJm5ic3A7IDxicj5bSG93IGRvIEkgZ2V0IHRoZSBDUFUgdGVtcGVyYXR1cmU/XShodHRwOi8v
YXNrdWJ1bnR1LmNvbS9xdWVzdGlvbnMvMTU4MzIvaG93LWRvLWktZ2V0LXRoZS1jcHUtdGVtcGVy
YXR1cmUpPGJyPjxicj4jIyBTb2Z0d2FyZSBhZGljaW9uYWwgaW5zdGFsYWRvIGVuIGxhIG3DoXF1
aW5hIGRlIGRlc2Fycm9sbG88YnI+PGJyPiMjIyBsZXNzPGJyPjxicj5Db21vIHJlcXVlcmltaWVu
dG8gZGUgbGEgcGxhbnRpbGxhIHVzYWRhIHBhcmEgZ2VuZXJhciBsYSB3ZWIgc2UgbmVjZXNpdGEg
ZWwgcHJlcHJvY2VzYWRvciBkZSBjc3MgW2xlc3NdKGh0dHA6Ly9sZXNzY3NzLm9yZy8pLiZuYnNw
OyA8YnI+UGFyYSBpbnN0YWxhcmxvIGhlIGVqZWN1dGFkbyBsb3Mgc2lndWllbnRlcyBjb21hbmRv
czo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gbnBtIGluc3RhbGwgLWcgbGVzczxicj5gYGA8YnI+
PGJyPiMjIFByb2Nlc28gZGUgY3JlYWNpw7NuIGRlIGxhIHdlYiBlbiBsYSBtw6FxdWluYSB2aXJ0
dWFsIGRlIGRlc2Fycm9sbG88YnI+PGJyPiMjIyBQcmVwYXJhY2nDs24gZGUgbGEgcGxhbnRpbGxh
PGJyPjxicj5QYXJhIGVzdGEgd2ViIGhlIHV0aWxpemFkbyB1bmEgcGxhbnRpbGxhIGdyYXR1aXRh
IGxsYW1hZGEgW0FkbWluTFRFXShodHRwczovL2FsbXNhZWVkc3R1ZGlvLmNvbS90aGVtZXMvQWRt
aW5MVEUvaW5kZXgyLmh0bWwpIGRlIGxhIHDDoWdpbmEgZGUgW0FsbXNhZWVkIFN0dWRpb10oaHR0
cHM6Ly9hbG1zYWVlZHN0dWRpby5jb20vKS4mbmJzcDsgPGJyPkxhIGhlIGRlc2NhcmdhZG8gZGVz
ZGUgbGEgcMOhZ2luYSBwcmluY2lwYWwgcHVsc2FuZG8gc29icmUgZWwgbGluayBbRG93bmxvYWRd
KGh0dHBzOi8vYWxtc2FlZWRzdHVkaW8uY29tL2Rvd25sb2FkL0FkbWluTFRFLW1hc3RlciksIGxh
IHZlcnNpw7NuIGVuIGVsIG1vbWVudG8gZW4gcXVlIGRlc2Nhcmd1w6kgbGEgcGxhbnRpbGxhIGVy
YSBsYSAyLjMuMy48YnI+TGEgaGUgZGVzY29tcHJpbWlkbyBlbiBgJEhPTUVgIHkgY29waWFkbyBh
bCBkaXJlY3RvcmlvIGBjdWJpZWJvYXJkLW1vbml0b3JgLCBkZSBlc3RhIGZvcm1hIHNpZW1wcmUg
dGVuZ28gdW5hIGNvcGlhIGNvbXBsZXRhIGRlIGxhIHBsYW50aWxsYSBwYXJhIHBvZGVyIGNvbnN1
bHRhcmxhLiZuYnNwOyA8YnI+TG9zIGNvbWFuZG9zIGVqZWN1dGFkb3MgaGFuIHNpZG8gbG9zIHNp
Z3VpZW50ZXM6PGJyPjxicj5gYGAgYmFzaDxicj5jZDxicj51bnppcCB+L0Rlc2Nhcmdhcy9BZG1p
bkxURS0yLjMuMy56aXA8YnI+Y3AgLVIgQWRtaW5MVEUtMi4zLjMgY3ViaWVib2FyZC1tb25pdG9y
PGJyPmBgYDxicj48YnI+VW5hIHZleiByZWFsaXphZG9zIGxvcyBwYXNvcyBhbnRlcmlvcmVzIGNy
ZW8gZW4gZ2l0aHViIHVuIHJlcG9zaXRvcmlvIGxsYW1hZG8gW2N1YmllYm9hcmQtbW9uaXRvcl0o
aHR0cHM6Ly9naXRodWIuY29tL2p1YWFsdGEvY3ViaWVib2FyZC1tb25pdG9yKSB5IHByZXBhcm8g
bGEgY2FycGV0YSBsb2NhbCBwYXJhIGF0YWNhciBhIGVzdGUgcmVwb3NpdG9yaW8uJm5ic3A7IDxi
cj5Mb3MgY29tYW5kb3MgZWplY3V0YWRvcyBoYW4gc2lkbyBsb3Mgc2lndWllbnRlczo8YnI+PGJy
PmBgYCBiYXNoPGJyPmdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCAiY29ycmVvIjxicj5n
aXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAidXN1YXJpbyI8YnI+PGJyPmdpdCBpbml0PGJy
PmdpdCBhZGQgLjxicj5naXQgY29tbWl0IC1tICJDb21taXQgaW5pY2lhbCI8YnI+Z2l0IHJlbW90
ZSBhZGQgb3JpZ2luIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWFhbHRhL2N1YmllYm9hcmQtbW9uaXRv
ci5naXQ8YnI+Z2l0IHJlbW90ZSAtdjxicj5naXQgYWRkIC48YnI+Z2l0IHB1c2ggLXUgb3JpZ2lu
IG1hc3Rlcjxicj5gYGA8YnI+PGJyPkRlc3B1w6lzIGRlIGxvcyBwYXNvcyBhbnRlcmlvcmVzIGVq
ZWN1dG8gbGEgaW5zdGFsYWNpw7NuIGRlIGRlcGVuZGVuY2lhcyBwb3IgcGFydGUgZGUgTm9kZUpT
LCBtZWRpYW50ZSBlbCBzaWd1aWVudGUgY29tYW5kbzo8YnI+PGJyPmBgYCBiYXNoPGJyPm5wbSBp
bnN0YWxsPGJyPmBgYDxicj48YnI+IyMjIENyZWFjacOzbiBkZSBsb3Mgc2VydmljaW9zIFJFU1Q8
YnI+PGJyPlBhcmEgbGEgY3JlYWNpw7NuIGRlIGxvcyBzZXJ2aWNpb3MgUkVTVCBoZSB1c2FkbyBO
b2RlSlMsIHBvciBzdSBjYXBhY2lkYWQgcGFyYSBlamVjdXRhciBjb21hbmRvcyBkZSBzaGVsbCBk
ZSBMaW51eC4gVG9kbyBlbCBjw7NkaWdvIHNlIGNvbmNlbnRyYSBkZW50cm8gZGVsIGZpY2hlcm8g
YHNlcnZlci5qc2AuJm5ic3A7IDxicj5Mb3Mgc2VydmljaW9zIHF1ZSBhbGzDrSBzZSBlbmN1ZW50
cmFuIGVzdMOhbiBlc3TDoW4gbm9tYnJhZG9zLCBkZXBlbmRpZW5kbyBwYXJhIHF1ZSBwYXJ0ZSBk
ZWwgc2lzdGVtYSBtb25pdG9yaXphbiwgZXN0YXMgcGFydGVzIChlbiBlbCBtb21lbnRvIGRlIHJl
ZGFjY2nDs24gZGVsIGRvY3VtZW50byB2LjEuMS4wKSBzb24gbGFzIHNpZ3VpZW50ZXM6PGJyPjxi
cj4qIFNlcnZpY2lvcyBxdWUgZW1waWV6YW4gcG9yICoqSEREKio6IGVzdG9zIHNlcnZpY2lvcyBz
ZSBlbmNhcmdhbiBkZSBvYnRlbmVyIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsb3MgZGlzY29zIGR1
cm9zIHkgc3VzIHBhcnRpY2lvbmVzLjxicj4qIFNlcnZpY2lvcyBxdWUgZW1waWV6YW4gcG9yICoq
Q1BVKio6IGVzdG9zIHNlcnZpY2lvcyBzZSBlbmNhcmdhbiBkZSBvYnRlbmVyIGxhIGluZm9ybWFj
acOzbiBzb2JyZSBsYSBDUFUgeSBzdXMgY29yZXMuPGJyPiogU2VydmljaW9zIHF1ZSBlbXBpZXph
biBwb3IgKipTWVMqKjogZXN0b3Mgc2VydmljaW9zIHNlIGVuY2FyZ2FuIGRlIG9idGVuZXIgaW5m
b3JtYWNpw7NuIHNvYnJlIGVsIHNpc3RlbWEuPGJyPjxicj5DYWRhIHNlcnZpY2lvIGxsYW1hIGEg
dW4gc2NyaXB0IGN1eW8gbm9tYnJlIGVzIGVsIG1pc21vIHF1ZSBlbCBkZWwgc2VydmljaW8uIEVz
dG9zIHNjcmlwdHMgc2UgZW5jdWVudHJhbiBkZW50cm8gZGUgbGEgY2FycGV0YSBgc2NyaXB0c2Ag
ZGUgbGEgd2ViLjxicj48YnI+IyMjIERpc2XDsW8gZSBpbXBsZW1lbnRhY2nDs24gZGUgbGEgd2Vi
PGJyPjxicj5CYXPDoW5kb21lIGVuIGxhIHBsYW50aWxsYSBpbnN0YWxhZGEsIGhlIGNyZWFkbyAz
IHNlY2Npb25lcyBwYXJhIGxhIHdlYiwgZXN0YXMgc29uOjxicj48YnI+KiBWaXNpw7NuIEdlbmVy
YWw6IGVuIGVzdGEgc2VjY2nDs24gc2UgZW5jdWVudHJhIGluZm9ybWFjacOzbiBnZW5lcmFsIHNv
YnJlIGVsIGVzdGFkbyBkZSBsYSBDdWJpZWJvYXJkLjxicj4qIENQVTogZW4gZXN0YSBzZWNjacOz
biBzZSBlbmN1ZW50cmEgdG9kYSBsYSBpbmZvcm1hY2nDs24gc29icmUgZWwgZXN0YWRvIGRlIGxh
IENQVS48YnI+KiBIREQ6IGVuIGVzdGEgc2VjY2nDs24gc2UgZW5jdWVudHJhIHRvZGEgbGEgaW5m
b3JtYWNpw7NuIHNvYnJlIGVsIGVzdGFkbyBkZSBsb3MgZGlzY29zIGR1cm9zIHkgc3VzIHBhcnRp
Y2lvbmVzLjxicj48YnI+IVtWaXNpw7NuIGdlbmVyYWxdKC4vaW1hZ2VuZXMvQ2FwdHVyYV8wMS5Q
TkcgIlZpc2nDs24gZ2VuZXJhbCIpPGJyPiFbQ1BVXSguL2ltYWdlbmVzL0NhcHR1cmFfMDIuUE5H
ICJDUFUiKTxicj4hW0hERF0oLi9pbWFnZW5lcy9DYXB0dXJhXzAzLlBORyAiSEREIik8YnI+PGJy
PiMjIEluc3RhbGFjacOzbiBlbiBsYSBDdWJpZWJvYXJkPGJyPjxicj5Mb3MgcGFzb3MgcGFyYSBp
bnN0YWxhciBlbCBwcm95ZWN0byBlbiBsYSBDdWJpZWJvYXJkIHNvbiBsb3Mgc2lndWllbnRlczo8
YnI+PGJyPiogQ29uZmlndXJhciBnaXQsIHPDs2xvIGxhIHByaW1lcmEgdmV6Ojxicj48YnI+YGBg
IGJhc2g8YnI+Z2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsICJjb3JyZW8iPGJyPmdpdCBj
b25maWcgLS1nbG9iYWwgdXNlci5uYW1lICJ1c3VhcmlvIjxicj5gYGA8YnI+PGJyPiogQmFqYXIg
ZWwgcHJveWVjdG8gZGVzZGUgZ2l0aHViIGEgbGEgY2FycGV0YSBgfi9jdWJpZWJvYXJkLW1vbml0
b3JgOjxicj48YnI+YGBgIGJhc2g8YnI+Y2Q8YnI+Z2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNv
bS9qdWFhbHRhL2N1YmllYm9hcmQtbW9uaXRvci5naXQgY3ViaWVib2FyZC1tb25pdG9yPGJyPmBg
YDxicj48YnI+KiBFbnRyYXIgZW4gbGEgY2FycGV0YSBlbiBsYSBxdWUgc2UgaGEgZGVzY2FyZ2Fk
byBlIGluc3RhbGFyIGxhcyBkZXBlbmRlbmNpYXMgbmVjZXNhcmlhczo8YnI+PGJyPmBgYCBiYXNo
PGJyPmNkIGN1YmllYm9hcmQtbW9uaXRvcjxicj48YnI+bnBtIGluc3RhbGw8YnI+PGJyPmBgYDxi
cj48YnI+VW5hIHZleiBzZWd1aWRvcyBsb3MgcGFzb3MgYW50ZXJpb3Jlcywgc2kgcXVlcmVtb3Mg
cHJvYmFyIGxhIGFwbGljYWNpw7NuIHPDs2xvIHRlbmVtb3MgcXVlIGxhbnphciBlbCBzaWd1aWVu
dGUgY29tYW5kbzo8YnI+PGJyPmBgYCBiYXNoPGJyPm5vZGVqcyBzZXJ2ZXIuanM8YnI+YGBgPGJy
Pjxicj5UYW1iacOpbiBwdWVkZSBlamVjdXRhcnNlOjxicj48YnI+YGBgIGJhc2g8YnI+bnBtIHN0
YXJ0PGJyPmBgYDxicj48YnI+IyMgQXJyYW5xdWUgYXV0b23DoXRpY288YnI+PGJyPlBhcmEgcXVl
IGxhIHdlYiBhcnJhbnF1ZSBkZSBmb3JtYSBhdXRvbcOhdGljYSBhbCBhcnJhbmNhci9yZWluaWNp
YXIgbGEgY3ViaWVib2FyZCBoZSBzZWd1aWRvIGxvcyBzaWd1aWVudGVzIHBhc29zOjxicj48YnI+
UHJpbWVybyBoZSBjcmVhZG8gdW4gc2NyaXB0IHF1ZSBzZSBlbmNhcmd1ZSBkZSBhcnJhbmNhciBs
YSB3ZWIsIGVsIHNjcmlwdCBzZSBsbGFtYSBgL3Vzci9sb2NhbC9iaW4vY3ViaWVib2FyZE1vbml0
b3Iuc2hgIHkgc3UgY29udGVuaWRvIGVzOjxicj48YnI+YGBgIGJhc2g8YnI+IyEgL2Jpbi9zaDxi
cj48YnI+Y2QgL3Jvb3QvY3ViaWVib2FyZC1tb25pdG9yPGJyPm5vZGVqcyBzZXJ2ZXIuanMgJmFt
cDs8YnI+PGJyPmBgYDxicj48YnI+RGVzcHXDqXMgZGUgZXN0byBsZSBoZSBkYWRvIHBlcm1pc29z
IGRlIGVqZWN1Y2nDs24sIGVqZWN1dGFuZG8gZWwgc2lndWllbnRlIGNvbWFuZG86PGJyPjxicj5g
YGAgYmFzaDxicj5jaG1vZCAreCAvdXNyL2xvY2FsL2Jpbi9jdWJpZWJvYXJkTW9uaXRvci5zaDxi
cj5gYGA8YnI+PGJyPkRlc3B1w6lzIGhlIGNyZWFkbyBlbCBzY3JpcHQgZGUgYXJyYW5xdWUgY29t
byBzZXJ2aWNpbywgcGFyYSBlc3RvIGhlIGNyZWFkbyB1bmEgY29waWEgZGUgdW4gc2NyaXB0IHBs
YW50aWxsYSBkZW50cm8gZGUgbGEgY2FycGV0YSBgL2V0Yy9pbml0LmRgLiBQYXJhIGVzdG8gaGUg
ZWplY3V0YWRvIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjxicj48YnI+YGBgYmFzaDxicj5jcCAvZXRj
L2luaXQuZC9za2VsZXRvbiAvZXRjL2luaXQuZC9jdWJpZWJvYXJkTW9uaXRvcjxicj5gYGA8YnI+
PGJyPkRlc3B1w6lzIGhlIG1vZGlmaWNhZG8gc3UgY29udGVuaWRvIHBhcmEgcXVlIGFycmFucXVl
IGVsIHNjcmlwdCBhbnRlcmlvciwgcXVlZGFuZG8gZGUgbGEgc2lndWllbnRlIGZvcm1hOjxicj48
YnI+YGBgIGJhc2g8YnI+IyEgL2Jpbi9zaDxicj4jIyMgQkVHSU4gSU5JVCBJTkZPPGJyPiMgUHJv
dmlkZXM6Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHNrZWxldG9uPGJyPiMgUmVxdWlyZWQtU3RhcnQ6Jm5ic3A7Jm5ic3A7Jm5ic3A7ICRyZW1v
dGVfZnMgJHN5c2xvZzxicj4jIFJlcXVpcmVkLVN0b3A6Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICRyZW1vdGVfZnMgJHN5c2xvZzxicj4jIERlZmF1bHQtU3RhcnQ6Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IDIgMyA0IDU8YnI+IyBEZWZhdWx0LVN0b3A6Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IDAgMSA2PGJyPiMgU2hvcnQtRGVzY3JpcHRpb246IEV4YW1wbGUgaW5pdHNjcmlwdDxi
cj4jIERlc2NyaXB0aW9uOiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGlz
IGZpbGUgc2hvdWxkIGJlIHVzZWQgdG8gY29uc3RydWN0IHNjcmlwdHMgdG8gYmU8YnI+IyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwbGFj
ZWQgaW4gL2V0Yy9pbml0LmQuPGJyPiMjIyBFTkQgSU5JVCBJTkZPPGJyPjxicj4jIEF1dGhvcjog
Rm9vIEJhciAmbHQ7Zm9vYmFyQGJhei5vcmcmZ3Q7PGJyPiM8YnI+IyBQbGVhc2UgcmVtb3ZlIHRo
ZSAiQXV0aG9yIiBsaW5lcyBhYm92ZSBhbmQgcmVwbGFjZSB0aGVtPGJyPiMgd2l0aCB5b3VyIG93
biBuYW1lIGlmIHlvdSBjb3B5IGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQuPGJyPjxicj4jIERvIE5P
VCAic2V0IC1lIjxicj48YnI+IyBQQVRIIHNob3VsZCBvbmx5IGluY2x1ZGUgL3Vzci8qIGlmIGl0
IHJ1bnMgYWZ0ZXIgdGhlIG1vdW50bmZzLnNoIHNjcmlwdDxicj5QQVRIPS9zYmluOi91c3Ivc2Jp
bjovYmluOi91c3IvYmluPGJyPkRFU0M9Ik1vbml0b3IgZGUgbGEgY3ViaWVib2FyZCI8YnI+TkFN
RT1jdWJpZWJvYXJkTW9uaXRvcjxicj5EQUVNT049L3Vzci9sb2NhbC9iaW4vY3ViaWVib2FyZE1v
bml0b3Iuc2g8YnI+REFFTU9OX0FSR1M9IiI8YnI+UElERklMRT0vdmFyL3J1bi8kTkFNRS5waWQ8
YnI+U0NSSVBUTkFNRT0vZXRjL2luaXQuZC8kTkFNRTxicj48YnI+IyBFeGl0IGlmIHRoZSBwYWNr
YWdlIGlzIG5vdCBpbnN0YWxsZWQ8YnI+WyAteCAiJERBRU1PTiIgXSB8fCBleGl0IDA8YnI+PGJy
PiMgUmVhZCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGZpbGUgaWYgaXQgaXMgcHJlc2VudDxicj5b
IC1yIC9ldGMvZGVmYXVsdC8kTkFNRSBdICZhbXA7JmFtcDsgLiAvZXRjL2RlZmF1bHQvJE5BTUU8
YnI+PGJyPiMgTG9hZCB0aGUgVkVSQk9TRSBzZXR0aW5nIGFuZCBvdGhlciByY1MgdmFyaWFibGVz
PGJyPi4gL2xpYi9pbml0L3ZhcnMuc2g8YnI+PGJyPiMgRGVmaW5lIExTQiBsb2dfKiBmdW5jdGlv
bnMuPGJyPiMgRGVwZW5kIG9uIGxzYi1iYXNlICgmZ3Q7PSAzLjItMTQpIHRvIGVuc3VyZSB0aGF0
IHRoaXMgZmlsZSBpcyBwcmVzZW50PGJyPiMgYW5kIHN0YXR1c19vZl9wcm9jIGlzIHdvcmtpbmcu
PGJyPi4gL2xpYi9sc2IvaW5pdC1mdW5jdGlvbnM8YnI+PGJyPiM8YnI+IyBGdW5jdGlvbiB0aGF0
IHN0YXJ0cyB0aGUgZGFlbW9uL3NlcnZpY2U8YnI+Izxicj5kb19zdGFydCgpPGJyPns8YnI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgUmV0dXJuPGJyPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAjJm5ic3A7Jm5ic3A7IDAgaWYg
ZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQ8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7ICMmbmJzcDsmbmJzcDsgMSBpZiBkYWVtb24gd2FzIGFscmVhZHkgcnVubmlu
Zzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIyZuYnNwOyZu
YnNwOyAyIGlmIGRhZW1vbiBjb3VsZCBub3QgYmUgc3RhcnRlZDxicj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1
aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJERBRU1PTiAtLXRlc3QgJmd0OyAvZGV2L251
bGwgXDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfHwgcmV0dXJuIDE8YnI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0YXJ0LXN0b3AtZGFl
bW9uIC0tc3RhcnQgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1leGVjICREQUVNT04gLS0g
XDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJERBRU1PTl9BUkdTIFw8YnI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHx8IHJldHVybiAyPGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAjIEFkZCBjb2RlIGhlcmUsIGlmIG5l
Y2Vzc2FyeSwgdGhhdCB3YWl0cyBmb3IgdGhlIHByb2Nlc3MgdG8gYmUgcmVhZHk8YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgdG8gaGFuZGxlIHJlcXVlc3Rz
IGZyb20gc2VydmljZXMgc3RhcnRlZCBzdWJzZXF1ZW50bHkgd2hpY2ggZGVwZW5kPGJyPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAjIG9uIHRoaXMgb25lLiZuYnNw
OyBBcyBhIGxhc3QgcmVzb3J0LCBzbGVlcCBmb3Igc29tZSB0aW1lLjxicj59PGJyPjxicj4jPGJy
PiMgRnVuY3Rpb24gdGhhdCBzdG9wcyB0aGUgZGFlbW9uL3NlcnZpY2U8YnI+Izxicj5kb19zdG9w
KCk8YnI+ezxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIyBS
ZXR1cm48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMmbmJz
cDsmbmJzcDsgMCBpZiBkYWVtb24gaGFzIGJlZW4gc3RvcHBlZDxicj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIyZuYnNwOyZuYnNwOyAxIGlmIGRhZW1vbiB3YXMg
YWxyZWFkeSBzdG9wcGVkPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyAjJm5ic3A7Jm5ic3A7IDIgaWYgZGFlbW9uIGNvdWxkIG5vdCBiZSBzdG9wcGVkPGJyPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAjJm5ic3A7Jm5ic3A7IG90
aGVyIGlmIGEgZmFpbHVyZSBvY2N1cnJlZDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1yZXRyeT1U
RVJNLzMwL0tJTEwvNSAtLXBpZGZpbGUgJFBJREZJTEUgLS1uYW1lICROQU1FPGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBSRVRWQUw9IiQ/Ijxicj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgWyAiJFJFVFZBTCIgPSAyIF0gJmFt
cDsmYW1wOyByZXR1cm4gMjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgIyBXYWl0IGZvciBjaGlsZHJlbiB0byBmaW5pc2ggdG9vIGlmIHRoaXMgaXMgYSBkYWVt
b24gdGhhdCBmb3Jrczxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgIyBhbmQgaWYgdGhlIGRhZW1vbiBpcyBvbmx5IGV2ZXIgcnVuIGZyb20gdGhpcyBpbml0c2Ny
aXB0Ljxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIyBJZiB0
aGUgYWJvdmUgY29uZGl0aW9ucyBhcmUgbm90IHNhdGlzZmllZCB0aGVuIGFkZCBzb21lIG90aGVy
IGNvZGU8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgdGhh
dCB3YWl0cyBmb3IgdGhlIHByb2Nlc3MgdG8gZHJvcCBhbGwgcmVzb3VyY2VzIHRoYXQgY291bGQg
YmU8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgbmVlZGVk
IGJ5IHNlcnZpY2VzIHN0YXJ0ZWQgc3Vic2VxdWVudGx5LiZuYnNwOyBBIGxhc3QgcmVzb3J0IGlz
IHRvPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAjIHNsZWVw
IGZvciBzb21lIHRpbWUuPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW9rbm9kbyAtLXJldHJ5PTAv
MzAvS0lMTC81IC0tZXhlYyAkREFFTU9OPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyBbICIkPyIgPSAyIF0gJmFtcDsmYW1wOyByZXR1cm4gMjxicj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIyBNYW55IGRhZW1vbnMgZG9uJ3Qg
ZGVsZXRlIHRoZWlyIHBpZGZpbGVzIHdoZW4gdGhleSBleGl0Ljxicj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcm0gLWYgJFBJREZJTEU8YnI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiAiJFJFVFZBTCI8YnI+fTxicj48
YnI+Izxicj4jIEZ1bmN0aW9uIHRoYXQgc2VuZHMgYSBTSUdIVVAgdG8gdGhlIGRhZW1vbi9zZXJ2
aWNlPGJyPiM8YnI+ZG9fcmVsb2FkKCkgezxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgIzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgIyBJZiB0aGUgZGFlbW9uIGNhbiByZWxvYWQgaXRzIGNvbmZpZ3VyYXRpb24gd2l0aG91
dDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIyByZXN0YXJ0
aW5nIChmb3IgZXhhbXBsZSwgd2hlbiBpdCBpcyBzZW50IGEgU0lHSFVQKSw8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgdGhlbiBpbXBsZW1lbnQgdGhhdCBo
ZXJlLjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIzxicj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RhcnQtc3RvcC1kYWVt
b24gLS1zdG9wIC0tc2lnbmFsIDEgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1uYW1lICRO
QU1FPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4g
MDxicj59PGJyPjxicj5jYXNlICIkMSIgaW48YnI+Jm5ic3A7IHN0YXJ0KTxicj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgWyAiJFZFUkJPU0UiICE9IG5vIF0gJmFt
cDsmYW1wOyBsb2dfZGFlbW9uX21zZyAiU3RhcnRpbmcgJERFU0MiICIkTkFNRSI8YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRvX3N0YXJ0PGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjYXNlICIkPyIgaW48YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDB8MSkgWyAiJFZFUkJPU0UiICE9IG5vIF0gJmFt
cDsmYW1wOyBsb2dfZW5kX21zZyAwIDs7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyAyKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmYW1wOyZhbXA7IGxvZ19lbmRfbXNnIDEgOzs8
YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVzYWM8YnI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDs7PGJyPiZuYnNwOyBzdG9w
KTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgWyAiJFZFUkJP
U0UiICE9IG5vIF0gJmFtcDsmYW1wOyBsb2dfZGFlbW9uX21zZyAiU3RvcHBpbmcgJERFU0MiICIk
TkFNRSI8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRvX3N0
b3A8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNhc2UgIiQ/
IiBpbjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgMHwxKSBbICIkVkVSQk9T
RSIgIT0gbm8gXSAmYW1wOyZhbXA7IGxvZ19lbmRfbXNnIDAgOzs8YnI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7IDIpIFsgIiRWRVJCT1NFIiAhPSBubyBdICZhbXA7JmFtcDsgbG9n
X2VuZF9tc2cgMSA7Ozxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgZXNhYzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgOzs8
YnI+Jm5ic3A7IHN0YXR1cyk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHN0YXR1c19vZl9wcm9jICIkREFFTU9OIiAiJE5BTUUiICZhbXA7JmFtcDsgZXhpdCAw
IHx8IGV4aXQgJD88YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IDs7PGJyPiZuYnNwOyAjcmVsb2FkfGZvcmNlLXJlbG9hZCk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICM8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7ICMgSWYgZG9fcmVsb2FkKCkgaXMgbm90IGltcGxlbWVudGVkIHRoZW4g
bGVhdmUgdGhpcyBjb21tZW50ZWQgb3V0PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyAjIGFuZCBsZWF2ZSAnZm9yY2UtcmVsb2FkJyBhcyBhbiBhbGlhcyBmb3Ig
J3Jlc3RhcnQnLjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
Izxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgI2xvZ19kYWVt
b25fbXNnICJSZWxvYWRpbmcgJERFU0MiICIkTkFNRSI8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICNkb19yZWxvYWQ8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICNsb2dfZW5kX21zZyAkPzxicj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIzs7PGJyPiZuYnNwOyByZXN0YXJ0fGZvcmNlLXJl
bG9hZCk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICM8YnI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgSWYgdGhlICJyZWxv
YWQiIG9wdGlvbiBpcyBpbXBsZW1lbnRlZCB0aGVuIHJlbW92ZSB0aGU8YnI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgJ2ZvcmNlLXJlbG9hZCcgYWxpYXM8YnI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICM8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxvZ19kYWVtb25fbXNnICJSZXN0YXJ0
aW5nICRERVNDIiAiJE5BTUUiPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyBkb19zdG9wPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyBjYXNlICIkPyIgaW48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7IDB8MSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IGRvX3N0YXJ0PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjYXNlICIk
PyIgaW48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDApIGxvZ19lbmRfbXNnIDAgOzs8YnI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDEpIGxvZ19lbmRfbXNnIDEgOzsgIyBPbGQgcHJvY2Vz
cyBpcyBzdGlsbCBydW5uaW5nPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqKSBsb2dfZW5k
X21zZyAxIDs7ICMgRmFpbGVkIHRvIHN0YXJ0PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyBlc2FjPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA7Ozxicj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKik8
YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgRmFpbGVkIHRvIHN0b3A8YnI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxvZ19lbmRfbXNnIDE8YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDs7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyBlc2FjPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyA7Ozxicj4mbmJzcDsgKik8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7ICNlY2hvICJVc2FnZTogJFNDUklQVE5BTUUge3N0YXJ0fHN0b3B8
cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIgJmd0OyZhbXA7Mjxicj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZWNobyAiVXNhZ2U6ICRTQ1JJUFROQU1FIHtz
dGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iICZndDsmYW1wOzI8YnI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGV4aXQgMzxicj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgOzs8YnI+ZXNhYzxicj48YnI+Ojxi
cj48YnI+YGBgPGJyPjxicj5EZXNwdcOpcyBkZSBtb2RpZmljYXJsbyBsZSBoZSBkYWRvIHBlcm1p
c29zIGRlIGVqZWN1Y2nDs246PGJyPjxicj5gYGAgYmFzaDxicj5jaG1vZCAreCAvZXRjL2luaXQu
ZC9jdWJpZWJvYXJkTW9uaXRvcjxicj5gYGA8YnI+PGJyPlBhcmEgcXVlIGVzdGUgc2NyaXB0IGFy
cmFucXVlIGNvbW8gZGVtb25pbyBzZSBoYSBkZSBlamVjdXRhciBlbCBzaWd1aWVudGUgY29tYW5k
bzo8YnI+PGJyPmBgYCBiYXNoPGJyPnVwZGF0ZS1yYy5kIGN1YmllYm9hcmRNb25pdG9yIGRlZmF1
bHRzPGJyPmBgYDxicj48YnI+PGJyPiMjIExpbmtzIGNvbiBpbmZvcm1hY2nDs24gYWRpY2lvbmFs
IHkgY29tcGxlbWVudGFyaWE8YnI+PGJyPlBhcmEgbGEgY3JlYWNpw7NuIGRlIGVzdGUgcHJveWVj
dG8gbWUgaGUgYmFzYWRvIGVuIGxhIGluZm9ybWFjacOzbiBwdWJsaWNhZGEgZW4gZXN0ZSBhcnTD
rWN1bG86IFtUdXRvcmlhbCBkZSBBbmd1bGFySlMuIEVqZW1wbG8gZGUgYXBsaWNhY2nDs24gd2Vi
IGNvbmVjdGFkYSBhIHVuYSBBUEkgUkVTVCBjb24gTm9kZV0oaHR0cHM6Ly9jYXJsb3NhemF1c3Ry
ZS5lcy9ibG9nL3R1dG9yaWFsLWVqZW1wbG8tZGUtYXBsaWNhY2lvbi13ZWItY29uLWFuZ3VsYXIt
anMteS1hcGktcmVzdC1jb24tbm9kZS8pPGJyPjxicj48YnI+IyMjIExpbmtzIGNvbiBpbmZvcm1h
Y2nDs24geSBkZXNjYXJnYSBkZWwgdGVtYSBBZG1pbkxURTxicj48YnI+W0FsbXNhZWVkIFN0dWRp
b10oaHR0cHM6Ly9hbG1zYWVlZHN0dWRpby5jb20vKSZuYnNwOyA8YnI+W0RvY3VtZW50YWNpw7Nu
XShodHRwczovL2FsbXNhZWVkc3R1ZGlvLmNvbS90aGVtZXMvQWRtaW5MVEUvZG9jdW1lbnRhdGlv
bi9pbmRleC5odG1sKSZuYnNwOyA8YnI+W1ByZXZpZXddKGh0dHBzOi8vYWxtc2FlZWRzdHVkaW8u
Y29tL3RoZW1lcy9BZG1pbkxURS9pbmRleDIuaHRtbCkmbmJzcDsgPGJyPltSZXBvc2l0b3JpbyBk
ZSBnaXRodWJdKGh0dHBzOi8vZ2l0aHViLmNvbS9hbG1hc2FlZWQyMDEwL0FkbWluTFRFKTxicj48
YnI+IyMjIFDDoWdpbmFzIGNvbiB0ZW1hcyBwYXJhIEFuZ3VsYXJKUzxicj48YnI+W1N0YXJ0IEFu
Z3VsYXJdKGh0dHA6Ly9zdGFydGFuZ3VsYXIuY29tLykmbmJzcDsgPGJyPlsyMCBGcmVlIEJvb3Rz
dHJhcCAzIEFkbWluIERhc2hib2FyZCBUZW1wbGF0ZXMgRm9yIFlvdXIgV2ViIEFwcCAyMDE2XSho
dHRwczovL2NvbG9ybGliLmNvbS93cC9mcmVlLWJvb3RzdHJhcC1hZG1pbi1kYXNoYm9hcmQtdGVt
cGxhdGVzLykmbmJzcDsgPGJyPlsxNSBCZXN0IFJlc3BvbnNpdmUgSFRNTDUgJmFtcDsgQ1NTMyBB
bmd1bGFySlMgQWRtaW4gVGVtcGxhdGVzIFRvIEJ1aWxkIEF3ZXNvbWUgV2ViIEFwcHMgMjAxNl0o
aHR0cHM6Ly9jb2xvcmxpYi5jb20vd3AvYW5ndWxhcmpzLWFkbWluLXRlbXBsYXRlcy8pPGJyPjwv
cD4=&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/4956024564792962836/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2016/07/monitor-basado-en-angularjs-y-nodejs.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/4956024564792962836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/4956024564792962836'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2016/07/monitor-basado-en-angularjs-y-nodejs.html' title='Monitor basado en AngularJs y NodeJs para la Cubietruck (Cubieboard 3)'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSIxbLkaF2NLeofdsRrGsakf_NCqCEphXr2wxYeqn_Gr1Knfn3GGw4IePSaz_547-oAIvZid9Jd1yoJFM4CxRoKeNMTT84fDGZ6ZrIhlZn9qJK2aYMYdJmimL33573uyk7i3X3pPMsOzMm/s72-c/Captura_01.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-1885320550702344497</id><published>2016-06-30T01:47:00.000+02:00</published><updated>2018-03-13T16:40:34.649+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AngularJS"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="NodeJS"/><title type='text'>Máquina virtual de desarrollo para proyectos de AngularJS y NodeJS</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=1885320550702344497&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Intentando afianzar mis conocimientos de AngularJS y NodeJS me he creado esta máquina virtual. En ella crearé todos los proyectos que usen estos frameworks de Javascript.&lt;br /&gt;
&lt;/div&gt;
&lt;h2 id=&quot;informaci-n-sobre-m-quina-virtual&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información sobre máquina virtual&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Esta máquina virtual la he creado con el VMware Player 12.&lt;/div&gt;
&lt;h3 id=&quot;caracter-sticas-del-hardware&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Características del hardware&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
La configuración del hardware usada ha sido la siguiente:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Memoria: 4Gb RAM.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Procesador: 1 procesador con 2 cores&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Disco duro: disco SCSI de 40Gb, con fichero único autoexpandible.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;CD-ROM: Usando unidad física, salvo en el momento de la instalación que se le ha asignado la imagen ISO del sistema operativo.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Adaptador de red: NAT.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Un controlador USB.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Pantalla.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El resto de hardware que se hubiera añadido de forma automática lo he eliminado.&lt;/div&gt;
&lt;h3 id=&quot;informaci-n-sobre-el-sistema-operativo&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información sobre el sistema operativo&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
He instalado la distribución Fedora 23 de 64 bits con el escritorio LXDE.&lt;br /&gt;
Adicionalmente he actualizado el gestor de paquetes de &lt;b&gt;yum&lt;/b&gt; a &lt;b&gt;dnf&lt;/b&gt;, para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install python-dnf-plugins-extras-migrate &amp;amp;&amp;amp; dnf-&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt; migrate
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de esto he actualizado el sistema operativo, para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf update
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;instalaci-n-de-utilidades-que-yo-considero-necesarias-&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de utilidades que yo considero necesarias.&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Las utilidades que considero necesarias dentro del sistema operativo y que no son las que permiten trabajar directamente con los frameworks son las siguientes:&lt;/div&gt;
&lt;h3 id=&quot;terminator&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Terminator&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como terminal he instalado esta herramienta, la cual me permite trabajar tanto a pantalla partida como con diferentes pestañas.&lt;br /&gt;
Para la instalación he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install terminator
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://launchpad.net/terminator&quot;&gt;Terminator&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;navegadores&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Navegadores&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para navegar y poder visualizar los proyectos generados he decidido instalar Firefox y Chrome.&lt;/div&gt;
&lt;h4 id=&quot;firefox&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Firefox&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la instalación he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install firefox
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;chrome&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Chrome&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la instalación he seguido los siguientes pasos:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Cambiar a root:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;su -
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Después de esto he ejecutado el siguiente comando:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/yum.repos.d/google-chrome.repo
[google-chrome]
name=google-chrome - \&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$basearch&lt;/span&gt;
baseurl=http://dl.google.com/linux/chrome/rpm/stable/\&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$basearch&lt;/span&gt;
enabled=&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;
gpgcheck=&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
EOF
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Para completar la instalación he ejecutado el siguiente comando:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;dnf install google-chrome-stable
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;http://www.if-not-true-then-false.com/2010/install-google-chrome-with-yum-on-fedora-red-hat-rhel/&quot;&gt;Install Google Chrome on Fedora 24/23, CentOS/RHEL 7.2&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;filezilla&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Filezilla&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como cliente de FTP he elegido el FileZilla.&lt;br /&gt;
Para la instalación he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install filezilla
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;haroopad&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Haroopad&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para mí es el editor que uso a diario y con el que genero la mayoría de la documentación.&lt;/div&gt;
&lt;h4 id=&quot;requerimientos-previos&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Requerimientos previos&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Se ha de instalar la siguiente librería:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install systemd-libs.i686 -y
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;instalaci-n-de-haroopad&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de haroopad&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El paquete de instalación lo he descarado desde la &lt;a href=&quot;http://pad.haroopress.com/user.html&quot;&gt;página de Haroopad&lt;/a&gt;.&lt;br /&gt;
El link de descarga que he utilizado es: &lt;a href=&quot;https://bitbucket.org/rhiokim/haroopad-download/downloads/haroopad-v0.13.1-x64.tar.gz&quot;&gt;Linux Binary (64bit)&lt;/a&gt; y la descarga la he realizado dentro del directorio &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;~/Descargas&lt;/code&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los comandos que he utilizado para realizar la instalación son:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt; ~/Descargas

tar zxvf haroopad-v0.&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;13.1&lt;/span&gt;-x64.tar.gz

tar -zxvf data.tar.gz
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; cp -R ./usr /

tar zxf control.tar.gz
chmod &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;755&lt;/span&gt; postinst
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; ./postinst
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para solucionar el problema de que no se ve el icono se han de realizar las siguientes modificaciones en el fichero &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;/usr/share/applications/Haroopad.desktop&lt;/code&gt;.&lt;br /&gt;
Se ha de reemplazar la linea &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Icon=haroopad&lt;/code&gt; por &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Icon=/usr/share/icons/hicolor/128x128/apps/haroopad.png&lt;/code&gt;.&lt;/div&gt;
&lt;h3 id=&quot;atom&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
atom&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como editor de código he elegido a &lt;a href=&quot;http://atom.io/&quot;&gt;atom&lt;/a&gt; por su simplicidad y su capacidad de ampliarse con plugins.&lt;/div&gt;
&lt;h4 id=&quot;instalaci-n-&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación:&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El paquete de instalación lo he descarado desde la &lt;a href=&quot;http://atom.io/&quot;&gt;página de atom&lt;/a&gt;.&lt;br /&gt;
El link de descarga que he utilizado es: &lt;a href=&quot;https://atom.io/download/rpm&quot;&gt;https://atom.io/download/rpm&lt;/a&gt; y la descarga la he realizado dentro del directorio &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;~/Descargas&lt;/code&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los comandos que he utilizado para realizar la instalación son:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt; ~/Descargas
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; rpm -ivh atom.x86_64.rpm
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
En caso de error por dependencias se puede instalar ejecutando los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt; ~/Descargas
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install atom.x86_64.rpm
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;plugins-atom&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
plugins atom&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los plugins que he instalado dentro de atom han sido los siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;AngularJS support in Atom&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;atom-beautify&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;atom-formatter-jsbeautify&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Markdown preview&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;control-de-versiones&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Control de versiones&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como control de versiones voy a usar git, ya que mi intención es publicar sobre github.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para acceder a los proyectos guardados en GitHub he instalado los siguientes clientes de Git.&lt;/div&gt;
&lt;h4 id=&quot;git&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Git&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Este es el cliente usado para cuando quiera trabajar por línea de comandos.&lt;br /&gt;
Para la instalación he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install git
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;smartgit&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
SmartGit&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como cliente gráfico he elegido &lt;a href=&quot;http://www.syntevo.com/smartgit/&quot;&gt;SmartGit&lt;/a&gt;.&lt;/div&gt;
&lt;h5 id=&quot;requerimientos&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Requerimientos&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Se ha de instalar java:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install java
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;instalaci-n-&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación:&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El paquete de instalación lo he descarado desde la &lt;a href=&quot;http://www.syntevo.com/smartgit/&quot;&gt;página de SmartGit&lt;/a&gt;.&lt;br /&gt;
El link de descarga que he utilizado es: &lt;a href=&quot;http://www.syntevo.com/smartgit/download?file=smartgit/smartgit-linux-7_1_2.tar.gz&quot;&gt;http://www.syntevo.com/smartgit/download?file=smartgit/smartgit-linux-7_1_2.tar.gz&lt;/a&gt; y la descarga la he realizado dentro del directorio &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;~/Descargas&lt;/code&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los comandos ejecutados para la instalación han sido&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt; ~/Descargas
tar zxvf smartgit-linux-&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;7&lt;/span&gt;_1_2.tar.gz -C /tmp/
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; mv /tmp/smartgit /opt/
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; ln &lt;span class=&quot;hljs-operator&quot;&gt;-s&lt;/span&gt; /opt/smartgit/bin/smartgit.sh /usr/local/bin/smartgit

&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; /opt/smartgit/bin/add-menuitem.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;informaci-n-adicional-&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional:&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;http://tutorialforlinux.com/2014/12/10/how-to-install-smartgit-client-on-fedora-32-64bit-linux/&quot;&gt;http://tutorialforlinux.com/2014/12/10/how-to-install-smartgit-client-on-fedora-32-64bit-linux/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://tutorialforlinux.com/2014/12/10/how-to-create-a-smartgit-linux-desktop-menu-launcher-easy-guide/&quot;&gt;http://tutorialforlinux.com/2014/12/10/how-to-create-a-smartgit-linux-desktop-menu-launcher-easy-guide/&lt;/a&gt;&lt;/div&gt;
&lt;h2 id=&quot;instalaci-n-de-angularjs-y-nodejs&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de AngularJS y NodeJS&lt;/h2&gt;
&lt;h3 id=&quot;angularjs&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
AngularJS&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
No requiere instalación.&lt;/div&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://angularjs.org/&quot;&gt;https://angularjs.org/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://carlosazaustre.es/blog/empezando-con-angular-js/&quot;&gt;https://carlosazaustre.es/blog/empezando-con-angular-js/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://carlosazaustre.es/blog/tutorial-ejemplo-de-aplicacion-web-con-angular-js-y-api-rest-con-node/&quot;&gt;https://carlosazaustre.es/blog/tutorial-ejemplo-de-aplicacion-web-con-angular-js-y-api-rest-con-node/&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;nodejs&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
NodeJS&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la instalación de &lt;a href=&quot;https://nodejs.org/&quot;&gt;NodeJS&lt;/a&gt; he elegido la última versión (en el momento de escribir el artículo es la 6.x) y he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;su -
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
dnf -y install nodejs npm gcc-c++ make
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora&quot;&gt;Installing Node.js via package manager&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;bower&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
bower&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los comandos que he utilizado para realizar la instalación de &lt;a href=&quot;https://bower.io/&quot;&gt;Bower&lt;/a&gt; son:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;npm install -g bower
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;grunt&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Grunt&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los comandos que he utilizado para realizar la instalación de &lt;a href=&quot;http://gruntjs.com/&quot;&gt;Grunt&lt;/a&gt; son:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;npm install -g grunt-cli
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PGRpdiBtYXJrZG93bi1oZXJlLXdyYXBwZXItY29udGVudC1tb2RpZmllZD0idHJ1ZSIgc3R5bGU9
IiIgY2xhc3M9Im1hcmtkb3duLWhlcmUtd3JhcHBlciIgZGF0YS1tZC11cmw9Imh0dHBzOi8vd3d3
LmJsb2dnZXIuY29tL2Jsb2dnZXIuZz9ibG9nSUQ9OTAzNjEyMDc0MTczNDExNDA5I2VkaXRvci90
YXJnZXQ9cG9zdDtwb3N0SUQ9MTg4NTMyMDU1MDcwMjM0NDQ5NyI+SW50ZW50YW5kbyBhZmlhbnph
ciBtaXMgY29ub2NpbWllbnRvcyBkZSBBbmd1bGFySlMgeSBOb2RlSlMgbWUgaGUgY3JlYWRvIGVz
dGEgbcOhcXVpbmEgdmlydHVhbC4gRW4gZWxsYSBjcmVhcsOpIHRvZG9zIGxvcyBwcm95ZWN0b3Mg
cXVlIHVzZW4gZXN0b3MgZnJhbWV3b3JrcyBkZSBKYXZhc2NyaXB0Ljxicj48YnI+IyMgSW5mb3Jt
YWNpw7NuIHNvYnJlIG3DoXF1aW5hIHZpcnR1YWw8YnI+PGJyPkVzdGEgbcOhcXVpbmEgdmlydHVh
bCBsYSBoZSBjcmVhZG8gY29uIGVsIFZNd2FyZSBQbGF5ZXIgMTIuPGJyPjxicj4jIyMgQ2FyYWN0
ZXLDrXN0aWNhcyBkZWwgaGFyZHdhcmU8YnI+PGJyPkxhIGNvbmZpZ3VyYWNpw7NuIGRlbCBoYXJk
d2FyZSB1c2FkYSBoYSBzaWRvIGxhIHNpZ3VpZW50ZTo8YnI+PGJyPi0gTWVtb3JpYTogNEdiIFJB
TS48YnI+LSBQcm9jZXNhZG9yOiAxIHByb2Nlc2Fkb3IgY29uIDIgY29yZXM8YnI+LSBEaXNjbyBk
dXJvOiBkaXNjbyBTQ1NJIGRlIDQwR2IsIGNvbiBmaWNoZXJvIMO6bmljbyBhdXRvZXhwYW5kaWJs
ZS48YnI+LSBDRC1ST006IFVzYW5kbyB1bmlkYWQgZsOtc2ljYSwgc2Fsdm8gZW4gZWwgbW9tZW50
byBkZSBsYSBpbnN0YWxhY2nDs24gcXVlIHNlIGxlIGhhIGFzaWduYWRvIGxhIGltYWdlbiBJU08g
ZGVsIHNpc3RlbWEgb3BlcmF0aXZvLjxicj4tIEFkYXB0YWRvciBkZSByZWQ6IE5BVC48YnI+LSBV
biBjb250cm9sYWRvciBVU0IuPGJyPi0gUGFudGFsbGEuPGJyPjxicj5FbCByZXN0byBkZSBoYXJk
d2FyZSBxdWUgc2UgaHViaWVyYSBhw7FhZGlkbyBkZSBmb3JtYSBhdXRvbcOhdGljYSBsbyBoZSBl
bGltaW5hZG8uPGJyPjxicj4jIyMgSW5mb3JtYWNpw7NuIHNvYnJlIGVsIHNpc3RlbWEgb3BlcmF0
aXZvPGJyPjxicj5IZSBpbnN0YWxhZG8gbGEgZGlzdHJpYnVjacOzbiBGZWRvcmEgMjMgZGUgNjQg
Yml0cyBjb24gZWwgZXNjcml0b3JpbyBMWERFLjxicj5BZGljaW9uYWxtZW50ZSBoZSBhY3R1YWxp
emFkbyBlbCBnZXN0b3IgZGUgcGFxdWV0ZXMgZGUgKip5dW0qKiBhICoqZG5mKiosIHBhcmEgZXN0
byBoZSBlamVjdXRhZG8gbG9zIHNpZ3VpZW50ZXMgY29tYW5kb3M6PGJyPjxicj5gYGAgYmFzaDxi
cj5zdWRvIGRuZiBpbnN0YWxsIHB5dGhvbi1kbmYtcGx1Z2lucy1leHRyYXMtbWlncmF0ZSAmYW1w
OyZhbXA7IGRuZi0yIG1pZ3JhdGU8YnI+YGBgPGJyPjxicj5EZXNwdcOpcyBkZSBlc3RvIGhlIGFj
dHVhbGl6YWRvIGVsIHNpc3RlbWEgb3BlcmF0aXZvLCBwYXJhIGVzdG8gaGUgZWplY3V0YWRvIGxv
cyBzaWd1aWVudGVzIGNvbWFuZG9zOjxicj48YnI+YGBgIGJhc2g8YnI+c3VkbyBkbmYgdXBkYXRl
PGJyPmBgYDxicj48YnI+IyMgSW5zdGFsYWNpw7NuIGRlIHV0aWxpZGFkZXMgcXVlIHlvIGNvbnNp
ZGVybyBuZWNlc2FyaWFzLjxicj48YnI+TGFzIHV0aWxpZGFkZXMgcXVlIGNvbnNpZGVybyBuZWNl
c2FyaWFzIGRlbnRybyBkZWwgc2lzdGVtYSBvcGVyYXRpdm8geSBxdWUgbm8gc29uIGxhcyBxdWUg
cGVybWl0ZW4gdHJhYmFqYXIgZGlyZWN0YW1lbnRlIGNvbiBsb3MgZnJhbWV3b3JrcyBzb24gbGFz
IHNpZ3VpZW50ZXM6PGJyPjxicj4jIyMgVGVybWluYXRvcjxicj48YnI+Q29tbyB0ZXJtaW5hbCBo
ZSBpbnN0YWxhZG8gZXN0YSBoZXJyYW1pZW50YSwgbGEgY3VhbCBtZSBwZXJtaXRlIHRyYWJhamFy
IHRhbnRvIGEgcGFudGFsbGEgcGFydGlkYSBjb21vIGNvbiBkaWZlcmVudGVzIHBlc3Rhw7Fhcy4g
Jm5ic3A7PGJyPlBhcmEgbGEgaW5zdGFsYWNpw7NuIGhlIGVqZWN1dGFkbyBsb3Mgc2lndWllbnRl
cyBjb21hbmRvczo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gZG5mIGluc3RhbGwgdGVybWluYXRv
cjxicj5gYGA8YnI+PGJyPiMjIyMgSW5mb3JtYWNpw7NuIGFkaWNpb25hbDxicj48YnI+W1Rlcm1p
bmF0b3JdKGh0dHBzOi8vbGF1bmNocGFkLm5ldC90ZXJtaW5hdG9yKTxicj48YnI+IyMjIE5hdmVn
YWRvcmVzPGJyPjxicj5QYXJhIG5hdmVnYXIgeSBwb2RlciB2aXN1YWxpemFyIGxvcyBwcm95ZWN0
b3MgZ2VuZXJhZG9zIGhlIGRlY2lkaWRvIGluc3RhbGFyIEZpcmVmb3ggeSBDaHJvbWUuPGJyPjxi
cj4jIyMjIEZpcmVmb3g8YnI+PGJyPlBhcmEgbGEgaW5zdGFsYWNpw7NuIGhlIGVqZWN1dGFkbyBs
b3Mgc2lndWllbnRlcyBjb21hbmRvczo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gZG5mIGluc3Rh
bGwgZmlyZWZveDxicj5gYGA8YnI+PGJyPiMjIyMgQ2hyb21lPGJyPjxicj5QYXJhIGxhIGluc3Rh
bGFjacOzbiBoZSBzZWd1aWRvIGxvcyBzaWd1aWVudGVzIHBhc29zOjxicj48YnI+KiBDYW1iaWFy
IGEgcm9vdDo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1IC08YnI+YGBgPGJyPjxicj4qIERlc3B1w6lz
IGRlIGVzdG8gaGUgZWplY3V0YWRvIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjxicj48YnI+YGBgIGJh
c2g8YnI+Y2F0ICZsdDsmbHQ7IEVPRiAmZ3Q7IC9ldGMveXVtLnJlcG9zLmQvZ29vZ2xlLWNocm9t
ZS5yZXBvPGJyPltnb29nbGUtY2hyb21lXTxicj5uYW1lPWdvb2dsZS1jaHJvbWUgLSBcJGJhc2Vh
cmNoPGJyPmJhc2V1cmw9aHR0cDovL2RsLmdvb2dsZS5jb20vbGludXgvY2hyb21lL3JwbS9zdGFi
bGUvXCRiYXNlYXJjaDxicj5lbmFibGVkPTE8YnI+Z3BnY2hlY2s9MTxicj5ncGdrZXk9aHR0cHM6
Ly9kbC1zc2wuZ29vZ2xlLmNvbS9saW51eC9saW51eF9zaWduaW5nX2tleS5wdWI8YnI+RU9GPGJy
PmBgYDxicj48YnI+KiBQYXJhIGNvbXBsZXRhciBsYSBpbnN0YWxhY2nDs24gaGUgZWplY3V0YWRv
IGVsIHNpZ3VpZW50ZSBjb21hbmRvOjxicj48YnI+YGBgIGJhc2g8YnI+ZG5mIGluc3RhbGwgZ29v
Z2xlLWNocm9tZS1zdGFibGU8YnI+YGBgPGJyPjxicj4jIyMjIyBJbmZvcm1hY2nDs24gYWRpY2lv
bmFsPGJyPjxicj5bSW5zdGFsbCBHb29nbGUgQ2hyb21lIG9uIEZlZG9yYSAyNC8yMywgQ2VudE9T
L1JIRUwgNy4yXShodHRwOi8vd3d3LmlmLW5vdC10cnVlLXRoZW4tZmFsc2UuY29tLzIwMTAvaW5z
dGFsbC1nb29nbGUtY2hyb21lLXdpdGgteXVtLW9uLWZlZG9yYS1yZWQtaGF0LXJoZWwvKTxicj48
YnI+IyMjIEZpbGV6aWxsYTxicj48YnI+Q29tbyBjbGllbnRlIGRlIEZUUCBoZSBlbGVnaWRvIGVs
IEZpbGVaaWxsYS4gJm5ic3A7PGJyPlBhcmEgbGEgaW5zdGFsYWNpw7NuIGhlIGVqZWN1dGFkbyBs
b3Mgc2lndWllbnRlcyBjb21hbmRvczo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gZG5mIGluc3Rh
bGwgZmlsZXppbGxhPGJyPmBgYDxicj48YnI+IyMjIEhhcm9vcGFkPGJyPjxicj5QYXJhIG3DrSBl
cyBlbCBlZGl0b3IgcXVlIHVzbyBhIGRpYXJpbyB5IGNvbiBlbCBxdWUgZ2VuZXJvIGxhIG1heW9y
w61hIGRlIGxhIGRvY3VtZW50YWNpw7NuLjxicj48YnI+IyMjIyBSZXF1ZXJpbWllbnRvcyBwcmV2
aW9zPGJyPjxicj5TZSBoYSBkZSBpbnN0YWxhciBsYSBzaWd1aWVudGUgbGlicmVyw61hOjxicj48
YnI+YGBgIGJhc2g8YnI+c3VkbyBkbmYgaW5zdGFsbCBzeXN0ZW1kLWxpYnMuaTY4NiAteTxicj5g
YGA8YnI+PGJyPiMjIyMgSW5zdGFsYWNpw7NuIGRlIGhhcm9vcGFkPGJyPjxicj5FbCBwYXF1ZXRl
IGRlIGluc3RhbGFjacOzbiBsbyBoZSBkZXNjYXJhZG8gZGVzZGUgbGEgW3DDoWdpbmEgZGUgSGFy
b29wYWRdKGh0dHA6Ly9wYWQuaGFyb29wcmVzcy5jb20vdXNlci5odG1sKS4gJm5ic3A7PGJyPkVs
IGxpbmsgZGUgZGVzY2FyZ2EgcXVlIGhlIHV0aWxpemFkbyBlczogW0xpbnV4IEJpbmFyeSAoNjRi
aXQpXShodHRwczovL2JpdGJ1Y2tldC5vcmcvcmhpb2tpbS9oYXJvb3BhZC1kb3dubG9hZC9kb3du
bG9hZHMvaGFyb29wYWQtdjAuMTMuMS14NjQudGFyLmd6KSB5IGxhIGRlc2NhcmdhIGxhIGhlIHJl
YWxpemFkbyBkZW50cm8gZGVsIGRpcmVjdG9yaW8gYH4vRGVzY2FyZ2FzYDxicj48YnI+TG9zIGNv
bWFuZG9zIHF1ZSBoZSB1dGlsaXphZG8gcGFyYSByZWFsaXphciBsYSBpbnN0YWxhY2nDs24gc29u
Ojxicj48YnI+YGBgIGJhc2g8YnI+Y2Qgfi9EZXNjYXJnYXM8YnI+PGJyPnRhciB6eHZmIGhhcm9v
cGFkLXYwLjEzLjEteDY0LnRhci5nejxicj48YnI+dGFyIC16eHZmIGRhdGEudGFyLmd6PGJyPnN1
ZG8gY3AgLVIgLi91c3IgLzxicj48YnI+dGFyIHp4ZiBjb250cm9sLnRhci5nejxicj5jaG1vZCA3
NTUgcG9zdGluc3Q8YnI+c3VkbyAuL3Bvc3RpbnN0PGJyPmBgYDxicj48YnI+UGFyYSBzb2x1Y2lv
bmFyIGVsIHByb2JsZW1hIGRlIHF1ZSBubyBzZSB2ZSBlbCBpY29ubyBzZSBoYW4gZGUgcmVhbGl6
YXIgbGFzIHNpZ3VpZW50ZXMgbW9kaWZpY2FjaW9uZXMgZW4gZWwgZmljaGVybyBgL3Vzci9zaGFy
ZS9hcHBsaWNhdGlvbnMvSGFyb29wYWQuZGVza3RvcGAuPGJyPlNlIGhhIGRlIHJlZW1wbGF6YXIg
bGEgbGluZWEgYEljb249aGFyb29wYWRgIHBvciBgSWNvbj0vdXNyL3NoYXJlL2ljb25zL2hpY29s
b3IvMTI4eDEyOC9hcHBzL2hhcm9vcGFkLnBuZ2AuPGJyPjxicj48YnI+IyMjIGF0b208YnI+PGJy
PkNvbW8gZWRpdG9yIGRlIGPDs2RpZ28gaGUgZWxlZ2lkbyBhIFthdG9tXShodHRwOi8vYXRvbS5p
bykgcG9yIHN1IHNpbXBsaWNpZGFkIHkgc3UgY2FwYWNpZGFkIGRlIGFtcGxpYXJzZSBjb24gcGx1
Z2lucy48YnI+PGJyPiMjIyMgSW5zdGFsYWNpw7NuOjxicj48YnI+RWwgcGFxdWV0ZSBkZSBpbnN0
YWxhY2nDs24gbG8gaGUgZGVzY2FyYWRvIGRlc2RlIGxhIFtww6FnaW5hIGRlIGF0b21dKGh0dHA6
Ly9hdG9tLmlvKS4gJm5ic3A7PGJyPkVsIGxpbmsgZGUgZGVzY2FyZ2EgcXVlIGhlIHV0aWxpemFk
byBlczogW2h0dHBzOi8vYXRvbS5pby9kb3dubG9hZC9ycG1dKGh0dHBzOi8vYXRvbS5pby9kb3du
bG9hZC9ycG0pIHkgbGEgZGVzY2FyZ2EgbGEgaGUgcmVhbGl6YWRvIGRlbnRybyBkZWwgZGlyZWN0
b3JpbyBgfi9EZXNjYXJnYXNgPGJyPjxicj5Mb3MgY29tYW5kb3MgcXVlIGhlIHV0aWxpemFkbyBw
YXJhIHJlYWxpemFyIGxhIGluc3RhbGFjacOzbiBzb246PGJyPjxicj5gYGAgYmFzaDxicj5jZCB+
L0Rlc2Nhcmdhczxicj5zdWRvIHJwbSAtaXZoIGF0b20ueDg2XzY0LnJwbTxicj5gYGA8YnI+PGJy
PkVuIGNhc28gZGUgZXJyb3IgcG9yIGRlcGVuZGVuY2lhcyBzZSBwdWVkZSBpbnN0YWxhciBlamVj
dXRhbmRvIGxvcyBzaWd1aWVudGVzIGNvbWFuZG9zOjxicj48YnI+YGBgIGJhc2g8YnI+Y2Qgfi9E
ZXNjYXJnYXM8YnI+c3VkbyBkbmYgaW5zdGFsbCBhdG9tLng4Nl82NC5ycG08YnI+YGBgPGJyPjxi
cj4jIyMjIHBsdWdpbnMgYXRvbTxicj48YnI+TG9zIHBsdWdpbnMgcXVlIGhlIGluc3RhbGFkbyBk
ZW50cm8gZGUgYXRvbSBoYW4gc2lkbyBsb3Mgc2lndWllbnRlczo8YnI+PGJyPiogQW5ndWxhckpT
IHN1cHBvcnQgaW4gQXRvbTxicj4qIGF0b20tYmVhdXRpZnk8YnI+KiBhdG9tLWZvcm1hdHRlci1q
c2JlYXV0aWZ5PGJyPiogTWFya2Rvd24gcHJldmlldzxicj48YnI+IyMjIENvbnRyb2wgZGUgdmVy
c2lvbmVzPGJyPjxicj5Db21vIGNvbnRyb2wgZGUgdmVyc2lvbmVzIHZveSBhIHVzYXIgZ2l0LCB5
YSBxdWUgbWkgaW50ZW5jacOzbiBlcyBwdWJsaWNhciBzb2JyZSBnaXRodWIuPGJyPjxicj5QYXJh
IGFjY2VkZXIgYSBsb3MgcHJveWVjdG9zIGd1YXJkYWRvcyBlbiBHaXRIdWIgaGUgaW5zdGFsYWRv
IGxvcyBzaWd1aWVudGVzIGNsaWVudGVzIGRlIEdpdC48YnI+PGJyPiMjIyMgR2l0PGJyPjxicj5F
c3RlIGVzIGVsIGNsaWVudGUgdXNhZG8gcGFyYSBjdWFuZG8gcXVpZXJhIHRyYWJhamFyIHBvciBs
w61uZWEgZGUgY29tYW5kb3MuICZuYnNwOzxicj5QYXJhIGxhIGluc3RhbGFjacOzbiBoZSBlamVj
dXRhZG8gbG9zIHNpZ3VpZW50ZXMgY29tYW5kb3M6PGJyPjxicj5gYGAgYmFzaDxicj5zdWRvIGRu
ZiBpbnN0YWxsIGdpdDxicj5gYGA8YnI+PGJyPiMjIyMgU21hcnRHaXQ8YnI+PGJyPkNvbW8gY2xp
ZW50ZSBncsOhZmljbyBoZSBlbGVnaWRvIFtTbWFydEdpdF0oaHR0cDovL3d3dy5zeW50ZXZvLmNv
bS9zbWFydGdpdC8pLjxicj48YnI+IyMjIyMgUmVxdWVyaW1pZW50b3M8YnI+PGJyPlNlIGhhIGRl
IGluc3RhbGFyIGphdmE6PGJyPjxicj5gYGAgYmFzaDxicj5zdWRvIGRuZiBpbnN0YWxsIGphdmE8
YnI+YGBgPGJyPjxicj4jIyMjIyBJbnN0YWxhY2nDs246PGJyPjxicj5FbCBwYXF1ZXRlIGRlIGlu
c3RhbGFjacOzbiBsbyBoZSBkZXNjYXJhZG8gZGVzZGUgbGEgW3DDoWdpbmEgZGUgU21hcnRHaXRd
KGh0dHA6Ly93d3cuc3ludGV2by5jb20vc21hcnRnaXQvKS4gJm5ic3A7PGJyPkVsIGxpbmsgZGUg
ZGVzY2FyZ2EgcXVlIGhlIHV0aWxpemFkbyBlczogW2h0dHA6Ly93d3cuc3ludGV2by5jb20vc21h
cnRnaXQvZG93bmxvYWQ/ZmlsZT1zbWFydGdpdC9zbWFydGdpdC1saW51eC03XzFfMi50YXIuZ3pd
KGh0dHA6Ly93d3cuc3ludGV2by5jb20vc21hcnRnaXQvZG93bmxvYWQ/ZmlsZT1zbWFydGdpdC9z
bWFydGdpdC1saW51eC03XzFfMi50YXIuZ3opIHkgbGEgZGVzY2FyZ2EgbGEgaGUgcmVhbGl6YWRv
IGRlbnRybyBkZWwgZGlyZWN0b3JpbyBgfi9EZXNjYXJnYXNgPGJyPjxicj5Mb3MgY29tYW5kb3Mg
ZWplY3V0YWRvcyBwYXJhIGxhIGluc3RhbGFjacOzbiBoYW4gc2lkbzxicj48YnI+YGBgIGJhc2g8
YnI+Y2Qgfi9EZXNjYXJnYXM8YnI+dGFyIHp4dmYgc21hcnRnaXQtbGludXgtN18xXzIudGFyLmd6
IC1DIC90bXAvPGJyPnN1ZG8gbXYgL3RtcC9zbWFydGdpdCAvb3B0Lzxicj5zdWRvIGxuIC1zIC9v
cHQvc21hcnRnaXQvYmluL3NtYXJ0Z2l0LnNoIC91c3IvbG9jYWwvYmluL3NtYXJ0Z2l0PGJyPjxi
cj5zdWRvIC9vcHQvc21hcnRnaXQvYmluL2FkZC1tZW51aXRlbS5zaDxicj5gYGA8YnI+PGJyPiMj
IyMgSW5mb3JtYWNpw7NuIGFkaWNpb25hbDo8YnI+PGJyPmh0dHA6Ly90dXRvcmlhbGZvcmxpbnV4
LmNvbS8yMDE0LzEyLzEwL2hvdy10by1pbnN0YWxsLXNtYXJ0Z2l0LWNsaWVudC1vbi1mZWRvcmEt
MzItNjRiaXQtbGludXgvPGJyPmh0dHA6Ly90dXRvcmlhbGZvcmxpbnV4LmNvbS8yMDE0LzEyLzEw
L2hvdy10by1jcmVhdGUtYS1zbWFydGdpdC1saW51eC1kZXNrdG9wLW1lbnUtbGF1bmNoZXItZWFz
eS1ndWlkZS88YnI+PGJyPiMjIEluc3RhbGFjacOzbiBkZSBBbmd1bGFySlMgeSBOb2RlSlM8YnI+
PGJyPiMjIyBBbmd1bGFySlM8YnI+PGJyPk5vIHJlcXVpZXJlIGluc3RhbGFjacOzbi48YnI+PGJy
PiMjIyMgSW5mb3JtYWNpw7NuIGFkaWNpb25hbDxicj5odHRwczovL2FuZ3VsYXJqcy5vcmcvPGJy
Pmh0dHBzOi8vY2FybG9zYXphdXN0cmUuZXMvYmxvZy9lbXBlemFuZG8tY29uLWFuZ3VsYXItanMv
PGJyPmh0dHBzOi8vY2FybG9zYXphdXN0cmUuZXMvYmxvZy90dXRvcmlhbC1lamVtcGxvLWRlLWFw
bGljYWNpb24td2ViLWNvbi1hbmd1bGFyLWpzLXktYXBpLXJlc3QtY29uLW5vZGUvPGJyPjxicj4j
IyMgTm9kZUpTPGJyPjxicj5QYXJhIGxhIGluc3RhbGFjacOzbiBkZSBbTm9kZUpTXShodHRwczov
L25vZGVqcy5vcmcvKSBoZSBlbGVnaWRvIGxhIMO6bHRpbWEgdmVyc2nDs24gKGVuIGVsIG1vbWVu
dG8gZGUgZXNjcmliaXIgZWwgYXJ0w61jdWxvIGVzIGxhIDYueCkgeSBoZSBlamVjdXRhZG8gbG9z
IHNpZ3VpZW50ZXMgY29tYW5kb3M6PGJyPjxicj5gYGAgYmFzaDxicj5zdSAtPGJyPmN1cmwgLS1z
aWxlbnQgLS1sb2NhdGlvbiBodHRwczovL3JwbS5ub2Rlc291cmNlLmNvbS9zZXR1cF82LnggfCBi
YXNoIC08YnI+ZG5mIC15IGluc3RhbGwgbm9kZWpzIG5wbSBnY2MtYysrIG1ha2U8YnI+YGBgPGJy
Pjxicj4jIyMjIyBJbmZvcm1hY2nDs24gYWRpY2lvbmFsPGJyPjxicj5bSW5zdGFsbGluZyBOb2Rl
LmpzIHZpYSBwYWNrYWdlIG1hbmFnZXJdKGh0dHBzOi8vbm9kZWpzLm9yZy9lbi9kb3dubG9hZC9w
YWNrYWdlLW1hbmFnZXIvI2VudGVycHJpc2UtbGludXgtYW5kLWZlZG9yYSk8YnI+PGJyPiMjIyBi
b3dlcjxicj48YnI+TG9zIGNvbWFuZG9zIHF1ZSBoZSB1dGlsaXphZG8gcGFyYSByZWFsaXphciBs
YSBpbnN0YWxhY2nDs24gZGUgW0Jvd2VyXShodHRwczovL2Jvd2VyLmlvLykgc29uOjxicj48YnI+
YGBgIGJhc2g8YnI+bnBtIGluc3RhbGwgLWcgYm93ZXI8YnI+YGBgPGJyPjxicj4jIyMgR3J1bnQ8
YnI+PGJyPkxvcyBjb21hbmRvcyBxdWUgaGUgdXRpbGl6YWRvIHBhcmEgcmVhbGl6YXIgbGEgaW5z
dGFsYWNpw7NuIGRlIFtHcnVudF0oaHR0cDovL2dydW50anMuY29tLykgc29uOjxicj48YnI+YGBg
IGJhc2g8YnI+bnBtIGluc3RhbGwgLWcgZ3J1bnQtY2xpPGJyPmBgYDxicj48YnI+PC9kaXY+&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/1885320550702344497/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2016/06/maquina-virtual-de-desarrollo-para.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/1885320550702344497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/1885320550702344497'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2016/06/maquina-virtual-de-desarrollo-para.html' title='Máquina virtual de desarrollo para proyectos de AngularJS y NodeJS'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-6902999634448084267</id><published>2016-06-23T00:34:00.000+02:00</published><updated>2016-06-23T01:12:21.975+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cubieboard"/><category scheme="http://www.blogger.com/atom/ns#" term="Cubietruck"/><title type='text'>Información sobre la CPU de la cubietruck (cubieboard 3)</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=6902999634448084267&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h2 id=&quot;finalidad-de-art-culo&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Finalidad de artículo&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
La finalidad de este artículo es ampliar la información sobre el estado de la cubietruck que &lt;a href=&quot;http://blog.juansal.com/2014/12/informacion-sobre-temperatura-y-discos.html&quot;&gt;creé anteriormente&lt;/a&gt; y ampliar la información a mostrar en la web generada en el &lt;a href=&quot;http://blog.juansal.com/2015/07/web-con-informacion-sobre-temperatura-y.html&quot;&gt;artículo anterior&lt;/a&gt;.&lt;/div&gt;
&lt;h2 id=&quot;nuevos-comandos-instalados&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Nuevos comandos instalados&lt;/h2&gt;
&lt;h3 id=&quot;htop&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
htop&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
htop es un visor de procesos interactivo para Linux. Es una aplicación en modo texto (para consola o terminales X) y requiere ncurses.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;apt-get install htop
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;scripts-adicionales-con-informaci-n-de-cpu-y-memoria&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Scripts adicionales con información de CPU y memoria&lt;/h2&gt;
&lt;h3 id=&quot;informaci-n-del-uso-de-cpu-global-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información del uso de CPU global:&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El nombre usado para el script ha sido &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;val_CPU.sh&lt;/code&gt; y se ha guardado dentro de &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;/home/linaro/scripts&lt;/code&gt;.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El script realiza 2 lecturas del fichero &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;/proc/stat&lt;/code&gt; con una diferencia de tiempo de 1 segundo, de esta forma resta las dos lecturas y devuelve el uso de CPU durante el último segundo. La variable que consulta es &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;cpu&lt;/code&gt;.&lt;/div&gt;
&lt;h4 id=&quot;contenido-del-script&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Contenido del script&lt;/h4&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-shebang&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#!/bin/bash
&lt;/span&gt;
function &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;valor_USUARIO&lt;/span&gt;&lt;/span&gt; ()
{
    CPU_AUX=&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$2&lt;/span&gt;
    &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_AUX&lt;/span&gt;
}

function &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;valor_NICE&lt;/span&gt;&lt;/span&gt; ()
{
    CPU_AUX=&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$3&lt;/span&gt;
    &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_AUX&lt;/span&gt;
}

function &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;valor_SISTEMA&lt;/span&gt;&lt;/span&gt; ()
{
    CPU_AUX=&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$4&lt;/span&gt;
    &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_AUX&lt;/span&gt;
}

function &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;valor_IDLE&lt;/span&gt;&lt;/span&gt; ()
{
    CPU_AUX=&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$5&lt;/span&gt;
    &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_AUX&lt;/span&gt;
}

INT_CPU1=$(cat /proc/stat | grep cpu | head -n1)
sleep &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;
INT_CPU2=$(cat /proc/stat | grep cpu | head -n1)

CPU_USUARIO1=`valor_USUARIO &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU1&lt;/span&gt;`
CPU_USUARIO2=`valor_USUARIO &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU2&lt;/span&gt;`

CPU_NICE1=`valor_NICE &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU1&lt;/span&gt;`
CPU_NICE2=`valor_NICE &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU2&lt;/span&gt;`

CPU_SISTEMA1=`valor_SISTEMA &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU1&lt;/span&gt;`
CPU_SISTEMA2=`valor_SISTEMA &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU2&lt;/span&gt;`

CPU_IDLE1=`valor_IDLE &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU1&lt;/span&gt;`
CPU_IDLE2=`valor_IDLE &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU2&lt;/span&gt;`

CPU_USUARIO=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_USUARIO2&lt;/span&gt; - &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_USUARIO1&lt;/span&gt;`
CPU_NICE=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_NICE2&lt;/span&gt; - &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_NICE1&lt;/span&gt;`
CPU_SISTEMA=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_SISTEMA2&lt;/span&gt; - &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_SISTEMA1&lt;/span&gt;`
CPU_IDLE=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_IDLE2&lt;/span&gt; - &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_IDLE1&lt;/span&gt;`

CPU_TOTAL=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_USUARIO&lt;/span&gt; + &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_SISTEMA&lt;/span&gt; + &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_NICE&lt;/span&gt;`
CPU_MAXIMA=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_TOTAL&lt;/span&gt; + &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_IDLE&lt;/span&gt;`

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# RATIO_CPU_USUARIO=`expr $CPU_USUARIO \* 100 / $CPU_MAXIMA`&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# RATIO_CPU_SISTEMA=`expr $CPU_SISTEMA \* 100 / $CPU_MAXIMA`&lt;/span&gt;
RATIO_CPU_TOTAL=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_TOTAL&lt;/span&gt; \* &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;100&lt;/span&gt; / &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_MAXIMA&lt;/span&gt;`

&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$RATIO_CPU_TOTAL&lt;/span&gt;&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;ejemplo-de-llamada&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Ejemplo de llamada&lt;/h4&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;/home/linaro/scripts/var_CPU.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;ejemplo-de-resultado&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Ejemplo de resultado&lt;/h4&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;53
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;informaci-n-del-uso-de-uno-de-los-cores-de-la-cpu-&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información del uso de uno de los cores de la CPU:&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El nombre usado para el script ha sido &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;val_CPU_id.sh&lt;/code&gt; y se le pasa un parámetro con el identificador del core.&lt;br /&gt;El identificador de core empieza en 0.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El script realiza 2 lecturas del fichero &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;/proc/stat&lt;/code&gt; con una diferencia de tiempo de 1 segundo, de esta forma resta las dos lecturas y devuelve el uso de CPU durante el último segundo. La variable que consulta es &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;cpu?&lt;/code&gt;, siendo &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;?&lt;/code&gt; el número de core deseado.&lt;/div&gt;
&lt;h4 id=&quot;contenido-del-script&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Contenido del script&lt;/h4&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-shebang&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;#!/bin/bash
&lt;/span&gt;
function &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;valor_USUARIO&lt;/span&gt;&lt;/span&gt; ()
{
    CPU_AUX=&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$2&lt;/span&gt;
    &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_AUX&lt;/span&gt;
}

function &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;valor_NICE&lt;/span&gt;&lt;/span&gt; ()
{
    CPU_AUX=&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$3&lt;/span&gt;
    &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_AUX&lt;/span&gt;
}

function &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;valor_SISTEMA&lt;/span&gt;&lt;/span&gt; ()
{
    CPU_AUX=&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$4&lt;/span&gt;
    &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_AUX&lt;/span&gt;
}

function &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;color: #990000; font-weight: bold;&quot;&gt;valor_IDLE&lt;/span&gt;&lt;/span&gt; ()
{
    CPU_AUX=&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$5&lt;/span&gt;
    &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_AUX&lt;/span&gt;
}

INT_CPU1=$(cat /proc/stat | grep cpu&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$1&lt;/span&gt;)
sleep &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt;
INT_CPU2=$(cat /proc/stat | grep cpu&lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$1&lt;/span&gt;)

CPU_USUARIO1=`valor_USUARIO &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU1&lt;/span&gt;`
CPU_USUARIO2=`valor_USUARIO &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU2&lt;/span&gt;`

CPU_NICE1=`valor_NICE &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU1&lt;/span&gt;`
CPU_NICE2=`valor_NICE &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU2&lt;/span&gt;`

CPU_SISTEMA1=`valor_SISTEMA &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU1&lt;/span&gt;`
CPU_SISTEMA2=`valor_SISTEMA &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU2&lt;/span&gt;`

CPU_IDLE1=`valor_IDLE &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU1&lt;/span&gt;`
CPU_IDLE2=`valor_IDLE &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$INT_CPU2&lt;/span&gt;`

CPU_USUARIO=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_USUARIO2&lt;/span&gt; - &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_USUARIO1&lt;/span&gt;`
CPU_NICE=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_NICE2&lt;/span&gt; - &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_NICE1&lt;/span&gt;`
CPU_SISTEMA=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_SISTEMA2&lt;/span&gt; - &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_SISTEMA1&lt;/span&gt;`
CPU_IDLE=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_IDLE2&lt;/span&gt; - &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_IDLE1&lt;/span&gt;`

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# CPU_USUARIO=$(cat /proc/stat | grep cpu0 | cut -f2 -d &quot; &quot;)&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# CPU_NICE=$(cat /proc/stat | grep cpu0 | cut -f3 -d &quot; &quot;)&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# CPU_SISTEMA=$(cat /proc/stat | grep cpu0 | cut -f4 -d &quot; &quot;)&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# CPU_IDLE=$(cat /proc/stat | grep cpu0 | cut -f5 -d &quot; &quot;)&lt;/span&gt;

CPU_TOTAL=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_USUARIO&lt;/span&gt; + &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_SISTEMA&lt;/span&gt; + &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_NICE&lt;/span&gt;`
CPU_MAXIMA=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_TOTAL&lt;/span&gt; + &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_IDLE&lt;/span&gt;`

&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# RATIO_CPU_USUARIO=`expr $CPU_USUARIO \* 100 / $CPU_MAXIMA`&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;color: #999988; font-style: italic;&quot;&gt;# RATIO_CPU_SISTEMA=`expr $CPU_SISTEMA \* 100 / $CPU_MAXIMA`&lt;/span&gt;
RATIO_CPU_TOTAL=`expr &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_TOTAL&lt;/span&gt; \* &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;100&lt;/span&gt; / &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$CPU_MAXIMA&lt;/span&gt;`

&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;hljs-variable&quot; style=&quot;color: teal;&quot;&gt;$RATIO_CPU_TOTAL&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;ejemplo-de-llamada&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Ejemplo de llamada&lt;/h4&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;/home/linaro/scripts/var_CPU_id.sh &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;ejemplo-de-resultado&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Ejemplo de resultado&lt;/h4&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;5
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;p-gina-web-modificada-para-mostrar-la-nueva-informaci-n-obtenida&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Página web modificada para mostrar la nueva información obtenida&lt;/h2&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-php&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-preprocessor&quot; style=&quot;color: #999999; font-weight: bold;&quot;&gt;&amp;lt;?php

echo &#39;&amp;lt;Hr /&amp;gt;&amp;lt;H2&amp;gt;CPU&amp;lt;/H2&amp;gt;&#39;;

echo &#39;&amp;lt;Hr /&amp;gt;&amp;lt;h3&amp;gt;Uso CPU&amp;lt;/h3&amp;gt; &amp;lt;hr /&amp;gt;&#39;;
echo &#39;&amp;lt;pre&amp;gt;&#39;;
echo &#39;CPU total: &#39;;
echo exec(&#39;/home/linaro/scripts/var_CPU.sh&#39;);
echo &#39; % &#39;;
echo &#39;CPU 0: &#39;;
echo exec(&#39;/home/linaro/scripts/var_CPU_id.sh 0&#39;);
echo &#39; % &#39;;
echo &#39;CPU 1: &#39;;
echo exec(&#39;/home/linaro/scripts/var_CPU_id.sh 1&#39;);
echo &#39; %&#39;;
echo &#39;&amp;lt;/pre&amp;gt;&#39;;

echo &#39;&amp;lt;Hr /&amp;gt;&amp;lt;h3&amp;gt;Temperatura CPU&amp;lt;/h3&amp;gt;&amp;lt;hr /&amp;gt;&#39;;
echo &#39;&amp;lt;pre&amp;gt;&#39;;
$ultima_linea = system(&#39;/home/linaro/scripts/temperatura.sh&#39;, $retval);
echo &#39;&amp;lt;/pre&amp;gt;&#39;;

echo &#39;&amp;lt;Hr /&amp;gt;&#39;;


echo &#39;&amp;lt;br/&amp;gt;&#39;;
echo &#39;&amp;lt;br/&amp;gt;&#39;;


echo &#39;&amp;lt;Hr /&amp;gt;&amp;lt;H2&amp;gt;DISCO DURO&amp;lt;/H2&amp;gt;&#39;;

echo &#39;&amp;lt;Hr /&amp;gt;&amp;lt;h3&amp;gt;Temperatura disco duro&amp;lt;/h3&amp;gt;&amp;lt;hr /&amp;gt;&#39;;
echo &#39;&amp;lt;pre&amp;gt;&#39;;
$ultima_linea = system(&#39;sudo hddtemp /dev/sda&#39;, $retval);
echo &#39;&amp;lt;/pre&amp;gt;&#39;;

echo &#39;&amp;lt;Hr /&amp;gt;&amp;lt;h3&amp;gt;Espacio en disco&amp;lt;/h3&amp;gt;&amp;lt;hr /&amp;gt;&#39;;
echo &#39;&amp;lt;pre&amp;gt;&#39;;
$ultima_linea = system(&#39;df -h&#39;, $retval);
echo &#39;&amp;lt;/pre&amp;gt;&#39;;

echo &#39;&amp;lt;Hr /&amp;gt;&amp;lt;h3&amp;gt;SMART disco duro&amp;lt;/h3&amp;gt;&amp;lt;hr /&amp;gt;&#39;;
echo &#39;&amp;lt;pre&amp;gt;&#39;;
$ultima_linea = system(&#39;sudo smartctl -A /dev/sda&#39;, $retval);
echo &#39;&amp;lt;/pre&amp;gt;&#39;;

echo &#39;&amp;lt;Hr /&amp;gt;&#39;;
?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PGRpdiBjbGFzcz0ibWFya2Rvd24taGVyZS13cmFwcGVyIiBkYXRhLWJsb2dnZXItZXNjYXBlZC1k
YXRhLW1kLXVybD0iaHR0cHM6Ly93d3cuYmxvZ2dlci5jb20vYmxvZ2dlci5nP2Jsb2dJRD05MDM2
MTIwNzQxNzM0MTE0MDkjZWRpdG9yL3RhcmdldD1wb3N0O3Bvc3RJRD02OTAyOTk5NjM0NDQ4MDg0
MjY3IiBkYXRhLWJsb2dnZXItZXNjYXBlZC1tYXJrZG93bi1oZXJlLXdyYXBwZXItY29udGVudC1t
b2RpZmllZD0idHJ1ZSI+IyMgRmluYWxpZGFkIGRlIGFydMOtY3Vsbzxicj48YnI+TGEgZmluYWxp
ZGFkIGRlIGVzdGUgYXJ0w61jdWxvIGVzIGFtcGxpYXIgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVs
IGVzdGFkbyBkZSBsYSBjdWJpZXRydWNrIHF1ZSBbY3Jlw6kgYW50ZXJpb3JtZW50ZV0oaHR0cDov
L2Jsb2cuanVhbnNhbC5jb20vMjAxNC8xMi9pbmZvcm1hY2lvbi1zb2JyZS10ZW1wZXJhdHVyYS15
LWRpc2Nvcy5odG1sKSB5IGFtcGxpYXIgbGEgaW5mb3JtYWNpw7NuIGEgbW9zdHJhciBlbiBsYSB3
ZWIgZ2VuZXJhZGEgZW4gZWwgW2FydMOtY3VsbyBhbnRlcmlvcl0oaHR0cDovL2Jsb2cuanVhbnNh
bC5jb20vMjAxNS8wNy93ZWItY29uLWluZm9ybWFjaW9uLXNvYnJlLXRlbXBlcmF0dXJhLXkuaHRt
bCkuPGJyPjxicj4jIyBOdWV2b3MgY29tYW5kb3MgaW5zdGFsYWRvczxicj48YnI+IyMjIGh0b3A8
YnI+PGJyPmh0b3AgZXMgdW4gdmlzb3IgZGUgcHJvY2Vzb3MgaW50ZXJhY3Rpdm8gcGFyYSBMaW51
eC4gRXMgdW5hIGFwbGljYWNpw7NuIGVuIG1vZG8gdGV4dG8gKHBhcmEgY29uc29sYSBvIHRlcm1p
bmFsZXMgWCkgeSByZXF1aWVyZSBuY3Vyc2VzLjxicj48YnI+YGBgIGJhc2g8YnI+YXB0LWdldCBp
bnN0YWxsIGh0b3A8YnI+YGBgPGJyPjxicj4jIyBTY3JpcHRzIGFkaWNpb25hbGVzIGNvbiBpbmZv
cm1hY2nDs24gZGUgQ1BVIHkgbWVtb3JpYTxicj48YnI+IyMjIEluZm9ybWFjacOzbiBkZWwgdXNv
IGRlIENQVSBnbG9iYWw6PGJyPjxicj5FbCBub21icmUgdXNhZG8gcGFyYSBlbCBzY3JpcHQgaGEg
c2lkbyBgdmFsX0NQVS5zaGAgeSBzZSBoYSBndWFyZGFkbyBkZW50cm8gZGUgYC9ob21lL2xpbmFy
by9zY3JpcHRzYC48YnI+PGJyPkVsIHNjcmlwdCByZWFsaXphIDIgbGVjdHVyYXMgZGVsIGZpY2hl
cm8gYC9wcm9jL3N0YXRgIGNvbiB1bmEgZGlmZXJlbmNpYSBkZSB0aWVtcG8gZGUgMSBzZWd1bmRv
LCBkZSBlc3RhIGZvcm1hIHJlc3RhIGxhcyBkb3MgbGVjdHVyYXMgeSBkZXZ1ZWx2ZSBlbCB1c28g
ZGUgQ1BVIGR1cmFudGUgZWwgw7psdGltbyBzZWd1bmRvLiBMYSB2YXJpYWJsZSBxdWUgY29uc3Vs
dGEgZXMgYGNwdWAuPGJyPjxicj4jIyMjIENvbnRlbmlkbyBkZWwgc2NyaXB0PGJyPjxicj5gYGAg
YmFzaDxicj4jIS9iaW4vYmFzaDxicj48YnI+ZnVuY3Rpb24gdmFsb3JfVVNVQVJJTyAoKTxicj57
PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBDUFVfQVVYPSQyPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBl
Y2hvICRDUFVfQVVYPGJyPn08YnI+PGJyPmZ1bmN0aW9uIHZhbG9yX05JQ0UgKCk8YnI+ezxicj4m
bmJzcDsmbmJzcDsmbmJzcDsgQ1BVX0FVWD0kMzxicj4mbmJzcDsmbmJzcDsmbmJzcDsgZWNobyAk
Q1BVX0FVWDxicj59PGJyPjxicj5mdW5jdGlvbiB2YWxvcl9TSVNURU1BICgpPGJyPns8YnI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7IENQVV9BVVg9JDQ8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVjaG8gJENQ
VV9BVVg8YnI+fTxicj48YnI+ZnVuY3Rpb24gdmFsb3JfSURMRSAoKTxicj57PGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyBDUFVfQVVYPSQ1PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBlY2hvICRDUFVfQVVY
PGJyPn08YnI+PGJyPklOVF9DUFUxPSQoY2F0IC9wcm9jL3N0YXQgfCBncmVwIGNwdSB8IGhlYWQg
LW4xKTxicj5zbGVlcCAxPGJyPklOVF9DUFUyPSQoY2F0IC9wcm9jL3N0YXQgfCBncmVwIGNwdSB8
IGhlYWQgLW4xKTxicj48YnI+Q1BVX1VTVUFSSU8xPWB2YWxvcl9VU1VBUklPICRJTlRfQ1BVMWA8
YnI+Q1BVX1VTVUFSSU8yPWB2YWxvcl9VU1VBUklPICRJTlRfQ1BVMmA8YnI+PGJyPkNQVV9OSUNF
MT1gdmFsb3JfTklDRSAkSU5UX0NQVTFgPGJyPkNQVV9OSUNFMj1gdmFsb3JfTklDRSAkSU5UX0NQ
VTJgPGJyPjxicj5DUFVfU0lTVEVNQTE9YHZhbG9yX1NJU1RFTUEgJElOVF9DUFUxYDxicj5DUFVf
U0lTVEVNQTI9YHZhbG9yX1NJU1RFTUEgJElOVF9DUFUyYDxicj48YnI+Q1BVX0lETEUxPWB2YWxv
cl9JRExFICRJTlRfQ1BVMWA8YnI+Q1BVX0lETEUyPWB2YWxvcl9JRExFICRJTlRfQ1BVMmA8YnI+
PGJyPkNQVV9VU1VBUklPPWBleHByICRDUFVfVVNVQVJJTzIgLSAkQ1BVX1VTVUFSSU8xYDxicj5D
UFVfTklDRT1gZXhwciAkQ1BVX05JQ0UyIC0gJENQVV9OSUNFMWA8YnI+Q1BVX1NJU1RFTUE9YGV4
cHIgJENQVV9TSVNURU1BMiAtICRDUFVfU0lTVEVNQTFgPGJyPkNQVV9JRExFPWBleHByICRDUFVf
SURMRTIgLSAkQ1BVX0lETEUxYDxicj48YnI+Q1BVX1RPVEFMPWBleHByICRDUFVfVVNVQVJJTyAr
ICRDUFVfU0lTVEVNQSArICRDUFVfTklDRWA8YnI+Q1BVX01BWElNQT1gZXhwciAkQ1BVX1RPVEFM
ICsgJENQVV9JRExFYDxicj48YnI+PGJyPiMgUkFUSU9fQ1BVX1VTVUFSSU89YGV4cHIgJENQVV9V
U1VBUklPIFwqIDEwMCAvICRDUFVfTUFYSU1BYDxicj4jIFJBVElPX0NQVV9TSVNURU1BPWBleHBy
ICRDUFVfU0lTVEVNQSBcKiAxMDAgLyAkQ1BVX01BWElNQWA8YnI+UkFUSU9fQ1BVX1RPVEFMPWBl
eHByICRDUFVfVE9UQUwgXCogMTAwIC8gJENQVV9NQVhJTUFgPGJyPjxicj5lY2hvICIkUkFUSU9f
Q1BVX1RPVEFMIjxicj5gYGA8YnI+PGJyPiMjIyMgRWplbXBsbyBkZSBsbGFtYWRhPGJyPjxicj5g
YGAgYmFzaDxicj4vaG9tZS9saW5hcm8vc2NyaXB0cy92YXJfQ1BVLnNoPGJyPmBgYDxicj48YnI+
IyMjIyBFamVtcGxvIGRlIHJlc3VsdGFkbzxicj48YnI+YGBgPGJyPjUzPGJyPmBgYDxicj48YnI+
IyMjIEluZm9ybWFjacOzbiBkZWwgdXNvIGRlIHVubyBkZSBsb3MgY29yZXMgZGUgbGEgQ1BVOjxi
cj48YnI+RWwgbm9tYnJlIHVzYWRvIHBhcmEgZWwgc2NyaXB0IGhhIHNpZG8gYHZhbF9DUFVfaWQu
c2hgIHkgc2UgbGUgcGFzYSB1biBwYXLDoW1ldHJvIGNvbiBlbCBpZGVudGlmaWNhZG9yIGRlbCBj
b3JlLjxicj5FbCBpZGVudGlmaWNhZG9yIGRlIGNvcmUgZW1waWV6YSBlbiAwLjxicj48YnI+RWwg
c2NyaXB0IHJlYWxpemEgMiBsZWN0dXJhcyBkZWwgZmljaGVybyBgL3Byb2Mvc3RhdGAgY29uIHVu
YSBkaWZlcmVuY2lhIGRlIHRpZW1wbyBkZSAxIHNlZ3VuZG8sIGRlIGVzdGEgZm9ybWEgcmVzdGEg
bGFzIGRvcyBsZWN0dXJhcyB5IGRldnVlbHZlIGVsIHVzbyBkZSBDUFUgZHVyYW50ZSBlbCDDumx0
aW1vIHNlZ3VuZG8uIExhIHZhcmlhYmxlIHF1ZSBjb25zdWx0YSBlcyBgY3B1P2AsIHNpZW5kbyBg
P2AgZWwgbsO6bWVybyBkZSBjb3JlIGRlc2VhZG8uPGJyPjxicj4jIyMjIENvbnRlbmlkbyBkZWwg
c2NyaXB0PGJyPjxicj5gYGAgYmFzaDxicj4jIS9iaW4vYmFzaDxicj48YnI+ZnVuY3Rpb24gdmFs
b3JfVVNVQVJJTyAoKTxicj57PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBDUFVfQVVYPSQyPGJyPiZu
YnNwOyZuYnNwOyZuYnNwOyBlY2hvICRDUFVfQVVYPGJyPn08YnI+PGJyPmZ1bmN0aW9uIHZhbG9y
X05JQ0UgKCk8YnI+ezxicj4mbmJzcDsmbmJzcDsmbmJzcDsgQ1BVX0FVWD0kMzxicj4mbmJzcDsm
bmJzcDsmbmJzcDsgZWNobyAkQ1BVX0FVWDxicj59PGJyPjxicj5mdW5jdGlvbiB2YWxvcl9TSVNU
RU1BICgpPGJyPns8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IENQVV9BVVg9JDQ8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IGVjaG8gJENQVV9BVVg8YnI+fTxicj48YnI+ZnVuY3Rpb24gdmFsb3JfSURMRSAo
KTxicj57PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBDUFVfQVVYPSQ1PGJyPiZuYnNwOyZuYnNwOyZu
YnNwOyBlY2hvICRDUFVfQVVYPGJyPn08YnI+PGJyPklOVF9DUFUxPSQoY2F0IC9wcm9jL3N0YXQg
fCBncmVwIGNwdSQxKTxicj5zbGVlcCAxPGJyPklOVF9DUFUyPSQoY2F0IC9wcm9jL3N0YXQgfCBn
cmVwIGNwdSQxKTxicj48YnI+Q1BVX1VTVUFSSU8xPWB2YWxvcl9VU1VBUklPICRJTlRfQ1BVMWA8
YnI+Q1BVX1VTVUFSSU8yPWB2YWxvcl9VU1VBUklPICRJTlRfQ1BVMmA8YnI+PGJyPkNQVV9OSUNF
MT1gdmFsb3JfTklDRSAkSU5UX0NQVTFgPGJyPkNQVV9OSUNFMj1gdmFsb3JfTklDRSAkSU5UX0NQ
VTJgPGJyPjxicj5DUFVfU0lTVEVNQTE9YHZhbG9yX1NJU1RFTUEgJElOVF9DUFUxYDxicj5DUFVf
U0lTVEVNQTI9YHZhbG9yX1NJU1RFTUEgJElOVF9DUFUyYDxicj48YnI+Q1BVX0lETEUxPWB2YWxv
cl9JRExFICRJTlRfQ1BVMWA8YnI+Q1BVX0lETEUyPWB2YWxvcl9JRExFICRJTlRfQ1BVMmA8YnI+
PGJyPkNQVV9VU1VBUklPPWBleHByICRDUFVfVVNVQVJJTzIgLSAkQ1BVX1VTVUFSSU8xYDxicj5D
UFVfTklDRT1gZXhwciAkQ1BVX05JQ0UyIC0gJENQVV9OSUNFMWA8YnI+Q1BVX1NJU1RFTUE9YGV4
cHIgJENQVV9TSVNURU1BMiAtICRDUFVfU0lTVEVNQTFgPGJyPkNQVV9JRExFPWBleHByICRDUFVf
SURMRTIgLSAkQ1BVX0lETEUxYDxicj48YnI+IyBDUFVfVVNVQVJJTz0kKGNhdCAvcHJvYy9zdGF0
IHwgZ3JlcCBjcHUwIHwgY3V0IC1mMiAtZCAiICIpPGJyPiMgQ1BVX05JQ0U9JChjYXQgL3Byb2Mv
c3RhdCB8IGdyZXAgY3B1MCB8IGN1dCAtZjMgLWQgIiAiKTxicj4jIENQVV9TSVNURU1BPSQoY2F0
IC9wcm9jL3N0YXQgfCBncmVwIGNwdTAgfCBjdXQgLWY0IC1kICIgIik8YnI+IyBDUFVfSURMRT0k
KGNhdCAvcHJvYy9zdGF0IHwgZ3JlcCBjcHUwIHwgY3V0IC1mNSAtZCAiICIpPGJyPjxicj5DUFVf
VE9UQUw9YGV4cHIgJENQVV9VU1VBUklPICsgJENQVV9TSVNURU1BICsgJENQVV9OSUNFYDxicj5D
UFVfTUFYSU1BPWBleHByICRDUFVfVE9UQUwgKyAkQ1BVX0lETEVgPGJyPjxicj48YnI+IyBSQVRJ
T19DUFVfVVNVQVJJTz1gZXhwciAkQ1BVX1VTVUFSSU8gXCogMTAwIC8gJENQVV9NQVhJTUFgPGJy
PiMgUkFUSU9fQ1BVX1NJU1RFTUE9YGV4cHIgJENQVV9TSVNURU1BIFwqIDEwMCAvICRDUFVfTUFY
SU1BYDxicj5SQVRJT19DUFVfVE9UQUw9YGV4cHIgJENQVV9UT1RBTCBcKiAxMDAgLyAkQ1BVX01B
WElNQWA8YnI+PGJyPmVjaG8gJFJBVElPX0NQVV9UT1RBTDxicj5gYGA8YnI+PGJyPiMjIyMgRWpl
bXBsbyBkZSBsbGFtYWRhPGJyPjxicj5gYGAgYmFzaDxicj4vaG9tZS9saW5hcm8vc2NyaXB0cy92
YXJfQ1BVX2lkLnNoIDA8YnI+YGBgPGJyPjxicj4jIyMjIEVqZW1wbG8gZGUgcmVzdWx0YWRvPGJy
Pjxicj5gYGA8YnI+NTxicj5gYGA8YnI+PGJyPjxicj4jIyBQw6FnaW5hIHdlYiBtb2RpZmljYWRh
IHBhcmEgbW9zdHJhciBsYSBudWV2YSBpbmZvcm1hY2nDs24gb2J0ZW5pZGE8YnI+PGJyPmBgYCBw
aHA8YnI+Jmx0Oz9waHA8YnI+PGJyPmVjaG8gJyZsdDtIciAvJmd0OyZsdDtIMiZndDtDUFUmbHQ7
L0gyJmd0Oyc7PGJyPjxicj5lY2hvICcmbHQ7SHIgLyZndDsmbHQ7aDMmZ3Q7VXNvIENQVSZsdDsv
aDMmZ3Q7ICZsdDtociAvJmd0Oyc7PGJyPmVjaG8gJyZsdDtwcmUmZ3Q7Jzs8YnI+ZWNobyAnQ1BV
IHRvdGFsOiAnOzxicj5lY2hvIGV4ZWMoJy9ob21lL2xpbmFyby9zY3JpcHRzL3Zhcl9DUFUuc2gn
KTs8YnI+ZWNobyAnICUgJzs8YnI+ZWNobyAnQ1BVIDA6ICc7PGJyPmVjaG8gZXhlYygnL2hvbWUv
bGluYXJvL3NjcmlwdHMvdmFyX0NQVV9pZC5zaCAwJyk7PGJyPmVjaG8gJyAlICc7PGJyPmVjaG8g
J0NQVSAxOiAnOzxicj5lY2hvIGV4ZWMoJy9ob21lL2xpbmFyby9zY3JpcHRzL3Zhcl9DUFVfaWQu
c2ggMScpOzxicj5lY2hvICcgJSc7PGJyPmVjaG8gJyZsdDsvcHJlJmd0Oyc7PGJyPjxicj5lY2hv
ICcmbHQ7SHIgLyZndDsmbHQ7aDMmZ3Q7VGVtcGVyYXR1cmEgQ1BVJmx0Oy9oMyZndDsmbHQ7aHIg
LyZndDsnOzxicj5lY2hvICcmbHQ7cHJlJmd0Oyc7PGJyPiR1bHRpbWFfbGluZWEgPSBzeXN0ZW0o
Jy9ob21lL2xpbmFyby9zY3JpcHRzL3RlbXBlcmF0dXJhLnNoJywgJHJldHZhbCk7PGJyPmVjaG8g
JyZsdDsvcHJlJmd0Oyc7PGJyPjxicj5lY2hvICcmbHQ7SHIgLyZndDsnOzxicj48YnI+PGJyPmVj
aG8gJyZsdDtici8mZ3Q7Jzs8YnI+ZWNobyAnJmx0O2JyLyZndDsnOzxicj48YnI+PGJyPmVjaG8g
JyZsdDtIciAvJmd0OyZsdDtIMiZndDtESVNDTyBEVVJPJmx0Oy9IMiZndDsnOzxicj48YnI+ZWNo
byAnJmx0O0hyIC8mZ3Q7Jmx0O2gzJmd0O1RlbXBlcmF0dXJhIGRpc2NvIGR1cm8mbHQ7L2gzJmd0
OyZsdDtociAvJmd0Oyc7PGJyPmVjaG8gJyZsdDtwcmUmZ3Q7Jzs8YnI+JHVsdGltYV9saW5lYSA9
IHN5c3RlbSgnc3VkbyBoZGR0ZW1wIC9kZXYvc2RhJywgJHJldHZhbCk7PGJyPmVjaG8gJyZsdDsv
cHJlJmd0Oyc7PGJyPjxicj5lY2hvICcmbHQ7SHIgLyZndDsmbHQ7aDMmZ3Q7RXNwYWNpbyBlbiBk
aXNjbyZsdDsvaDMmZ3Q7Jmx0O2hyIC8mZ3Q7Jzs8YnI+ZWNobyAnJmx0O3ByZSZndDsnOzxicj4k
dWx0aW1hX2xpbmVhID0gc3lzdGVtKCdkZiAtaCcsICRyZXR2YWwpOzxicj5lY2hvICcmbHQ7L3By
ZSZndDsnOzxicj48YnI+ZWNobyAnJmx0O0hyIC8mZ3Q7Jmx0O2gzJmd0O1NNQVJUIGRpc2NvIGR1
cm8mbHQ7L2gzJmd0OyZsdDtociAvJmd0Oyc7PGJyPmVjaG8gJyZsdDtwcmUmZ3Q7Jzs8YnI+JHVs
dGltYV9saW5lYSA9IHN5c3RlbSgnc3VkbyBzbWFydGN0bCAtQSAvZGV2L3NkYScsICRyZXR2YWwp
Ozxicj5lY2hvICcmbHQ7L3ByZSZndDsnOzxicj48YnI+ZWNobyAnJmx0O0hyIC8mZ3Q7Jzs8YnI+
PyZndDs8YnI+YGBgPGJyPjxicj48L2Rpdj4=&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/6902999634448084267/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2016/06/informacion-sobre-la-cpu-de-la.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/6902999634448084267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/6902999634448084267'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2016/06/informacion-sobre-la-cpu-de-la.html' title='Información sobre la CPU de la cubietruck (cubieboard 3)'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-144514607929587370</id><published>2016-04-11T23:49:00.002+02:00</published><updated>2016-04-12T00:32:42.211+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="Artículo en inglés"/><title type='text'>Opening system of a showcase with arduino</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=144514607929587370&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h2 id=&quot;description&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Description&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
The purpose of the project is to create a system of selective opening of shop windows.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
The requirements are:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;There are a total of 8 windows.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;They must be able to open each of the 8 windows independently.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;They must be able to open all the windows at once.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;The time during which the locks must be opened is 1 minute.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;There are 3 bolts for window.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMmAzUdjzpzDpSLQhVHwLMRNF7BD5LVmpdJld8UhOpA-osMTqXctDqGHSCAmxdfjfIF-H-vUmta1VEFdNT-kis3r5l_vcJBaeVMYlMWifR55tSkEcvk1egkLHhKq0Qzxg8PyfSHPjDmmr1/s1600/IMG-20150816-WA0000.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMmAzUdjzpzDpSLQhVHwLMRNF7BD5LVmpdJld8UhOpA-osMTqXctDqGHSCAmxdfjfIF-H-vUmta1VEFdNT-kis3r5l_vcJBaeVMYlMWifR55tSkEcvk1egkLHhKq0Qzxg8PyfSHPjDmmr1/s640/IMG-20150816-WA0000.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2 id=&quot;instructions&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instructions&lt;/h2&gt;
&lt;h3 id=&quot;components-used&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Components used&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
The components used have been:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.kitprinter3d.com/es/electronica/99-fuente-de-alimentacion-conmutada-12v-30a.html&quot;&gt;Power supply 12V 30A&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ebay.es/itm/311064700128?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&quot;&gt;Arduino nano v 3.0 5v&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.aliexpress.com/item/10pcslot-LM2596s-DC-DC-step-down-power-supply-module-3A-adjustable-step-down-module-LM2596-voltage/1289330336.html&quot;&gt;Step down power supply module LM2596s&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ereshop.com/shop/relays-c-143_178/i2c-bus-high-current-relay-12v-pcf8574-p-739.html&quot;&gt;I2C Relay 12V 10A&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.ereshop.com/shop/index.php?main_page=product_info&amp;amp;cPath=68_185&amp;amp;products_id=803&amp;amp;zenid=bad04c23e16790298fa3003dd156a414&quot;&gt;Membrane keypad 4x3&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://es.aliexpress.com/item/5pcs-9-15-cm-Printed-Circuit-Board-9X15-cm-Universal-PCB-Board-Double-Sided-Prototype-PCB/32254187154.html?adminSeq=221739572&amp;amp;shopNumber=1403485&quot;&gt;PCB board 9x15 mm&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.ereshop.com/shop/index.php?main_page=product_info&amp;amp;cPath=177&amp;amp;products_id=798&amp;amp;zenid=bad04c23e16790298fa3003dd156a414&quot;&gt;4-pin 2.00mm through-hole&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.ereshop.com/shop/index.php?main_page=product_info&amp;amp;cPath=173&amp;amp;products_id=743&amp;amp;zenid=bad04c23e16790298fa3003dd156a414&quot;&gt;4W 2.00mm 4F/4F 6”&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;2 x 10k resistors&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://es.aliexpress.com/wholesale?catId=0&amp;amp;initiative_id=SB_20151102121134&amp;amp;SearchText=solenoid+door+lock+12v+0.8a&quot;&gt;Bolt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGkFgUBDJxViKgaLE1sWwlqcV1NGAohvHJ6KdUNdupOtUS_Qv3TalUdckJfnBLjJH52zmNqhg6vaP9XEniid9Pk84UdsBlFXNxgGJcYtR-ShYg5jsS9EyLtQwNUddgalEOnKNmTQx3wYXE/s1600/Cerrojo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGkFgUBDJxViKgaLE1sWwlqcV1NGAohvHJ6KdUNdupOtUS_Qv3TalUdckJfnBLjJH52zmNqhg6vaP9XEniid9Pk84UdsBlFXNxgGJcYtR-ShYg5jsS9EyLtQwNUddgalEOnKNmTQx3wYXE/s400/Cerrojo.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;assembly-of-the-circuit&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Assembly of the circuit&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
The Fritzing scheme is as follows:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCK8QAAM25tpdHFNuSuWhyQxAi2cVOTJB6IlMQi_PJ9guUGzNwtbYX1np9zhERVS4Zb6Sa83zfbUUrIfshjHxmUx6RzO5i-VN_bsHHFod1hXUlXgqo1gr8MmBc8rLk0vTks-Fw_qq1y9Sr/s1600/Vitrinas_tienda_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;472&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCK8QAAM25tpdHFNuSuWhyQxAi2cVOTJB6IlMQi_PJ9guUGzNwtbYX1np9zhERVS4Zb6Sa83zfbUUrIfshjHxmUx6RzO5i-VN_bsHHFod1hXUlXgqo1gr8MmBc8rLk0vTks-Fw_qq1y9Sr/s640/Vitrinas_tienda_bb.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
As can be seen in the following images, the system has been mounted on a pcb board 9x15.&lt;br /&gt;
The power supply has been chosen of 30A because each of the bolts uses 900 mA and there are 24 of these.&lt;br /&gt;
The LM2596S module has been used to reduce the input voltage to the Arduino from 12V to 6V.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Images of the system mounted inside the laboratory:&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnewZUuzjC3TP2f3PoUQMkbBp25Q-p6o1BdnH0oJA59DSUIj-heQpzCnrsK1jamH_kYEsa4hYPbF2zheJGMo2g1UXdQd-axQO-TaU259ZOMCmbfN7s4dug8QRJTCmWiwn9s1Ut_cicl4mb/s1600/Galeria_01.JPG&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;427&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnewZUuzjC3TP2f3PoUQMkbBp25Q-p6o1BdnH0oJA59DSUIj-heQpzCnrsK1jamH_kYEsa4hYPbF2zheJGMo2g1UXdQd-axQO-TaU259ZOMCmbfN7s4dug8QRJTCmWiwn9s1Ut_cicl4mb/s640/Galeria_01.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Upper detail of the assembled PCB.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkqt2Qou67UIKma3ni8vxNZ3EosLSf9_raEGhP5kVL06Q5XO7c1L2gSr-M6Z-7DCy71giLGQ9Cc2bDnPo8mOpCPvoBwWmcoDyzhIr2E4RCA8ykHgNT-C04dMaYPEMzK2Zm0rOyAc8u4V6Q/s1600/Galeria_02.JPG&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkqt2Qou67UIKma3ni8vxNZ3EosLSf9_raEGhP5kVL06Q5XO7c1L2gSr-M6Z-7DCy71giLGQ9Cc2bDnPo8mOpCPvoBwWmcoDyzhIr2E4RCA8ykHgNT-C04dMaYPEMzK2Zm0rOyAc8u4V6Q/s640/Galeria_02.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bottom detail of the assembled PCB.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYpQTQMIXz5TZ1_sZrk9At2M7MaSJIziyLX0shd_FMXO9bZ0I4hCXyqgaoC7zu39_tYTBqu-NDjy0ON54bJoqIyPjq3-5RiK5nMjxA3gcl40-3mtHev5YZcFE7nDW69NaQM4ayk7DZO68o/s1600/Galeria_03.jpg&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYpQTQMIXz5TZ1_sZrk9At2M7MaSJIziyLX0shd_FMXO9bZ0I4hCXyqgaoC7zu39_tYTBqu-NDjy0ON54bJoqIyPjq3-5RiK5nMjxA3gcl40-3mtHev5YZcFE7nDW69NaQM4ayk7DZO68o/s640/Galeria_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Keyboard and relay block.&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTFoYnbuj-U3GhrnCztwUNTHA6cFzCsJHj4Z6uxC8V2HMOOKIBfdsIO_uDj7GELpuJVv5D3Yf9pGznkyraOWMux5-GOPuACQ_aVWjev9WOvqGS5EvikOJhPpMWPcNTQJ6tr8GwRmV1cuGy/s1600/Galeria_04.JPG&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTFoYnbuj-U3GhrnCztwUNTHA6cFzCsJHj4Z6uxC8V2HMOOKIBfdsIO_uDj7GELpuJVv5D3Yf9pGznkyraOWMux5-GOPuACQ_aVWjev9WOvqGS5EvikOJhPpMWPcNTQJ6tr8GwRmV1cuGy/s640/Galeria_04.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Connection of the relay block.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFJ0W_xQaQSbByM3GYJg5Djxry1db7XU-Hx3XzTlzLXgDQ9tTcYhz1qac3tPkRS2_U6nDqW88iNC49dAoKY3NSNs7SZ_3m5OG6dGA4UQyymywpNl8RxhkLPocdk1jz3SimVRGL3Mx2HIy8/s1600/Galeria_05.JPG&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFJ0W_xQaQSbByM3GYJg5Djxry1db7XU-Hx3XzTlzLXgDQ9tTcYhz1qac3tPkRS2_U6nDqW88iNC49dAoKY3NSNs7SZ_3m5OG6dGA4UQyymywpNl8RxhkLPocdk1jz3SimVRGL3Mx2HIy8/s640/Galeria_05.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Complete system.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;software&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
&lt;/h3&gt;
&lt;h3 id=&quot;software&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
&lt;/h3&gt;
&lt;h3 id=&quot;software&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
To verify the address I2C of the relay block has been used the program called  &lt;a href=&quot;http://todbot.com/blog/2009/11/29/i2cscanner-pde-arduino-as-i2c-bus-scanner/&quot;&gt;Arduino I2c Scanner&lt;/a&gt;.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
The libraries used have been:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://whatsbroken.com.au/arduino-i2c-relays/i2c_rl8xxm/&quot;&gt;I2C_RL8xxM&lt;/a&gt;: library used to access the relay block.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Wire: library used to I2C connections and is a dependenciy of the I2C_RL8xxM library.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.arduino.cc/playground/uploads/Code/Keypad.zip&quot;&gt;keypad&lt;/a&gt;: library used to manage the membrane keypad 4x3.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
The code of the Arduino is the following:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;/div&gt;
&lt;iframe allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; src=&quot;https://codebender.cc/embed/sketch:178358&quot; style=&quot;height: 510px; margin: 10px 0 10px; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h2 style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Complementary and additional places in which the article has been published:&lt;/h2&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://codebender.cc/sketch:178358&quot; target=&quot;_blank&quot;&gt;Codebender&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.instructables.com/id/Opening-System-of-a-Showcase-With-Arduino&quot; target=&quot;_blank&quot;&gt;Instructables&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/11/sistema-de-apertura-de-un-escaparate.html&quot;&gt;Article in Spanish&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;/ul&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:IyMgRGVzY3JpcHRpb248YnI+PGJyPlRoZSBwdXJwb3NlIG9mIHRoZSBwcm9qZWN0IGlzIHRvIGNy
ZWF0ZSBhIHN5c3RlbSBvZiBzZWxlY3RpdmUgb3BlbmluZyBvZiBzaG9wIHdpbmRvd3MuPGJyPjxi
cj5UaGUgcmVxdWlyZW1lbnRzIGFyZTo8YnI+PGJyPi0gVGhlcmUgYXJlIGEgdG90YWwgb2YgOCB3
aW5kb3dzLjxicj4tIFRoZXkgbXVzdCBiZSBhYmxlIHRvIG9wZW4gZWFjaCBvZiB0aGUgOCB3aW5k
b3dzIGluZGVwZW5kZW50bHkuPGJyPi0gVGhleSBtdXN0IGJlIGFibGUgdG8gb3BlbiBhbGwgdGhl
IHdpbmRvd3MgYXQgb25jZS48YnI+LSBUaGUgdGltZSBkdXJpbmcgd2hpY2ggdGhlIGxvY2tzIG11
c3QgYmUgb3BlbmVkIGlzIDEgbWludXRlLjxicj4tIFRoZXJlIGFyZSAzIGJvbHRzIGZvciB3aW5k
b3cuPGJyPjxicj4hW1Nob3AgV2luZG93XSguL2ltYWdlbmVzL0Rlc2NyaXBjaW9uXzAxLmpwZyk8
YnI+PGJyPiMjIEluc3RydWN0aW9uczxicj48YnI+IyMjIENvbXBvbmVudHMgdXNlZDxicj48YnI+
VGhlIGNvbXBvbmVudHMgdXNlZCBoYXZlIGJlZW46PGJyPjxicj4tIFtQb3dlciBzdXBwbHkgMTJW
IDMwQV0oaHR0cDovL3d3dy5raXRwcmludGVyM2QuY29tL2VzL2VsZWN0cm9uaWNhLzk5LWZ1ZW50
ZS1kZS1hbGltZW50YWNpb24tY29ubXV0YWRhLTEydi0zMGEuaHRtbCk8YnI+LSBbQXJkdWlubyBu
YW5vIHYgMy4wIDV2XShodHRwOi8vd3d3LmViYXkuZXMvaXRtLzMxMTA2NDcwMDEyOD9fdHJrc2lk
PXAyMDYwMzUzLm0yNzQ5LmwyNjQ5JmFtcDtzc1BhZ2VOYW1lPVNUUkslM0FNRUJJRFglM0FJVCk8
YnI+LSBbU3RlcCBkb3duIHBvd2VyIHN1cHBsaSBtZHVsZSBMTTI1OTZzXShodHRwOi8vd3d3LmFs
aWV4cHJlc3MuY29tL2l0ZW0vMTBwY3Nsb3QtTE0yNTk2cy1EQy1EQy1zdGVwLWRvd24tcG93ZXIt
c3VwcGx5LW1vZHVsZS0zQS1hZGp1c3RhYmxlLXN0ZXAtZG93bi1tb2R1bGUtTE0yNTk2LXZvbHRh
Z2UvMTI4OTMzMDMzNi5odG1sKTxicj4tIFtJMkMgUmVsYXkgMTJWIDEwQV0oaHR0cDovL3d3dy5l
cmVzaG9wLmNvbS9zaG9wL3JlbGF5cy1jLTE0M18xNzgvaTJjLWJ1cy1oaWdoLWN1cnJlbnQtcmVs
YXktMTJ2LXBjZjg1NzQtcC03MzkuaHRtbCk8YnI+LSBbTWVtYnJhbmUga2V5cGFkIDR4M10oaHR0
cHM6Ly93d3cuZXJlc2hvcC5jb20vc2hvcC9pbmRleC5waHA/bWFpbl9wYWdlPXByb2R1Y3RfaW5m
byZhbXA7Y1BhdGg9NjhfMTg1JmFtcDtwcm9kdWN0c19pZD04MDMmYW1wO3plbmlkPWJhZDA0YzIz
ZTE2NzkwMjk4ZmEzMDAzZGQxNTZhNDE0KTxicj4tIFtQQ0IgYm9hcmQgOXgxNSBtbV0oaHR0cDov
L2VzLmFsaWV4cHJlc3MuY29tL2l0ZW0vNXBjcy05LTE1LWNtLVByaW50ZWQtQ2lyY3VpdC1Cb2Fy
ZC05WDE1LWNtLVVuaXZlcnNhbC1QQ0ItQm9hcmQtRG91YmxlLVNpZGVkLVByb3RvdHlwZS1QQ0Iv
MzIyNTQxODcxNTQuaHRtbD9hZG1pblNlcT0yMjE3Mzk1NzImYW1wO3Nob3BOdW1iZXI9MTQwMzQ4
NSk8YnI+LSBbNC1waW4gMi4wMG1tIHRocm91Z2gtaG9sZV0oaHR0cHM6Ly93d3cuZXJlc2hvcC5j
b20vc2hvcC9pbmRleC5waHA/bWFpbl9wYWdlPXByb2R1Y3RfaW5mbyZhbXA7Y1BhdGg9MTc3JmFt
cDtwcm9kdWN0c19pZD03OTgmYW1wO3plbmlkPWJhZDA0YzIzZTE2NzkwMjk4ZmEzMDAzZGQxNTZh
NDE0KTxicj4tIFs0VyAyLjAwbW0gNEYvNEYgNiJdKGh0dHBzOi8vd3d3LmVyZXNob3AuY29tL3No
b3AvaW5kZXgucGhwP21haW5fcGFnZT1wcm9kdWN0X2luZm8mYW1wO2NQYXRoPTE3MyZhbXA7cHJv
ZHVjdHNfaWQ9NzQzJmFtcDt6ZW5pZD1iYWQwNGMyM2UxNjc5MDI5OGZhMzAwM2RkMTU2YTQxNCk8
YnI+LSAyIHggMTBrIHJlc2lzdG9yczxicj4tIFtCb2x0XShodHRwOi8vZXMuYWxpZXhwcmVzcy5j
b20vd2hvbGVzYWxlP2NhdElkPTAmYW1wO2luaXRpYXRpdmVfaWQ9U0JfMjAxNTExMDIxMjExMzQm
YW1wO1NlYXJjaFRleHQ9c29sZW5vaWQrZG9vcitsb2NrKzEydiswLjhhKTxicj4hW0JvbHRdKC4v
aW1hZ2VuZXMvQ2Vycm9qby5qcGcpPGJyPjxicj4jIyMgQXNzZW1ibHkgb2YgdGhlIGNpcmN1aXQ8
YnI+PGJyPlRoZSBGcml0emluZyBzY2hlbWUgaXMgYXMgZm9sbG93czo8YnI+PGJyPiFbU2NoZW1l
IHVzaW5nIEZyaXR6aW5nXSguL2ltYWdlbmVzL1ZpdHJpbmFzX3RpZW5kYV9iYi5wbmcpPGJyPjxi
cj5BcyBjYW4gYmUgc2VlbiBpbiB0aGUgZm9sbG93aW5nIGltYWdlcywgdGhlIHN5c3RlbSBoYXMg
YmVlbiBtb3VudGVkIG9uIGEgcGNiIGJvYXJkIDl4MTUuwqAgPGJyPlRoZSBwb3dlciBzdXBwbHkg
aGFzIGJlZW4gY2hvc2VuIG9mIDMwQSBiZWNhdXNlIGVhY2ggb2YgdGhlIGJvbHRzIHVzZXMgOTAw
IG1BIGFuZCB0aGVyZSBhcmUgMjQgb2YgdGhlc2UuwqAgPGJyPlRoZSBMTTI1OTZTIG1vZHVsZSBo
YXMgYmVlbiB1c2VkIHRvIHJlZHVjZSB0aGUgaW5wdXQgdm9sdGFnZSB0byB0aGUgQXJkdWlubyBm
cm9tIDEyViB0byA2Vi48YnI+PGJyPkltYWdlcyBvZiB0aGUgc3lzdGVtIG1vdW50ZWQgaW5zaWRl
IHRoZSBsYWJvcmF0b3J5Ojxicj48YnI+IVtHYWxsZXJ5XzAxXSguL2ltYWdlbmVzL0dhbGVyaWFf
MDEuSlBHKTxicj4mZ3Q7IFVwcGVyIGRldGFpbCBvZiB0aGUgYXNzZW1ibGVkIFBDQi48YnI+PGJy
PiFbR2FsbGVyeV8wMl0oLi9pbWFnZW5lcy9HYWxlcmlhXzAyLkpQRyk8YnI+Jmd0OyBCb3R0b20g
ZGV0YWlsIG9mIHRoZSBhc3NlbWJsZWQgUENCLjxicj48YnI+IVtHYWxsZXJ5XzAzXSguL2ltYWdl
bmVzL0dhbGVyaWFfMDMuanBnKTxicj4mZ3Q7IEtleWJvYXJkIGFuZCByZWxheSBibG9jay48YnI+
PGJyPiFbR2FsbGVyeV8wNF0oLi9pbWFnZW5lcy9HYWxlcmlhXzA0LkpQRyk8YnI+Jmd0OyBDb25u
ZWN0aW9uIG9mIHRoZSByZWxheSBibG9jay48YnI+PGJyPiFbR2FsbGVyeV8wNV0oLi9pbWFnZW5l
cy9HYWxlcmlhXzA1LkpQRyk8YnI+Jmd0OyBDb21wbGV0ZSBzeXN0ZW0uPGJyPjxicj4jIyMgU29m
dHdhcmU8YnI+PGJyPlRvIHZlcmlmeSB0aGUgYWRkcmVzcyBJMkMgb2YgdGhlIHJlbGF5IGJsb2Nr
IGhhcyBiZWVuIHVzZWQgdGhlIHByb2dyYW0gY2FsbGVkwqAgW0FyZHVpbm8gSTJjIFNjYW5uZXJd
KGh0dHA6Ly90b2Rib3QuY29tL2Jsb2cvMjAwOS8xMS8yOS9pMmNzY2FubmVyLXBkZS1hcmR1aW5v
LWFzLWkyYy1idXMtc2Nhbm5lci8pLjxicj48YnI+VGhlIGxpYnJhcmllcyB1c2VkIGhhdmUgYmVl
bjo8YnI+PGJyPiogW0kyQ19STDh4eE1dKGh0dHA6Ly93aGF0c2Jyb2tlbi5jb20uYXUvYXJkdWlu
by1pMmMtcmVsYXlzL2kyY19ybDh4eG0vKTogbGlicmFyeSB1c2VkIHRvIGFjY2VzcyB0aGUgcmVs
YXkgYmxvY2suPGJyPiogV2lyZTogbGlicmFyeSB1c2VkIHRvIEkyQyBjb25uZWN0aW9ucyBhbmQg
aXMgYSBkZXBlbmRlbmNpeSBvZiB0aGUgSTJDX1JMOHh4TSBsaWJyYXJ5Ljxicj4qIFtrZXlwYWRd
KGh0dHA6Ly93d3cuYXJkdWluby5jYy9wbGF5Z3JvdW5kL3VwbG9hZHMvQ29kZS9LZXlwYWQuemlw
KTogbGlicmFyeSB1c2VkIHRvIG1hbmFnZSB0aGUgbWVtYnJhbmUga2V5cGFkIDR4My48YnI+PGJy
PlRoZSBjb2RlIG9mIHRoZSBBcmR1aW5vIGlzIHRoZSBmb2xsb3dpbmc6PGJyPjxicj5gYGAgY3Bw
PGJyPiNpbmNsdWRlICZsdDtXaXJlLmgmZ3Q7PGJyPiNpbmNsdWRlICZsdDtJMkNfUkw4eHhNLmgm
Z3Q7PGJyPiNpbmNsdWRlICZsdDtLZXlwYWQuaCZndDs8YnI+PGJyPi8qKjxicj5GaWxhcyB5IGNv
bHVtbmFzIGRlbCB0ZWNsYWRvPGJyPiovPGJyPmNvbnN0IGJ5dGUgUk9XUyA9IDQ7PGJyPmNvbnN0
IGJ5dGUgQ09MUyA9IDM7PGJyPjxicj4vKio8YnI+QGJyaWVmIEFzaWduYWNpw7NuIGRlIHBpbnMg
ZGUgbGFzIHBhdGFzPGJyPiovPGJyPmJ5dGUgcm93UGluc1tST1dTXSA9IHs5LCA4LCA3LCA2fTs8
YnI+Ynl0ZSBjb2xQaW5zW0NPTFNdID0gezUsIDQsIDN9Ozxicj48YnI+LyoqPGJyPkBicmllZiBE
ZWZpbmUgbG9zIHNpbWJvbG9zIGRlIGxvcyBib3RvbmVzIGRlbCB0ZWNsYWRvPGJyPiovPGJyPmNo
YXIgS2V5c1tST1dTXVtDT0xTXSA9PGJyPns8YnI+wqAgeycxJywgJzInLCAnMyd9LDxicj7CoCB7
JzQnLCAnNScsICc2J30sPGJyPsKgIHsnNycsICc4JywgJzknfSw8YnI+wqAgeycqJywgJzAnLCAn
Iyd9PGJyPn07PGJyPjxicj4vKio8YnI+QGJyaWVmIEluaWNpYWxpemEgZWwgdGVjbGFkbzxicj4q
Lzxicj5LZXlwYWQga2V5cGFkID0gS2V5cGFkKG1ha2VLZXltYXAoS2V5cyksIHJvd1BpbnMsIGNv
bFBpbnMsIFJPV1MsIENPTFMpOzxicj48YnI+Y2hhciBrZXk7PGJyPjxicj4vL1RpZW1wbyByZXN0
YW50ZSBkZSBib3RvbmVzPGJyPmludCBib3RvbmVzWzhdID0geyAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwfTs8YnI+PGJyPmludCBlc3RhZG9Cb3RvbmVzWzhdID0gezAsIDAsIDAsIDAsIDAsIDAsIDAs
IDB9OyAvLyAwIGVzIGRlc2FjdGl2YWRvIHkgMSBlcyBhY3RpdmFkby48YnI+PGJyPmludCBzZWd1
bmRvc0VzcGVyYSA9IDYwOzxicj48YnI+Ly9TZSBkZWNsYXJhIHVuYSB2YXJpYWJsZSBxdWUgYWxt
YWNlbmFyw6EgZWwgdGllbXBvIGFjdHVhbCAocmVhbCkgdHJhbnNjdXJyaWRvPGJyPi8vZGVzZGUg
cXVlIHNlIGVuY2llbmRlIGxhIHBsYWNhLjxicj51bnNpZ25lZCBsb25nIHRpZW1wbyA9IDA7PGJy
Pjxicj4vL1NlIGRlY2xhcmEgdW5hIHZhcmlhYmxlIHF1ZSBhbG1hY2VuYXLDoSBlbCDDumx0aW1v
IHZhbG9yIGRlIHRpZW1wbyBlbiBlbCBxdWUgc2U8YnI+Ly9lamVjdXTDsyBsYSBpbnN0cnVjY2nD
s24gKGRlbGF5KS48YnI+dW5zaWduZWQgbG9uZyB0X2FjdHVhbGl6YWRvID0gMDs8YnI+PGJyPi8v
U2UgZGVjbGFyYSB1bmEgdmFyaWFibGUgcXVlIGFsbWFjZW5hcsOhIGVsIHRpZW1wbyBxdWUgc2Ug
ZGVzZWEgcXVlIGR1cmUgZWwgZGVsYXkuPGJyPnVuc2lnbmVkIGxvbmcgdF9kZWxheSA9IDEwMDA7
IC8vIFBvciBzZXIgbWlsaXNlZ3VuZG9zLCBub3MgZXNwZXJhbW9zIHVuIHNlZ3VuZG8uPGJyPjxi
cj48YnI+aW50IERpclJlbGVzID0gMzI7PGJyPjxicj5JMkNfUkw4eHhNIHJiIChEaXJSZWxlcyk7
PGJyPjxicj5pbnQgcGluTGVkID0gMTM7PGJyPjxicj52b2lkIHNldHVwKCk8YnI+ezxicj7CoCBT
ZXJpYWwuYmVnaW4oOTYwMCk7IC8vUGFyYSBkZWJ1Zzxicj7CoCBTZXJpYWwucHJpbnRsbigiSW5p
Y2lvIik7PGJyPjxicj7CoCBXaXJlLmJlZ2luKCk7IC8vSW5pY2lhbGl6YSBlbCBJMkMgY29tbyBt
YXN0ZXI8YnI+wqAga2V5cGFkLmFkZEV2ZW50TGlzdGVuZXIoa2V5cGFkRXZlbnQpOyAvLyBBw7Fh
ZGUgdW4gZ2VzdG9yIGRlIGV2ZW50b3MgcGFyYSBlbCB0ZWNsYWRvPGJyPjxicj7CoCBwaW5Nb2Rl
KDEzLCBPVVRQVVQpOzxicj59PGJyPjxicj52b2lkIGFjdGl2YVJlbGUoaW50IG51bVJlbGUpPGJy
Pns8YnI+wqAgU2VyaWFsLnByaW50KCJSZWxlIGFjdGl2YWRvOiAiKTs8YnI+wqAgU2VyaWFsLnBy
aW50bG4obnVtUmVsZSk7PGJyPjxicj7CoCBpZiAoZXN0YWRvQm90b25lc1tudW1SZWxlIC0gMV0g
PT0gMCk8YnI+wqAgezxicj7CoMKgwqAgZXN0YWRvQm90b25lc1tudW1SZWxlIC0gMV0gPSAxOzxi
cj7CoMKgwqAgYm90b25lc1tudW1SZWxlIC0gMV0gPSBzZWd1bmRvc0VzcGVyYSArIDI7PGJyPjxi
cj7CoMKgwqAgcmIuU3dpdGNoIChudW1SZWxlLCB0cnVlKTs8YnI+wqAgfTxicj7CoCBTZXJpYWwu
cHJpbnRsbigiUmVsZSBhY3RpdmFkbzogRklOIik7PGJyPn08YnI+PGJyPnZvaWQgYXBhZ2FSZWxl
KGludCBudW1SZWxlKTxicj57PGJyPsKgIFNlcmlhbC5wcmludCgiUmVsZSBkZXNhY3RpdmFkbzog
Iik7PGJyPsKgIFNlcmlhbC5wcmludGxuKG51bVJlbGUpOzxicj48YnI+wqAgaWYgKGVzdGFkb0Jv
dG9uZXNbbnVtUmVsZSAtIDFdID09IDEpPGJyPsKgIHs8YnI+wqDCoMKgIGVzdGFkb0JvdG9uZXNb
bnVtUmVsZSAtIDFdID0gMDs8YnI+PGJyPsKgwqDCoCByYi5Td2l0Y2ggKG51bVJlbGUsIGZhbHNl
KTs8YnI+wqAgfTxicj7CoCBTZXJpYWwucHJpbnRsbigiUmVsZSBkZXNhY3RpdmFkbzogRklOIik7
PGJyPn08YnI+PGJyPi8qKjxicj5HZXN0acOzbiBkZSBsYSB0ZWNsYSBwdWxzYWRhPGJyPiovPGJy
PnZvaWQga2V5cGFkRXZlbnQoS2V5cGFkRXZlbnQga2V5KTxicj57PGJyPsKgIFNlcmlhbC5wcmlu
dCgiVGVjbGEgcHVsc2FkYTogIik7PGJyPsKgIFNlcmlhbC5wcmludGxuKGtleSk7PGJyPjxicj7C
oCBzd2l0Y2ggKGtleXBhZC5nZXRTdGF0ZSgpKSB7PGJyPsKgwqDCoCBjYXNlIFBSRVNTRUQ6IC8v
cHVsc2FkbyArIHNvbHRhZG88YnI+wqDCoMKgwqDCoCBTZXJpYWwucHJpbnRsbigiUFJFU1NFRCIp
Ozxicj7CoMKgwqDCoMKgIGRpZ2l0YWxXcml0ZSgxMywgSElHSCk7PGJyPsKgwqDCoMKgwqAgaWYg
KGtleSA9PSAnMCcpPGJyPsKgwqDCoMKgwqAgezxicj7CoMKgwqDCoMKgwqDCoCBhY3RpdmFSZWxl
KDEpOzxicj7CoMKgwqDCoMKgwqDCoCBhY3RpdmFSZWxlKDIpOzxicj7CoMKgwqDCoMKgwqDCoCBh
Y3RpdmFSZWxlKDMpOzxicj7CoMKgwqDCoMKgwqDCoCBhY3RpdmFSZWxlKDQpOzxicj7CoMKgwqDC
oMKgwqDCoCBhY3RpdmFSZWxlKDUpOzxicj7CoMKgwqDCoMKgwqDCoCBhY3RpdmFSZWxlKDYpOzxi
cj7CoMKgwqDCoMKgwqDCoCBhY3RpdmFSZWxlKDcpOzxicj7CoMKgwqDCoMKgwqDCoCBhY3RpdmFS
ZWxlKDgpOzxicj7CoMKgwqDCoMKgIH0gZWxzZSBpZiAoa2V5ID09ICcxJyk8YnI+wqDCoMKgwqDC
oCB7PGJyPsKgwqDCoMKgwqDCoMKgIGFjdGl2YVJlbGUoMSk7PGJyPsKgwqDCoMKgwqAgfSBlbHNl
IGlmIChrZXkgPT0gJzInKTxicj7CoMKgwqDCoMKgIHs8YnI+wqDCoMKgwqDCoMKgwqAgYWN0aXZh
UmVsZSgyKTs8YnI+wqDCoMKgwqDCoCB9IGVsc2UgaWYgKGtleSA9PSAnMycpPGJyPsKgwqDCoMKg
wqAgezxicj7CoMKgwqDCoMKgwqDCoCBhY3RpdmFSZWxlKDMpOzxicj7CoMKgwqDCoMKgIH0gZWxz
ZSBpZiAoa2V5ID09ICc0Jyk8YnI+wqDCoMKgwqDCoCB7PGJyPsKgwqDCoMKgwqDCoMKgIGFjdGl2
YVJlbGUoNCk7PGJyPsKgwqDCoMKgwqAgfSBlbHNlIGlmIChrZXkgPT0gJzUnKTxicj7CoMKgwqDC
oMKgIHs8YnI+wqDCoMKgwqDCoMKgwqAgYWN0aXZhUmVsZSg1KTs8YnI+wqDCoMKgwqDCoCB9IGVs
c2UgaWYgKGtleSA9PSAnNicpPGJyPsKgwqDCoMKgwqAgezxicj7CoMKgwqDCoMKgwqDCoCBhY3Rp
dmFSZWxlKDYpOzxicj7CoMKgwqDCoMKgIH0gZWxzZSBpZiAoa2V5ID09ICc3Jyk8YnI+wqDCoMKg
wqDCoCB7PGJyPsKgwqDCoMKgwqDCoMKgIGFjdGl2YVJlbGUoNyk7PGJyPsKgwqDCoMKgwqAgfSBl
bHNlIGlmIChrZXkgPT0gJzgnKTxicj7CoMKgwqDCoMKgIHs8YnI+wqDCoMKgwqDCoMKgwqAgYWN0
aXZhUmVsZSg4KTs8YnI+wqDCoMKgwqDCoCB9IGVsc2UgaWYgKGtleSA9PSAnOScpPGJyPsKgwqDC
oMKgwqAgezxicj48YnI+wqDCoMKgwqDCoCB9IGVsc2UgaWYgKGtleSA9PSAnIycpPGJyPsKgwqDC
oMKgwqAgezxicj48YnI+wqDCoMKgwqDCoCB9IGVsc2UgaWYgKGtleSA9PSAnKicpPGJyPsKgwqDC
oMKgwqAgezxicj7CoMKgwqDCoMKgIH08YnI+wqDCoMKgwqDCoCBicmVhazs8YnI+PGJyPsKgwqDC
oCBjYXNlIFJFTEVBU0VEOiAvL1NvbHRhZG88YnI+wqDCoMKgwqDCoCBTZXJpYWwucHJpbnRsbigi
UkVMRUFTRUQiKTs8YnI+wqDCoMKgwqDCoCBkaWdpdGFsV3JpdGUoMTMsIExPVyk7PGJyPsKgwqDC
oMKgwqAgYnJlYWs7PGJyPjxicj7CoMKgwqAgY2FzZSBIT0xEOiAvL01hbnRlbmlkbyBlbCBib3TD
s24gcHVsc2Fkbzxicj7CoMKgwqDCoMKgIFNlcmlhbC5wcmludGxuKCJIT0xEIik7PGJyPsKgwqDC
oMKgwqAgYnJlYWs7PGJyPsKgIH08YnI+fTxicj48YnI+PGJyPnZvaWQgdGVzdFJlbGVzKCk8YnI+
ezxicj7CoCBmb3IgKGludCBpID0gMDsgaSAmbHQ7IDg7IGkrKyk8YnI+wqAgezxicj7CoMKgwqAg
aWYgKGJvdG9uZXNbaV0gPT0gMSk8YnI+wqDCoMKgIHs8YnI+wqDCoMKgwqDCoCBhcGFnYVJlbGUo
aSArIDEpOzxicj7CoMKgwqAgfTxicj7CoMKgwqAgaWYgKGJvdG9uZXNbaV0gJmd0OyAwKTxicj7C
oMKgwqAgezxicj7CoMKgwqDCoMKgIGJvdG9uZXNbaV0tLTs8YnI+wqDCoMKgIH08YnI+wqAgfTxi
cj7CoCAvL1NlcmlhbC5wcmludGxuKCJDb21wcm9iYWNpw7NuIGVzdGFkbyByZWzDqXMiKTs8YnI+
fTxicj48YnI+Ly9TZSBxdWl0YSwgc2kgbm8gZWwgU29mdFRpbWVyIG5vIGZ1bmNpb25hLiBFc3Rl
IGxvIHRpZW5lIGRlZmluaWRvIGRlbnRyby48YnI+dm9pZMKgIGxvb3AoKTxicj57PGJyPsKgIGtl
eSA9IGtleXBhZC5nZXRLZXkoKTs8YnI+wqAgLyo8YnI+wqDCoMKgIGlmIChrZXkpIHs8YnI+wqDC
oMKgwqDCoCBTZXJpYWwucHJpbnQoIlRlY2xhIHB1bHNhZGE6ICIpOzxicj7CoMKgwqDCoMKgIFNl
cmlhbC5wcmludGxuKGtleSk7PGJyPsKgwqDCoCB9Ki88YnI+PGJyPsKgIC8vU2UgYWxtYWNlbmEg
ZWwgdGllbXBvIHF1ZSBoYSB0cmFuc2N1cnJpZG8gZGVzZGUgcXVlIHNlIGVuY2VuZGnDsyBlbCBB
cmR1aW5vLjxicj7CoCB0aWVtcG8gPSBtaWxsaXMoKTs8YnI+PGJyPsKgIC8vU2kgZXNlIHRpZW1w
byBlcyBtYXlvciBxdWUgZWwgaW50ZXJ2YWxvIGRlIGRlc2VhZG8gKGVxdWl2YWxlbnRlIGFsIHRp
ZW1wbzxicj7CoCAvL2RlIGRlbGF5KSBzZSBhY3R1YWxpemEgZWwgaW50ZXJ2YWxvIHkgc2UgZWpl
Y3V0YW4gbGFzIGluc3RydWNpb25lcyByZWxhY2lvbmFkYXMuPGJyPsKgIC8vTGEgaWRlYSBkZXRy
w6FzIGRlIGVzdGUgYWxnb3JpdG1vIGNvbnNpc3RlIGVuIHBlbnNhciBxdWUgc2kgaGFuIHRyYW5z
Y3Vycmlkbzxicj7CoCAvLzIwbXMgeSBzZSBkZXNlYSB1biBkZWxheSBkZSAzMG1zIGNhZGEgdmV6
LCBjdWFuZG8gc2Ugc3VwZXJlbiBlc29zIDMwbXMgbGE8YnI+wqAgLy92YXJpYWJsZSBjb24gbGEg
cXVlIHNlIGNvbXBhcmEgcGFzYSBhIHNlciA2MG1zLiBVbmEgdmV6IHNlIGFsY2FuemFuIGxvcyA2
MG1zPGJyPsKgIC8vcGFzYSBhIHNlciA5MG1zIHkgYXPDrSBzdWNlc2l2YW1lbnRlLjxicj7CoCBp
ZiAoIHRpZW1wbyAmZ3Q7IHRfYWN0dWFsaXphZG8gKyB0X2RlbGF5KTxicj7CoCB7PGJyPsKgwqDC
oCAvL1NlIGFjdHVhbGl6YSBlbCB0aWVtcG8gcXVlIGhhIGRlIHRyYW5zY3VycmlyIHBhcmEgZWwg
cHLDs3hpbW8gZGVsYXkuPGJyPsKgwqDCoCB0X2FjdHVhbGl6YWRvID0gdGllbXBvOzxicj48YnI+
wqDCoMKgIHRlc3RSZWxlcygpOzxicj7CoCB9PGJyPjxicj59PGJyPmBgYDxicj48YnI+IyMgQ29t
cGxlbWVudGFyeSBhbmQgYWRkaXRpb25hbCBwbGFjZXMgaW4gd2hpY2ggdGhlIGFydGljbGUgaGFz
IGJlZW4gcHVibGlzaGVkOjxicj48YnI+LSBbQ29kZWJlbmRlcl0oaHR0cHM6Ly9jb2RlYmVuZGVy
LmNjL3NrZXRjaDoxNzgzNTgpPGJyPi0gW0luc3RydWN0YWJsZXNdKGh0dHA6Ly93d3cuaW5zdHJ1
Y3RhYmxlcy5jb20vaWQvU2lzdGVtYS1kZS1hcGVydHVyYS1kZS11bi1lc2NhcGFyYXRlLWNvbi1h
cmR1aW5vLyk8YnI+LSBbQXJ0aWNsZSBpbiBTcGFuaXNoXShodHRwOi8vYmxvZy5qdWFuc2FsLmNv
bS8yMDE1LzExL3Npc3RlbWEtZGUtYXBlcnR1cmEtZGUtdW4tZXNjYXBhcmF0ZS5odG1sKTxicj48
YnI+&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/144514607929587370/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2016/04/opening-system-of-showcase-with-arduino.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/144514607929587370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/144514607929587370'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2016/04/opening-system-of-showcase-with-arduino.html' title='Opening system of a showcase with arduino'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMmAzUdjzpzDpSLQhVHwLMRNF7BD5LVmpdJld8UhOpA-osMTqXctDqGHSCAmxdfjfIF-H-vUmta1VEFdNT-kis3r5l_vcJBaeVMYlMWifR55tSkEcvk1egkLHhKq0Qzxg8PyfSHPjDmmr1/s72-c/IMG-20150816-WA0000.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-1946910830184840170</id><published>2016-03-06T20:38:00.000+01:00</published><updated>2016-03-06T20:38:09.907+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="EasyBook"/><category scheme="http://www.blogger.com/atom/ns#" term="Gitbook"/><category scheme="http://www.blogger.com/atom/ns#" term="Haroopad"/><category scheme="http://www.blogger.com/atom/ns#" term="Leanpub"/><category scheme="http://www.blogger.com/atom/ns#" term="Markdown"/><title type='text'>Máquina virtual para trabajar con documentos en Markdown - Nueva versión</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=1946910830184840170&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de estar trabajando con markdown durante un tiempo he ido actualizando y renovando las aplicaciones que utilizo. Por esto me he decido a volver a crear la máquina virtual desde cero, de esta forma aprovecho para actualizar tanto el sistema operativo, como las aplicaciones que utilizo.&lt;/div&gt;
&lt;h2 id=&quot;informaci-n-sobre-el-sistema-operativo-&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información sobre el sistema operativo.&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
He instalado la distribución Fedora 23 con el escritorio LXDE.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Adicionalmente he actualizado el gestor de paquetes de yum a dnf, para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install python-dnf-plugins-extras-migrate &amp;amp;&amp;amp; dnf-&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt; migrate
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;instalaci-n-de-utilidades-que-yo-considero-necesarias-&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de utilidades que yo considero necesarias.&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Las utilidades que considero necesarias dentro del sistema operativo y que no son las que permiten trabajar directamente con Markdown son las siguientes:&lt;/div&gt;
&lt;h3 id=&quot;yumex&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Yumex&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como gestor de paquetes he elegido a Yumex.&lt;br /&gt;Para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install yumex
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;firefox&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Firefox&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para navegar y poder visualizar los documentos generados como web o website he elegido Firefox.&lt;br /&gt;Para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install firefox
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;gimp&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Gimp&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como editor de imágenes he elegido Gimp.&lt;br /&gt;Para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install gimp
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;servidor-ftp&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Servidor FTP&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como servidor de FTP para subir y bajar los ficheros a la máquina virtual he elegido el vsftp.&lt;br /&gt;Para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install vsftpd
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de instalar el servidor de ftp se ha de activar en el firewall el servicio ftp, para que este sea accesible desde fuera de la máquina.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los cambios realizados en el fichero de configuración del vsftpd (/etc/vsfptd/vsftpd.conf) son:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;anonymous_enable=NO
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
También he desactivado el selinux (/etc/selinux/config), por que voy a trabajar en local y dentro de una máquina virtual.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;SELINUX=disabled
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de esto hay que reiniciar para que el selinux se desactive.&lt;/div&gt;
&lt;h3 id=&quot;cliente-ftp&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Cliente FTP&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como cliente de FTP he elegido el FileZilla.&lt;br /&gt;Para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install filezilla
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;git&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
GIT&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para acceder a los documentos guardados en GitHub he instalado el cliente de Git.&lt;br /&gt;Para esto he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install git
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;sublime-text&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Sublime text&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como editor general de textos he elegido el Sublime Text.&lt;br /&gt;Para esto he seguido los siguientes pasos:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
He descargado la versión 2 de: &lt;a href=&quot;http://www.sublimetext.com/2&quot;&gt;http://www.sublimetext.com/2&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;tar vxjf Sublime\ Text\ &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2.0&lt;/span&gt;.&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt;\ x64.tar.bz2
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; mv Sublime\ Text\ &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt; /opt/
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; ln &lt;span class=&quot;hljs-operator&quot;&gt;-s&lt;/span&gt; /opt/Sublime\ Text\ &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;2&lt;/span&gt;/sublime_text /usr/bin/sublime
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la creación del fichero de acceso directo he seguido los siguientes pasos:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
He creado el siguiente fichero desde el mismo sublime, ejecutando el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; sublime /usr/share/applications/sublime.desktop
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Dentro del fichero he insertado los siguientes dagos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-ini&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;[Desktop Entry]
Version=2.0.2
Name=Sublime Text 2
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu&#39;s language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Text Editor

Exec=sublime
Terminal=false
Icon=/opt/Sublime Text 2/Icon/48x48/sublime_text.png
Type=Application
Categories=TextEditor;IDE;Development
X-Ayatana-Desktop-Shortcuts=NewWindow

[NewWindow Shortcut Group]
Name=New Window
Exec=sublime -n
TargetEnvironment=Unity
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;instalaci-n-y-uso-de-las-utilidades-de-markdown&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación y uso de las utilidades de Markdown&lt;/h2&gt;
&lt;h3 id=&quot;haroopad&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Haroopad&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para mí es el editor que uso a diario, con el que genero la mayoría de la documentación.&lt;/div&gt;
&lt;h4 id=&quot;requerimientos-previos&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Requerimientos previos&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Se ha de instalar la siguiente librería:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install systemd-libs.i686 -y
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;instalaci-n-de-haroopad&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de haroopad&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El paquete de instalación lo he descarado desde la &lt;a href=&quot;http://pad.haroopress.com/user.html&quot;&gt;página de Haroopad&lt;/a&gt;.&lt;br /&gt;El link de descarga que he utilizado es: &lt;a href=&quot;https://bitbucket.org/rhiokim/haroopad-download/downloads/haroopad-v0.13.1-x64.tar.gz&quot;&gt;Linux Binary (64bit)&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los comandos que he utilizado para realizar la instalación son:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;tar zxvf haroopad-v0.&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;13.1&lt;/span&gt;-x64.tar.gz

tar -zxvf data.tar.gz
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; cp -R ./usr /

tar zxf control.tar.gz
chmod &lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;755&lt;/span&gt; postinst
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; ./postinst
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para solucionar el problema de que no se ve el icono se han de realizar las siguientes modificaciones en el fichero &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;/usr/share/applications/Haroopad.desktop&lt;/code&gt;.&lt;br /&gt;Se ha de reemplazar la linea &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Icon=haroopad&lt;/code&gt; por &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Icon=/usr/share/icons/hicolor/128x128/apps/haroopad.png&lt;/code&gt;.&lt;/div&gt;
&lt;h4 id=&quot;uso&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Uso&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Es un cliente gráfico, no necesita usar la línea de comandos para su funcionamiento.&lt;/div&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;http://pad.haroopress.com/user.html&quot;&gt;Página oficial de haroopad&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.bonashen.com/post/artifice/20140805-install-haroopad-on-fedora-20-64bit&quot;&gt;Blog con información de como instalar el Haroopad en Fedora&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;gitbook&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Gitbook&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Es el editor que uso para tener todo el contenido del blog o parte de el de forma offline y de libro.&lt;br /&gt;La versión en el momento de la redacción del documento es la 2.5.2.&lt;/div&gt;
&lt;h4 id=&quot;requerimientos-previos&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Requerimientos previos&lt;/h4&gt;
&lt;h5 id=&quot;node-js&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Node.js&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para poder instalar el Gitbook se ha de instalar el gestor de paquetes de Node.js npm. Para instalarlo he ejecutado el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install npm
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;calibre&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Calibre&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para poder generar los libros en cualquier formato no web se necesita Calibre. Para instalarlo he ejecutado el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install calibre
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;instalaci-n-de-gitbook-desde-npm&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de gitbook desde npm&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para instalar el Gitbook desde el npm se ha de ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; npm install gitbook-cli -g
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;uso&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Uso&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para trabajar con los documentos con gitbook he creado la siguiente carpeta:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;/home/juansal/gitbook
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;inicializar-un-libro-vac-o-&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Inicializar un libro vacío:&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para inicializar un libro vacío se puede hacer de 2 formas diferentes:&lt;/div&gt;
&lt;ol style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px ! important; margin: 1.2em 0px ! important;&quot;&gt;
Crear una carpeta para contener el libro, entrar en ella y ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook init
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px ! important; margin: 1.2em 0px ! important;&quot;&gt;
Ejecutar el siguiente comando que crea la carpeta directamente:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook init ./carpeta
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h6 id=&quot;opciones-disponibles-&quot; style=&quot;color: #777777; font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Opciones disponibles:&lt;/h6&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;  init [directory]      create files and folders based on contents of SUMMARY.md
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;previsualizar-y-servir-un-libro-&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Previsualizar y servir un libro:&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para previsualizar y servir un libro se puede hacer de 2 formas diferentes:&lt;/div&gt;
&lt;ol style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px ! important; margin: 1.2em 0px ! important;&quot;&gt;
Desde dentro de la carpeta del libro:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook serve
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;div style=&quot;margin: 0.5em 0px ! important; margin: 1.2em 0px ! important;&quot;&gt;
Desde fuera de la carpeta del libro:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook serve ./repository
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h6 id=&quot;opciones-disponibles-&quot; style=&quot;color: #777777; font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Opciones disponibles:&lt;/h6&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;  serve [book]      Build then serve a gitbook from a directory
    --port      Port for server to listen on (Default is 4000)
    --lrport      Port for livereload server to listen on (Default is 35729)
    --watch      Enable/disable file watcher (Default is true)
    --format      Format to build to (Default is website; Values are website, json, ebook)
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-web-est-tica-&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar web estática:&lt;/h5&gt;
&lt;ol style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Desde dentro de la carpeta del libro:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook build
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Desde fuera de la carpeta del libro:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook build ./repository
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h6 id=&quot;opciones-disponibles-&quot; style=&quot;color: #777777; font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Opciones disponibles:&lt;/h6&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;  build [book] [output]      build a book
    --format      Format to build to (Default is website; Values are website, json, ebook)
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-pdf-&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar pdf:&lt;/h5&gt;
&lt;ol style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Desde dentro de la carpeta del libro:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook pdf
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Desde fuera de la carpeta del libro:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook pdf ./repository
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h6 id=&quot;opciones-disponibles-&quot; style=&quot;color: #777777; font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Opciones disponibles:&lt;/h6&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;  pdf [book] [output]      build a book to pdf
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-epub-&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar epub:&lt;/h5&gt;
&lt;ol style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Desde dentro de la carpeta del libro:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook epub
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Desde fuera de la carpeta del libro:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook epub ./repository
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h6 id=&quot;opciones-disponibles-&quot; style=&quot;color: #777777; font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Opciones disponibles:&lt;/h6&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;  epub [book] [output]      build a book to epub
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-mobi-&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar mobi:&lt;/h5&gt;
&lt;ol style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Desde dentro de la carpeta del libro:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook mobi
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Desde fuera de la carpeta del libro:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook mobi ./repository
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h6 id=&quot;opciones-disponibles-&quot; style=&quot;color: #777777; font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Opciones disponibles:&lt;/h6&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;  mobi [book] [output]      build a book to mobi
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;ayuda-completa-de-gitbook-desde-l-nea-de-comandos&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Ayuda completa de gitbook desde línea de comandos&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Comando ejecutado:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Resultado obtenido:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;  Usage: gitbook [options] [command]

  Commands:

    versions                          list installed versions
    versions:print                    print current version to use in the current directory
    versions:available                list available versions on NPM
    versions:install [version]        force install a specific version of gitbook
    versions:link [folder] [version]  link a version to a local folder
    versions:uninstall [version]      uninstall a specific version of gitbook
    versions:update [tag]             update to the latest version of gitbook
    help                              list commands for a specific version of gitbook
    *                                 run a command with a specific gitbook version

  Options:

    -h, --help               output usage information
    -V, --version            output the version number
    -v, --gitbook [version]  specify GitBook version to use
    -d, --debug              enable verbose error
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Comando ejecutado:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;gitbook &lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Resultado obtenido:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;  build [book] [output]      build a book
    --format      Format to build to (Default is website; Values are website, json, ebook)
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

  pdf [book] [output]      build a book to pdf
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

  epub [book] [output]      build a book to epub
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

  mobi [book] [output]      build a book to mobi
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

  serve [book]      Build then serve a gitbook from a directory
    --port      Port for server to listen on (Default is 4000)
    --lrport      Port for livereload server to listen on (Default is 35729)
    --watch      Enable/disable file watcher (Default is true)
    --format      Format to build to (Default is website; Values are website, json, ebook)
    --log      Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

  install [book]      install plugins dependencies

  init [directory]      create files and folders based on contents of SUMMARY.md
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://github.com/GitbookIO/gitbook/&quot;&gt;https://github.com/GitbookIO/gitbook/&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;gitbook-editor-legacy&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Gitbook Editor Legacy&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Este editor está descontinuado, pero funciona perfectamente para la versión de Gitbook indicada en este documento. Este editor me permite ver como quedaran los documentos antes de generarlos y de esta forma evitar tener que generar el documento para ver como quedará después de generado.&lt;/div&gt;
&lt;h4 id=&quot;requerimientos-previos&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Requerimientos previos&lt;/h4&gt;
&lt;h5 id=&quot;calibre&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Calibre&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para poder generar los libros en cualquier formato no web se necesita Calibre. Para instalarlo he ejecutado el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install calibre
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;instalaci-n-de-gitbook-editor-legacy&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de gitbook editor legacy&lt;/h4&gt;
&lt;ol style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Descargar el instalable desde la siguiente ruta: &lt;a href=&quot;https://github.com/GitbookIO/editor-legacy/releases&quot;&gt;https://github.com/GitbookIO/editor-legacy/releases&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Descomprimir usando:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;tar zxvf gitbook-linux64.tar.gz
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Renombrar y mover la carpeta de gitbook editor: &lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;mv linux64 gitbook-editor
mv gitbook-editor ..
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Por un bug en la referencia a una librería se ha de ejecutar el siguiente comando:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; ln -sf /lib64/libudev.so.&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;1&lt;/span&gt; /lib64/libudev.so.&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Arranque del script de instalación:&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt; gitbook-editor
chmod +x *.sh
./install.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Ahora hay un icono en el menú inicio&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Abrirlo y empezar&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;uso&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Uso&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Es un cliente gráfico, no necesita usar la línea de comandos.&lt;/div&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://github.com/GitbookIO/editor-legacy/&quot;&gt;Página de github de Gitbook Editor Legady&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;gitbook-editor&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Gitbook Editor&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Este editor es la evolución del anterior y tiene conexión con los libros publicados en GitBook. Lo que no me gusta es la necesidad de git para poder crear libros que no desees subir a GitBook y tenerlos solamente en local.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Este editor no lo he instalado en mi máquina por no tener paquetes rpm para su instalación.&lt;/div&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://www.gitbook.com/editor&quot;&gt;Página de github de Gitbook Editor&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;leanpub&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Leanpub&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Esta herramienta es completamente web y no tiene cliente por línea de comandos ni offline.&lt;br /&gt;Aunque es anterior a Gitbook la conocí después y la uso para lo mismo que ésta, para poder tener el blog de forma offline y de libro.&lt;br /&gt;En mi caso genero los documentos en local y los subo mediante github. Después desde la web pido la generación del documento.&lt;/div&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;https://leanpub.com/&quot;&gt;Página oficial de Leanpub&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://leanpub.com/help/manual&quot;&gt;Manual online de Leanpub&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;easybook&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Easybook&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Este es el último de los generadores de documentos, a partir de Markdown, que conocí. En mi caso me gusta bastante para generar documentación compleja en formato web, me permite generar esta en un sólo documento html o en formato página web.&lt;/div&gt;
&lt;h4 id=&quot;requerimientos-previos&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Requerimientos previos&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los requerimientos previos son los siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;PHP&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Composer&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los requerimientos complementarios son los siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;PrinceXML&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Kindlegen&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id=&quot;php&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
PHP&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para instalar el php se ha de ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; dnf install php
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;composer&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Composer&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para instalar composer he ejecutado los siguientes comandos:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;curl &lt;span class=&quot;hljs-operator&quot;&gt;-s&lt;/span&gt;S https://getcomposer.org/installer | php -- --install-dir=/home/juansal --filename=composer
&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; cp composer /usr/bin
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Información adicional de composer en su &lt;a href=&quot;https://getcomposer.org/&quot;&gt;página oficial&lt;/a&gt;.&lt;/div&gt;
&lt;h5 id=&quot;princexml&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
PrinceXML&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para instalar PrinceXML he descargado desde el navegador el siguiente fichero:  &lt;a href=&quot;http://www.princexml.com/download/prince-10r5-1.centos7.x86_64.rpm&quot;&gt;CentOS 7 / 64-bit rpm&lt;/a&gt; y le he indicado a este que lo abra con el yumex, de esta forma este último instalará el paquete con sus dependencias.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Información adicional de PrinceXML en su &lt;a href=&quot;http://www.princexml.com/&quot;&gt;página oficial&lt;/a&gt;&lt;/div&gt;
&lt;h5 id=&quot;kindlegen&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Kindlegen&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para descargar Kindlegen me he conectado a la &lt;a href=&quot;http://amzn.to/kindlegen&quot;&gt;página de este&lt;/a&gt; y desde ella he descargado el link: &lt;strong&gt;KindleGen v2.9 for Linux 2.6 i386&lt;/strong&gt; sobre la carpeta &lt;strong&gt;~/Descargas/&lt;/strong&gt;.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de descargar el fichero he creado la carpeta &lt;strong&gt;~/kindlegen&lt;/strong&gt;.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;mkdir ~/kindlegen
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
He entrado en la carpeta creada y descomprimido el fichero descargado.&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;cd&lt;/span&gt; ~/kindlegen
tar zxvf ~/Descargas/kindlegen_linux_2.&lt;span class=&quot;hljs-number&quot; style=&quot;color: teal;&quot;&gt;6&lt;/span&gt;_i386_v2_9.tar.gz
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;instalaci-n-de-easybook&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instalación de Easybook&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para instalar Easybook se ha de lanzar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;composer create-project easybook/easybook easybook
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Una forma de saber si se ha instalado de forma correcta el programa se puede lanzar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;./book
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Si no dá un error el resultado de la ejecución de éste es similar a lo siguiente:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;                     |              |    
 ,---.,---.,---.,   .|---.,---.,---.|__/ 
 |---&#39;,---|`---.|   ||   ||   ||   ||  \ 
 `---&#39;`---^`---&#39;`---|`---&#39;`---&#39;`---&#39;`   `
                `---&#39;

easybook is the easiest and fastest tool to generate
technical documentation, books, manuals and websites.

Available commands:
  benchmark   Benchmarks the performance of book publishing
  customize   Eases the customization of the book design
  help        Displays help for a command
  list        Lists commands
  new         Creates a new empty book
  publish     Publishes an edition of a book
  version     Shows installed easybook version
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;uso&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Uso&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para trabajar con los documentos con easybook he creado la siguiente carpeta:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;/home/juansal/easybook
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;inicializar-un-libro-vac-o-&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Inicializar un libro vacío:&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para inicializar un libro vacío se ha de lanzar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;./book new &lt;span class=&quot;hljs-string&quot; style=&quot;color: #dd1144;&quot;&gt;&quot;Titulo del libro&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-un-libro-en-formato-html&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar un libro en formato html&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para generar el libro en formato html se ha de ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;./book publish Titulo-del-libro web
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-un-libro-en-formato-web&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar un libro en formato web&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para generar el libro en formato várias páginas en html se ha de ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;./book publish Titulo-del-libro website
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-un-libro-en-formato-epub&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar un libro en formato epub&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para generar el libro en formato epub se ha de ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;./book publish Titulo-del-libro ebook
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-un-libro-en-formato-mobi&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar un libro en formato mobi&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para generar el libro en formato mobi se ha de ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;./book publish Titulo-del-libro kindle
&lt;/code&gt;&lt;/pre&gt;
&lt;h5 id=&quot;generar-un-libro-en-formato-pdf&quot; style=&quot;font-size: 1em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Generar un libro en formato pdf&lt;/h5&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para generar el libro en formato pdf se ha de ejecutar el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;./book publish Titulo-del-libro print
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;informaci-n-adicional&quot; style=&quot;font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información adicional&lt;/h4&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;http://easybook-project.org/&quot;&gt;Página oficial de easybook&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/javiereguiluz/easybook&quot;&gt;Página de github de easybook&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+RGVzcHXDqXMgZGUgZXN0YXIgdHJhYmFqYW5kbyBjb24gbWFya2Rvd24gZHVyYW50ZSB1biB0
aWVtcG8gaGUgaWRvIGFjdHVhbGl6YW5kbyB5IHJlbm92YW5kbyBsYXMgYXBsaWNhY2lvbmVzIHF1
ZSB1dGlsaXpvLiBQb3IgZXN0byBtZSBoZSBkZWNpZG8gYSB2b2x2ZXIgYSBjcmVhciBsYSBtw6Fx
dWluYSB2aXJ0dWFsIGRlc2RlIGNlcm8sIGRlIGVzdGEgZm9ybWEgYXByb3ZlY2hvIHBhcmEgYWN0
dWFsaXphciB0YW50byBlbCBzaXN0ZW1hIG9wZXJhdGl2bywgY29tbyBsYXMgYXBsaWNhY2lvbmVz
IHF1ZSB1dGlsaXpvLjxicj48YnI+IyMgSW5mb3JtYWNpw7NuIHNvYnJlIGVsIHNpc3RlbWEgb3Bl
cmF0aXZvLjxicj48YnI+SGUgaW5zdGFsYWRvIGxhIGRpc3RyaWJ1Y2nDs24gRmVkb3JhIDIzIGNv
biBlbCBlc2NyaXRvcmlvIExYREUuPGJyPjxicj5BZGljaW9uYWxtZW50ZSBoZSBhY3R1YWxpemFk
byBlbCBnZXN0b3IgZGUgcGFxdWV0ZXMgZGUgeXVtIGEgZG5mLCBwYXJhIGVzdG8gaGUgZWplY3V0
YWRvIGxvcyBzaWd1aWVudGVzIGNvbWFuZG9zOjxicj48YnI+YGBgIGJhc2g8YnI+c3VkbyBkbmYg
aW5zdGFsbCBweXRob24tZG5mLXBsdWdpbnMtZXh0cmFzLW1pZ3JhdGUgJmFtcDsmYW1wOyBkbmYt
MiBtaWdyYXRlPGJyPmBgYDxicj48YnI+IyMgSW5zdGFsYWNpw7NuIGRlIHV0aWxpZGFkZXMgcXVl
IHlvIGNvbnNpZGVybyBuZWNlc2FyaWFzLjxicj48YnI+TGFzIHV0aWxpZGFkZXMgcXVlIGNvbnNp
ZGVybyBuZWNlc2FyaWFzIGRlbnRybyBkZWwgc2lzdGVtYSBvcGVyYXRpdm8geSBxdWUgbm8gc29u
IGxhcyBxdWUgcGVybWl0ZW4gdHJhYmFqYXIgZGlyZWN0YW1lbnRlIGNvbiBNYXJrZG93biBzb24g
bGFzIHNpZ3VpZW50ZXM6PGJyPjxicj4jIyMgWXVtZXg8YnI+PGJyPkNvbW8gZ2VzdG9yIGRlIHBh
cXVldGVzIGhlIGVsZWdpZG8gYSBZdW1leC4mbmJzcDsgPGJyPlBhcmEgZXN0byBoZSBlamVjdXRh
ZG8gbG9zIHNpZ3VpZW50ZXMgY29tYW5kb3M6PGJyPjxicj5gYGAgYmFzaDxicj5zdWRvIGRuZiBp
bnN0YWxsIHl1bWV4PGJyPmBgYDxicj48YnI+IyMjIEZpcmVmb3g8YnI+PGJyPlBhcmEgbmF2ZWdh
ciB5IHBvZGVyIHZpc3VhbGl6YXIgbG9zIGRvY3VtZW50b3MgZ2VuZXJhZG9zIGNvbW8gd2ViIG8g
d2Vic2l0ZSBoZSBlbGVnaWRvIEZpcmVmb3guJm5ic3A7IDxicj5QYXJhIGVzdG8gaGUgZWplY3V0
YWRvIGxvcyBzaWd1aWVudGVzIGNvbWFuZG9zOjxicj48YnI+YGBgIGJhc2g8YnI+c3VkbyBkbmYg
aW5zdGFsbCBmaXJlZm94PGJyPmBgYDxicj48YnI+IyMjIEdpbXA8YnI+PGJyPkNvbW8gZWRpdG9y
IGRlIGltw6FnZW5lcyBoZSBlbGVnaWRvIEdpbXAuJm5ic3A7IDxicj5QYXJhIGVzdG8gaGUgZWpl
Y3V0YWRvIGxvcyBzaWd1aWVudGVzIGNvbWFuZG9zOjxicj48YnI+YGBgIGJhc2g8YnI+c3VkbyBk
bmYgaW5zdGFsbCBnaW1wPGJyPmBgYDxicj48YnI+IyMjIFNlcnZpZG9yIEZUUDxicj48YnI+Q29t
byBzZXJ2aWRvciBkZSBGVFAgcGFyYSBzdWJpciB5IGJhamFyIGxvcyBmaWNoZXJvcyBhIGxhIG3D
oXF1aW5hIHZpcnR1YWwgaGUgZWxlZ2lkbyBlbCB2c2Z0cC48YnI+UGFyYSBlc3RvIGhlIGVqZWN1
dGFkbyBsb3Mgc2lndWllbnRlcyBjb21hbmRvczo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gZG5m
IGluc3RhbGwgdnNmdHBkPGJyPmBgYDxicj48YnI+RGVzcHXDqXMgZGUgaW5zdGFsYXIgZWwgc2Vy
dmlkb3IgZGUgZnRwIHNlIGhhIGRlIGFjdGl2YXIgZW4gZWwgZmlyZXdhbGwgZWwgc2VydmljaW8g
ZnRwLCBwYXJhIHF1ZSBlc3RlIHNlYSBhY2Nlc2libGUgZGVzZGUgZnVlcmEgZGUgbGEgbcOhcXVp
bmEuPGJyPjxicj5Mb3MgY2FtYmlvcyByZWFsaXphZG9zIGVuIGVsIGZpY2hlcm8gZGUgY29uZmln
dXJhY2nDs24gZGVsIHZzZnRwZCAoL2V0Yy92c2ZwdGQvdnNmdHBkLmNvbmYpIHNvbjo8YnI+PGJy
PmBgYDxicj5hbm9ueW1vdXNfZW5hYmxlPU5PPGJyPmBgYDxicj48YnI+VGFtYmnDqW4gaGUgZGVz
YWN0aXZhZG8gZWwgc2VsaW51eCAoL2V0Yy9zZWxpbnV4L2NvbmZpZyksIHBvciBxdWUgdm95IGEg
dHJhYmFqYXIgZW4gbG9jYWwgeSBkZW50cm8gZGUgdW5hIG3DoXF1aW5hIHZpcnR1YWwuPGJyPjxi
cj5gYGA8YnI+U0VMSU5VWD1kaXNhYmxlZDxicj5gYGA8YnI+PGJyPkRlc3B1w6lzIGRlIGVzdG8g
aGF5IHF1ZSByZWluaWNpYXIgcGFyYSBxdWUgZWwgc2VsaW51eCBzZSBkZXNhY3RpdmUuPGJyPjxi
cj4jIyMgQ2xpZW50ZSBGVFA8YnI+PGJyPkNvbW8gY2xpZW50ZSBkZSBGVFAgaGUgZWxlZ2lkbyBl
bCBGaWxlWmlsbGEuJm5ic3A7IDxicj5QYXJhIGVzdG8gaGUgZWplY3V0YWRvIGxvcyBzaWd1aWVu
dGVzIGNvbWFuZG9zOjxicj48YnI+YGBgIGJhc2g8YnI+c3VkbyBkbmYgaW5zdGFsbCBmaWxlemls
bGE8YnI+YGBgPGJyPjxicj4jIyMgR0lUPGJyPjxicj5QYXJhIGFjY2VkZXIgYSBsb3MgZG9jdW1l
bnRvcyBndWFyZGFkb3MgZW4gR2l0SHViIGhlIGluc3RhbGFkbyBlbCBjbGllbnRlIGRlIEdpdC4m
bmJzcDsgPGJyPlBhcmEgZXN0byBoZSBlamVjdXRhZG8gbG9zIHNpZ3VpZW50ZXMgY29tYW5kb3M6
PGJyPjxicj5gYGAgYmFzaDxicj5zdWRvIGRuZiBpbnN0YWxsIGdpdDxicj5gYGA8YnI+PGJyPjxi
cj4jIyMgU3VibGltZSB0ZXh0PGJyPjxicj5Db21vIGVkaXRvciBnZW5lcmFsIGRlIHRleHRvcyBo
ZSBlbGVnaWRvIGVsIFN1YmxpbWUgVGV4dC4mbmJzcDsgPGJyPlBhcmEgZXN0byBoZSBzZWd1aWRv
IGxvcyBzaWd1aWVudGVzIHBhc29zOjxicj48YnI+SGUgZGVzY2FyZ2FkbyBsYSB2ZXJzacOzbiAy
IGRlOiBbaHR0cDovL3d3dy5zdWJsaW1ldGV4dC5jb20vMl0oaHR0cDovL3d3dy5zdWJsaW1ldGV4
dC5jb20vMik8YnI+PGJyPkRlc3B1w6lzIGhlIGVqZWN1dGFkbyBsb3Mgc2lndWllbnRlcyBjb21h
bmRvczo8YnI+PGJyPmBgYCBiYXNoPGJyPnRhciB2eGpmIFN1YmxpbWVcIFRleHRcIDIuMC4yXCB4
NjQudGFyLmJ6Mjxicj5zdWRvIG12IFN1YmxpbWVcIFRleHRcIDIgL29wdC88YnI+c3VkbyBsbiAt
cyAvb3B0L1N1YmxpbWVcIFRleHRcIDIvc3VibGltZV90ZXh0IC91c3IvYmluL3N1YmxpbWU8YnI+
YGBgPGJyPjxicj5QYXJhIGxhIGNyZWFjacOzbiBkZWwgZmljaGVybyBkZSBhY2Nlc28gZGlyZWN0
byBoZSBzZWd1aWRvIGxvcyBzaWd1aWVudGVzIHBhc29zOjxicj48YnI+SGUgY3JlYWRvIGVsIHNp
Z3VpZW50ZSBmaWNoZXJvIGRlc2RlIGVsIG1pc21vIHN1YmxpbWUsIGVqZWN1dGFuZG8gZWwgc2ln
dWllbnRlIGNvbWFuZG86PGJyPjxicj5gYGAgYmFzaDxicj5zdWRvIHN1YmxpbWUgL3Vzci9zaGFy
ZS9hcHBsaWNhdGlvbnMvc3VibGltZS5kZXNrdG9wPGJyPmBgYDxicj48YnI+RGVudHJvIGRlbCBm
aWNoZXJvIGhlIGluc2VydGFkbyBsb3Mgc2lndWllbnRlcyBkYWdvczo8YnI+PGJyPmBgYCBpbmk8
YnI+W0Rlc2t0b3AgRW50cnldPGJyPlZlcnNpb249Mi4wLjI8YnI+TmFtZT1TdWJsaW1lIFRleHQg
Mjxicj4jIE9ubHkgS0RFIDQgc2VlbXMgdG8gdXNlIEdlbmVyaWNOYW1lLCBzbyB3ZSByZXVzZSB0
aGUgS0RFIHN0cmluZ3MuPGJyPiMgRnJvbSBVYnVudHUncyBsYW5ndWFnZS1wYWNrLWtkZS1YWC1i
YXNlIHBhY2thZ2VzLCB2ZXJzaW9uIDkuMDQtMjAwOTA0MTMuPGJyPkdlbmVyaWNOYW1lPVRleHQg
RWRpdG9yPGJyPjxicj5FeGVjPXN1YmxpbWU8YnI+VGVybWluYWw9ZmFsc2U8YnI+SWNvbj0vb3B0
L1N1YmxpbWUgVGV4dCAyL0ljb24vNDh4NDgvc3VibGltZV90ZXh0LnBuZzxicj5UeXBlPUFwcGxp
Y2F0aW9uPGJyPkNhdGVnb3JpZXM9VGV4dEVkaXRvcjtJREU7RGV2ZWxvcG1lbnQ8YnI+WC1BeWF0
YW5hLURlc2t0b3AtU2hvcnRjdXRzPU5ld1dpbmRvdzxicj48YnI+W05ld1dpbmRvdyBTaG9ydGN1
dCBHcm91cF08YnI+TmFtZT1OZXcgV2luZG93PGJyPkV4ZWM9c3VibGltZSAtbjxicj5UYXJnZXRF
bnZpcm9ubWVudD1Vbml0eTxicj5gYGA8YnI+PGJyPiMjIEluc3RhbGFjacOzbiB5IHVzbyBkZSBs
YXMgdXRpbGlkYWRlcyBkZSBNYXJrZG93bjxicj48YnI+IyMjIEhhcm9vcGFkPGJyPjxicj5QYXJh
IG3DrSBlcyBlbCBlZGl0b3IgcXVlIHVzbyBhIGRpYXJpbywgY29uIGVsIHF1ZSBnZW5lcm8gbGEg
bWF5b3LDrWEgZGUgbGEgZG9jdW1lbnRhY2nDs24uPGJyPjxicj4jIyMjIFJlcXVlcmltaWVudG9z
IHByZXZpb3M8YnI+PGJyPlNlIGhhIGRlIGluc3RhbGFyIGxhIHNpZ3VpZW50ZSBsaWJyZXLDrWE6
PGJyPjxicj5gYGAgYmFzaDxicj5zdWRvIGRuZiBpbnN0YWxsIHN5c3RlbWQtbGlicy5pNjg2IC15
PGJyPmBgYDxicj48YnI+IyMjIyBJbnN0YWxhY2nDs24gZGUgaGFyb29wYWQ8YnI+PGJyPkVsIHBh
cXVldGUgZGUgaW5zdGFsYWNpw7NuIGxvIGhlIGRlc2NhcmFkbyBkZXNkZSBsYSBbcMOhZ2luYSBk
ZSBIYXJvb3BhZF0oaHR0cDovL3BhZC5oYXJvb3ByZXNzLmNvbS91c2VyLmh0bWwpLjxicj5FbCBs
aW5rIGRlIGRlc2NhcmdhIHF1ZSBoZSB1dGlsaXphZG8gZXM6IFtMaW51eCBCaW5hcnkgKDY0Yml0
KV0oaHR0cHM6Ly9iaXRidWNrZXQub3JnL3JoaW9raW0vaGFyb29wYWQtZG93bmxvYWQvZG93bmxv
YWRzL2hhcm9vcGFkLXYwLjEzLjEteDY0LnRhci5neik8YnI+PGJyPkxvcyBjb21hbmRvcyBxdWUg
aGUgdXRpbGl6YWRvIHBhcmEgcmVhbGl6YXIgbGEgaW5zdGFsYWNpw7NuIHNvbjo8YnI+PGJyPmBg
YCBiYXNoPGJyPnRhciB6eHZmIGhhcm9vcGFkLXYwLjEzLjEteDY0LnRhci5nejxicj48YnI+dGFy
IC16eHZmIGRhdGEudGFyLmd6PGJyPnN1ZG8gY3AgLVIgLi91c3IgLzxicj48YnI+dGFyIHp4ZiBj
b250cm9sLnRhci5nejxicj5jaG1vZCA3NTUgcG9zdGluc3Q8YnI+c3VkbyAuL3Bvc3RpbnN0PGJy
PmBgYDxicj48YnI+UGFyYSBzb2x1Y2lvbmFyIGVsIHByb2JsZW1hIGRlIHF1ZSBubyBzZSB2ZSBl
bCBpY29ubyBzZSBoYW4gZGUgcmVhbGl6YXIgbGFzIHNpZ3VpZW50ZXMgbW9kaWZpY2FjaW9uZXMg
ZW4gZWwgZmljaGVybyBgL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnMvSGFyb29wYWQuZGVza3RvcGAu
PGJyPlNlIGhhIGRlIHJlZW1wbGF6YXIgbGEgbGluZWEgYEljb249aGFyb29wYWRgIHBvciBgSWNv
bj0vdXNyL3NoYXJlL2ljb25zL2hpY29sb3IvMTI4eDEyOC9hcHBzL2hhcm9vcGFkLnBuZ2AuPGJy
Pjxicj4jIyMjIFVzbzxicj48YnI+RXMgdW4gY2xpZW50ZSBncsOhZmljbywgbm8gbmVjZXNpdGEg
dXNhciBsYSBsw61uZWEgZGUgY29tYW5kb3MgcGFyYSBzdSBmdW5jaW9uYW1pZW50by48YnI+PGJy
PiMjIyMgSW5mb3JtYWNpw7NuIGFkaWNpb25hbDxicj48YnI+W1DDoWdpbmEgb2ZpY2lhbCBkZSBo
YXJvb3BhZF0oaHR0cDovL3BhZC5oYXJvb3ByZXNzLmNvbS91c2VyLmh0bWwpPGJyPltCbG9nIGNv
biBpbmZvcm1hY2nDs24gZGUgY29tbyBpbnN0YWxhciBlbCBIYXJvb3BhZCBlbiBGZWRvcmFdKGh0
dHA6Ly93d3cuYm9uYXNoZW4uY29tL3Bvc3QvYXJ0aWZpY2UvMjAxNDA4MDUtaW5zdGFsbC1oYXJv
b3BhZC1vbi1mZWRvcmEtMjAtNjRiaXQpPGJyPjxicj4jIyMgR2l0Ym9vazxicj48YnI+RXMgZWwg
ZWRpdG9yIHF1ZSB1c28gcGFyYSB0ZW5lciB0b2RvIGVsIGNvbnRlbmlkbyBkZWwgYmxvZyBvIHBh
cnRlIGRlIGVsIGRlIGZvcm1hIG9mZmxpbmUgeSBkZSBsaWJyby48YnI+TGEgdmVyc2nDs24gZW4g
ZWwgbW9tZW50byBkZSBsYSByZWRhY2Npw7NuIGRlbCBkb2N1bWVudG8gZXMgbGEgMi41LjIuPGJy
Pjxicj4jIyMjIFJlcXVlcmltaWVudG9zIHByZXZpb3M8YnI+PGJyPiMjIyMjIE5vZGUuanM8YnI+
UGFyYSBwb2RlciBpbnN0YWxhciBlbCBHaXRib29rIHNlIGhhIGRlIGluc3RhbGFyIGVsIGdlc3Rv
ciBkZSBwYXF1ZXRlcyBkZSBOb2RlLmpzIG5wbS4gUGFyYSBpbnN0YWxhcmxvIGhlIGVqZWN1dGFk
byBlbCBzaWd1aWVudGUgY29tYW5kbzo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gZG5mIGluc3Rh
bGwgbnBtPGJyPmBgYDxicj48YnI+IyMjIyMgQ2FsaWJyZTxicj48YnI+UGFyYSBwb2RlciBnZW5l
cmFyIGxvcyBsaWJyb3MgZW4gY3VhbHF1aWVyIGZvcm1hdG8gbm8gd2ViIHNlIG5lY2VzaXRhIENh
bGlicmUuIFBhcmEgaW5zdGFsYXJsbyBoZSBlamVjdXRhZG8gZWwgc2lndWllbnRlIGNvbWFuZG86
PGJyPjxicj5gYGAgYmFzaDxicj5zdWRvIGRuZiBpbnN0YWxsIGNhbGlicmU8YnI+YGBgPGJyPjxi
cj4jIyMjIEluc3RhbGFjacOzbiBkZSBnaXRib29rIGRlc2RlIG5wbTxicj48YnI+UGFyYSBpbnN0
YWxhciBlbCBHaXRib29rIGRlc2RlIGVsIG5wbSBzZSBoYSBkZSBlamVjdXRhciBlbCBzaWd1aWVu
dGUgY29tYW5kbzo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gbnBtIGluc3RhbGwgZ2l0Ym9vay1j
bGkgLWc8YnI+YGBgPGJyPjxicj4jIyMjIFVzbzxicj48YnI+UGFyYSB0cmFiYWphciBjb24gbG9z
IGRvY3VtZW50b3MgY29uIGdpdGJvb2sgaGUgY3JlYWRvIGxhIHNpZ3VpZW50ZSBjYXJwZXRhOjxi
cj48YnI+YGBgPGJyPi9ob21lL2p1YW5zYWwvZ2l0Ym9vazxicj5gYGA8YnI+PGJyPiMjIyMjIElu
aWNpYWxpemFyIHVuIGxpYnJvIHZhY8Otbzo8YnI+PGJyPlBhcmEgaW5pY2lhbGl6YXIgdW4gbGli
cm8gdmFjw61vIHNlIHB1ZWRlIGhhY2VyIGRlIDIgZm9ybWFzIGRpZmVyZW50ZXM6PGJyPjxicj4x
LiBDcmVhciB1bmEgY2FycGV0YSBwYXJhIGNvbnRlbmVyIGVsIGxpYnJvLCBlbnRyYXIgZW4gZWxs
YSB5IGVqZWN1dGFyIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjxicj5gYGAgYmFzaDxicj5naXRib29r
IGluaXQ8YnI+YGBgPGJyPjxicj4yLiBFamVjdXRhciBlbCBzaWd1aWVudGUgY29tYW5kbyBxdWUg
Y3JlYSBsYSBjYXJwZXRhIGRpcmVjdGFtZW50ZTo8YnI+YGBgIGJhc2g8YnI+Z2l0Ym9vayBpbml0
IC4vY2FycGV0YTxicj5gYGA8YnI+PGJyPiMjIyMjIyBPcGNpb25lcyBkaXNwb25pYmxlczo8YnI+
PGJyPmBgYDxicj4mbmJzcDsgaW5pdCBbZGlyZWN0b3J5XSAmbmJzcDsmbmJzcDsmbmJzcDsgJm5i
c3A7Y3JlYXRlIGZpbGVzIGFuZCBmb2xkZXJzIGJhc2VkIG9uIGNvbnRlbnRzIG9mIFNVTU1BUlku
bWQ8YnI+YGBgPGJyPjxicj4jIyMjIyBQcmV2aXN1YWxpemFyIHkgc2VydmlyIHVuIGxpYnJvOjxi
cj48YnI+UGFyYSBwcmV2aXN1YWxpemFyIHkgc2VydmlyIHVuIGxpYnJvIHNlIHB1ZWRlIGhhY2Vy
IGRlIDIgZm9ybWFzIGRpZmVyZW50ZXM6PGJyPjEuIERlc2RlIGRlbnRybyBkZSBsYSBjYXJwZXRh
IGRlbCBsaWJybzo8YnI+YGBgIGJhc2g8YnI+Z2l0Ym9vayBzZXJ2ZTxicj5gYGA8YnI+PGJyPjIu
IERlc2RlIGZ1ZXJhIGRlIGxhIGNhcnBldGEgZGVsIGxpYnJvOjxicj5gYGAgYmFzaDxicj5naXRi
b29rIHNlcnZlIC4vcmVwb3NpdG9yeTxicj5gYGA8YnI+PGJyPiMjIyMjIyBPcGNpb25lcyBkaXNw
b25pYmxlczo8YnI+PGJyPmBgYDxicj4mbmJzcDsgc2VydmUgW2Jvb2tdICZuYnNwOyZuYnNwOyZu
YnNwOyAmbmJzcDtCdWlsZCB0aGVuIHNlcnZlIGEgZ2l0Ym9vayBmcm9tIGEgZGlyZWN0b3J5PGJy
PiZuYnNwOyZuYnNwOyZuYnNwOyAtLXBvcnQgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO1BvcnQg
Zm9yIHNlcnZlciB0byBsaXN0ZW4gb24gKERlZmF1bHQgaXMgNDAwMCk8YnI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7IC0tbHJwb3J0ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtQb3J0IGZvciBsaXZlcmVs
b2FkIHNlcnZlciB0byBsaXN0ZW4gb24gKERlZmF1bHQgaXMgMzU3MjkpPGJyPiZuYnNwOyZuYnNw
OyZuYnNwOyAtLXdhdGNoICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtFbmFibGUvZGlzYWJsZSBm
aWxlIHdhdGNoZXIgKERlZmF1bHQgaXMgdHJ1ZSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0tZm9y
bWF0ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtGb3JtYXQgdG8gYnVpbGQgdG8gKERlZmF1bHQg
aXMgd2Vic2l0ZTsgVmFsdWVzIGFyZSB3ZWJzaXRlLCBqc29uLCBlYm9vayk8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IC0tbG9nICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtNaW5pbXVtIGxvZyBsZXZl
bCB0byBkaXNwbGF5IChEZWZhdWx0IGlzIGluZm87IFZhbHVlcyBhcmUgZGVidWcsIGluZm8sIHdh
cm4sIGVycm9yLCBkaXNhYmxlZCk8YnI+YGBgPGJyPjxicj4jIyMjIyBHZW5lcmFyIHdlYiBlc3TD
oXRpY2E6PGJyPjxicj4xLiBEZXNkZSBkZW50cm8gZGUgbGEgY2FycGV0YSBkZWwgbGlicm86PGJy
PmBgYCBiYXNoPGJyPmdpdGJvb2sgYnVpbGQ8YnI+YGBgPGJyPjIuIERlc2RlIGZ1ZXJhIGRlIGxh
IGNhcnBldGEgZGVsIGxpYnJvOjxicj5gYGAgYmFzaDxicj5naXRib29rIGJ1aWxkIC4vcmVwb3Np
dG9yeTxicj5gYGA8YnI+PGJyPiMjIyMjIyBPcGNpb25lcyBkaXNwb25pYmxlczo8YnI+PGJyPmBg
YDxicj4mbmJzcDsgYnVpbGQgW2Jvb2tdIFtvdXRwdXRdICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJz
cDtidWlsZCBhIGJvb2s8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0tZm9ybWF0ICZuYnNwOyZuYnNw
OyZuYnNwOyAmbmJzcDtGb3JtYXQgdG8gYnVpbGQgdG8gKERlZmF1bHQgaXMgd2Vic2l0ZTsgVmFs
dWVzIGFyZSB3ZWJzaXRlLCBqc29uLCBlYm9vayk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0tbG9n
ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtNaW5pbXVtIGxvZyBsZXZlbCB0byBkaXNwbGF5IChE
ZWZhdWx0IGlzIGluZm87IFZhbHVlcyBhcmUgZGVidWcsIGluZm8sIHdhcm4sIGVycm9yLCBkaXNh
YmxlZCk8YnI+YGBgPGJyPjxicj4jIyMjIyBHZW5lcmFyIHBkZjo8YnI+PGJyPjEuIERlc2RlIGRl
bnRybyBkZSBsYSBjYXJwZXRhIGRlbCBsaWJybzo8YnI+YGBgIGJhc2g8YnI+Z2l0Ym9vayBwZGY8
YnI+YGBgPGJyPjIuIERlc2RlIGZ1ZXJhIGRlIGxhIGNhcnBldGEgZGVsIGxpYnJvOjxicj5gYGAg
YmFzaDxicj5naXRib29rIHBkZiAuL3JlcG9zaXRvcnk8YnI+YGBgPGJyPjxicj4jIyMjIyMgT3Bj
aW9uZXMgZGlzcG9uaWJsZXM6PGJyPjxicj5gYGA8YnI+Jm5ic3A7IHBkZiBbYm9va10gW291dHB1
dF0gJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2J1aWxkIGEgYm9vayB0byBwZGY8YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7IC0tbG9nICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtNaW5pbXVtIGxvZyBs
ZXZlbCB0byBkaXNwbGF5IChEZWZhdWx0IGlzIGluZm87IFZhbHVlcyBhcmUgZGVidWcsIGluZm8s
IHdhcm4sIGVycm9yLCBkaXNhYmxlZCk8YnI+YGBgPGJyPjxicj4jIyMjIyBHZW5lcmFyIGVwdWI6
PGJyPjxicj4xLiBEZXNkZSBkZW50cm8gZGUgbGEgY2FycGV0YSBkZWwgbGlicm86PGJyPmBgYCBi
YXNoPGJyPmdpdGJvb2sgZXB1Yjxicj5gYGA8YnI+Mi4gRGVzZGUgZnVlcmEgZGUgbGEgY2FycGV0
YSBkZWwgbGlicm86PGJyPmBgYCBiYXNoPGJyPmdpdGJvb2sgZXB1YiAuL3JlcG9zaXRvcnk8YnI+
YGBgPGJyPjxicj4jIyMjIyMgT3BjaW9uZXMgZGlzcG9uaWJsZXM6PGJyPjxicj5gYGA8YnI+Jm5i
c3A7IGVwdWIgW2Jvb2tdIFtvdXRwdXRdICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtidWlsZCBh
IGJvb2sgdG8gZXB1Yjxicj4mbmJzcDsmbmJzcDsmbmJzcDsgLS1sb2cgJm5ic3A7Jm5ic3A7Jm5i
c3A7ICZuYnNwO01pbmltdW0gbG9nIGxldmVsIHRvIGRpc3BsYXkgKERlZmF1bHQgaXMgaW5mbzsg
VmFsdWVzIGFyZSBkZWJ1ZywgaW5mbywgd2FybiwgZXJyb3IsIGRpc2FibGVkKTxicj5gYGA8YnI+
PGJyPiMjIyMjIEdlbmVyYXIgbW9iaTo8YnI+PGJyPjEuIERlc2RlIGRlbnRybyBkZSBsYSBjYXJw
ZXRhIGRlbCBsaWJybzo8YnI+YGBgIGJhc2g8YnI+Z2l0Ym9vayBtb2JpPGJyPmBgYDxicj4yLiBE
ZXNkZSBmdWVyYSBkZSBsYSBjYXJwZXRhIGRlbCBsaWJybzo8YnI+YGBgIGJhc2g8YnI+Z2l0Ym9v
ayBtb2JpIC4vcmVwb3NpdG9yeTxicj5gYGA8YnI+PGJyPiMjIyMjIyBPcGNpb25lcyBkaXNwb25p
Ymxlczo8YnI+PGJyPmBgYDxicj4mbmJzcDsgbW9iaSBbYm9va10gW291dHB1dF0gJm5ic3A7Jm5i
c3A7Jm5ic3A7ICZuYnNwO2J1aWxkIGEgYm9vayB0byBtb2JpPGJyPiZuYnNwOyZuYnNwOyZuYnNw
OyAtLWxvZyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7TWluaW11bSBsb2cgbGV2ZWwgdG8gZGlz
cGxheSAoRGVmYXVsdCBpcyBpbmZvOyBWYWx1ZXMgYXJlIGRlYnVnLCBpbmZvLCB3YXJuLCBlcnJv
ciwgZGlzYWJsZWQpPGJyPmBgYDxicj48YnI+IyMjIyMgQXl1ZGEgY29tcGxldGEgZGUgZ2l0Ym9v
ayBkZXNkZSBsw61uZWEgZGUgY29tYW5kb3M8YnI+PGJyPkNvbWFuZG8gZWplY3V0YWRvOjxicj48
YnI+YGBgIGJhc2g8YnI+Z2l0Ym9vazxicj5gYGA8YnI+PGJyPlJlc3VsdGFkbyBvYnRlbmlkbzo8
YnI+PGJyPmBgYDxicj4mbmJzcDsgVXNhZ2U6IGdpdGJvb2sgW29wdGlvbnNdIFtjb21tYW5kXTxi
cj48YnI+PGJyPiZuYnNwOyBDb21tYW5kczo8YnI+PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyB2ZXJz
aW9ucyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsaXN0IGluc3RhbGxlZCB2
ZXJzaW9uczxicj4mbmJzcDsmbmJzcDsmbmJzcDsgdmVyc2lvbnM6cHJpbnQmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcHJpbnQgY3VycmVu
dCB2ZXJzaW9uIHRvIHVzZSBpbiB0aGUgY3VycmVudCBkaXJlY3Rvcnk8YnI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHZlcnNpb25zOmF2YWlsYWJsZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyBsaXN0IGF2YWlsYWJsZSB2ZXJzaW9ucyBvbiBOUE08YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IHZl
cnNpb25zOmluc3RhbGwgW3ZlcnNpb25dJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IGZvcmNlIGluc3RhbGwgYSBzcGVjaWZpYyB2ZXJzaW9uIG9mIGdpdGJvb2s8YnI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7IHZlcnNpb25zOmxpbmsgW2ZvbGRlcl0gW3ZlcnNpb25dJm5ic3A7
IGxpbmsgYSB2ZXJzaW9uIHRvIGEgbG9jYWwgZm9sZGVyPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyB2
ZXJzaW9uczp1bmluc3RhbGwgW3ZlcnNpb25dJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IHVuaW5zdGFsbCBhIHNwZWNpZmljIHZlcnNpb24gb2YgZ2l0Ym9vazxicj4mbmJzcDsmbmJzcDsm
bmJzcDsgdmVyc2lvbnM6dXBkYXRlIFt0YWddJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVwZGF0ZSB0byB0aGUg
bGF0ZXN0IHZlcnNpb24gb2YgZ2l0Ym9vazxicj4mbmJzcDsmbmJzcDsmbmJzcDsgaGVscCZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBs
aXN0IGNvbW1hbmRzIGZvciBhIHNwZWNpZmljIHZlcnNpb24gb2YgZ2l0Ym9vazxicj4mbmJzcDsm
bmJzcDsmbmJzcDsgKiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBydW4gYSBjb21tYW5kIHdpdGggYSBz
cGVjaWZpYyBnaXRib29rIHZlcnNpb248YnI+PGJyPiZuYnNwOyBPcHRpb25zOjxicj48YnI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7IC1oLCAtLWhlbHAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgb3V0
cHV0IHVzYWdlIGluZm9ybWF0aW9uPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAtViwgLS12ZXJzaW9u
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IG91dHB1dCB0aGUgdmVyc2lvbiBudW1iZXI8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
IC12LCAtLWdpdGJvb2sgW3ZlcnNpb25dJm5ic3A7IHNwZWNpZnkgR2l0Qm9vayB2ZXJzaW9uIHRv
IHVzZTxicj4mbmJzcDsmbmJzcDsmbmJzcDsgLWQsIC0tZGVidWcmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgZW5hYmxlIHZlcmJvc2UgZXJyb3I8YnI+YGBgPGJyPjxicj5Db21hbmRvIGVqZWN1dGFkbzo8
YnI+PGJyPmBgYCBiYXNoPGJyPmdpdGJvb2sgaGVscDxicj5gYGA8YnI+PGJyPlJlc3VsdGFkbyBv
YnRlbmlkbzo8YnI+PGJyPmBgYDxicj4mbmJzcDsgYnVpbGQgW2Jvb2tdIFtvdXRwdXRdICZuYnNw
OyZuYnNwOyZuYnNwOyAmbmJzcDtidWlsZCBhIGJvb2s8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0t
Zm9ybWF0ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtGb3JtYXQgdG8gYnVpbGQgdG8gKERlZmF1
bHQgaXMgd2Vic2l0ZTsgVmFsdWVzIGFyZSB3ZWJzaXRlLCBqc29uLCBlYm9vayk8YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7IC0tbG9nICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtNaW5pbXVtIGxvZyBs
ZXZlbCB0byBkaXNwbGF5IChEZWZhdWx0IGlzIGluZm87IFZhbHVlcyBhcmUgZGVidWcsIGluZm8s
IHdhcm4sIGVycm9yLCBkaXNhYmxlZCk8YnI+PGJyPiZuYnNwOyBwZGYgW2Jvb2tdIFtvdXRwdXRd
ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtidWlsZCBhIGJvb2sgdG8gcGRmPGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyAtLWxvZyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7TWluaW11bSBsb2cgbGV2
ZWwgdG8gZGlzcGxheSAoRGVmYXVsdCBpcyBpbmZvOyBWYWx1ZXMgYXJlIGRlYnVnLCBpbmZvLCB3
YXJuLCBlcnJvciwgZGlzYWJsZWQpPGJyPjxicj4mbmJzcDsgZXB1YiBbYm9va10gW291dHB1dF0g
Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2J1aWxkIGEgYm9vayB0byBlcHViPGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyAtLWxvZyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7TWluaW11bSBsb2cgbGV2
ZWwgdG8gZGlzcGxheSAoRGVmYXVsdCBpcyBpbmZvOyBWYWx1ZXMgYXJlIGRlYnVnLCBpbmZvLCB3
YXJuLCBlcnJvciwgZGlzYWJsZWQpPGJyPjxicj4mbmJzcDsgbW9iaSBbYm9va10gW291dHB1dF0g
Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2J1aWxkIGEgYm9vayB0byBtb2JpPGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyAtLWxvZyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7TWluaW11bSBsb2cgbGV2
ZWwgdG8gZGlzcGxheSAoRGVmYXVsdCBpcyBpbmZvOyBWYWx1ZXMgYXJlIGRlYnVnLCBpbmZvLCB3
YXJuLCBlcnJvciwgZGlzYWJsZWQpPGJyPjxicj4mbmJzcDsgc2VydmUgW2Jvb2tdICZuYnNwOyZu
YnNwOyZuYnNwOyAmbmJzcDtCdWlsZCB0aGVuIHNlcnZlIGEgZ2l0Ym9vayBmcm9tIGEgZGlyZWN0
b3J5PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAtLXBvcnQgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNw
O1BvcnQgZm9yIHNlcnZlciB0byBsaXN0ZW4gb24gKERlZmF1bHQgaXMgNDAwMCk8YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7IC0tbHJwb3J0ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtQb3J0IGZvciBs
aXZlcmVsb2FkIHNlcnZlciB0byBsaXN0ZW4gb24gKERlZmF1bHQgaXMgMzU3MjkpPGJyPiZuYnNw
OyZuYnNwOyZuYnNwOyAtLXdhdGNoICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtFbmFibGUvZGlz
YWJsZSBmaWxlIHdhdGNoZXIgKERlZmF1bHQgaXMgdHJ1ZSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
IC0tZm9ybWF0ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtGb3JtYXQgdG8gYnVpbGQgdG8gKERl
ZmF1bHQgaXMgd2Vic2l0ZTsgVmFsdWVzIGFyZSB3ZWJzaXRlLCBqc29uLCBlYm9vayk8YnI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7IC0tbG9nICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtNaW5pbXVtIGxv
ZyBsZXZlbCB0byBkaXNwbGF5IChEZWZhdWx0IGlzIGluZm87IFZhbHVlcyBhcmUgZGVidWcsIGlu
Zm8sIHdhcm4sIGVycm9yLCBkaXNhYmxlZCk8YnI+PGJyPiZuYnNwOyBpbnN0YWxsIFtib29rXSAm
bmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7aW5zdGFsbCBwbHVnaW5zIGRlcGVuZGVuY2llczxicj48
YnI+Jm5ic3A7IGluaXQgW2RpcmVjdG9yeV0gJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2NyZWF0
ZSBmaWxlcyBhbmQgZm9sZGVycyBiYXNlZCBvbiBjb250ZW50cyBvZiBTVU1NQVJZLm1kPGJyPmBg
YDxicj48YnI+IyMjIyBJbmZvcm1hY2nDs24gYWRpY2lvbmFsPGJyPjxicj5baHR0cHM6Ly9naXRo
dWIuY29tL0dpdGJvb2tJTy9naXRib29rL10oaHR0cHM6Ly9naXRodWIuY29tL0dpdGJvb2tJTy9n
aXRib29rLyk8YnI+PGJyPiMjIyBHaXRib29rIEVkaXRvciBMZWdhY3k8YnI+PGJyPkVzdGUgZWRp
dG9yIGVzdMOhIGRlc2NvbnRpbnVhZG8sIHBlcm8gZnVuY2lvbmEgcGVyZmVjdGFtZW50ZSBwYXJh
IGxhIHZlcnNpw7NuIGRlIEdpdGJvb2sgaW5kaWNhZGEgZW4gZXN0ZSBkb2N1bWVudG8uIEVzdGUg
ZWRpdG9yIG1lIHBlcm1pdGUgdmVyIGNvbW8gcXVlZGFyYW4gbG9zIGRvY3VtZW50b3MgYW50ZXMg
ZGUgZ2VuZXJhcmxvcyB5IGRlIGVzdGEgZm9ybWEgZXZpdGFyIHRlbmVyIHF1ZSBnZW5lcmFyIGVs
IGRvY3VtZW50byBwYXJhIHZlciBjb21vIHF1ZWRhcsOhIGRlc3B1w6lzIGRlIGdlbmVyYWRvLjxi
cj48YnI+IyMjIyBSZXF1ZXJpbWllbnRvcyBwcmV2aW9zPGJyPjxicj4jIyMjIyBDYWxpYnJlPGJy
Pjxicj5QYXJhIHBvZGVyIGdlbmVyYXIgbG9zIGxpYnJvcyBlbiBjdWFscXVpZXIgZm9ybWF0byBu
byB3ZWIgc2UgbmVjZXNpdGEgQ2FsaWJyZS4gUGFyYSBpbnN0YWxhcmxvIGhlIGVqZWN1dGFkbyBl
bCBzaWd1aWVudGUgY29tYW5kbzo8YnI+PGJyPmBgYCBiYXNoPGJyPnN1ZG8gZG5mIGluc3RhbGwg
Y2FsaWJyZTxicj5gYGA8YnI+PGJyPiMjIyMgSW5zdGFsYWNpw7NuIGRlIGdpdGJvb2sgZWRpdG9y
IGxlZ2FjeTxicj48YnI+MS4gRGVzY2FyZ2FyIGVsIGluc3RhbGFibGUgZGVzZGUgbGEgc2lndWll
bnRlIHJ1dGE6IFtodHRwczovL2dpdGh1Yi5jb20vR2l0Ym9va0lPL2VkaXRvci1sZWdhY3kvcmVs
ZWFzZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9HaXRib29rSU8vZWRpdG9yLWxlZ2FjeS9yZWxlYXNl
cyk8YnI+Mi4gRGVzY29tcHJpbWlyIHVzYW5kbzo8YnI+Jm5ic3A7YGBgIGJhc2g8YnI+Jm5ic3A7
dGFyIHp4dmYgZ2l0Ym9vay1saW51eDY0LnRhci5nejxicj4mbmJzcDtgYGA8YnI+My4gUmVub21i
cmFyIHkgbW92ZXIgbGEgY2FycGV0YSBkZSBnaXRib29rIGVkaXRvcjogPGJyPmBgYCBiYXNoPGJy
Pm12IGxpbnV4NjQgZ2l0Ym9vay1lZGl0b3I8YnI+bXYgZ2l0Ym9vay1lZGl0b3IgLi48YnI+YGBg
PGJyPjQuIFBvciB1biBidWcgZW4gbGEgcmVmZXJlbmNpYSBhIHVuYSBsaWJyZXLDrWEgc2UgaGEg
ZGUgZWplY3V0YXIgZWwgc2lndWllbnRlIGNvbWFuZG86PGJyPmBgYCBiYXNoPGJyPnN1ZG8gbG4g
LXNmIC9saWI2NC9saWJ1ZGV2LnNvLjEgL2xpYjY0L2xpYnVkZXYuc28uMDxicj5gYGA8YnI+NS4g
QXJyYW5xdWUgZGVsIHNjcmlwdCBkZSBpbnN0YWxhY2nDs246PGJyPmBgYCBiYXNoPGJyPmNkIGdp
dGJvb2stZWRpdG9yPGJyPmNobW9kICt4ICouc2g8YnI+Li9pbnN0YWxsLnNoPGJyPmBgYDxicj40
LiBBaG9yYSBoYXkgdW4gaWNvbm8gZW4gZWwgbWVuw7ogaW5pY2lvPGJyPjUuIEFicmlybG8geSBl
bXBlemFyPGJyPjxicj48YnI+IyMjIyBVc288YnI+PGJyPkVzIHVuIGNsaWVudGUgZ3LDoWZpY28s
IG5vIG5lY2VzaXRhIHVzYXIgbGEgbMOtbmVhIGRlIGNvbWFuZG9zLjxicj48YnI+IyMjIyBJbmZv
cm1hY2nDs24gYWRpY2lvbmFsPGJyPjxicj5bUMOhZ2luYSBkZSBnaXRodWIgZGUgR2l0Ym9vayBF
ZGl0b3IgTGVnYWR5XShodHRwczovL2dpdGh1Yi5jb20vR2l0Ym9va0lPL2VkaXRvci1sZWdhY3kv
KTxicj48YnI+IyMjIEdpdGJvb2sgRWRpdG9yPGJyPjxicj5Fc3RlIGVkaXRvciBlcyBsYSBldm9s
dWNpw7NuIGRlbCBhbnRlcmlvciB5IHRpZW5lIGNvbmV4acOzbiBjb24gbG9zIGxpYnJvcyBwdWJs
aWNhZG9zIGVuIEdpdEJvb2suIExvIHF1ZSBubyBtZSBndXN0YSBlcyBsYSBuZWNlc2lkYWQgZGUg
Z2l0IHBhcmEgcG9kZXIgY3JlYXIgbGlicm9zIHF1ZSBubyBkZXNlZXMgc3ViaXIgYSBHaXRCb29r
IHkgdGVuZXJsb3Mgc29sYW1lbnRlIGVuIGxvY2FsLjxicj48YnI+RXN0ZSBlZGl0b3Igbm8gbG8g
aGUgaW5zdGFsYWRvIGVuIG1pIG3DoXF1aW5hIHBvciBubyB0ZW5lciBwYXF1ZXRlcyBycG0gcGFy
YSBzdSBpbnN0YWxhY2nDs24uPGJyPjxicj48YnI+IyMjIyBJbmZvcm1hY2nDs24gYWRpY2lvbmFs
PGJyPjxicj5bUMOhZ2luYSBkZSBnaXRodWIgZGUgR2l0Ym9vayBFZGl0b3JdKGh0dHBzOi8vd3d3
LmdpdGJvb2suY29tL2VkaXRvcik8YnI+PGJyPiMjIyBMZWFucHViPGJyPjxicj5Fc3RhIGhlcnJh
bWllbnRhIGVzIGNvbXBsZXRhbWVudGUgd2ViIHkgbm8gdGllbmUgY2xpZW50ZSBwb3IgbMOtbmVh
IGRlIGNvbWFuZG9zIG5pIG9mZmxpbmUuPGJyPkF1bnF1ZSBlcyBhbnRlcmlvciBhIEdpdGJvb2sg
bGEgY29ub2PDrSBkZXNwdcOpcyB5IGxhIHVzbyBwYXJhIGxvIG1pc21vIHF1ZSDDqXN0YSwgcGFy
YSBwb2RlciB0ZW5lciBlbCBibG9nIGRlIGZvcm1hIG9mZmxpbmUgeSBkZSBsaWJyby48YnI+RW4g
bWkgY2FzbyBnZW5lcm8gbG9zIGRvY3VtZW50b3MgZW4gbG9jYWwgeSBsb3Mgc3VibyBtZWRpYW50
ZSBnaXRodWIuIERlc3B1w6lzIGRlc2RlIGxhIHdlYiBwaWRvIGxhIGdlbmVyYWNpw7NuIGRlbCBk
b2N1bWVudG8uPGJyPjxicj4jIyMjIEluZm9ybWFjacOzbiBhZGljaW9uYWw8YnI+PGJyPltQw6Fn
aW5hIG9maWNpYWwgZGUgTGVhbnB1Yl0oaHR0cHM6Ly9sZWFucHViLmNvbS8pPGJyPltNYW51YWwg
b25saW5lIGRlIExlYW5wdWJdKGh0dHBzOi8vbGVhbnB1Yi5jb20vaGVscC9tYW51YWwpPGJyPjxi
cj4jIyMgRWFzeWJvb2s8YnI+PGJyPkVzdGUgZXMgZWwgw7psdGltbyBkZSBsb3MgZ2VuZXJhZG9y
ZXMgZGUgZG9jdW1lbnRvcywgYSBwYXJ0aXIgZGUgTWFya2Rvd24sIHF1ZSBjb25vY8OtLiBFbiBt
aSBjYXNvIG1lIGd1c3RhIGJhc3RhbnRlIHBhcmEgZ2VuZXJhciBkb2N1bWVudGFjacOzbiBjb21w
bGVqYSBlbiBmb3JtYXRvIHdlYiwgbWUgcGVybWl0ZSBnZW5lcmFyIGVzdGEgZW4gdW4gc8OzbG8g
ZG9jdW1lbnRvIGh0bWwgbyBlbiBmb3JtYXRvIHDDoWdpbmEgd2ViLjxicj48YnI+IyMjIyBSZXF1
ZXJpbWllbnRvcyBwcmV2aW9zPGJyPjxicj5Mb3MgcmVxdWVyaW1pZW50b3MgcHJldmlvcyBzb24g
bG9zIHNpZ3VpZW50ZXM6PGJyPjxicj4tIFBIUDxicj4tIENvbXBvc2VyPGJyPjxicj5Mb3MgcmVx
dWVyaW1pZW50b3MgY29tcGxlbWVudGFyaW9zIHNvbiBsb3Mgc2lndWllbnRlczo8YnI+PGJyPi0g
UHJpbmNlWE1MPGJyPi0gS2luZGxlZ2VuPGJyPjxicj4jIyMjIyBQSFA8YnI+PGJyPlBhcmEgaW5z
dGFsYXIgZWwgcGhwIHNlIGhhIGRlIGVqZWN1dGFyIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjxicj48
YnI+YGBgIGJhc2g8YnI+c3VkbyBkbmYgaW5zdGFsbCBwaHA8YnI+YGBgPGJyPjxicj4jIyMjIyBD
b21wb3Nlcjxicj48YnI+UGFyYSBpbnN0YWxhciBjb21wb3NlciBoZSBlamVjdXRhZG8gbG9zIHNp
Z3VpZW50ZXMgY29tYW5kb3M6PGJyPjxicj5gYGAgYmFzaDxicj5jdXJsIC1zUyBodHRwczovL2dl
dGNvbXBvc2VyLm9yZy9pbnN0YWxsZXIgfCBwaHAgLS0gLS1pbnN0YWxsLWRpcj0vaG9tZS9qdWFu
c2FsIC0tZmlsZW5hbWU9Y29tcG9zZXI8YnI+c3VkbyBjcCBjb21wb3NlciAvdXNyL2Jpbjxicj5g
YGA8YnI+PGJyPkluZm9ybWFjacOzbiBhZGljaW9uYWwgZGUgY29tcG9zZXIgZW4gc3UgW3DDoWdp
bmEgb2ZpY2lhbF0oaHR0cHM6Ly9nZXRjb21wb3Nlci5vcmcvKS48YnI+PGJyPiMjIyMjIFByaW5j
ZVhNTDxicj48YnI+UGFyYSBpbnN0YWxhciBQcmluY2VYTUwgaGUgZGVzY2FyZ2FkbyBkZXNkZSBl
bCBuYXZlZ2Fkb3IgZWwgc2lndWllbnRlIGZpY2hlcm86Jm5ic3A7IFtDZW50T1MgNyAvIDY0LWJp
dCBycG1dKGh0dHA6Ly93d3cucHJpbmNleG1sLmNvbS9kb3dubG9hZC9wcmluY2UtMTByNS0xLmNl
bnRvczcueDg2XzY0LnJwbSkgeSBsZSBoZSBpbmRpY2FkbyBhIGVzdGUgcXVlIGxvIGFicmEgY29u
IGVsIHl1bWV4LCBkZSBlc3RhIGZvcm1hIGVzdGUgw7psdGltbyBpbnN0YWxhcsOhIGVsIHBhcXVl
dGUgY29uIHN1cyBkZXBlbmRlbmNpYXMuPGJyPjxicj5JbmZvcm1hY2nDs24gYWRpY2lvbmFsIGRl
IFByaW5jZVhNTCBlbiBzdSBbcMOhZ2luYSBvZmljaWFsXShodHRwOi8vd3d3LnByaW5jZXhtbC5j
b20vKTxicj48YnI+IyMjIyMgS2luZGxlZ2VuPGJyPjxicj5QYXJhIGRlc2NhcmdhciBLaW5kbGVn
ZW4gbWUgaGUgY29uZWN0YWRvIGEgbGEgW3DDoWdpbmEgZGUgZXN0ZV0oaHR0cDovL2Ftem4udG8v
a2luZGxlZ2VuKSB5IGRlc2RlIGVsbGEgaGUgZGVzY2FyZ2FkbyBlbCBsaW5rOiAqKktpbmRsZUdl
biB2Mi45IGZvciBMaW51eCAyLjYgaTM4NioqIHNvYnJlIGxhIGNhcnBldGEgKip+L0Rlc2Nhcmdh
cy8qKi48YnI+PGJyPkRlc3B1w6lzIGRlIGRlc2NhcmdhciBlbCBmaWNoZXJvIGhlIGNyZWFkbyBs
YSBjYXJwZXRhICoqfi9raW5kbGVnZW4qKi48YnI+PGJyPmBgYCBiYXNoPGJyPm1rZGlyIH4va2lu
ZGxlZ2VuPGJyPmBgYDxicj48YnI+SGUgZW50cmFkbyBlbiBsYSBjYXJwZXRhIGNyZWFkYSB5IGRl
c2NvbXByaW1pZG8gZWwgZmljaGVybyBkZXNjYXJnYWRvLjxicj48YnI+YGBgIGJhc2g8YnI+Y2Qg
fi9raW5kbGVnZW48YnI+dGFyIHp4dmYgfi9EZXNjYXJnYXMva2luZGxlZ2VuX2xpbnV4XzIuNl9p
Mzg2X3YyXzkudGFyLmd6PGJyPmBgYDxicj48YnI+IyMjIyBJbnN0YWxhY2nDs24gZGUgRWFzeWJv
b2s8YnI+PGJyPlBhcmEgaW5zdGFsYXIgRWFzeWJvb2sgc2UgaGEgZGUgbGFuemFyIGVsIHNpZ3Vp
ZW50ZSBjb21hbmRvOjxicj48YnI+YGBgIGJhc2g8YnI+Y29tcG9zZXIgY3JlYXRlLXByb2plY3Qg
ZWFzeWJvb2svZWFzeWJvb2sgZWFzeWJvb2s8YnI+YGBgPGJyPjxicj5VbmEgZm9ybWEgZGUgc2Fi
ZXIgc2kgc2UgaGEgaW5zdGFsYWRvIGRlIGZvcm1hIGNvcnJlY3RhIGVsIHByb2dyYW1hIHNlIHB1
ZWRlIGxhbnphciBlbCBzaWd1aWVudGUgY29tYW5kbzo8YnI+PGJyPmBgYCBiYXNoPGJyPi4vYm9v
azxicj5gYGA8YnI+PGJyPlNpIG5vIGTDoSB1biBlcnJvciBlbCByZXN1bHRhZG8gZGUgbGEgZWpl
Y3VjacOzbiBkZSDDqXN0ZSBlcyBzaW1pbGFyIGEgbG8gc2lndWllbnRlOjxicj48YnI+YGBgPGJy
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPiZu
YnNwOywtLS0uLC0tLS4sLS0tLiwmbmJzcDsmbmJzcDsgLnwtLS0uLC0tLS4sLS0tLnxfXy8gPGJy
PiZuYnNwO3wtLS0nLC0tLXxgLS0tLnwmbmJzcDsmbmJzcDsgfHwmbmJzcDsmbmJzcDsgfHwmbmJz
cDsmbmJzcDsgfHwmbmJzcDsmbmJzcDsgfHwmbmJzcDsgXCA8YnI+Jm5ic3A7YC0tLSdgLS0tXmAt
LS0nYC0tLXxgLS0tJ2AtLS0nYC0tLSdgJm5ic3A7Jm5ic3A7IGA8YnI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7IGAtLS0nPGJyPjxicj5lYXN5Ym9vayBpcyB0aGUgZWFzaWVzdCBh
bmQgZmFzdGVzdCB0b29sIHRvIGdlbmVyYXRlPGJyPnRlY2huaWNhbCBkb2N1bWVudGF0aW9uLCBi
b29rcywgbWFudWFscyBhbmQgd2Vic2l0ZXMuPGJyPjxicj5BdmFpbGFibGUgY29tbWFuZHM6PGJy
PiZuYnNwOyBiZW5jaG1hcmsmbmJzcDsmbmJzcDsgQmVuY2htYXJrcyB0aGUgcGVyZm9ybWFuY2Ug
b2YgYm9vayBwdWJsaXNoaW5nPGJyPiZuYnNwOyBjdXN0b21pemUmbmJzcDsmbmJzcDsgRWFzZXMg
dGhlIGN1c3RvbWl6YXRpb24gb2YgdGhlIGJvb2sgZGVzaWduPGJyPiZuYnNwOyBoZWxwJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERpc3BsYXlzIGhlbHAgZm9yIGEg
Y29tbWFuZDxicj4mbmJzcDsgbGlzdCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyBMaXN0cyBjb21tYW5kczxicj4mbmJzcDsgbmV3Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENyZWF0ZXMgYSBuZXcgZW1wdHkgYm9vazxicj4m
bmJzcDsgcHVibGlzaCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBQdWJsaXNoZXMgYW4gZWRpdGlv
biBvZiBhIGJvb2s8YnI+Jm5ic3A7IHZlcnNpb24mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgU2hv
d3MgaW5zdGFsbGVkIGVhc3lib29rIHZlcnNpb248YnI+PGJyPmBgYDxicj48YnI+PGJyPiMjIyMg
VXNvPGJyPjxicj5QYXJhIHRyYWJhamFyIGNvbiBsb3MgZG9jdW1lbnRvcyBjb24gZWFzeWJvb2sg
aGUgY3JlYWRvIGxhIHNpZ3VpZW50ZSBjYXJwZXRhOjxicj48YnI+YGBgPGJyPi9ob21lL2p1YW5z
YWwvZWFzeWJvb2s8YnI+YGBgPGJyPjxicj4jIyMjIyBJbmljaWFsaXphciB1biBsaWJybyB2YWPD
rW86PGJyPjxicj5QYXJhIGluaWNpYWxpemFyIHVuIGxpYnJvIHZhY8OtbyBzZSBoYSBkZSBsYW56
YXIgZWwgc2lndWllbnRlIGNvbWFuZG86PGJyPjxicj5gYGAgYmFzaDxicj4uL2Jvb2sgbmV3ICJU
aXR1bG8gZGVsIGxpYnJvIjxicj5gYGA8YnI+PGJyPiMjIyMjIEdlbmVyYXIgdW4gbGlicm8gZW4g
Zm9ybWF0byBodG1sPGJyPjxicj5QYXJhIGdlbmVyYXIgZWwgbGlicm8gZW4gZm9ybWF0byBodG1s
IHNlIGhhIGRlIGVqZWN1dGFyIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjxicj48YnI+YGBgIGJhc2g8
YnI+Li9ib29rIHB1Ymxpc2ggVGl0dWxvLWRlbC1saWJybyB3ZWI8YnI+YGBgPGJyPjxicj4jIyMj
IyBHZW5lcmFyIHVuIGxpYnJvIGVuIGZvcm1hdG8gd2ViPGJyPjxicj5QYXJhIGdlbmVyYXIgZWwg
bGlicm8gZW4gZm9ybWF0byB2w6FyaWFzIHDDoWdpbmFzIGVuIGh0bWwgc2UgaGEgZGUgZWplY3V0
YXIgZWwgc2lndWllbnRlIGNvbWFuZG86PGJyPjxicj5gYGAgYmFzaDxicj4uL2Jvb2sgcHVibGlz
aCBUaXR1bG8tZGVsLWxpYnJvIHdlYnNpdGU8YnI+YGBgPGJyPjxicj4jIyMjIyBHZW5lcmFyIHVu
IGxpYnJvIGVuIGZvcm1hdG8gZXB1Yjxicj48YnI+UGFyYSBnZW5lcmFyIGVsIGxpYnJvIGVuIGZv
cm1hdG8gZXB1YiBzZSBoYSBkZSBlamVjdXRhciBlbCBzaWd1aWVudGUgY29tYW5kbzo8YnI+PGJy
PmBgYCBiYXNoPGJyPi4vYm9vayBwdWJsaXNoIFRpdHVsby1kZWwtbGlicm8gZWJvb2s8YnI+YGBg
PGJyPjxicj4jIyMjIyBHZW5lcmFyIHVuIGxpYnJvIGVuIGZvcm1hdG8gbW9iaTxicj48YnI+UGFy
YSBnZW5lcmFyIGVsIGxpYnJvIGVuIGZvcm1hdG8gbW9iaSBzZSBoYSBkZSBlamVjdXRhciBlbCBz
aWd1aWVudGUgY29tYW5kbzo8YnI+PGJyPmBgYCBiYXNoPGJyPi4vYm9vayBwdWJsaXNoIFRpdHVs
by1kZWwtbGlicm8ga2luZGxlPGJyPmBgYDxicj48YnI+IyMjIyMgR2VuZXJhciB1biBsaWJybyBl
biBmb3JtYXRvIHBkZjxicj48YnI+UGFyYSBnZW5lcmFyIGVsIGxpYnJvIGVuIGZvcm1hdG8gcGRm
IHNlIGhhIGRlIGVqZWN1dGFyIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjxicj48YnI+YGBgIGJhc2g8
YnI+Li9ib29rIHB1Ymxpc2ggVGl0dWxvLWRlbC1saWJybyBwcmludDxicj5gYGA8YnI+PGJyPjxi
cj4jIyMjIEluZm9ybWFjacOzbiBhZGljaW9uYWw8YnI+PGJyPltQw6FnaW5hIG9maWNpYWwgZGUg
ZWFzeWJvb2tdKGh0dHA6Ly9lYXN5Ym9vay1wcm9qZWN0Lm9yZy8pPGJyPltQw6FnaW5hIGRlIGdp
dGh1YiBkZSBlYXN5Ym9va10oaHR0cHM6Ly9naXRodWIuY29tL2phdmllcmVndWlsdXovZWFzeWJv
b2spPGJyPjxicj48YnI+PC9wPg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/1946910830184840170/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2016/03/maquina-virtual-para-trabajar-con.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/1946910830184840170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/1946910830184840170'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2016/03/maquina-virtual-para-trabajar-con.html' title='Máquina virtual para trabajar con documentos en Markdown - Nueva versión'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-6760497035879589795</id><published>2015-11-26T22:46:00.001+01:00</published><updated>2015-11-26T23:43:09.188+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open-vm-tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtualización"/><category scheme="http://www.blogger.com/atom/ns#" term="VMware"/><category scheme="http://www.blogger.com/atom/ns#" term="VMware Tools"/><title type='text'>Instalación de las vmware tools en linux, a partir de la versión 12 de VMware</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=6760497035879589795&quot;&gt;
&lt;h2 id=&quot;informaci-n-sobre-la-instalaci-n-de-las-vmware-tools&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Información sobre la instalación de las vmware tools&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
A partir de esta versión de vmware, si intentas instalar las vmware tools lo primero que te recomienda el instalador es que no instales las que lleva el entorno y que te instales las open-vm-tools.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;http://kb.vmware.com/kb/2073803&quot;&gt;Página de VMware con la información&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;a href=&quot;http://sourceforge.net/projects/open-vm-tools/&quot;&gt;Página del proyecto en sourceforge&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://github.com/vmware/open-vm-tools&quot;&gt;Página del proyecto en github&lt;/a&gt;&lt;/div&gt;
&lt;h2 id=&quot;comandos-para-realizar-la-instalaci-n&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Comandos para realizar la instalación&lt;/h2&gt;
&lt;h3 id=&quot;ubuntu-debian&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
UBUNTU / DEBIAN&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El comando a ejecutar para realizar la instalación es el siguiente:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; apt-get install open-vm-tools
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Si se dispone de entorno gráfico instalado, se ha de ejecutar también el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; apt-get install open-vm-tools-desktop
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;centos-fedora-red-hat&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
CENTOS / FEDORA / RED-HAT&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El comando a ejecutar para realizar la instalación es el siguiente:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; yum install open-vm-tools
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Si se dispone de entorno gráfico instalado, se ha de ejecutar también el siguiente comando:&lt;/div&gt;
&lt;pre style=&quot;font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;&quot;&gt;&lt;code class=&quot;hljs language-bash&quot; style=&quot;background-color: #f8f8f8; background: rgb(248, 248, 248) none repeat scroll 0% 0%; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); color: #333333; display: block ! important; display: block; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow-x: auto; overflow: auto; padding: 0.5em 0.7em; padding: 0.5em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;color: #0086b3;&quot;&gt;sudo&lt;/span&gt; yum install open-vm-tools-desktop
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:IyMgSW5mb3JtYWNpw7NuIHNvYnJlIGxhIGluc3RhbGFjacOzbiBkZSBsYXMgdm13YXJlIHRvb2xz
PGJyPjxicj5BIHBhcnRpciBkZSBlc3RhIHZlcnNpw7NuIGRlIHZtd2FyZSwgc2kgaW50ZW50YXMg
aW5zdGFsYXIgbGFzIHZtd2FyZSB0b29scyBsbyBwcmltZXJvIHF1ZSB0ZSByZWNvbWllbmRhIGVs
IGluc3RhbGFkb3IgZXMgcXVlIG5vIGluc3RhbGVzIGxhcyBxdWUgbGxldmEgZWwgZW50b3JubyB5
IHF1ZSB0ZSBpbnN0YWxlcyBsYXMgb3Blbi12bS10b29scy48YnI+PGJyPltQw6FnaW5hIGRlIFZN
d2FyZSBjb24gbGEgaW5mb3JtYWNpw7NuXShodHRwOi8va2Iudm13YXJlLmNvbS9rYi8yMDczODAz
KTxicj48YnI+W1DDoWdpbmEgZGVsIHByb3llY3RvIGVuIHNvdXJjZWZvcmdlXShodHRwOi8vc291
cmNlZm9yZ2UubmV0L3Byb2plY3RzL29wZW4tdm0tdG9vbHMvKTxicj5bUMOhZ2luYSBkZWwgcHJv
eWVjdG8gZW4gZ2l0aHViXShodHRwczovL2dpdGh1Yi5jb20vdm13YXJlL29wZW4tdm0tdG9vbHMp
PGJyPjxicj4jIyBDb21hbmRvcyBwYXJhIHJlYWxpemFyIGxhIGluc3RhbGFjacOzbjxicj48YnI+
IyMjIFVCVU5UVSAvIERFQklBTjxicj48YnI+RWwgY29tYW5kbyBhIGVqZWN1dGFyIHBhcmEgcmVh
bGl6YXIgbGEgaW5zdGFsYWNpw7NuIGVzIGVsIHNpZ3VpZW50ZTo8YnI+YGBgIGJhc2g8YnI+c3Vk
byBhcHQtZ2V0IGluc3RhbGwgb3Blbi12bS10b29sczxicj5gYGA8YnI+PGJyPlNpIHNlIGRpc3Bv
bmUgZGUgZW50b3JubyBncsOhZmljbyBpbnN0YWxhZG8sIHNlIGhhIGRlIGVqZWN1dGFyIHRhbWJp
w6luIGVsIHNpZ3VpZW50ZSBjb21hbmRvOjxicj5gYGAgYmFzaDxicj5zdWRvIGFwdC1nZXQgaW5z
dGFsbCBvcGVuLXZtLXRvb2xzLWRlc2t0b3A8YnI+YGBgPGJyPjxicj4jIyMgQ0VOVE9TIC8gRkVE
T1JBIC8gUkVELUhBVDxicj48YnI+RWwgY29tYW5kbyBhIGVqZWN1dGFyIHBhcmEgcmVhbGl6YXIg
bGEgaW5zdGFsYWNpw7NuIGVzIGVsIHNpZ3VpZW50ZTo8YnI+YGBgIGJhc2g8YnI+c3VkbyB5dW0g
aW5zdGFsbCBvcGVuLXZtLXRvb2xzPGJyPmBgYDxicj48YnI+U2kgc2UgZGlzcG9uZSBkZSBlbnRv
cm5vIGdyw6FmaWNvIGluc3RhbGFkbywgc2UgaGEgZGUgZWplY3V0YXIgdGFtYmnDqW4gZWwgc2ln
dWllbnRlIGNvbWFuZG86PGJyPmBgYCBiYXNoPGJyPnN1ZG8geXVtIGluc3RhbGwgb3Blbi12bS10
b29scy1kZXNrdG9wPGJyPmBgYDxicj48YnI+&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/6760497035879589795/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/11/instalacion-de-las-vmware-tools-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/6760497035879589795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/6760497035879589795'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/11/instalacion-de-las-vmware-tools-en.html' title='Instalación de las vmware tools en linux, a partir de la versión 12 de VMware'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-7115738085027139505</id><published>2015-11-03T00:29:00.000+01:00</published><updated>2016-04-11T23:55:35.346+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><title type='text'>Sistema de apertura de un escaparate con arduino</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=7115738085027139505;onPublishedMenu=posts;onClosedMenu=posts;postNum=0;src=postname&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h2 id=&quot;descripci-n&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Descripción&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
La finalidad del proyecto es crear un sistema selectivo de apertura de escaparates.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los requerimientos son los siguientes:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Hay un total de 8 escaparates.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se han de poder abrir cada uno de los 8 escaparates de forma independiente.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se han de poder abrir todos los escaparates a la vez.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;El tiempo durante el cual los cerrojos deben de estar abiertos es de 1 minuto.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Hay 3 cerrojos por escaparate.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcVVzVExss3VFHdu7UDZJwgWIQ9Y8dSAxR-iohCN1VtIvJ9pTp2gHusVawjZEYifH5c2ADfGK3ycdDD1ydoJLXJ4LjGTYWDjGkQ1JqGKmYRMUldsXA_7JTJzf9lhMGusml9X080c_Rqpio/s1600/IMG-20150816-WA0000.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcVVzVExss3VFHdu7UDZJwgWIQ9Y8dSAxR-iohCN1VtIvJ9pTp2gHusVawjZEYifH5c2ADfGK3ycdDD1ydoJLXJ4LjGTYWDjGkQ1JqGKmYRMUldsXA_7JTJzf9lhMGusml9X080c_Rqpio/s640/IMG-20150816-WA0000.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h2 id=&quot;instrucciones&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Instrucciones&lt;/h2&gt;
&lt;h3 id=&quot;componentes-usados&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Componentes usados&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los componentes usados han sido:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.kitprinter3d.com/es/electronica/99-fuente-de-alimentacion-conmutada-12v-30a.html&quot;&gt;Fuente de alimentación de 12V y 30A&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ebay.es/itm/311064700128?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&quot;&gt;Arduino nano v 3.0 5v&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.aliexpress.com/item/10pcslot-LM2596s-DC-DC-step-down-power-supply-module-3A-adjustable-step-down-module-LM2596-voltage/1289330336.html&quot;&gt;Reductor voltaje LM2596s&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.ereshop.com/shop/relays-c-143_178/i2c-bus-high-current-relay-12v-pcf8574-p-739.html&quot;&gt;Bloque relés I2C 12v 10A&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.ereshop.com/shop/index.php?main_page=product_info&amp;amp;cPath=68_185&amp;amp;products_id=803&amp;amp;zenid=bad04c23e16790298fa3003dd156a414&quot;&gt;Teclado 4 x 3&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://es.aliexpress.com/item/5pcs-9-15-cm-Printed-Circuit-Board-9X15-cm-Universal-PCB-Board-Double-Sided-Prototype-PCB/32254187154.html?adminSeq=221739572&amp;amp;shopNumber=1403485&quot; target=&quot;_blank&quot;&gt;Placa PCB 9x15 mm&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.ereshop.com/shop/index.php?main_page=product_info&amp;amp;cPath=177&amp;amp;products_id=798&amp;amp;zenid=bad04c23e16790298fa3003dd156a414&quot;&gt;4-pin 2.00mm connector&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://www.ereshop.com/shop/index.php?main_page=product_info&amp;amp;cPath=173&amp;amp;products_id=743&amp;amp;zenid=bad04c23e16790298fa3003dd156a414&quot;&gt;4W 2.00mm 4F/4F 6”&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;2 resistencias de 10K&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://es.aliexpress.com/wholesale?catId=0&amp;amp;initiative_id=SB_20151102121134&amp;amp;SearchText=solenoid+door+lock+12v+0.8a&quot;&gt;Cerrojo&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;span id=&quot;goog_236110714&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_236110715&quot;&gt;&lt;/span&gt; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWLMFD9BBiTwhgWT-dAk3Vxiha4fRb2Px6qRIoL6UeyvFT-srJUtslwkD91eKXHZu9vgX4qf0lwfELKcBzCbu3PpFlxYIEA5hlEFpV08530nHIPA-6v2vWqzMDituZBRV_4oCl-31iJSD_/s1600/Cerrojo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Cerrojo&quot; border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWLMFD9BBiTwhgWT-dAk3Vxiha4fRb2Px6qRIoL6UeyvFT-srJUtslwkD91eKXHZu9vgX4qf0lwfELKcBzCbu3PpFlxYIEA5hlEFpV08530nHIPA-6v2vWqzMDituZBRV_4oCl-31iJSD_/s400/Cerrojo.jpg&quot; title=&quot;Cerrojo&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;montaje-del-circuito&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
&amp;nbsp;&lt;/h3&gt;
&lt;h3 id=&quot;montaje-del-circuito&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Montaje del circuito&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El esquema en Fritzing es el siguiente:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxz_limN0AVBCqUBITfPLQ3m7SaoqhQ0cibrYLn6FXbFsic6nvEVlRK2Tzyq19nB3_KL20Y_xpOI8LRWRnZXBVpeDH4hx3qPqB_urmWjIe2yq7ZKdD0yyXO0XYrZMlPp2Xs5vf6cxCDRFf/s1600/Vitrinas_tienda_bb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Esquema usando Fritzing&quot; border=&quot;0&quot; height=&quot;472&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxz_limN0AVBCqUBITfPLQ3m7SaoqhQ0cibrYLn6FXbFsic6nvEVlRK2Tzyq19nB3_KL20Y_xpOI8LRWRnZXBVpeDH4hx3qPqB_urmWjIe2yq7ZKdD0yyXO0XYrZMlPp2Xs5vf6cxCDRFf/s640/Vitrinas_tienda_bb.png&quot; title=&quot;Esquema usando Fritzing&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Como puede observarse en las siguientes imágenes, el sistema ha sido montado sobre una placa pcb de 9x15.&lt;br /&gt;
La fuente de alimentación se ha elegido de 30A porque cada uno de los cerrojos usa 900 mA y hay 24 de estos.&lt;br /&gt;
El móldulo LM2596s ha sido usado para reducir el voltaje de entrada a el arduino de 12V a 6V.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Imágenes del sistema montado dentro del laboratorio:&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnewZUuzjC3TP2f3PoUQMkbBp25Q-p6o1BdnH0oJA59DSUIj-heQpzCnrsK1jamH_kYEsa4hYPbF2zheJGMo2g1UXdQd-axQO-TaU259ZOMCmbfN7s4dug8QRJTCmWiwn9s1Ut_cicl4mb/s1600/Galeria_01.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;427&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnewZUuzjC3TP2f3PoUQMkbBp25Q-p6o1BdnH0oJA59DSUIj-heQpzCnrsK1jamH_kYEsa4hYPbF2zheJGMo2g1UXdQd-axQO-TaU259ZOMCmbfN7s4dug8QRJTCmWiwn9s1Ut_cicl4mb/s640/Galeria_01.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detalle superior de la placa montada.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkqt2Qou67UIKma3ni8vxNZ3EosLSf9_raEGhP5kVL06Q5XO7c1L2gSr-M6Z-7DCy71giLGQ9Cc2bDnPo8mOpCPvoBwWmcoDyzhIr2E4RCA8ykHgNT-C04dMaYPEMzK2Zm0rOyAc8u4V6Q/s1600/Galeria_02.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkqt2Qou67UIKma3ni8vxNZ3EosLSf9_raEGhP5kVL06Q5XO7c1L2gSr-M6Z-7DCy71giLGQ9Cc2bDnPo8mOpCPvoBwWmcoDyzhIr2E4RCA8ykHgNT-C04dMaYPEMzK2Zm0rOyAc8u4V6Q/s640/Galeria_02.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detalle inferior de la placa montada.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYpQTQMIXz5TZ1_sZrk9At2M7MaSJIziyLX0shd_FMXO9bZ0I4hCXyqgaoC7zu39_tYTBqu-NDjy0ON54bJoqIyPjq3-5RiK5nMjxA3gcl40-3mtHev5YZcFE7nDW69NaQM4ayk7DZO68o/s1600/Galeria_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYpQTQMIXz5TZ1_sZrk9At2M7MaSJIziyLX0shd_FMXO9bZ0I4hCXyqgaoC7zu39_tYTBqu-NDjy0ON54bJoqIyPjq3-5RiK5nMjxA3gcl40-3mtHev5YZcFE7nDW69NaQM4ayk7DZO68o/s640/Galeria_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Teclado y bloque de relés.&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTFoYnbuj-U3GhrnCztwUNTHA6cFzCsJHj4Z6uxC8V2HMOOKIBfdsIO_uDj7GELpuJVv5D3Yf9pGznkyraOWMux5-GOPuACQ_aVWjev9WOvqGS5EvikOJhPpMWPcNTQJ6tr8GwRmV1cuGy/s1600/Galeria_04.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTFoYnbuj-U3GhrnCztwUNTHA6cFzCsJHj4Z6uxC8V2HMOOKIBfdsIO_uDj7GELpuJVv5D3Yf9pGznkyraOWMux5-GOPuACQ_aVWjev9WOvqGS5EvikOJhPpMWPcNTQJ6tr8GwRmV1cuGy/s640/Galeria_04.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Conexión del bloque de relés.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFJ0W_xQaQSbByM3GYJg5Djxry1db7XU-Hx3XzTlzLXgDQ9tTcYhz1qac3tPkRS2_U6nDqW88iNC49dAoKY3NSNs7SZ_3m5OG6dGA4UQyymywpNl8RxhkLPocdk1jz3SimVRGL3Mx2HIy8/s1600/Galeria_05.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFJ0W_xQaQSbByM3GYJg5Djxry1db7XU-Hx3XzTlzLXgDQ9tTcYhz1qac3tPkRS2_U6nDqW88iNC49dAoKY3NSNs7SZ_3m5OG6dGA4UQyymywpNl8RxhkLPocdk1jz3SimVRGL3Mx2HIy8/s640/Galeria_05.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Sistema completo.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;/div&gt;
&lt;span id=&quot;goog_236110763&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_236110764&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=7115738085027139505;onPublishedMenu=posts;onClosedMenu=posts;postNum=0;src=postname&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;h3 id=&quot;software&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
&lt;/h3&gt;
&lt;h3 id=&quot;software&quot; style=&quot;font-size: 1.3em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Software&lt;/h3&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para comprobar la dirección I2C del bloque de relés se ha usado el programa llamado &lt;a href=&quot;http://todbot.com/blog/2009/11/29/i2cscanner-pde-arduino-as-i2c-bus-scanner/&quot;&gt;Arduino I2c Scanner&lt;/a&gt;.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Las librerías usadas han sido:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://whatsbroken.com.au/arduino-i2c-relays/i2c_rl8xxm/&quot;&gt;I2C_RL8xxM&lt;/a&gt;: librería usada para acceder al bloque de relés.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Wire: librería usada para las conexiones I2C y dependencia de la librería I2C_RL8xxM.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.arduino.cc/playground/uploads/Code/Keypad.zip&quot;&gt;keypad&lt;/a&gt;: librería usada para la gestión del teclado 4x3.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El código del arduino es el siguiente:&lt;/div&gt;
&lt;/div&gt;
&lt;iframe allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; src=&quot;https://codebender.cc/embed/sketch:178358&quot; style=&quot;height: 510px; margin: 10px 0 10px; width: 100%;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=7115738085027139505;onPublishedMenu=posts;onClosedMenu=posts;postNum=2;src=postname&quot;&gt;
&lt;h2 id=&quot;lugares-complementarios-y-adicionales-en-los-que-se-ha-publicado-el-art-culo-&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Lugares complementarios y adicionales en los que se ha publicado el artículo:&lt;/h2&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;https://codebender.cc/sketch:178358&quot;&gt;Codebender&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://www.instructables.com/id/Sistema-de-apertura-de-un-escaparate-con-arduino/&quot;&gt;Instructables&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2016/04/opening-system-of-showcase-with-arduino.html&quot;&gt;Artículo en inglés&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:IyMgTHVnYXJlcyBjb21wbGVtZW50YXJpb3MgeSBhZGljaW9uYWxlcyBlbiBsb3MgcXVlIHNlIGhh
IHB1YmxpY2FkbyBlbCBhcnTDrWN1bG86PGJyPjxicj4tIFtDb2RlYmVuZGVyXShodHRwczovL2Nv
ZGViZW5kZXIuY2Mvc2tldGNoOjE3ODM1OCk8YnI+LSBbSW5zdHJ1Y3RhYmxlc10oaHR0cDovL3d3
dy5pbnN0cnVjdGFibGVzLmNvbS9pZC9TaXN0ZW1hLWRlLWFwZXJ0dXJhLWRlLXVuLWVzY2FwYXJh
dGUtY29uLWFyZHVpbm8vKTxicj4tIFtBcnTDrWN1bG8gZW4gaW5nbMOpc10oaHR0cDovL2Jsb2cu
anVhbnNhbC5jb20vMjAxNi8wNC9vcGVuaW5nLXN5c3RlbS1vZi1zaG93Y2FzZS13aXRoLWFyZHVp
bm8uaHRtbCk8YnI+PGJyPg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/7115738085027139505/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/11/sistema-de-apertura-de-un-escaparate.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/7115738085027139505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/7115738085027139505'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/11/sistema-de-apertura-de-un-escaparate.html' title='Sistema de apertura de un escaparate con arduino'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcVVzVExss3VFHdu7UDZJwgWIQ9Y8dSAxR-iohCN1VtIvJ9pTp2gHusVawjZEYifH5c2ADfGK3ycdDD1ydoJLXJ4LjGTYWDjGkQ1JqGKmYRMUldsXA_7JTJzf9lhMGusml9X080c_Rqpio/s72-c/IMG-20150816-WA0000.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-8294389218152368417</id><published>2015-09-21T16:00:00.000+02:00</published><updated>2015-11-23T23:26:25.446+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - Agradecimientos</title><content type='html'>A mi padre y a mi hermano por ayudarme con la parte de cortado y chapado de los tableros, además de ayudarme en el montaje del&amp;nbsp; mueble.&lt;br /&gt;
&lt;br /&gt;
A mi amigo Sergio por enseñarme a usar el soldador y echarme una mano con el monitor.&lt;br /&gt;
&lt;br /&gt;
A la gente de los foros de máquinas de arcade de la que he obtenido ideas para poder montar la mía.&lt;br /&gt;
&lt;br /&gt;
Al resto de gente que con sus ánimos y ayudas puntuales me han ayudado a acabar este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/8294389218152368417/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/8294389218152368417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/8294389218152368417'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html' title='Construcción de máquina recreativa - Agradecimientos'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-8829162359749035166</id><published>2015-09-20T16:00:00.000+02:00</published><updated>2015-11-23T23:29:37.147+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - El Sonido</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=8829162359749035166&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para el sonido de la máquina he utilizado unos altavoces viejos que tenía por casa y que hace tiempo usaba para el ordenador.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBwIsosnhBNpB0qqeQJplAZHiNpcrYhmZWFWag-sxM6p_KKx3l2L5Jnd6kjzm7Z9dfLB4I9ba0VxTVU5Tg-abze6LzHDw37l5FKfZ5r8PFV3bLouuQXkfmmrjYeSeZUhzPwopIPRPJW-Ey/s1600/Sonido_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBwIsosnhBNpB0qqeQJplAZHiNpcrYhmZWFWag-sxM6p_KKx3l2L5Jnd6kjzm7Z9dfLB4I9ba0VxTVU5Tg-abze6LzHDw37l5FKfZ5r8PFV3bLouuQXkfmmrjYeSeZUhzPwopIPRPJW-Ey/s640/Sonido_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Altavoces desmontados&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Una vez desmontados los he posicionado sobre la marquesina a ver como los repartía.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjccJZvKfgqSInF4vj2bGo23EtIFxQ5yzqBtoZUSBE6b8ZOX-8WZ95crj3w24ZSSdethxpbw7myr8AHDTL8MW8I0W9TS2NoFqjYlmpbB-LmN3cEdSqaeUIuF86o722kWtCnbdxbdQDEv4SA/s1600/Sonido_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjccJZvKfgqSInF4vj2bGo23EtIFxQ5yzqBtoZUSBE6b8ZOX-8WZ95crj3w24ZSSdethxpbw7myr8AHDTL8MW8I0W9TS2NoFqjYlmpbB-LmN3cEdSqaeUIuF86o722kWtCnbdxbdQDEv4SA/s640/Sonido_02.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Altavoz situado sobre marquesina&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Cuando he encontrado la posición en la que quería situarlos he hecho los agujeros pertinentes.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieMHVx3Y2eZyN8drFVUrSOqDn-UWFbizUycBA1ynszwDKecYb9Y8jMpBj0hLWQ5KliP2UlN0SveY6Hzr3RRqg9G8G8XsnNeq4MB7kieav2znD3-h194OgFXxzUeTaa362GE0i8cyGGfOq5/s1600/Sonido_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieMHVx3Y2eZyN8drFVUrSOqDn-UWFbizUycBA1ynszwDKecYb9Y8jMpBj0hLWQ5KliP2UlN0SveY6Hzr3RRqg9G8G8XsnNeq4MB7kieav2znD3-h194OgFXxzUeTaa362GE0i8cyGGfOq5/s640/Sonido_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Agujeros altavoces realizados&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de realizar los agujeros he montado los altavoces y el tubo de luz.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYinOGB7AfESsV_4Fski1Bx72vYtO8Au0e6xV3LUckgwp54qZ-izcAMvf68fcIy_Uhzf81dwZGrV6O9kRuq2gJcRlGnGPUb9L8BjVqEkPK4hhW6KizFf432MG6rChbEgvWAlVHDR2EChtd/s1600/Sonido_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYinOGB7AfESsV_4Fski1Bx72vYtO8Au0e6xV3LUckgwp54qZ-izcAMvf68fcIy_Uhzf81dwZGrV6O9kRuq2gJcRlGnGPUb9L8BjVqEkPK4hhW6KizFf432MG6rChbEgvWAlVHDR2EChtd/s640/Sonido_04.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Altavoces y el tubo de luz de la marquesina&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Una vez montado todo lo anterior he montado los embellecedores de los altavoces.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK6UxZLym_mZcdMhLDVa6PUt0pS3bAg5pILL3yseMp3RgXoM5JpN4WBVd6fHOJENJaeN9XKCSZYvoZUdGRozYxvhN2SdLCs2GaCb4aJG9HEbg1fSJBknu5JkqOuzT0Ymjo1oMfistLhmg7/s1600/Sonido_05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK6UxZLym_mZcdMhLDVa6PUt0pS3bAg5pILL3yseMp3RgXoM5JpN4WBVd6fHOJENJaeN9XKCSZYvoZUdGRozYxvhN2SdLCs2GaCb4aJG9HEbg1fSJBknu5JkqOuzT0Ymjo1oMfistLhmg7/s640/Sonido_05.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Embellecedores de los altavoces montados&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+UGFyYSBlbCBzb25pZG8gZGUgbGEgbcOhcXVpbmEgaGUgdXRpbGl6YWRvIHVub3MgYWx0YXZv
Y2VzIHZpZWpvcyBxdWUgdGVuw61hIHBvciBjYXNhIHkgcXVlIGhhY2UgdGllbXBvIHVzYWJhIHBh
cmEgZWwgb3JkZW5hZG9yLjxicj48YnI+IVtTb25pZG9fMDFdKGh0dHA6Ly9pbWFnZXNoYWNrLmNv
bS9hL2ltZzUzOC85OTIzL1l2OFNFeC5qcGcgIkFsdGF2b2NlcyBkZXNtb250YWRvcyIpPGJyPiZn
dDsgQWx0YXZvY2VzIGRlc21vbnRhZG9zPGJyPjxicj5VbmEgdmV6IGRlc21vbnRhZG9zIGxvcyBo
ZSBwb3NpY2lvbmFkbyBzb2JyZSBsYSBtYXJxdWVzaW5hIGEgdmVyIGNvbW8gbG9zIHJlcGFydMOt
YS48YnI+PGJyPiFbU29uaWRvXzAyXShodHRwOi8vaW1hZ2VzaGFjay5jb20vYS9pbWc5MDUvNzc3
OS84eTJiWGouanBnICJBbHRhdm96IHNpdHVhZG8gc29icmUgbWFycXVlc2luYSIpPGJyPiZndDsg
QWx0YXZveiBzaXR1YWRvIHNvYnJlIG1hcnF1ZXNpbmE8YnI+PGJyPkN1YW5kbyBoZSBlbmNvbnRy
YWRvIGxhIHBvc2ljacOzbiBlbiBsYSBxdWUgcXVlcsOtYSBzaXR1YXJsb3MgaGUgaGVjaG8gbG9z
IGFndWplcm9zIHBlcnRpbmVudGVzLjxicj48YnI+IVtTb25pZG9fMDNdKGh0dHA6Ly9pbWFnZXNo
YWNrLmNvbS9hL2ltZzkwMS85MjcwL0JMWml6Vi5qcGcgIkFndWplcm9zIGFsdGF2b2NlcyByZWFs
aXphZG9zIik8YnI+Jmd0OyBBZ3VqZXJvcyBhbHRhdm9jZXMgcmVhbGl6YWRvczxicj48YnI+RGVz
cHXDqXMgZGUgcmVhbGl6YXIgbG9zIGFndWplcm9zIGhlIG1vbnRhZG8gbG9zIGFsdGF2b2NlcyB5
IGVsIHR1Ym8gZGUgbHV6Ljxicj48YnI+IVtTb25pZG9fMDRdKGh0dHA6Ly9pbWFnZXNoYWNrLmNv
bS9hL2ltZzUzNy85Nzc2L1JOb2RoSy5qcGcgIkFsdGF2b2NlcyB5IGVsIHR1Ym8gZGUgbHV6IGRl
IGxhIG1hcnF1ZXNpbmEiKTxicj4mZ3Q7IEFsdGF2b2NlcyB5IGVsIHR1Ym8gZGUgbHV6IGRlIGxh
IG1hcnF1ZXNpbmE8YnI+PGJyPlVuYSB2ZXogbW9udGFkbyB0b2RvIGxvIGFudGVyaW9yIGhlIG1v
bnRhZG8gbG9zIGVtYmVsbGVjZWRvcmVzIGRlIGxvcyBhbHRhdm9jZXMuPGJyPjxicj4hW1Nvbmlk
b18wNV0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNTM3LzU5Mzcvbkxyd2IyLmpwZyAiRW1i
ZWxsZWNlZG9yZXMgZGUgbG9zIGFsdGF2b2NlcyBtb250YWRvcyIpPGJyPiZndDsgRW1iZWxsZWNl
ZG9yZXMgZGUgbG9zIGFsdGF2b2NlcyBtb250YWRvczxicj48L3A+&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/8829162359749035166/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/8829162359749035166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/8829162359749035166'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html' title='Construcción de máquina recreativa - El Sonido'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBwIsosnhBNpB0qqeQJplAZHiNpcrYhmZWFWag-sxM6p_KKx3l2L5Jnd6kjzm7Z9dfLB4I9ba0VxTVU5Tg-abze6LzHDw37l5FKfZ5r8PFV3bLouuQXkfmmrjYeSeZUhzPwopIPRPJW-Ey/s72-c/Sonido_01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-9155257362988978410</id><published>2015-09-19T16:00:00.000+02:00</published><updated>2015-11-23T23:25:20.919+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - Los Controles</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=9155257362988978410&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para el panel de control me he basado en el siguiente modelo:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia285uRqe8YVT4sI0YyxpZTgpIjQW0MQZ4HZ_59ZrH93PtS4SaQ5DNeYmbWkx2XiDvm-fLGqWgdr5egNoD-relYwfaVgNyuRsaPT0X4KiBJVY3pLsAZhQeBrH-Au7ZGNy9A7MK05Yixzvm/s1600/Controles_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;426&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia285uRqe8YVT4sI0YyxpZTgpIjQW0MQZ4HZ_59ZrH93PtS4SaQ5DNeYmbWkx2XiDvm-fLGqWgdr5egNoD-relYwfaVgNyuRsaPT0X4KiBJVY3pLsAZhQeBrH-Au7ZGNy9A7MK05Yixzvm/s640/Controles_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Plantilla usada para posicionamiento de botones y palanca&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Este modelo lo he obtenido del  foro de ZonaArcade, del siguiente link:&lt;br /&gt;
&lt;a href=&quot;http://zonaarcade.forumcommunity.net/?t=13788157&quot;&gt;http://zonaarcade.forumcommunity.net/?t=13788157&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los pasos que he seguido para diseñar y construir el panel de controles han sido los siguientes:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Primero he creado una plantilla de cartón para realizar las pruebas de distribución de botones y palancas.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz83wG7Rh_MhEEL_L1nfOaJ3WhCViO0m06_Ksu3oUpS8teAsw86ov8_iDiILS0XpFXcAfH7u1f6eHCK8dB4szDJNJUUf6KZy8s5sOs-7NAxe67Vn6zkJyIhxW-WOajCiJT8jFZP0CLXUHC/s1600/Controles_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz83wG7Rh_MhEEL_L1nfOaJ3WhCViO0m06_Ksu3oUpS8teAsw86ov8_iDiILS0XpFXcAfH7u1f6eHCK8dB4szDJNJUUf6KZy8s5sOs-7NAxe67Vn6zkJyIhxW-WOajCiJT8jFZP0CLXUHC/s640/Controles_02.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Plantilla de cartón del planel de control&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVIkQmlKv1irPNBu0lk6i-Gn8OVhAWqLd89Y17Qdjlc1zCMmtr4lh6WUnjUmrPbQqPoYjxkuD1g816_d9YIQyaY_yQ-EUsqNdPc4TlmiQc3FV5EtinDIULVOR7hYrRO7g7MgjvTexUVnzQ/s1600/Controles_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVIkQmlKv1irPNBu0lk6i-Gn8OVhAWqLd89Y17Qdjlc1zCMmtr4lh6WUnjUmrPbQqPoYjxkuD1g816_d9YIQyaY_yQ-EUsqNdPc4TlmiQc3FV5EtinDIULVOR7hYrRO7g7MgjvTexUVnzQ/s640/Controles_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Plantilla sobre panel de control&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de esto he hecho los agujeros del panel de control sobre un trozo de aglomerado de igual tamaño que este, para ver como quedaba y comprobar que estaba todo correcto.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf9ebHHIwtoNxU8F6UE2Yvns8nGAWoWo2Qz1t4qQsJw30MuriDMS8R35f2rRWP5gY3r9n-0aC_Z-sY_bdyXf4yt0rxHn1kITXqgFwF0tWMUByX2VWcug4Z7adpob_Zr5doKvyYNI5cRZtc/s1600/Controles_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf9ebHHIwtoNxU8F6UE2Yvns8nGAWoWo2Qz1t4qQsJw30MuriDMS8R35f2rRWP5gY3r9n-0aC_Z-sY_bdyXf4yt0rxHn1kITXqgFwF0tWMUByX2VWcug4Z7adpob_Zr5doKvyYNI5cRZtc/s640/Controles_04.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Prueba panel de control&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de comprobar que estaba todo correcto he hecho los agujeros sobre el panel real.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2x9W-f6IwBOaIHZRyJkCpS746doowE96LTmkOKWiMx9siKx9bdaonuF3xNeAx5vVX-UORo7rZ7Iyj42yu-JqWNZ1zJn-H5jftkVd_qSa5LXC42JEA-zeKknji-gJBIW9nVVuCrzOtAV05/s1600/Controles_05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2x9W-f6IwBOaIHZRyJkCpS746doowE96LTmkOKWiMx9siKx9bdaonuF3xNeAx5vVX-UORo7rZ7Iyj42yu-JqWNZ1zJn-H5jftkVd_qSa5LXC42JEA-zeKknji-gJBIW9nVVuCrzOtAV05/s640/Controles_05.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Panel de control - Agujeros realizados&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de realizar los agujeros he procedido montar los botones y las palancas.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYr6hTcfeYhN7Ay0BrkFeYjrm0Gd5Pqwk0kqwu42hvdZlyrv8Bog4_-xK9_wdvTUjYiAkC1ghwLG9thJtodVjygeX29UY6c8qVTVUwb9VyKBtMTFQWGNeeMO-vE6v9ipLhdAuHE2XD7VJ8/s1600/Controles_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYr6hTcfeYhN7Ay0BrkFeYjrm0Gd5Pqwk0kqwu42hvdZlyrv8Bog4_-xK9_wdvTUjYiAkC1ghwLG9thJtodVjygeX29UY6c8qVTVUwb9VyKBtMTFQWGNeeMO-vE6v9ipLhdAuHE2XD7VJ8/s640/Controles_06.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Botones y palancas montados&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de montar los botones y palancas he montado el cableado de estos. Al mismo tiempo que estaba cableando los botones los etiqueté.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSg8unbTDSsrUS2EH9g81xgfkINU2yuguo7D5AwfE3UP0ogo1ztF-bFdnDKtaigkXwcecpmKJIJ0gdKS_OE2m-DPQrHTBjXJ3Lj-cpsL3pCYRaSncPn83-dc5U_XWQYRdBPxvQTrNidAl5/s1600/Controles_07.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSg8unbTDSsrUS2EH9g81xgfkINU2yuguo7D5AwfE3UP0ogo1ztF-bFdnDKtaigkXwcecpmKJIJ0gdKS_OE2m-DPQrHTBjXJ3Lj-cpsL3pCYRaSncPn83-dc5U_XWQYRdBPxvQTrNidAl5/s640/Controles_07.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Detalle del cableado del panel de control&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El panel de control, una vez montado, ha quedado de esta forma:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrRRcDzr8d6FUtcHqYzKQzsUAsF7Q4L9K7ttvF5bmVYFNehvCEkVxhWprRzRDOmm5g5LrcBodB45v_voX7HY4ukZjBFcZoXzJOTntMMui7j-kc5lnrI00hwtKHUbGXuIHjxtHapXjpFJyU/s1600/Controles_08.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrRRcDzr8d6FUtcHqYzKQzsUAsF7Q4L9K7ttvF5bmVYFNehvCEkVxhWprRzRDOmm5g5LrcBodB45v_voX7HY4ukZjBFcZoXzJOTntMMui7j-kc5lnrI00hwtKHUbGXuIHjxtHapXjpFJyU/s640/Controles_08.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Panel de control acabado&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Además de los botones de los controles le he añadido un botón frontal negro, puede apreciarse en la imagen anterior, para salir de los juegos, además de 2 botones para pinball (uno a cada lado de la máquina) y un monedero.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiohSZp0-Vv2TVyslmWwxuFJQBPAltS38l3kbE6g3LXjQE3MegfITR0BlHiz7glhaOhH_W97a-7vlqIxRdtYrSGF8D5gtJMYT6gq2rfDF0zb8rXDSOI9qm6bwkBRxJfKDFXeU1c1hkpF3Tx/s1600/Controles_09.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiohSZp0-Vv2TVyslmWwxuFJQBPAltS38l3kbE6g3LXjQE3MegfITR0BlHiz7glhaOhH_W97a-7vlqIxRdtYrSGF8D5gtJMYT6gq2rfDF0zb8rXDSOI9qm6bwkBRxJfKDFXeU1c1hkpF3Tx/s640/Controles_09.jpg&quot; width=&quot;428&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Botonera y monedero&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirihnqB2zl9-h-uTZwUrPwQvFEtmCuYcm98gOj_-DWTgbMyyeBerzg4iwPU6tsLv80rnOLrKDjSu-6DT79QhR_9vjonaYcfqPMliftP60gO_eXX4uOr-PoUgsK7DLY_4CMjQwpv6IFkPOw/s1600/Controles_10.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirihnqB2zl9-h-uTZwUrPwQvFEtmCuYcm98gOj_-DWTgbMyyeBerzg4iwPU6tsLv80rnOLrKDjSu-6DT79QhR_9vjonaYcfqPMliftP60gO_eXX4uOr-PoUgsK7DLY_4CMjQwpv6IFkPOw/s640/Controles_10.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Botón pinball izquierdo&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZluWFOyiCsnFEQ1UF7kA12NGL9R_-gtqgZVuGD8elssQzOMpOgOs0SPS8yORtCXhelmHB0aqJCJdqhrWhgnBTkjeyK1L9zRXFinALzHsjGji9rriNC0-z7Zo-IPdamYprUziixknjbCnf/s1600/Controles_11.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZluWFOyiCsnFEQ1UF7kA12NGL9R_-gtqgZVuGD8elssQzOMpOgOs0SPS8yORtCXhelmHB0aqJCJdqhrWhgnBTkjeyK1L9zRXFinALzHsjGji9rriNC0-z7Zo-IPdamYprUziixknjbCnf/s640/Controles_11.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Botón pinball derecho&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+UGFyYSBlbCBwYW5lbCBkZSBjb250cm9sIG1lIGhlIGJhc2FkbyBlbiBlbCBzaWd1aWVudGUg
bW9kZWxvOjxicj48YnI+IVtDb250cm9sZXNfMDFdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2lt
ZzUzOC8zMzIxL2YzRkM2aC5qcGcgIlBsYW50aWxsYSB1c2FkYSBwYXJhIHBvc2ljaW9uYW1pZW50
byBkZSBib3RvbmVzIHkgcGFsYW5jYSIpPGJyPiZndDsgUGxhbnRpbGxhIHVzYWRhIHBhcmEgcG9z
aWNpb25hbWllbnRvIGRlIGJvdG9uZXMgeSBwYWxhbmNhPGJyPjxicj5Fc3RlIG1vZGVsbyBsbyBo
ZSBvYnRlbmlkbyBkZWwmbmJzcDsgZm9ybyBkZSBab25hQXJjYWRlLCBkZWwgc2lndWllbnRlIGxp
bms6PGJyPltodHRwOi8vem9uYWFyY2FkZS5mb3J1bWNvbW11bml0eS5uZXQvP3Q9MTM3ODgxNTdd
KGh0dHA6Ly96b25hYXJjYWRlLmZvcnVtY29tbXVuaXR5Lm5ldC8/dD0xMzc4ODE1Nyk8YnI+PGJy
PkxvcyBwYXNvcyBxdWUgaGUgc2VndWlkbyBwYXJhIGRpc2XDsWFyIHkgY29uc3RydWlyIGVsIHBh
bmVsIGRlIGNvbnRyb2xlcyBoYW4gc2lkbyBsb3Mgc2lndWllbnRlczo8YnI+PGJyPlByaW1lcm8g
aGUgY3JlYWRvIHVuYSBwbGFudGlsbGEgZGUgY2FydMOzbiBwYXJhIHJlYWxpemFyIGxhcyBwcnVl
YmFzIGRlIGRpc3RyaWJ1Y2nDs24gZGUgYm90b25lcyB5IHBhbGFuY2FzLjxicj48YnI+IVtDb250
cm9sZXNfMDJdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzUzOC84Nzc0L2pBWDkzOC5qcGcg
IlBsYW50aWxsYSBkZSBjYXJ0w7NuIGRlbCBwbGFuZWwgZGUgY29udHJvbCIpPGJyPiZndDsgUGxh
bnRpbGxhIGRlIGNhcnTDs24gZGVsIHBsYW5lbCBkZSBjb250cm9sPGJyPjxicj4hW0NvbnRyb2xl
c18wM10oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nOTEwLzU3NjYvWUdaMXlXLmpwZyAiUGxh
bnRpbGxhIHNvYnJlIHBhbmVsIGRlIGNvbnRyb2wiKTxicj4mZ3Q7IFBsYW50aWxsYSBzb2JyZSBw
YW5lbCBkZSBjb250cm9sPGJyPjxicj5EZXNwdcOpcyBkZSBlc3RvIGhlIGhlY2hvIGxvcyBhZ3Vq
ZXJvcyBkZWwgcGFuZWwgZGUgY29udHJvbCBzb2JyZSB1biB0cm96byBkZSBhZ2xvbWVyYWRvIGRl
IGlndWFsIHRhbWHDsW8gcXVlIGVzdGUsIHBhcmEgdmVyIGNvbW8gcXVlZGFiYSB5IGNvbXByb2Jh
ciBxdWUgZXN0YWJhIHRvZG8gY29ycmVjdG8uPGJyPjxicj4hW0NvbnRyb2xlc18wNF0oaHR0cDov
L2ltYWdlc2hhY2suY29tL2EvaW1nNjczLzQwOTMvTGk1ZlQxLmpwZyAiUHJ1ZWJhIHBhbmVsIGRl
IGNvbnRyb2wiKTxicj4mZ3Q7IFBydWViYSBwYW5lbCBkZSBjb250cm9sPGJyPjxicj5EZXNwdcOp
cyBkZSBjb21wcm9iYXIgcXVlIGVzdGFiYSB0b2RvIGNvcnJlY3RvIGhlIGhlY2hvIGxvcyBhZ3Vq
ZXJvcyBzb2JyZSBlbCBwYW5lbCByZWFsLjxicj48YnI+IVtDb250cm9sZXNfMDVdKGh0dHA6Ly9p
bWFnZXNoYWNrLmNvbS9hL2ltZzUzOC81MzIvZEp1SHUxLmpwZyAiUGFuZWwgZGUgY29udHJvbCAt
IEFndWplcm9zIHJlYWxpemFkb3MiKTxicj4mZ3Q7IFBhbmVsIGRlIGNvbnRyb2wgLSBBZ3VqZXJv
cyByZWFsaXphZG9zPGJyPjxicj5EZXNwdcOpcyBkZSByZWFsaXphciBsb3MgYWd1amVyb3MgaGUg
cHJvY2VkaWRvIG1vbnRhciBsb3MgYm90b25lcyB5IGxhcyBwYWxhbmNhcy48YnI+PGJyPiFbQ29u
dHJvbGVzXzA2XShodHRwOi8vaW1hZ2VzaGFjay5jb20vYS9pbWc5MDkvNzI2MC9DakpSbWYuanBn
ICJCb3RvbmVzIHkgcGFsYW5jYXMgbW9udGFkb3MiKTxicj4mZ3Q7IEJvdG9uZXMgeSBwYWxhbmNh
cyBtb250YWRvczxicj48YnI+RGVzcHXDqXMgZGUgbW9udGFyIGxvcyBib3RvbmVzIHkgcGFsYW5j
YXMgaGUgbW9udGFkbyBlbCBjYWJsZWFkbyBkZSBlc3Rvcy4gQWwgbWlzbW8gdGllbXBvIHF1ZSBl
c3RhYmEgY2FibGVhbmRvIGxvcyBib3RvbmVzIGxvcyBldGlxdWV0w6kuPGJyPjxicj4hW0NvbnRy
b2xlc18wN10oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNTM4LzYyNy96U3RMQTMuanBnICJE
ZXRhbGxlIGRlbCBjYWJsZWFkbyBkZWwgcGFuZWwgZGUgY29udHJvbCIpPGJyPiZndDsgRGV0YWxs
ZSBkZWwgY2FibGVhZG8gZGVsIHBhbmVsIGRlIGNvbnRyb2w8YnI+PGJyPkVsIHBhbmVsIGRlIGNv
bnRyb2wsIHVuYSB2ZXogbW9udGFkbywgaGEgcXVlZGFkbyBkZSBlc3RhIGZvcm1hOjxicj48YnI+
IVtDb250cm9sZXNfMDhdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzUzOC8yODc5L3JQV2pW
OS5qcGcgIlBhbmVsIGRlIGNvbnRyb2wgYWNhYmFkbyIpPGJyPiZndDsgUGFuZWwgZGUgY29udHJv
bCBhY2FiYWRvPGJyPjxicj5BZGVtw6FzIGRlIGxvcyBib3RvbmVzIGRlIGxvcyBjb250cm9sZXMg
bGUgaGUgYcOxYWRpZG8gdW4gYm90w7NuIGZyb250YWwgbmVncm8sIHB1ZWRlIGFwcmVjaWFyc2Ug
ZW4gbGEgaW1hZ2VuIGFudGVyaW9yLCBwYXJhIHNhbGlyIGRlIGxvcyBqdWVnb3MsIGFkZW3DoXMg
ZGUgMiBib3RvbmVzIHBhcmEgcGluYmFsbCAodW5vIGEgY2FkYSBsYWRvIGRlIGxhIG3DoXF1aW5h
KSB5IHVuIG1vbmVkZXJvLjxicj48YnI+IVtDb250cm9sZXNfMDldKGh0dHA6Ly9pbWFnZXNoYWNr
LmNvbS9hL2ltZzkxMi83MjA5L3RMWUhEbi5qcGcgIkJvdG9uZXJhIHkgbW9uZWRlcm8iKTxicj4m
Z3Q7IEJvdG9uZXJhIHkgbW9uZWRlcm88YnI+PGJyPiFbQ29udHJvbGVzXzEwXShodHRwOi8vaW1h
Z2VzaGFjay5jb20vYS9pbWc1MzcvNjE4MC9JaEt5TkUuanBnICJCb3TDs24gcGluYmFsbCBpenF1
aWVyZG8iKTxicj4mZ3Q7IEJvdMOzbiBwaW5iYWxsIGl6cXVpZXJkbzxicj48YnI+IVtDb250cm9s
ZXNfMTFdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzkxMS83MjMwL0ZUTko3Zi5qcGcgIkJv
dMOzbiBwaW5iYWxsIGRlcmVjaG8iKTxicj4mZ3Q7IEJvdMOzbiBwaW5iYWxsIGRlcmVjaG88YnI+
PC9wPg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/9155257362988978410/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/9155257362988978410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/9155257362988978410'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html' title='Construcción de máquina recreativa - Los Controles'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia285uRqe8YVT4sI0YyxpZTgpIjQW0MQZ4HZ_59ZrH93PtS4SaQ5DNeYmbWkx2XiDvm-fLGqWgdr5egNoD-relYwfaVgNyuRsaPT0X4KiBJVY3pLsAZhQeBrH-Au7ZGNy9A7MK05Yixzvm/s72-c/Controles_01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-7151895534956445874</id><published>2015-09-18T16:00:00.000+02:00</published><updated>2015-11-23T23:24:13.086+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - El Vídeo</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=7151895534956445874&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para el vídeo de la máquina he utilizado un monitor viejo de 19 pulgadas de 4:3.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe-4DGlMrptKINlwQ8DlU0sXu0L6g1HSdn4QLKR_lC7PcqndgQEOVCNnP54_rxKoubhEbnSMdvRSiZDIrvSs50hTVwJrUSBzRiKIooN47keN4A9jyBES4u0b2szT_U1XFjgPMXNlSVQSfP/s1600/Video_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;456&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe-4DGlMrptKINlwQ8DlU0sXu0L6g1HSdn4QLKR_lC7PcqndgQEOVCNnP54_rxKoubhEbnSMdvRSiZDIrvSs50hTVwJrUSBzRiKIooN47keN4A9jyBES4u0b2szT_U1XFjgPMXNlSVQSfP/s640/Video_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Monitor&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Este monitor tiene el problema de que cuando se le alimenta no recuerda el estado anterior y siempre está apagado, para que  se encienda se le ha de pulsar siempre el botón.&lt;br /&gt;
Para solucionar el problema he tenido que desmontarlo y meterle 2 cables para poder enchufarlo desde el exterior de la máquina.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los pasos que he seguido para meter los cables han sido:&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Lo primero que he hecho ha sido quitarle el marco al monitor y buscar en el panel de botones el botón de encendido&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTKyKlpDnCkN9co7AacU7DMJgNl2haqwpwSqbo4qPWP91xC3um7QhkNGfF7zdZNjpNMg41APTadjw7mEll-orSLD_5Tzq8VLexwWemlkLlwoXsj2qsHoR6v56t1xtAjGkPYE2kzbk9H87l/s1600/Video_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTKyKlpDnCkN9co7AacU7DMJgNl2haqwpwSqbo4qPWP91xC3um7QhkNGfF7zdZNjpNMg41APTadjw7mEll-orSLD_5Tzq8VLexwWemlkLlwoXsj2qsHoR6v56t1xtAjGkPYE2kzbk9H87l/s640/Video_02.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Monitor sin su marco&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de encontrar el botón de encendido le he soldado 2 cables para poder conectar a un botón del frontal de la máquina.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiybvsd4xN3nc395XoMpXgb_Rzj9oJxlVBB94xToTNz7Hsw-HByF1h9N2n3K6KZHJc4W6TA9R4TwTFM5ptMj_wbM4TNafwLu-nlUYRREEsc55hK9SCtLlbrr4kpYI1Bs34GfQELS6oeHKWf/s1600/Video_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiybvsd4xN3nc395XoMpXgb_Rzj9oJxlVBB94xToTNz7Hsw-HByF1h9N2n3K6KZHJc4W6TA9R4TwTFM5ptMj_wbM4TNafwLu-nlUYRREEsc55hK9SCtLlbrr4kpYI1Bs34GfQELS6oeHKWf/s640/Video_03.jpg&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Detalle de la botonera con los 2 cables soldados&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después de soldar los cables he hecho un agujero en la parte posterior del monitor para sacar los cables&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiusQu0GMPOTKOVoORbROS2vjpHeEWwFHCakhd8izy03rlqqomg-Hqgh4i7l2Fu_OfjsqccT-6uGpelQxLop2MVO3yY6X7ZXozZiMPVjHEgdYNCWGiw5hHdQFpdp51OWLYdJIRRgyFYRmBi/s1600/Video_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiusQu0GMPOTKOVoORbROS2vjpHeEWwFHCakhd8izy03rlqqomg-Hqgh4i7l2Fu_OfjsqccT-6uGpelQxLop2MVO3yY6X7ZXozZiMPVjHEgdYNCWGiw5hHdQFpdp51OWLYdJIRRgyFYRmBi/s640/Video_04.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Detalle del agujero hecho para sacar los cables&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Una vez sacados los cables por el agujero he situado la botonera en su sitio y he cerrado el monitor.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheKDpLL5OxIEEhbCXCaKgJMsuPibtpCoe_0B8-3DY5H62JGuPEeZKWLXDd0IXQUQoFHZLXU8FmkLGl_kWs25ugilMvV3xsfFqaQOGmb5pnl9E_HG7QEEuNrV-IlmtYVZAtejTM30aGJUwn/s1600/Video_05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheKDpLL5OxIEEhbCXCaKgJMsuPibtpCoe_0B8-3DY5H62JGuPEeZKWLXDd0IXQUQoFHZLXU8FmkLGl_kWs25ugilMvV3xsfFqaQOGmb5pnl9E_HG7QEEuNrV-IlmtYVZAtejTM30aGJUwn/s640/Video_05.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Detalle de la botonera en su sitio con los cables ya soldados&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para que el monitor no se mueva he construido un soporte para este. El monitor y el soporte van unidos por un soporte de monitor vesa.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El soporte está formado por una pieza de madera que tiene la anchura de la máquina y de altura es un poco mayor que la del soporte del monitor vesa. Este ha sido fijado a la máquina con 4 escuadras, 2 a cada lado.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2-ATLP3f__xCVJzOVVuXWezmT90E4BNpASEVMd3SrFmcKe3deu02zbELETdcZo_U3NopKe_vhGEM9o1tSsiKWna5iuK0WgwzQ3fvhef8_1fAPBDypdN9hhu6SS1ezWGwAPI271ZEilvnG/s1600/Video_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2-ATLP3f__xCVJzOVVuXWezmT90E4BNpASEVMd3SrFmcKe3deu02zbELETdcZo_U3NopKe_vhGEM9o1tSsiKWna5iuK0WgwzQ3fvhef8_1fAPBDypdN9hhu6SS1ezWGwAPI271ZEilvnG/s640/Video_06.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Soporte monitor&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqMi8TaH5cTACrTjB5yX3lbZO8_sHUQScSujaifkhXSBbKu_M_1tEI8waa87Ghbhcpq32bg0BY7-RMIIokq861lrCFvsfCm8I1cm0VK8kYZq0qTT50-qKD7jFUxCO9sRTUF0cdb_O6yXXi/s1600/Video_07.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqMi8TaH5cTACrTjB5yX3lbZO8_sHUQScSujaifkhXSBbKu_M_1tEI8waa87Ghbhcpq32bg0BY7-RMIIokq861lrCFvsfCm8I1cm0VK8kYZq0qTT50-qKD7jFUxCO9sRTUF0cdb_O6yXXi/s640/Video_07.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Conexión del monitor al soporte&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+UGFyYSBlbCB2w61kZW8gZGUgbGEgbcOhcXVpbmEgaGUgdXRpbGl6YWRvIHVuIG1vbml0b3Ig
dmllam8gZGUgMTkgcHVsZ2FkYXMgZGUgNDozLjxicj48YnI+IVtWaWRlb18wMV0oaHR0cDovL2lt
YWdlc2hhY2suY29tL2EvaW1nOTAxLzU5ODAvb29qMzdyLmpwZyAiTW9uaXRvciIpPGJyPiZndDsg
TW9uaXRvcjxicj48YnI+RXN0ZSBtb25pdG9yIHRpZW5lIGVsIHByb2JsZW1hIGRlIHF1ZSBjdWFu
ZG8gc2UgbGUgYWxpbWVudGEgbm8gcmVjdWVyZGEgZWwgZXN0YWRvIGFudGVyaW9yIHkgc2llbXBy
ZSBlc3TDoSBhcGFnYWRvLCBwYXJhIHF1ZSZuYnNwOyBzZSBlbmNpZW5kYSBzZSBsZSBoYSBkZSBw
dWxzYXIgc2llbXByZSBlbCBib3TDs24uPGJyPlBhcmEgc29sdWNpb25hciBlbCBwcm9ibGVtYSBo
ZSB0ZW5pZG8gcXVlIGRlc21vbnRhcmxvIHkgbWV0ZXJsZSAyIGNhYmxlcyBwYXJhIHBvZGVyIGVu
Y2h1ZmFybG8gZGVzZGUgZWwgZXh0ZXJpb3IgZGUgbGEgbcOhcXVpbmEuPGJyPjxicj5Mb3MgcGFz
b3MgcXVlIGhlIHNlZ3VpZG8gcGFyYSBtZXRlciBsb3MgY2FibGVzIGhhbiBzaWRvOjxicj48YnI+
TG8gcHJpbWVybyBxdWUgaGUgaGVjaG8gaGEgc2lkbyBxdWl0YXJsZSBlbCBtYXJjbyBhbCBtb25p
dG9yIHkgYnVzY2FyIGVuIGVsIHBhbmVsIGRlIGJvdG9uZXMgZWwgYm90w7NuIGRlIGVuY2VuZGlk
bzxicj48YnI+IVtWaWRlb18wMl0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nOTAxLzE3MzYv
S0RnMUpKLmpwZyAiTW9uaXRvciBzaW4gc3UgbWFyY28iKTxicj4mZ3Q7IE1vbml0b3Igc2luIHN1
IG1hcmNvPGJyPjxicj5EZXNwdcOpcyBkZSBlbmNvbnRyYXIgZWwgYm90w7NuIGRlIGVuY2VuZGlk
byBsZSBoZSBzb2xkYWRvIDIgY2FibGVzIHBhcmEgcG9kZXIgY29uZWN0YXIgYSB1biBib3TDs24g
ZGVsIGZyb250YWwgZGUgbGEgbcOhcXVpbmEuPGJyPjxicj4hW1ZpZGVvXzAzXShodHRwOi8vaW1h
Z2VzaGFjay5jb20vYS9pbWc5MTMvNzc5My9ZMUV2VnUuanBnICJEZXRhbGxlIGRlIGxhIGJvdG9u
ZXJhIGNvbiBsb3MgMiBjYWJsZXMgc29sZGFkb3MiKTxicj4mZ3Q7IERldGFsbGUgZGUgbGEgYm90
b25lcmEgY29uIGxvcyAyIGNhYmxlcyBzb2xkYWRvczxicj48YnI+RGVzcHXDqXMgZGUgc29sZGFy
IGxvcyBjYWJsZXMgaGUgaGVjaG8gdW4gYWd1amVybyBlbiBsYSBwYXJ0ZSBwb3N0ZXJpb3IgZGVs
IG1vbml0b3IgcGFyYSBzYWNhciBsb3MgY2FibGVzPGJyPjxicj4hW1ZpZGVvXzA0XShodHRwOi8v
aW1hZ2VzaGFjay5jb20vYS9pbWc5MDUvNDE2Mi9XQVBRTTEuanBnICJEZXRhbGxlIGRlbCBhZ3Vq
ZXJvIGhlY2hvIHBhcmEgc2FjYXIgbG9zIGNhYmxlcyIpPGJyPiZndDsgRGV0YWxsZSBkZWwgYWd1
amVybyBoZWNobyBwYXJhIHNhY2FyIGxvcyBjYWJsZXM8YnI+PGJyPlVuYSB2ZXogc2FjYWRvcyBs
b3MgY2FibGVzIHBvciBlbCBhZ3VqZXJvIGhlIHNpdHVhZG8gbGEgYm90b25lcmEgZW4gc3Ugc2l0
aW8geSBoZSBjZXJyYWRvIGVsIG1vbml0b3IuPGJyPjxicj4hW1ZpZGVvXzA1XShodHRwOi8vaW1h
Z2VzaGFjay5jb20vYS9pbWc2NzMvNDQ3OS8xWnZqeVMuanBnICJEZXRhbGxlIGRlIGxhIGJvdG9u
ZXJhIGVuIHN1IHNpdGlvIGNvbiBsb3MgY2FibGVzIHlhIHNvbGRhZG9zIik8YnI+Jmd0OyBEZXRh
bGxlIGRlIGxhIGJvdG9uZXJhIGVuIHN1IHNpdGlvIGNvbiBsb3MgY2FibGVzIHlhIHNvbGRhZG9z
PGJyPjxicj5QYXJhIHF1ZSBlbCBtb25pdG9yIG5vIHNlIG11ZXZhIGhlIGNvbnN0cnVpZG8gdW4g
c29wb3J0ZSBwYXJhIGVzdGUuIEVsIG1vbml0b3IgeSBlbCBzb3BvcnRlIHZhbiB1bmlkb3MgcG9y
IHVuIHNvcG9ydGUgZGUgbW9uaXRvciB2ZXNhLjxicj48YnI+RWwgc29wb3J0ZSBlc3TDoSBmb3Jt
YWRvIHBvciB1bmEgcGllemEgZGUgbWFkZXJhIHF1ZSB0aWVuZSBsYSBhbmNodXJhIGRlIGxhIG3D
oXF1aW5hIHkgZGUgYWx0dXJhIGVzIHVuIHBvY28gbWF5b3IgcXVlIGxhIGRlbCBzb3BvcnRlIGRl
bCBtb25pdG9yIHZlc2EuIEVzdGUgaGEgc2lkbyBmaWphZG8gYSBsYSBtw6FxdWluYSBjb24gMjQg
ZXNjdWFkcmFzLCAyIGEgY2FkYSBsYWRvLjxicj48YnI+IVtWaWRlb18wNl0oaHR0cDovL2ltYWdl
c2hhY2suY29tL2EvaW1nNjczLzYwMzUvT2hzZkJQLmpwZyAiU29wb3J0ZSBtb25pdG9yIik8YnI+
Jmd0OyBTb3BvcnRlIG1vbml0b3I8YnI+PGJyPiFbVmlkZW9fMDddKGh0dHA6Ly9pbWFnZXNoYWNr
LmNvbS9hL2ltZzUzNy81MzAvV0pMZmpvLmpwZyAiQ29uZXhpw7NuIGRlbCBtb25pdG9yIGFsIHNv
cG9ydGUiKTxicj4mZ3Q7IENvbmV4acOzbiBkZWwgbW9uaXRvciBhbCBzb3BvcnRlPGJyPjwvcD4=&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/7151895534956445874/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/7151895534956445874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/7151895534956445874'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html' title='Construcción de máquina recreativa - El Vídeo'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe-4DGlMrptKINlwQ8DlU0sXu0L6g1HSdn4QLKR_lC7PcqndgQEOVCNnP54_rxKoubhEbnSMdvRSiZDIrvSs50hTVwJrUSBzRiKIooN47keN4A9jyBES4u0b2szT_U1XFjgPMXNlSVQSfP/s72-c/Video_01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-312247270303837573</id><published>2015-09-17T16:00:00.000+02:00</published><updated>2015-11-23T23:23:49.869+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - Mueble - Bezel</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=312247270303837573&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para el bezel he usado una chapa de 4 milímetros de grosor forrada en su parte visible con cartulina negra.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El agujero del monitor lo he hecho exactamente en el centro de la chapa y es del tamaño del interior del marco del monitor, de esta forma se evita que se vea.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Se ha dejado una pequeña solapa de cartulina dentro del agujero del monitor para que no se vea el marco de este.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiTN9bBItcSsttGR5swS64elBQJuwvTnCYJGc_F41kqYavt-u3Le_1X-NZeaPqxDsXdvJnSIivQBEwi_HVocqXrNfEtt9vNdNJJ1crW1_U3_QpeKZ3ja6xCMRuGS2Q8PIuok53DY2nGjZz/s1600/Mueble_22.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;636&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiTN9bBItcSsttGR5swS64elBQJuwvTnCYJGc_F41kqYavt-u3Le_1X-NZeaPqxDsXdvJnSIivQBEwi_HVocqXrNfEtt9vNdNJJ1crW1_U3_QpeKZ3ja6xCMRuGS2Q8PIuok53DY2nGjZz/s640/Mueble_22.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Bezel con la parte de abajo forrada&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-lbTYtgXgYxh633r0SZIcXl9qcN_SNdPXZHDnEJj0SgEgBH481PyhgmwXd4FhA0_YjoWNLpYht7cGMwa48OT6-klDSgIKqlafI0ZOmP6TfAWtwEdxdawacI_12-sk-HsG7WDEw4Sjb4ET/s1600/Mueble_23.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;624&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-lbTYtgXgYxh633r0SZIcXl9qcN_SNdPXZHDnEJj0SgEgBH481PyhgmwXd4FhA0_YjoWNLpYht7cGMwa48OT6-klDSgIKqlafI0ZOmP6TfAWtwEdxdawacI_12-sk-HsG7WDEw4Sjb4ET/s640/Mueble_23.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Bezel acabado y montado&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+UGFyYSBlbCBiZXplbCBoZSB1c2FkbyB1bmEgY2hhcGEgZGUgNCBtaWzDrW1ldHJvcyBkZSBn
cm9zb3IgZm9ycmFkYSBlbiBzdSBwYXJ0ZSB2aXNpYmxlIGNvbiBjYXJ0dWxpbmEgbmVncmEuPGJy
Pjxicj5FbCBhZ3VqZXJvIGRlbCBtb25pdG9yIGxvIGhlIGhlY2hvIGV4YWN0YW1lbnRlIGVuIGVs
IGNlbnRybyBkZSBsYSBjaGFwYSB5IGVzIGRlbCB0YW1hw7FvIGRlbCBpbnRlcmlvciBkZWwgbWFy
Y28gZGVsIG1vbml0b3IsIGRlIGVzdGEgZm9ybWEgc2UgZXZpdGEgcXVlIHNlIHZlYS48YnI+PGJy
PlNlIGhhIGRlamFkbyB1bmEgcGVxdWXDsWEgc29sYXBhIGRlIGNhcnR1bGluYSBkZW50cm8gZGVs
IGFndWplcm8gZGVsIG1vbml0b3IgcGFyYSBxdWUgbm8gc2UgdmVhIGVsIG1hcmNvIGRlIGVzdGUu
PGJyPjxicj4hW011ZWJsZV8yMl0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNTM3LzIyNDkv
b1BjU29xLmpwZyAiQmV6ZWwgY29uIGxhIHBhcnRlIGRlIGFiYWpvIGZvcnJhZGEiKTxicj4mZ3Q7
IEJlemVsIGNvbiBsYSBwYXJ0ZSBkZSBhYmFqbyBmb3JyYWRhPGJyPjxicj48YnI+IVtNdWVibGVf
MjNdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzY2MS80NTgvUmNiNlpkLmpwZyAiQmV6ZWwg
YWNhYmFkbyB5IG1vbnRhZG8iKTxicj4mZ3Q7IEJlemVsIGFjYWJhZG8geSBtb250YWRvPGJyPjwv
cD4=&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/312247270303837573/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/312247270303837573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/312247270303837573'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html' title='Construcción de máquina recreativa - Mueble - Bezel'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiTN9bBItcSsttGR5swS64elBQJuwvTnCYJGc_F41kqYavt-u3Le_1X-NZeaPqxDsXdvJnSIivQBEwi_HVocqXrNfEtt9vNdNJJ1crW1_U3_QpeKZ3ja6xCMRuGS2Q8PIuok53DY2nGjZz/s72-c/Mueble_22.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-2141858511028620287</id><published>2015-09-16T16:00:00.000+02:00</published><updated>2015-11-23T23:23:29.719+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=2141858511028620287&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para encendido y apagado de la máquina (ordenador y monitor) he incluido 5 pequeños botones en una zona no muy visible del frontal de la máquina.&lt;br /&gt;
Los 3 primeros botones son los encargados del encendido y apagado, y los 2 restantes son usados para simular la inserción de monedas.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_O-EpbtBym9omMWjI2Me4ROki5iBFFWryjnWSBub5uRF8bMFlHepciE9izG_lp6jHBBuZ_52OhNv54TTvE8zOfpLnr0la0v19DjZeeZevtRkTp6bitXaKH1HZCygvv0JkQUzNLNMDms_Q/s1600/Mueble_19.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_O-EpbtBym9omMWjI2Me4ROki5iBFFWryjnWSBub5uRF8bMFlHepciE9izG_lp6jHBBuZ_52OhNv54TTvE8zOfpLnr0la0v19DjZeeZevtRkTp6bitXaKH1HZCygvv0JkQUzNLNMDms_Q/s640/Mueble_19.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Botones de encendido y apagado de la máquina&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
La funcionalidad de estos 5 botones es (de izquierda a derecha):&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Encender / Apagar el PC&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Resetear el PC&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Encender / Apagar el monitor&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Insertar monedas monedero 1&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Insertar monedas monedero 2&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para el cableado encargado del PC he usado un cable de los que se usan en las cajas de ordenador para este propósito. A este cable le he quitado los botones que llevaba y le he empalmado un trozo de cable del usado para la máquina para alargarlo hasta el botón del frontal. El lado opuesto del cable lo he conectado a la placa base del PC (desconectando los de la caja actual).&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kS1oMIQU2-Y6XlhhTds462O8BnLXPHcYEhIMzbgn6R6hFuxinxKOzbS-BvOcJjlskIueSnsjmSqtvpROQrsKonzjaL7mUw68nXPW65HWtO4ceg13c4iCs_GHjUgidV4cv96Ny0SWBz1N/s1600/Mueble_20.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kS1oMIQU2-Y6XlhhTds462O8BnLXPHcYEhIMzbgn6R6hFuxinxKOzbS-BvOcJjlskIueSnsjmSqtvpROQrsKonzjaL7mUw68nXPW65HWtO4ceg13c4iCs_GHjUgidV4cv96Ny0SWBz1N/s640/Mueble_20.jpg&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Cable usado para conectar al PC los botones de arranque y reset de este&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para no equivocarme al conectar los cables, además de etiquetar a estos, he etiquetado cada uno de los botones en el interior de la caja.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSxTJedwYiE97xWgYbqtw0T765xHj98m2r9DS3Kp71t6R3iKAECbUGIKY_WmCs2UiYPKxB9OM2N5ag6hyztYLc37Aw0h5Ahb-jGdyy7iDIYCpnBhURVIlJjFcDoiC7AuzWSizH2OWaOFkC/s1600/Mueble_21.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSxTJedwYiE97xWgYbqtw0T765xHj98m2r9DS3Kp71t6R3iKAECbUGIKY_WmCs2UiYPKxB9OM2N5ag6hyztYLc37Aw0h5Ahb-jGdyy7iDIYCpnBhURVIlJjFcDoiC7AuzWSizH2OWaOFkC/s640/Mueble_21.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Interior de la caja con el etiquetado de los botones del PC&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+UGFyYSBlbmNlbmRpZG8geSBhcGFnYWRvIGRlIGxhIG3DoXF1aW5hIChvcmRlbmFkb3IgeSBt
b25pdG9yKSBoZSBpbmNsdWlkbyA1IHBlcXVlw7FvcyBib3RvbmVzIGVuIHVuYSB6b25hIG5vIG11
eSB2aXNpYmxlIGRlbCBmcm9udGFsIGRlIGxhIG3DoXF1aW5hLjxicj5Mb3MgMyBwcmltZXJvcyBi
b3RvbmVzIHNvbiBsb3MgZW5jYXJnYWRvcyBkZWwgZW5jZW5kaWRvIHkgYXBhZ2FkbywgeSBsb3Mg
MiByZXN0YW50ZXMgc29uIHVzYWRvcyBwYXJhIHNpbXVsYXIgbGEgaW5zZXJjacOzbiBkZSBtb25l
ZGFzLjxicj48YnI+IVtNdWVibGVfMTldKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzkxMS8y
NjIxL3QzMEdXNy5qcGcgIkJvdG9uZXMgZGUgZW5jZW5kaWRvIHkgYXBhZ2FkbyBkZSBsYSBtw6Fx
dWluYSIpPGJyPiZndDsgQm90b25lcyBkZSBlbmNlbmRpZG8geSBhcGFnYWRvIGRlIGxhIG3DoXF1
aW5hPGJyPjxicj5MYSBmdW5jaW9uYWxpZGFkIGRlIGVzdG9zIDUgYm90b25lcyBlcyAoZGUgaXpx
dWllcmRhIGEgZGVyZWNoYSk6PGJyPiogRW5jZW5kZXIgLyBBcGFnYXIgZWwgUEM8YnI+KiBSZXNl
dGVhciBlbCBQQzxicj4qIEVuY2VuZGVyIC8gQXBhZ2FyIGVsIG1vbml0b3I8YnI+KiBJbnNlcnRh
ciBtb25lZGFzIG1vbmVkZXJvIDE8YnI+KiBJbnNlcnRhciBtb25lZGFzIG1vbmVkZXJvIDI8YnI+
PGJyPlBhcmEgZWwgY2FibGVhZG8gZW5jYXJnYWRvIGRlbCBQQyBoZSB1c2FkbyB1biBjYWJsZSBk
ZSBsb3MgcXVlIHNlIHVzYW4gZW4gbGFzIGNhamFzIGRlIG9yZGVuYWRvciBwYXJhIGVzdGUgcHJv
cMOzc2l0by4gQSBlc3RlIGNhYmxlIGxlIGhlIHF1aXRhZG8gbG9zIGJvdG9uZXMgcXVlIGxsZXZh
YmEgeSBsZSBoZSBlbXBhbG1hZG8gdW4gdHJvem8gZGUgY2FibGUgZGVsIHVzYWRvIHBhcmEgbGEg
bcOhcXVpbmEgcGFyYSBhbGFyZ2FybG8gaGFzdGEgZWwgYm90w7NuIGRlbCBmcm9udGFsLiBFbCBs
YWRvIG9wdWVzdG8gZGVsIGNhYmxlIGxvIGhlIGNvbmVjdGFkbyBhIGxhIHBsYWNhIGJhc2UgZGVs
IFBDIChkZXNjb25lY3RhbmRvIGxvcyBkZSBsYSBjYWphIGFjdHVhbCkuPGJyPjxicj4hW011ZWJs
ZV8yMF0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNjczLzU3MzkvOXhLUlBoLmpwZyAiQ2Fi
bGUgdXNhZG8gcGFyYSBjb25lY3RhciBhbCBQQyBsb3MgYm90b25lcyBkZSBhcnJhbnF1ZSB5IHJl
c2V0IGRlIGVzdGUiKTxicj4mZ3Q7IENhYmxlIHVzYWRvIHBhcmEgY29uZWN0YXIgYWwgUEMgbG9z
IGJvdG9uZXMgZGUgYXJyYW5xdWUgeSByZXNldCBkZSBlc3RlPGJyPjxicj5QYXJhIG5vIGVxdWl2
b2Nhcm1lIGFsIGNvbmVjdGFyIGxvcyBjYWJsZXMsIGFkZW3DoXMgZGUgZXRpcXVldGFyIGEgZXN0
b3MsIGhlIGV0aXF1ZXRhZG8gY2FkYSB1bm8gZGUgbG9zIGJvdG9uZXMgZW4gZWwgaW50ZXJpb3Ig
ZGUgbGEgY2FqYS48YnI+PGJyPiFbTXVlYmxlXzIxXShodHRwOi8vaW1hZ2VzaGFjay5jb20vYS9p
bWc2NzMvMzkyNy9Qd0hDaWIuanBnICJJbnRlcmlvciBkZSBsYSBjYWphIGNvbiBlbCBldGlxdWV0
YWRvIGRlIGxvcyBib3RvbmVzIGRlbCBQQyIpPGJyPiZndDsgSW50ZXJpb3IgZGUgbGEgY2FqYSBj
b24gZWwgZXRpcXVldGFkbyBkZSBsb3MgYm90b25lcyBkZWwgUEM8YnI+PC9wPg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/2141858511028620287/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/2141858511028620287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/2141858511028620287'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html' title='Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_O-EpbtBym9omMWjI2Me4ROki5iBFFWryjnWSBub5uRF8bMFlHepciE9izG_lp6jHBBuZ_52OhNv54TTvE8zOfpLnr0la0v19DjZeeZevtRkTp6bitXaKH1HZCygvv0JkQUzNLNMDms_Q/s72-c/Mueble_19.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-5729810837596981946</id><published>2015-09-15T17:00:00.000+02:00</published><updated>2015-11-23T23:22:49.105+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - Mueble - Cableado</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=5729810837596981946&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para el cableado de la máquina he usado 2 tipos de cable.&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Manguera de 3 hilos.&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Entrada de alimentación eléctrica hasta la regleta.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Alimentación luz marquesina.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Cable de 2 hilos usado para altavoces (rojo y negro).&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Resto de cableado de la máquina.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Dentro de la máquina he puesto una regleta para poder enchufar allí el ordenador y el monitor.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El resto de componentes de la máquina que requieren alimentación  lo hacen directamente desde la fuente de alimentación del ordenador. Para esto me hice un cable en el que en la punta que va hacia el ordenador es un conector molex y la punta a la que se le conectan los cables es una ficha de empalme con 4 secciones.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Gran parte de los cables han sido puestos dentro de regletas de luz, separando los que van a 220v., del resto.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi664tMA-unKSkID-Zuu1uZ_6W9kweKlx9sfgxh4xCIGLkQBUwVs1fg8TU14fHy44-MPj4NYS8UuWVINCBDo4AxOPSD-xk8BDsiclKT04Xb6NHiJf7p7Eqg01Ax-OxRJxhvPLr3hYLudlgr/s1600/Mueble_14.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi664tMA-unKSkID-Zuu1uZ_6W9kweKlx9sfgxh4xCIGLkQBUwVs1fg8TU14fHy44-MPj4NYS8UuWVINCBDo4AxOPSD-xk8BDsiclKT04Xb6NHiJf7p7Eqg01Ax-OxRJxhvPLr3hYLudlgr/s640/Mueble_14.jpg&quot; width=&quot;428&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Entrada luz, subida alimentación marquesina, alimentación ventiladores y cables altavoces&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOYzL4vnHVzAKL7hn-mqdXc852E_S-7teCwoGU0AEkR1Yo5k7KhV9qax_5x_bMVhvGl-YysN0fmsQXKthyphenhyphenMX-GmIdj-uySp0NyI4yfZMtYDOUW_SZ_AuUJlRtUVBBlli6cEOGoGgtRFTEP/s1600/Mueble_15.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOYzL4vnHVzAKL7hn-mqdXc852E_S-7teCwoGU0AEkR1Yo5k7KhV9qax_5x_bMVhvGl-YysN0fmsQXKthyphenhyphenMX-GmIdj-uySp0NyI4yfZMtYDOUW_SZ_AuUJlRtUVBBlli6cEOGoGgtRFTEP/s640/Mueble_15.jpg&quot; width=&quot;428&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Alimentación regleta, subida alimentación marquesina, cables conectados a ordenador&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIzxjpQeyHGAKlue20XKF24lHCHc07JeIskPyyFNWXLWsUKJw4FFdJ97HqWIMgnqvYuaIyaPfncaNnyVqABR-Ymys11BE9kB1IgTt_5Ilw1VrK0SG4Gk1RMzt6C2Fc08Qx04XkIVBOpK_X/s1600/Mueble_16.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIzxjpQeyHGAKlue20XKF24lHCHc07JeIskPyyFNWXLWsUKJw4FFdJ97HqWIMgnqvYuaIyaPfncaNnyVqABR-Ymys11BE9kB1IgTt_5Ilw1VrK0SG4Gk1RMzt6C2Fc08Qx04XkIVBOpK_X/s640/Mueble_16.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Detalle cable botón encendido monitor&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKBqSt39IR2G-mqfd3hyGx1OYFBUyj-iFfiU7QDWKegmu_9QB0tj4_7ngaO6wMfznv0KppnTb95pcYEntPnCF_scu39jJ_pHXWohLwDZyPrXow_CFIyWSzNdWkznlY1v1Nv4QBw8Mn8xqd/s1600/Mueble_17.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKBqSt39IR2G-mqfd3hyGx1OYFBUyj-iFfiU7QDWKegmu_9QB0tj4_7ngaO6wMfznv0KppnTb95pcYEntPnCF_scu39jJ_pHXWohLwDZyPrXow_CFIyWSzNdWkznlY1v1Nv4QBw8Mn8xqd/s640/Mueble_17.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Cables conectados a IPAC, alimentación luces, botones mapeados del ordenador y del monitor&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIm8w7FA5aL7oUBl9Kld1P8gCIRxM3V-ef9eFJ5Ysisof9hQXT75wUwnDv7E3q06Z2C5A34o_XyWBM1Wx9MppL1YSZW5YSPUdAeVTVO6oNu14HGsQcLb8aM2yu5FKGgedCdqZL8fv6822W/s1600/Mueble_18.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIm8w7FA5aL7oUBl9Kld1P8gCIRxM3V-ef9eFJ5Ysisof9hQXT75wUwnDv7E3q06Z2C5A34o_XyWBM1Wx9MppL1YSZW5YSPUdAeVTVO6oNu14HGsQcLb8aM2yu5FKGgedCdqZL8fv6822W/s640/Mueble_18.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Detalle cables conectados al PC&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+UGFyYSBlbCBjYWJsZWFkbyBkZSBsYSBtw6FxdWluYSBoZSB1c2FkbyAyIHRpcG9zIGRlIGNh
YmxlLjxicj4qIE1hbmd1ZXJhIGRlIDMgaGlsb3MuPGJyPiZuYnNwOyogRW50cmFkYSBkZSBhbGlt
ZW50YWNpw7NuIGVsw6ljdHJpY2EgaGFzdGEgbGEgcmVnbGV0YS48YnI+Jm5ic3A7KiBBbGltZW50
YWNpw7NuIGx1eiBtYXJxdWVzaW5hLjxicj4qIENhYmxlIGRlIDIgaGlsb3MgdXNhZG8gcGFyYSBh
bHRhdm9jZXMgKHJvam8geSBuZWdybykuPGJyPiZuYnNwOyogUmVzdG8gZGUgY2FibGVhZG8gZGUg
bGEgbcOhcXVpbmEuPGJyPjxicj5EZW50cm8gZGUgbGEgbcOhcXVpbmEgaGUgcHVlc3RvIHVuYSBy
ZWdsZXRhIHBhcmEgcG9kZXIgZW5jaHVmYXIgYWxsw60gZWwgb3JkZW5hZG9yIHkgZWwgbW9uaXRv
ci48YnI+PGJyPkVsIHJlc3RvIGRlIGNvbXBvbmVudGVzIGRlIGxhIG3DoXF1aW5hIHF1ZSByZXF1
aWVyZW4gYWxpbWVudGFjacOzbiZuYnNwOyBsbyBoYWNlbiBkaXJlY3RhbWVudGUgZGVzZGUgbGEg
ZnVlbnRlIGRlIGFsaW1lbnRhY2nDs24gZGVsIG9yZGVuYWRvci4gUGFyYSBlc3RvIG1lIGhpY2Ug
dW4gY2FibGUgZW4gZWwgcXVlIGVuIGxhIHB1bnRhIHF1ZSB2YSBoYWNpYSBlbCBvcmRlbmFkb3Ig
ZXMgdW4gY29uZWN0b3IgbW9sZXggeSBsYSBwdW50YSBhIGxhIHF1ZSBzZSBsZSBjb25lY3RhbiBs
b3MgY2FibGVzIGVzIHVuYSBmaWNoYSBkZSBlbXBhbG1lIGNvbiA0IHNlY2Npb25lcy48YnI+PGJy
PkdyYW4gcGFydGUgZGUgbG9zIGNhYmxlcyBoYW4gc2lkbyBwdWVzdG9zIGRlbnRybyBkZSByZWds
ZXRhcyBkZSBsdXosIHNlcGFyYW5kbyBsb3MgcXVlIHZhbiBhIDIyMHYuLCBkZWwgcmVzdG8uPGJy
Pjxicj4hW011ZWJsZV8xNF0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNjYxLzg4ODkvZFRC
OWxyLmpwZyAiRW50cmFkYSBsdXosIHN1YmlkYSBhbGltZW50YWNpw7NuIG1hcnF1ZXNpbmEsIGFs
aW1lbnRhY2nDs24gdmVudGlsYWRvcmVzIHkgY2FibGVzIGFsdGF2b2NlcyIpPGJyPiZndDsgRW50
cmFkYSBsdXosIHN1YmlkYSBhbGltZW50YWNpw7NuIG1hcnF1ZXNpbmEsIGFsaW1lbnRhY2nDs24g
dmVudGlsYWRvcmVzIHkgY2FibGVzIGFsdGF2b2Nlczxicj48YnI+PGJyPiFbTXVlYmxlXzE1XSho
dHRwOi8vaW1hZ2VzaGFjay5jb20vYS9pbWc1NDAvNzc2NS9uU3N4a0UuanBnICJBbGltZW50YWNp
w7NuIHJlZ2xldGEsIHN1YmlkYSBhbGltZW50YWNpw7NuIG1hcnF1ZXNpbmEsIGNhYmxlcyBjb25l
Y3RhZG9zIGEgb3JkZW5hZG9yIik8YnI+Jmd0OyBBbGltZW50YWNpw7NuIHJlZ2xldGEsIHN1Ymlk
YSBhbGltZW50YWNpw7NuIG1hcnF1ZXNpbmEsIGNhYmxlcyBjb25lY3RhZG9zIGEgb3JkZW5hZG9y
PGJyPjxicj48YnI+IVtNdWVibGVfMTZdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzUzOC80
MjQ1L2dDZjJyVi5qcGcgIkRldGFsbGUgY2FibGUgYm90w7NuIGVuY2VuZGlkbyBtb25pdG9yIik8
YnI+Jmd0OyBEZXRhbGxlIGNhYmxlIGJvdMOzbiBlbmNlbmRpZG8gbW9uaXRvcjxicj48YnI+PGJy
PiFbTXVlYmxlXzE3XShodHRwOi8vaW1hZ2VzaGFjay5jb20vYS9pbWc5MDUvNTA5My96SGxOU3Eu
anBnICJDYWJsZXMgY29uZWN0YWRvcyBhIElQQUMsIGFsaW1lbnRhY2nDs24gbHVjZXMsIGJvdG9u
ZXMgbWFwZWFkb3MgZGVsIG9yZGVuYWRvciB5IGRlbCBtb25pdG9yIik8YnI+Jmd0OyBDYWJsZXMg
Y29uZWN0YWRvcyBhIElQQUMsIGFsaW1lbnRhY2nDs24gbHVjZXMsIGJvdG9uZXMgbWFwZWFkb3Mg
ZGVsIG9yZGVuYWRvciB5IGRlbCBtb25pdG9yPGJyPjxicj48YnI+IVtNdWVibGVfMThdKGh0dHA6
Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzkxMS8yNTYyL1lUc3dxTS5qcGcgIkRldGFsbGUgY2FibGVz
IGNvbmVjdGFkb3MgYWwgUEMiKTxicj4mZ3Q7IERldGFsbGUgY2FibGVzIGNvbmVjdGFkb3MgYWwg
UEM8YnI+PC9wPg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/5729810837596981946/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/5729810837596981946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/5729810837596981946'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html' title='Construcción de máquina recreativa - Mueble - Cableado'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi664tMA-unKSkID-Zuu1uZ_6W9kweKlx9sfgxh4xCIGLkQBUwVs1fg8TU14fHy44-MPj4NYS8UuWVINCBDo4AxOPSD-xk8BDsiclKT04Xb6NHiJf7p7Eqg01Ax-OxRJxhvPLr3hYLudlgr/s72-c/Mueble_14.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-4417561427946039758</id><published>2015-09-14T18:06:00.001+02:00</published><updated>2015-11-23T23:22:30.815+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=4417561427946039758&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
La ventilación se encuentra en la parte superior trasera y está formada por 2 ventiladores de PC  de 8x8 cm., con sus correspondientes embellecedores, tanto por fuera como por dentro.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la entrada de corriente he usado una muy parecida a la original de la máquina.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvvUftMIhYJb3vfLujnueRxckniPWLPXRYqw09WiywBBp3FNSeLnOhIZpKerfUDHJMvkYCQ7gtr5OvWsDgGU4ADUMX47EBc6vhAmiMQkC3FHVRlzRsWpJK_YNK6ataGTDwBvluoXHOyEkR/s1600/Mueble_12.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvvUftMIhYJb3vfLujnueRxckniPWLPXRYqw09WiywBBp3FNSeLnOhIZpKerfUDHJMvkYCQ7gtr5OvWsDgGU4ADUMX47EBc6vhAmiMQkC3FHVRlzRsWpJK_YNK6ataGTDwBvluoXHOyEkR/s640/Mueble_12.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Exterior entrada alimentación y ventilación&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxa7C7_RiUjbjT5Fek_9qTBAtAbNSWYL01YwBbq6HcGB71slnAFGnUrCWiA1sM8AZddlyA2vbPRwaAmSoKhJOBFdL7nRURAOHZQCunT0zs191Qk_a15d7OP7K24oo1OUyyHDqpWOqsTh-T/s1600/Mueble_13.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxa7C7_RiUjbjT5Fek_9qTBAtAbNSWYL01YwBbq6HcGB71slnAFGnUrCWiA1sM8AZddlyA2vbPRwaAmSoKhJOBFdL7nRURAOHZQCunT0zs191Qk_a15d7OP7K24oo1OUyyHDqpWOqsTh-T/s640/Mueble_13.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Interior entrada alimentación y ventilación&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+TGEgdmVudGlsYWNpw7NuIHNlIGVuY3VlbnRyYSBlbiBsYSBwYXJ0ZSBzdXBlcmlvciB0cmFz
ZXJhIHkgZXN0w6EgZm9ybWFkYSBwb3IgMiB2ZW50aWxhZG9yZXMgZGUgUEMmbmJzcDsgZGUgOHg4
IGNtLiwgY29uIHN1cyBjb3JyZXNwb25kaWVudGVzIGVtYmVsbGVjZWRvcmVzLCB0YW50byBwb3Ig
ZnVlcmEgY29tbyBwb3IgZGVudHJvLjxicj48YnI+UGFyYSBsYSBlbnRyYWRhIGRlIGNvcnJpZW50
ZSBoZSB1c2FkbyB1bmEgbXV5IHBhcmVjaWRhIGEgbGEgb3JpZ2luYWwgZGUgbGEgbcOhcXVpbmEu
PGJyPjxicj4hW011ZWJsZV8xMl0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNjYxLzk0NTgv
ZGs0TGFHLmpwZyAiRXh0ZXJpb3IgZW50cmFkYSBhbGltZW50YWNpw7NuIHkgdmVudGlsYWNpw7Nu
Iik8YnI+Jmd0OyBFeHRlcmlvciBlbnRyYWRhIGFsaW1lbnRhY2nDs24geSB2ZW50aWxhY2nDs248
YnI+PGJyPiFbTXVlYmxlXzEzXShodHRwOi8vaW1hZ2VzaGFjay5jb20vYS9pbWc5MTAvOTQwMi9B
b0tIb3kuanBnICJJbnRlcmlvciBlbnRyYWRhIGFsaW1lbnRhY2nDs24geSB2ZW50aWxhY2nDs24i
KTxicj4mZ3Q7IEludGVyaW9yIGVudHJhZGEgYWxpbWVudGFjacOzbiB5IHZlbnRpbGFjacOzbjxi
cj48L3A+&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/4417561427946039758/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/4417561427946039758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/4417561427946039758'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html' title='Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvvUftMIhYJb3vfLujnueRxckniPWLPXRYqw09WiywBBp3FNSeLnOhIZpKerfUDHJMvkYCQ7gtr5OvWsDgGU4ADUMX47EBc6vhAmiMQkC3FHVRlzRsWpJK_YNK6ataGTDwBvluoXHOyEkR/s72-c/Mueble_12.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-6821596564543469532</id><published>2015-09-13T22:55:00.000+02:00</published><updated>2015-11-23T23:21:56.022+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>  Construcción de máquina recreativa - Mueble - Construcción del mueble</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=6821596564543469532&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la construcción del mueble he utilizado tableros de aglomerado de melamina negra  de 19 mm de grueso.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los cantos han sido chapados con canto de PVC de color negro.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Los laterales han sido marcados y contados a partir de la plantilla de cartón que he hecho de la máquina original, añadiéndole los 10 cm. de más.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0E1Bpk0vYrqBh5gMSRiYfTz_oJNWDYkVFnDqvt4N5iocYXGP3cQmkYnKRkkh82bLUyGsw3zB72If5YCRkFAiMs7a-jrH26euRNEAP7lPCHHgGlH3LMWGW8tz4PUZfsc2ZRUGNbjbRZ2-I/s1600/Mueble_00.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0E1Bpk0vYrqBh5gMSRiYfTz_oJNWDYkVFnDqvt4N5iocYXGP3cQmkYnKRkkh82bLUyGsw3zB72If5YCRkFAiMs7a-jrH26euRNEAP7lPCHHgGlH3LMWGW8tz4PUZfsc2ZRUGNbjbRZ2-I/s640/Mueble_00.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Plantilla usada para la máquina&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
La unión de las piezas se ha realizado utilizando listones cuadrados de 2 cm. x 2 cm., consiguiendo que de esta forma no se vean los tornillos desde fuera.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
El montaje se ha realizado encima de una mesa y la máquina colocada en posición horizontal, para su mejor montaje.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx3fkQZL-rUSA2A_qdDV7ISOrzEHASc7_zLxgSrf29qh69wNaJbnzY3ZFK68ORPWNW8bjo96_IetA8DKhvBI4GkDMeF-HrwLde6dGf9WjKCdU-vu4WNdJuHhtH7Rz4gY36kFJ5Bgy7pL-3/s1600/Mueble_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx3fkQZL-rUSA2A_qdDV7ISOrzEHASc7_zLxgSrf29qh69wNaJbnzY3ZFK68ORPWNW8bjo96_IetA8DKhvBI4GkDMeF-HrwLde6dGf9WjKCdU-vu4WNdJuHhtH7Rz4gY36kFJ5Bgy7pL-3/s640/Mueble_01.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Laterales&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1U1YUo4rCGr0Rj4_17j-Ce-q9DcJDa-YL65TzWnek7fledFo7UgQvS7x-KpNcEM92ZCMAW1XCMMOfzrkvj_zywj5LR5mf8TJoAJV0A8CKV2G1gucH0-3hH1R3eUdb0npzhAgSZAqkWjsd/s1600/Mueble_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1U1YUo4rCGr0Rj4_17j-Ce-q9DcJDa-YL65TzWnek7fledFo7UgQvS7x-KpNcEM92ZCMAW1XCMMOfzrkvj_zywj5LR5mf8TJoAJV0A8CKV2G1gucH0-3hH1R3eUdb0npzhAgSZAqkWjsd/s640/Mueble_02.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Resto de piezas&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
He empezado por la parte de abajo, que es la que más clara tenía.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE5DX8aF4SggfrTcz-l_LvuKt6jK1Yo0VXqACOGoe6RwBs4D2U56VSQtmpL1CkOL40SQH5yvKdzpSmUzqmnu7AfG7e4empWPGY3AmKxqNTa2zehTPnC38OHisQr_3bsdgxj1lIyP3rN5pF/s1600/Mueble_03.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE5DX8aF4SggfrTcz-l_LvuKt6jK1Yo0VXqACOGoe6RwBs4D2U56VSQtmpL1CkOL40SQH5yvKdzpSmUzqmnu7AfG7e4empWPGY3AmKxqNTa2zehTPnC38OHisQr_3bsdgxj1lIyP3rN5pF/s640/Mueble_03.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Inicio del montaje&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWpmjhLyamFn6idZ-k7ee8Um00JD68yEDkFej2_ruq51tOT59uxeoDfPaZb1ZFizchaq6qRn6-PrTr-J9qAfn2CWp__yX39Hkh0OS-UQrykbMS8DYfgLelt9-x6OOU1Xvoi5iiiXOXfYWN/s1600/Mueble_04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWpmjhLyamFn6idZ-k7ee8Um00JD68yEDkFej2_ruq51tOT59uxeoDfPaZb1ZFizchaq6qRn6-PrTr-J9qAfn2CWp__yX39Hkh0OS-UQrykbMS8DYfgLelt9-x6OOU1Xvoi5iiiXOXfYWN/s640/Mueble_04.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Montaje&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Después he montado la balda sobre la que se apoyará el monitor y los cristales del bezel.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG-SW7pY04To0kODGWv3pPGmG_8hu6pzThTP_c0nnRDTvPN_7Dp-HHU6HTl752TMeXnzUBaxHjssWko8eZT0ReiWz7HUV0qlaXfhZpMOA6B2O9oS9EXrm83USlMqV-lCIHAEF-xjGGVsu9/s1600/Mueble_05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG-SW7pY04To0kODGWv3pPGmG_8hu6pzThTP_c0nnRDTvPN_7Dp-HHU6HTl752TMeXnzUBaxHjssWko8eZT0ReiWz7HUV0qlaXfhZpMOA6B2O9oS9EXrm83USlMqV-lCIHAEF-xjGGVsu9/s640/Mueble_05.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Montaje, parte trasera&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
He acabado con la parte de arriba, que es la que menos clara tenía.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgTfoLtOUxIGX8k3qzdGZnv8wzRHRbpSMNMoH07buPoLoRZeIq-6NMKBRYEHOMSyAffbgi-fdBtZvxh1HkTVkg5WemlxbqAO3cYzYvnA92OWPzk6nmc_2DcIynxad5v9VWy-i2oxlW8He9/s1600/Mueble_06.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgTfoLtOUxIGX8k3qzdGZnv8wzRHRbpSMNMoH07buPoLoRZeIq-6NMKBRYEHOMSyAffbgi-fdBtZvxh1HkTVkg5WemlxbqAO3cYzYvnA92OWPzk6nmc_2DcIynxad5v9VWy-i2oxlW8He9/s640/Mueble_06.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Montaje, frontal&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para la puerta he utilizado una bisagra de piano, la cual da robustez a la puerta.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSkMn0ekz1D-XT54_h59wisLTusMeDUS5A57MmKHf6uvg9R2a4dak_u6bvcLellDSyAqV4kYtWmnSWztShZ1KqOlMyZZLrZKpZKf-mvDW1l2O87CjSc1raSlK1waDCF93cde6UpoZKS_gV/s1600/Mueble_07.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSkMn0ekz1D-XT54_h59wisLTusMeDUS5A57MmKHf6uvg9R2a4dak_u6bvcLellDSyAqV4kYtWmnSWztShZ1KqOlMyZZLrZKpZKf-mvDW1l2O87CjSc1raSlK1waDCF93cde6UpoZKS_gV/s640/Mueble_07.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Puerta montada&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIdvo74vPphxia-OBfY9yBovSWiFqrA2LCNxESzy2lvMlLrZZHnLo3QWgODHaQWIasHSCDwwwoZMvDUNZ9BLxmyL9Cgqb0b1sTcQOQ-uApMp82GurC6VIZcq-kxN0qpLqkgEZPao6CWFBx/s1600/Mueble_08.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIdvo74vPphxia-OBfY9yBovSWiFqrA2LCNxESzy2lvMlLrZZHnLo3QWgODHaQWIasHSCDwwwoZMvDUNZ9BLxmyL9Cgqb0b1sTcQOQ-uApMp82GurC6VIZcq-kxN0qpLqkgEZPao6CWFBx/s640/Mueble_08.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Detalle de la bisagra de la puerta&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-aHA9X9i-HhE0U3gSbWY5bqO8fKp_9MtiJ2rzbMwtdDNrRc6PHRpeS2IF2Qjchy71gRPtXMO7T9YAU2FqPvWmf51JZR4dC1B7xWhincMUfizOT5W2nsPY9jQuRij8XUow66lIB0MvClej/s1600/Mueble_09.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-aHA9X9i-HhE0U3gSbWY5bqO8fKp_9MtiJ2rzbMwtdDNrRc6PHRpeS2IF2Qjchy71gRPtXMO7T9YAU2FqPvWmf51JZR4dC1B7xWhincMUfizOT5W2nsPY9jQuRij8XUow66lIB0MvClej/s640/Mueble_09.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Puerta cerrada.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para poder mover la máquina he montado 4 ruedas locas con bloqueo.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKToSMcVMJdpFTQ0vtlii9eaaMAVivfX7snzQC1HAn74pIREO_whNzxpAL2jung_CPPCxApRCdlcy2RS2rVJ0GLNKZQLreGXzEUF3_JodtKticbnjpAVJe9_6nNIN3z8aJnK7Z5s0YnCyJ/s1600/Mueble_10.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKToSMcVMJdpFTQ0vtlii9eaaMAVivfX7snzQC1HAn74pIREO_whNzxpAL2jung_CPPCxApRCdlcy2RS2rVJ0GLNKZQLreGXzEUF3_JodtKticbnjpAVJe9_6nNIN3z8aJnK7Z5s0YnCyJ/s640/Mueble_10.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Ruedas&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Para el panel de control también he utilizado una bisagra de piano.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2CDzCLUftkmdH5VwVYTlinOHtMnmHvVMCOoZ_ZaCKJXluhw7xnlW7tAX7g-Q1c-HUfEuAAG0Q9F5KycrBk16QEnlhw6SPD_BXHoO_wzXSF2s0u6yh5Bpz-Wwhl7DoET4hEJC9Y8pvS2bX/s1600/Mueble_11.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2CDzCLUftkmdH5VwVYTlinOHtMnmHvVMCOoZ_ZaCKJXluhw7xnlW7tAX7g-Q1c-HUfEuAAG0Q9F5KycrBk16QEnlhw6SPD_BXHoO_wzXSF2s0u6yh5Bpz-Wwhl7DoET4hEJC9Y8pvS2bX/s640/Mueble_11.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Detalle de la bisagra usada para el panel de control&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+UGFyYSBsYSBjb25zdHJ1Y2Npw7NuIGRlbCBtdWVibGUgaGUgdXRpbGl6YWRvIHRhYmxlcm9z
IGRlIGFnbG9tZXJhZG8gZGUgbWVsYW1pbmEgbmVncmEmbmJzcDsgZGUgMTkgbW0gZGUgZ3J1ZXNv
Ljxicj48YnI+TG9zIGNhbnRvcyBoYW4gc2lkbyBjaGFwYWRvcyBjb24gY2FudG8gZGUgUFZDIGRl
IGNvbG9yIG5lZ3JvLjxicj48YnI+TG9zIGxhdGVyYWxlcyBoYW4gc2lkbyBtYXJjYWRvcyB5IGNv
bnRhZG9zIGEgcGFydGlyIGRlIGxhIHBsYW50aWxsYSBkZSBjYXJ0w7NuIHF1ZSBoZSBoZWNobyBk
ZSBsYSBtw6FxdWluYSBvcmlnaW5hbCwgYcOxYWRpw6luZG9sZSBsb3MgMTAgY20uIGRlIG3DoXMu
PGJyPjxicj4hW011ZWJsZV8wMF0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNjYxLzc0NjMv
ZmZydWczLmpwZyAiUGxhbnRpbGxhIHVzYWRhIHBhcmEgbGEgbcOhcXVpbmEiKTxicj4mZ3Q7IFBs
YW50aWxsYSB1c2FkYSBwYXJhIGxhIG3DoXF1aW5hPGJyPjxicj5MYSB1bmnDs24gZGUgbGFzIHBp
ZXphcyBzZSBoYSByZWFsaXphZG8gdXRpbGl6YW5kbyBsaXN0b25lcyBjdWFkcmFkb3MgZGUgMiBj
bS4geCAyIGNtLiwgY29uc2lndWllbmRvIHF1ZSBkZSBlc3RhIGZvcm1hIG5vIHNlIHZlYW4gbG9z
IHRvcm5pbGxvcyBkZXNkZSBmdWVyYS48YnI+PGJyPkVsIG1vbnRhamUgc2UgaGEgcmVhbGl6YWRv
IGVuY2ltYSBkZSB1bmEgbWVzYSB5IGxhIG3DoXF1aW5hIGNvbG9jYWRhIGVuIHBvc2ljacOzbiBo
b3Jpem9udGFsLCBwYXJhIHN1IG1lam9yIG1vbnRhamUuPGJyPjxicj4hW011ZWJsZV8wMV0oaHR0
cDovL2ltYWdlc2hhY2suY29tL2EvaW1nOTEwLzk3MTAveGM2M24yLmpwZyAiTGF0ZXJhbGVzIik8
YnI+Jmd0OyBMYXRlcmFsZXM8YnI+PGJyPiFbTXVlYmxlXzAyXShodHRwOi8vaW1hZ2VzaGFjay5j
b20vYS9pbWc2NjEvMzcyMC9zR2w2dkwuanBnICJSZXN0byBkZSBwaWV6YXMiKTxicj4mZ3Q7IFJl
c3RvIGRlIHBpZXphczxicj48YnI+SGUgZW1wZXphZG8gcG9yIGxhIHBhcnRlIGRlIGFiYWpvLCBx
dWUgZXMgbGEgcXVlIG3DoXMgY2xhcmEgdGVuw61hLjxicj48YnI+IVtNdWVibGVfMDNdKGh0dHA6
Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzUzOC8zNDgxL2VuV1h1ai5qcGcgIkluaWNpbyBkZWwgbW9u
dGFqZSIpPGJyPiZndDsgSW5pY2lvIGRlbCBtb250YWplPGJyPjxicj4hW011ZWJsZV8wNF0oaHR0
cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNTM4Lzg0NjgvOHZoUlhjLmpwZyAiTW9udGFqZSIpPGJy
PiZndDsgTW9udGFqZTxicj48YnI+RGVzcHXDqXMgaGUgbW9udGFkbyBsYSBiYWxkYSBzb2JyZSBs
YSBxdWUgc2UgYXBveWFyw6EgZWwgbW9uaXRvciB5IGxvcyBjcmlzdGFsZXMgZGVsIGJlemVsLjxi
cj48YnI+IVtNdWVibGVfMDVdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzkwMS8zNzk2LzNJ
cTNIMS5qcGcgIk1vbnRhamUsIHBhcnRlIHRyYXNlcmEiKTxicj4mZ3Q7IE1vbnRhamUsIHBhcnRl
IHRyYXNlcmE8YnI+PGJyPkhlIGFjYWJhZG8gY29uIGxhIHBhcnRlIGRlIGFycmliYSwgcXVlIGVz
IGxhIHF1ZSBtZW5vcyBjbGFyYSB0ZW7DrWEuPGJyPjxicj4hW011ZWJsZV8wNl0oaHR0cDovL2lt
YWdlc2hhY2suY29tL2EvaW1nOTExLzI2MjgvQUl3emZDLmpwZyAiTW9udGFqZSwgZnJvbnRhbCIp
PGJyPiZndDsgTW9udGFqZSwgZnJvbnRhbDxicj48YnI+UGFyYSBsYSBwdWVydGEgaGUgdXRpbGl6
YWRvIHVuYSBiaXNhZ3JhIGRlIHBpYW5vLCBsYSBjdWFsIGRhIHJvYnVzdGV6IGEgbGEgcHVlcnRh
Ljxicj48YnI+IVtNdWVibGVfMDddKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzY2MS84NDQw
L3hNS1NKYy5qcGcgIlB1ZXJ0YSBtb250YWRhIik8YnI+Jmd0OyBQdWVydGEgbW9udGFkYTxicj48
YnI+IVtNdWVibGVfMDhdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzY3My8xMTMwL2pTSnRN
Si5qcGcgIkRldGFsbGUgZGUgbGEgYmlzYWdyYSBkZSBsYSBwdWVydGEiKTxicj4mZ3Q7IERldGFs
bGUgZGUgbGEgYmlzYWdyYSBkZSBsYSBwdWVydGE8YnI+PGJyPiFbTXVlYmxlXzA5XShodHRwOi8v
aW1hZ2VzaGFjay5jb20vYS9pbWc1MzcvNjgyMi9xNEphYjguanBnICJQdWVydGEgY2VycmFkYSIp
PGJyPiZndDsgUHVlcnRhIGNlcnJhZGEuPGJyPjxicj5QYXJhIHBvZGVyIG1vdmVyIGxhIG3DoXF1
aW5hIGhlIG1vbnRhZG8gNCBydWVkYXMgbG9jYXMgY29uIGJsb3F1ZW8uPGJyPjxicj4hW011ZWJs
ZV8xMF0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nNjczLzQ3NDYvTWh0c3E5LmpwZyAiUnVl
ZGFzIik8YnI+Jmd0OyBSdWVkYXM8YnI+PGJyPlBhcmEgZWwgcGFuZWwgZGUgY29udHJvbCB0YW1i
acOpbiBoZSB1dGlsaXphZG8gdW5hIGJpc2FncmEgZGUgcGlhbm8uPGJyPjxicj4hW011ZWJsZV8x
MV0oaHR0cDovL2ltYWdlc2hhY2suY29tL2EvaW1nOTEwLzk4MjIvV25XMW1lLmpwZyAiRGV0YWxs
ZSBkZSBsYSBiaXNhZ3JhIHVzYWRhIHBhcmEgZWwgcGFuZWwgZGUgY29udHJvbCIpPGJyPiZndDsg
RGV0YWxsZSBkZSBsYSBiaXNhZ3JhIHVzYWRhIHBhcmEgZWwgcGFuZWwgZGUgY29udHJvbDxicj48
L3A+&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/6821596564543469532/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/6821596564543469532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/6821596564543469532'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html' title='  Construcción de máquina recreativa - Mueble - Construcción del mueble'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0E1Bpk0vYrqBh5gMSRiYfTz_oJNWDYkVFnDqvt4N5iocYXGP3cQmkYnKRkkh82bLUyGsw3zB72If5YCRkFAiMs7a-jrH26euRNEAP7lPCHHgGlH3LMWGW8tz4PUZfsc2ZRUGNbjbRZ2-I/s72-c/Mueble_00.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-7341714244100697442</id><published>2015-09-12T21:24:00.000+02:00</published><updated>2015-11-23T23:21:36.205+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Máquina Recreativa"/><title type='text'>Construcción de máquina recreativa - Introducción</title><content type='html'>&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=7341714244100697442&quot; markdown-here-wrapper-content-modified=&quot;true&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Esta recreativa está basada en una VideoVal, ésta la conseguimos entre tres amigos, pero ante la imposibilidad de quedar para arreglarla, decidí hacerme yo una desde cero.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
De esta máquina hice una plantilla del lateral con cartón y a partir de la plantilla obtuve las medidas y la forma.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
He de resaltar que mi máquina es un poco más alta que la original, le di 10 cm. más de alto, ya que me parecía un poco baja la original. Aunque de pequeño recuerdo que a veces teníamos que subir a las banquetas para poder jugar bien, en ese momento parecían muy altas.&lt;/div&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD4erMcf69IIz415LaLQpAeFP2RVkKXbzH2OXNq1a_9bNC_onRiSiE-ZphyphenhyphenCeqCAJ_SMSATl4wnJ_SaxA2KHU30WpQh9llzQwwPrRmqaMB5i5hEb0nDatyauXVW87FoZ_PgTDl5mTq28UP/s1600/Introduccion_01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD4erMcf69IIz415LaLQpAeFP2RVkKXbzH2OXNq1a_9bNC_onRiSiE-ZphyphenhyphenCeqCAJ_SMSATl4wnJ_SaxA2KHU30WpQh9llzQwwPrRmqaMB5i5hEb0nDatyauXVW87FoZ_PgTDl5mTq28UP/s1600/Introduccion_01.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Recreativa original&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWUb7JH2HGAUJNvWK48u2XBJCluxXv46uOKSsf99LXT7cOqqExPv29U634MO1Y55sZRHB09HV-uce00LpD3v7hAXHi4xYH7VvP9FhvI0ZdU-XwGMO3D_EPjWdF-sYZLyvLAWAi8GwAqj53/s1600/Introduccion_02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWUb7JH2HGAUJNvWK48u2XBJCluxXv46uOKSsf99LXT7cOqqExPv29U634MO1Y55sZRHB09HV-uce00LpD3v7hAXHi4xYH7VvP9FhvI0ZdU-XwGMO3D_EPjWdF-sYZLyvLAWAi8GwAqj53/s1600/Introduccion_02.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;blockquote style=&quot;border-left: 4px solid rgb(221, 221, 221); color: #777777; margin: 1.2em 0px; padding: 0px 1em; quotes: none;&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Mi recreativa&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html&quot;&gt;Construcción de máquina recreativa - Introducción&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_13.html&quot;&gt;Construcción de máquina recreativa - Mueble - Construcción del mueble&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_14.html&quot;&gt;Construcción de máquina recreativa - Mueble - Entrada de alimentación y ventilación&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_15.html&quot;&gt;Construcción de máquina recreativa - Mueble - Cableado&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_16.html&quot;&gt;Construcción de máquina recreativa - Mueble - Botones de encendido y apagado de la máquina&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_17.html&quot;&gt;Construcción de máquina recreativa - Mueble - Bezel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el.html&quot;&gt;Construcción de máquina recreativa - El Vídeo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-los.html&quot;&gt;Construcción de máquina recreativa - Los Controles&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa-el_20.html&quot;&gt;Construcción de máquina recreativa - El Sonido&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa_21.html&quot;&gt;Construcción de máquina recreativa - Agradecimientos&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:PHA+RXN0YSByZWNyZWF0aXZhIGVzdMOhIGJhc2FkYSBlbiB1bmEgVmlkZW9WYWwsIMOpc3RhIGxh
IGNvbnNlZ3VpbW9zIGVudHJlIHRyZXMgYW1pZ29zLCBwZXJvIGFudGUgbGEgaW1wb3NpYmlsaWRh
ZCBkZSBxdWVkYXIgcGFyYSBhcnJlZ2xhcmxhLCBkZWNpZMOtIGhhY2VybWUgeW8gdW5hIGRlc2Rl
IGNlcm8uPGJyPjxicj5EZSBlc3RhIG3DoXF1aW5hIGhpY2UgdW5hIHBsYW50aWxsYSBkZWwgbGF0
ZXJhbCBjb24gY2FydMOzbiB5IGEgcGFydGlyIGRlIGxhIHBsYW50aWxsYSBvYnR1dmUgbGFzIG1l
ZGlkYXMgeSBsYSBmb3JtYS48YnI+PGJyPkhlIGRlIHJlc2FsdGFyIHF1ZSBtaSBtw6FxdWluYSBl
cyB1biBwb2NvIG3DoXMgYWx0YSBxdWUgbGEgb3JpZ2luYWwsIGxlIGRpIDEwIGNtLiBtw6FzIGRl
IGFsdG8sIHlhIHF1ZSBtZSBwYXJlY8OtYSB1biBwb2NvIGJhamEgbGEgb3JpZ2luYWwuIEF1bnF1
ZSBkZSBwZXF1ZcOxbyByZWN1ZXJkbyBxdWUgYSB2ZWNlcyB0ZW7DrWFtb3MgcXVlIHN1YmlyIGEg
bGFzIGJhbnF1ZXRhcyBwYXJhIHBvZGVyIGp1Z2FyIGJpZW4sIGVuIGVzZSBtb21lbnRvIHBhcmVj
w61hbiBtdXkgYWx0YXMuPGJyPjxicj48YnI+IVtJbnRyb2R1Y2Npb25fMDFdKGh0dHA6Ly9pbWFn
ZXNoYWNrLmNvbS9hL2ltZzkxMi84OTM3L3FqRm9HUS5qcGcgIlJlY3JlYXRpdmEgb3JpZ2luYWwi
KTxicj4mZ3Q7IFJlY3JlYXRpdmEgb3JpZ2luYWw8YnI+PGJyPjxicj48YnI+IVtJbnRyb2R1Y2Np
b25fMDJdKGh0dHA6Ly9pbWFnZXNoYWNrLmNvbS9hL2ltZzU0MC8zNTE4LzdabmtZYS5qcGcgIk1p
IHJlY3JlYXRpdmEiKTxicj4mZ3Q7IE1pIHJlY3JlYXRpdmE8YnI+PC9wPg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/7341714244100697442/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/7341714244100697442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/7341714244100697442'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/09/construccion-de-maquina-recreativa.html' title='Construcción de máquina recreativa - Introducción'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD4erMcf69IIz415LaLQpAeFP2RVkKXbzH2OXNq1a_9bNC_onRiSiE-ZphyphenhyphenCeqCAJ_SMSATl4wnJ_SaxA2KHU30WpQh9llzQwwPrRmqaMB5i5hEb0nDatyauXVW87FoZ_PgTDl5mTq28UP/s72-c/Introduccion_01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-903612074173411409.post-5086985731014288448</id><published>2015-07-07T23:38:00.000+02:00</published><updated>2015-07-07T23:38:10.609+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Organización Fotos"/><category scheme="http://www.blogger.com/atom/ns#" term="Zoner Photo Studio"/><title type='text'>Organizar fotos por fecha usando Zoner Photo Studio</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;markdown-here-wrapper&quot; data-md-url=&quot;https://www.blogger.com/blogger.g?blogID=903612074173411409#editor/target=post;postID=5086985731014288448&quot;&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
En mi caso me gusta organizar las fotografías que hago por fechas. La estructura de carpetas que uso es la de Año-Mes-Dia, de esta forma se quedan lar carpetas ordenadas de forma cronológica.&lt;br /&gt;Para hacer esto de forma automática utilizo el Zoner Photo Studio, este programa me permite hacer esto de forma automática.&lt;br /&gt;Lo que cuento el los siguientes puntos es válido tanto para las versiones gratis como para las versiones de pago.&lt;/div&gt;
&lt;h2 id=&quot;programa-en-ingl-s&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Programa en Inglés&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Se ha de estar en la pestaña &lt;strong&gt;Manager&lt;/strong&gt;, dentro de la carpeta a organizar.&lt;br /&gt;Se selecciona el menú: &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Organize&lt;/code&gt; &amp;gt; &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Sort Pictures&lt;/code&gt; o se pulsa directamente &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;ctrl&lt;/code&gt; + &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;o&lt;/code&gt;.&lt;br /&gt;Dentro de la pantalla:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;strong&gt;Enter source drive or paht:&lt;/strong&gt; -&amp;gt; se deja como está el programa ha dejado el nombre de la carpeta en la que estamos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;strong&gt;Select picture sorting method&lt;/strong&gt; -&amp;gt; se selecciona &lt;strong&gt;Custom&lt;/strong&gt; y en la casilla de abajo se introduce &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;{TM#FD:&quot;yyyy-MM-dd&quot;}&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;strong&gt;Choose a target folder for the pictures:&lt;/strong&gt; -&amp;gt; Se selecciona la carpeta destino.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se pulsa &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Next&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
En la siguiente pantalla:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se selecciona lo siguiente:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Bitmap&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Vector&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Video&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Sound&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se deselecciona lo siguiente:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Only sort files larger than&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se pulsa &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Next&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
En la siguiente pantalla:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se seleccionan todas las carpetas que se quieran escanear y ordenar&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se selecciona la opción &lt;strong&gt;Include subfolders in selection&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se pulsa &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;finish&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;programa-en-castellano&quot; style=&quot;border-bottom: 1px solid rgb(238, 238, 238); font-size: 1.4em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;&quot;&gt;
Programa en castellano&lt;/h2&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
Se ha de estar en la pestaña &lt;strong&gt;Administrador&lt;/strong&gt;, dentro de la carpeta a organizar.&lt;br /&gt;Se selecciona el menú: &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Organizar&lt;/code&gt; &amp;gt; &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Ordenar fotografías&lt;/code&gt; o se pulsa directamente &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;ctrl&lt;/code&gt; + &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;o&lt;/code&gt;.&lt;br /&gt;Dentro de la pantalla:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;strong&gt;Introduzca la unidad de origen o la ruta:&lt;/strong&gt; -&amp;gt; se deja como está el programa ha dejado el nombre de la carpeta en la que estamos.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;strong&gt;Seleccione el método de ordenación de fotografías&lt;/strong&gt; -&amp;gt; se selecciona &lt;strong&gt;Personalizado&lt;/strong&gt; y en la casilla de abajo se introduce &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;{TM#FD:&quot;yyyy-MM-dd&quot;}&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;&lt;strong&gt;Elija una carpeta de destino para sus fotografías:&lt;/strong&gt; -&amp;gt; Se selecciona la carpeta destino.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se pulsa &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Siguiente&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
En la siguiente pantalla:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se selecciona lo siguiente:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Mapa de bits&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Vector&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Vídeo&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Audio&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se deselecciona lo siguiente:&lt;ul style=&quot;margin: 0px; margin: 1.2em 0px; padding-left: 1em; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Sólo ordenar archivos más grandes de:&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se pulsa &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;Siguiente&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 1.2em 0px ! important;&quot;&gt;
En la siguiente pantalla:&lt;/div&gt;
&lt;ul style=&quot;margin: 1.2em 0px; padding-left: 2em;&quot;&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se seleccionan todas las carpetas que se quieran escanear y ordenar&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se selecciona la opción &lt;strong&gt;Incluir subcarpetas en la selección&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;margin: 0.5em 0px;&quot;&gt;Se pulsa &lt;code style=&quot;background-color: #f8f8f8; border-radius: 3px; border: 1px solid rgb(234, 234, 234); display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap;&quot;&gt;finish&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;font-size: 0em; height: 0; margin: 0; max-height: 0; max-width: 0; overflow: hidden; padding: 0; width: 0;&quot; title=&quot;MDH:RW4gbWkgY2FzbyBtZSBndXN0YSBvcmdhbml6YXIgbGFzIGZvdG9ncmFmw61hcyBxdWUgaGFnbyBw
b3IgZmVjaGFzLiBMYSBlc3RydWN0dXJhIGRlIGNhcnBldGFzIHF1ZSB1c28gZXMgbGEgZGUgQcOx
by1NZXMtRGlhLCBkZSBlc3RhIGZvcm1hIHNlIHF1ZWRhbiBsYXIgY2FycGV0YXMgb3JkZW5hZGFz
IGRlIGZvcm1hIGNyb25vbMOzZ2ljYS48YnI+UGFyYSBoYWNlciBlc3RvIGRlIGZvcm1hIGF1dG9t
w6F0aWNhIHV0aWxpem8gZWwgWm9uZXIgUGhvdG8gU3R1ZGlvLCBlc3RlIHByb2dyYW1hIG1lIHBl
cm1pdGUgaGFjZXIgZXN0byBkZSBmb3JtYSBhdXRvbcOhdGljYS48YnI+TG8gcXVlIGN1ZW50byBl
bCBsb3Mgc2lndWllbnRlcyBwdW50b3MgZXMgdsOhbGlkbyB0YW50byBwYXJhIGxhcyB2ZXJzaW9u
ZXMgZ3JhdGlzIGNvbW8gcGFyYSBsYXMgdmVyc2lvbmVzIGRlIHBhZ28uPGJyPjxicj4jIyBQcm9n
cmFtYSBlbiBJbmdsw6lzPGJyPjxicj5TZSBoYSBkZSBlc3RhciBlbiBsYSBwZXN0YcOxYSAqKk1h
bmFnZXIqKiwgZGVudHJvIGRlIGxhIGNhcnBldGEgYSBvcmdhbml6YXIuPGJyPlNlIHNlbGVjY2lv
bmEgZWwgbWVuw7o6IGBPcmdhbml6ZWAgJmd0OyBgU29ydCBQaWN0dXJlc2AgbyBzZSBwdWxzYSBk
aXJlY3RhbWVudGUgYGN0cmxgICsgYG9gLjxicj5EZW50cm8gZGUgbGEgcGFudGFsbGE6PGJyPiog
KipFbnRlciBzb3VyY2UgZHJpdmUgb3IgcGFodDoqKiAtJmd0OyBzZSBkZWphIGNvbW8gZXN0w6Eg
ZWwgcHJvZ3JhbWEgaGEgZGVqYWRvIGVsIG5vbWJyZSBkZSBsYSBjYXJwZXRhIGVuIGxhIHF1ZSBl
c3RhbW9zLjxicj4qICoqU2VsZWN0IHBpY3R1cmUgc29ydGluZyBtZXRob2QqKiAtJmd0OyBzZSBz
ZWxlY2Npb25hICoqQ3VzdG9tKiogeSBlbiBsYSBjYXNpbGxhIGRlIGFiYWpvIHNlIGludHJvZHVj
ZSBge1RNI0ZEOiJ5eXl5LU1NLWRkIn0gYDxicj4qICoqQ2hvb3NlIGEgdGFyZ2V0IGZvbGRlciBm
b3IgdGhlIHBpY3R1cmVzOioqIC0mZ3Q7IFNlIHNlbGVjY2lvbmEgbGEgY2FycGV0YSBkZXN0aW5v
Ljxicj4qIFNlIHB1bHNhIGBOZXh0YC48YnI+PGJyPkVuIGxhIHNpZ3VpZW50ZSBwYW50YWxsYTo8
YnI+KiBTZSBzZWxlY2Npb25hIGxvIHNpZ3VpZW50ZTo8YnI+wqAqIEJpdG1hcDxicj7CoCogVmVj
dG9yPGJyPsKgKiBWaWRlbzxicj7CoCogU291bmQ8YnI+KiBTZSBkZXNlbGVjY2lvbmEgbG8gc2ln
dWllbnRlOjxicj7CoCogT25seSBzb3J0IGZpbGVzIGxhcmdlciB0aGFuPGJyPiogU2UgcHVsc2Eg
YE5leHRgLjxicj48YnI+RW4gbGEgc2lndWllbnRlIHBhbnRhbGxhOjxicj4qIFNlIHNlbGVjY2lv
bmFuIHRvZGFzIGxhcyBjYXJwZXRhcyBxdWUgc2UgcXVpZXJhbiBlc2NhbmVhciB5IG9yZGVuYXI8
YnI+KiBTZSBzZWxlY2Npb25hIGxhIG9wY2nDs24gKipJbmNsdWRlIHN1YmZvbGRlcnMgaW4gc2Vs
ZWN0aW9uKiouPGJyPiogU2UgcHVsc2EgYGZpbmlzaGAuPGJyPjxicj4jIyBQcm9ncmFtYSBlbiBj
YXN0ZWxsYW5vPGJyPjxicj5TZSBoYSBkZSBlc3RhciBlbiBsYSBwZXN0YcOxYSAqKkFkbWluaXN0
cmFkb3IqKiwgZGVudHJvIGRlIGxhIGNhcnBldGEgYSBvcmdhbml6YXIuPGJyPlNlIHNlbGVjY2lv
bmEgZWwgbWVuw7o6IGBPcmdhbml6YXJgICZndDsgYE9yZGVuYXIgZm90b2dyYWbDrWFzYCBvIHNl
IHB1bHNhIGRpcmVjdGFtZW50ZSBgY3RybGAgKyBgb2AuPGJyPkRlbnRybyBkZSBsYSBwYW50YWxs
YTo8YnI+KiAqKkludHJvZHV6Y2EgbGEgdW5pZGFkIGRlIG9yaWdlbiBvIGxhIHJ1dGE6KiogLSZn
dDsgc2UgZGVqYSBjb21vIGVzdMOhIGVsIHByb2dyYW1hIGhhIGRlamFkbyBlbCBub21icmUgZGUg
bGEgY2FycGV0YSBlbiBsYSBxdWUgZXN0YW1vcy48YnI+KiAqKlNlbGVjY2lvbmUgZWwgbcOpdG9k
byBkZSBvcmRlbmFjacOzbiBkZSBmb3RvZ3JhZsOtYXMqKiAtJmd0OyBzZSBzZWxlY2Npb25hICoq
UGVyc29uYWxpemFkbyoqIHkgZW4gbGEgY2FzaWxsYSBkZSBhYmFqbyBzZSBpbnRyb2R1Y2UgYHtU
TSNGRDoieXl5eS1NTS1kZCJ9IGA8YnI+KiAqKkVsaWphIHVuYSBjYXJwZXRhIGRlIGRlc3Rpbm8g
cGFyYSBzdXMgZm90b2dyYWbDrWFzOioqIC0mZ3Q7IFNlIHNlbGVjY2lvbmEgbGEgY2FycGV0YSBk
ZXN0aW5vLjxicj4qIFNlIHB1bHNhIGBTaWd1aWVudGVgLjxicj48YnI+RW4gbGEgc2lndWllbnRl
IHBhbnRhbGxhOjxicj4qIFNlIHNlbGVjY2lvbmEgbG8gc2lndWllbnRlOjxicj7CoCogTWFwYSBk
ZSBiaXRzPGJyPsKgKiBWZWN0b3I8YnI+wqAqIFbDrWRlbzxicj7CoCogQXVkaW88YnI+KiBTZSBk
ZXNlbGVjY2lvbmEgbG8gc2lndWllbnRlOjxicj7CoCogU8OzbG8gb3JkZW5hciBhcmNoaXZvcyBt
w6FzIGdyYW5kZXMgZGU6PGJyPiogU2UgcHVsc2EgYFNpZ3VpZW50ZWAuPGJyPjxicj5FbiBsYSBz
aWd1aWVudGUgcGFudGFsbGE6PGJyPiogU2Ugc2VsZWNjaW9uYW4gdG9kYXMgbGFzIGNhcnBldGFz
IHF1ZSBzZSBxdWllcmFuIGVzY2FuZWFyIHkgb3JkZW5hcjxicj4qIFNlIHNlbGVjY2lvbmEgbGEg
b3BjacOzbiAqKkluY2x1aXIgc3ViY2FycGV0YXMgZW4gbGEgc2VsZWNjacOzbioqLjxicj4qIFNl
IHB1bHNhIGBmaW5pc2hgLg==&quot;&gt;
​&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.juansal.com/feeds/5086985731014288448/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://blog.juansal.com/2015/07/organizar-fotos-por-fecha-usando-zoner.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/5086985731014288448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/903612074173411409/posts/default/5086985731014288448'/><link rel='alternate' type='text/html' href='http://blog.juansal.com/2015/07/organizar-fotos-por-fecha-usando-zoner.html' title='Organizar fotos por fecha usando Zoner Photo Studio'/><author><name>Juan Salvador Aleixandre</name><uri>http://www.blogger.com/profile/00952749747482909447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuDK5scghMijST9WNychT3MQdWJ13ij4y-nFPor2KD2Hpbi0XJzNy3dTk2lxDkCUZX1owPV0CUD--DFehzT0sgVPgPZkNrlw1WTwcmdbj6YfF5fGc2ZDYmeyFw9VBp0o/s220/regular500.png'/></author><thr:total>0</thr:total></entry></feed>