<?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-2621338135997163428</id><updated>2024-10-05T03:20:56.179+01:00</updated><title type='text'>RPI ++</title><subtitle type='html'>En este blog se detallarán las principales experiencias hardware que se han tenido sobre Raspberry Pi.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default?alt=atom'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-6602770003390273534</id><published>2013-09-13T18:29:00.001+01:00</published><updated>2013-09-13T18:35:40.403+01:00</updated><title type='text'>Participación en las VII Jornadas de Innovación Docente e Investigación Educativa y entrevista en Radio María</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;Ayer participamos en las&amp;nbsp;&lt;a href=&quot;http://www.unizar.es/ice/index.php/vii-jornadas&quot; target=&quot;_blank&quot;&gt;VII Jornadas de Innovación Docente e Investigación Educativa&lt;/a&gt;&amp;nbsp;(J.I.I.E. 2013) de la Universidad de Zaragoza. En primer lugar desde aquí, dar la enhorabuena y gracias a las personas que las organizaron, me parecieron muy útiles y considero que es un formato que deberíamos exportar a Secundaria y F.P., ya que creo que podemos aprender, en general, más del compañero que está a pie de aula que de alguien que está alejado de nuestro entorno y no conoce nuestra problemática e idiosincrasia. Además, es increíble la cantidad de sinergias que confluyen y grupos de investigación multidisciplinares que pueden surgir.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;La ponencia consideramos que fue bien&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;(&lt;/span&gt;&lt;a href=&quot;https://sourceforge.net/projects/rpiplus/files/jiie2013_submission_81.pdf/download&quot; target=&quot;_blank&quot;&gt;ver póster&lt;/a&gt;&lt;span style=&quot;color: #666666;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;y la orientamos&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;más&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;a contar la metodología y cómo habíamos distribuido los resultados del trabajo porque había profesores de múltiples disciplinas y sólo teníamos diez minutos para exponer nuestra contribución, para que luego se abriera un turno de preguntas. Cual fue nuestra sorpresa cuando nos empezaron a hacer preguntas técnicas sobre la Raspberry Pi y se quedaron muy sorprendidos de su tamaño, potencia y precio.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;&lt;br /&gt;&lt;/span&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/AVvXsEhue2zVDfiGD5QJQo-r-YX2z2RScJJwtjCnOxwkRlF_HhKINNCVnA5yF7eNQjmPtuf0kQf1pDJxdOi4aQ1eTV8QllG6vLFLCJNuyQZve8zkuDrTjXbux1815POyslvWtr9teLHIWUPNmLY9/s1600/ponenciaJIIE2013.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhue2zVDfiGD5QJQo-r-YX2z2RScJJwtjCnOxwkRlF_HhKINNCVnA5yF7eNQjmPtuf0kQf1pDJxdOi4aQ1eTV8QllG6vLFLCJNuyQZve8zkuDrTjXbux1815POyslvWtr9teLHIWUPNmLY9/s400/ponenciaJIIE2013.jpg&quot; width=&quot;400&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 style=&quot;color: #666666;&quot;&gt;Foto gentileza de la gran fotógrafa &lt;b&gt;Piedad&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;Por casualidades de la vida, estaba entre los asistentes el profesor &lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Javier Ángel Ramírez&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt; y nos propuso hablar en directo en el programa &quot;&lt;/span&gt;&lt;b style=&quot;color: #666666;&quot;&gt;Diálogos con la Ciencia&lt;/b&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&quot; de Radio María, que se emite para toda España y accedimos encantados, aunque finalmente hablé sólo yo. Si queréis escuchar el programa debéis registraros en la web, ir a la sección del programa y buscarlo por la fecha de hoy (13/09/13).&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;Ya sólo me queda volver a agradecer a Javier Ángel la posibilidad que nos ha ofrecido de hablar por la radio y m&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;e acabo de percatar que mi gran debut en la radio ha sido en un&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;color: #666666;&quot;&gt;VIERNES 13&lt;/b&gt;&lt;span style=&quot;color: #666666;&quot;&gt;, para los que sean supersticiosos.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/6602770003390273534/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/09/participacion-en-las-vii-jornadas-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/6602770003390273534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/6602770003390273534'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/09/participacion-en-las-vii-jornadas-de.html' title='Participación en las VII Jornadas de Innovación Docente e Investigación Educativa y entrevista en Radio María'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhue2zVDfiGD5QJQo-r-YX2z2RScJJwtjCnOxwkRlF_HhKINNCVnA5yF7eNQjmPtuf0kQf1pDJxdOi4aQ1eTV8QllG6vLFLCJNuyQZve8zkuDrTjXbux1815POyslvWtr9teLHIWUPNmLY9/s72-c/ponenciaJIIE2013.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-1918811754455950181</id><published>2013-07-03T18:53:00.000+01:00</published><updated>2013-07-03T19:08:42.780+01:00</updated><title type='text'>Blog interesante de otro Proyecto Final de Carrera</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Paradojas de la vida, encontré no hace mucho otro &lt;a href=&quot;http://muyraspi.blogspot.com.es/?view=flipcard.&quot; target=&quot;_blank&quot;&gt;blog &lt;/a&gt;que tiene bastantes entradas interesantes, de otra Proyecto Final de Carrera &quot;cuyo objetivo&amp;nbsp;era usar la cabecera de pines GPIO que trae consigo la Raspberry Pi y poder controlar las E/S desde un dispositivo móvil&quot;. Recomiendo que le echéis un vistazo (&lt;/span&gt;&lt;a href=&quot;http://muyraspi.blogspot.com.es/?view=flipcard&quot;&gt;http://muyraspi.blogspot.com.es/?view=flipcard&lt;/a&gt;).&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Los dos blogs que voy a recomendar son de dos tiendas, el primero de ellos de la tienda &lt;a href=&quot;http://www.electroensaimada.com/raspberry-pi.html&quot; target=&quot;_blank&quot;&gt;Electroensaimada &lt;/a&gt;bastante completo, agrupadas las experiencias por niveles (&lt;/span&gt;&lt;a href=&quot;http://www.electroensaimada.com/raspberry-pi.html&quot;&gt;http://www.electroensaimada.com/raspberry-pi.html&lt;/a&gt;)&lt;span style=&quot;color: #444444;&quot;&gt;&amp;nbsp;y el otro de la tienda &lt;a href=&quot;http://www.blog.meya.es/&quot; target=&quot;_blank&quot;&gt;Meya&lt;/a&gt;,&lt;/span&gt;&lt;span style=&quot;color: #444444;&quot;&gt;&amp;nbsp;pinta bastante bien, aunque de momento sólo tiene dos entradas (&lt;/span&gt;&lt;a href=&quot;http://www.blog.meya.es/&quot;&gt;http://www.blog.meya.es/&lt;/a&gt;)&lt;span style=&quot;color: #444444;&quot;&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Agradecimientos a la &lt;a href=&quot;http://www.raspberrypi-es.com/&quot; target=&quot;_blank&quot;&gt;Comunidad en Español de Raspberry Pi&lt;/a&gt;, en concreto a Andrés Álvarez,&amp;nbsp;por la &lt;a href=&quot;http://www.raspberrypi-es.com/un-proyecto-de-fin-de-carrera-sobre-raspberry-pi/&quot; target=&quot;_blank&quot;&gt;entrada en la que recomienda el blog&lt;/a&gt;&amp;nbsp;y la página del proyecto.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Ya para concluir comentaros que casí lleva 1200 visitas el blog y que a corto-medio plazo espero programar algún dispositivo más.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Un saludo y feliz verano!&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/1918811754455950181/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/07/blog-interesante-de-otro-proyecto-final.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/1918811754455950181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/1918811754455950181'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/07/blog-interesante-de-otro-proyecto-final.html' title='Blog interesante de otro Proyecto Final de Carrera'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-1079168490009369929</id><published>2013-06-22T20:21:00.004+01:00</published><updated>2013-06-22T20:25:16.608+01:00</updated><title type='text'>DEFENSA DEL TRABAJO FINAL DE CARRERA</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Bueno, pues al final, he defendido el proyecto, acompañado de mi mujer y con Paulita, que nacerá en breve. Todo fue muy bien y me pusieron una excelente nota. Si bien, debo agradecer la ayuda y correcciones que me ha prestado a lo largo de mi trabajo el director del mismo, &lt;/span&gt;&lt;a href=&quot;http://docencia-eupt.unizar.es/paco/&quot; target=&quot;_blank&quot;&gt;Francisco J. Martínez Domínguez&lt;/a&gt;. &lt;span style=&quot;color: #444444;&quot;&gt;También quiero agradecer la atención que me prestó el tribunal y un profesor de electrónica que acudió, por sus correcciones y además, lo que me enseñaron. Así aprendí que el &quot;Regulador de voltaje&quot; del que hablo en mi trabajo se denomina potenciómetro, :D (ahora corrijo el blog).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;La defensa la había ideado con un resumen del trabajo realizado &lt;/span&gt;(&lt;a href=&quot;https://sourceforge.net/projects/rpiplus/files/defensa%20TFC%20MIGUEL%20ALVAREZ%20AMADA.pptx/download&quot; target=&quot;_blank&quot;&gt;Presentación pptx&lt;/a&gt;) &lt;span style=&quot;color: #444444;&quot;&gt;y por otra parte, una pequeña demostración sobre una placa con un botón y un led. Lamentablemente, ésta no la pude hacer porque la red de la Universidad no me dejó conectarme mediante el nombre del equipo a la Raspberry Pi y además, no encontramos una pantalla que admitiera HDMI.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Después de la defensa, gracias a los profes del tribunal y eficientes administrativos, pude solicitar el título y nos marchamos a comer a &quot;El milagro&quot;. Es un sitio recurrente al que he acudido las dos veces que he tenido oposiciones y del que guardo un grato recuerdo por los resultados obtenidos. Ya en Zaragoza, celebración con la familia y vuelta a casa, Tardienta, exhaustos después de haber hecho más de 400 km en un día.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Resumiendo, un gran día de mucha alegría que culminó varios meses de trabajo y que pude compartir con las personas que más quiero.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/1079168490009369929/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/defensa-del-trabajo-final-de-carrera.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/1079168490009369929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/1079168490009369929'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/defensa-del-trabajo-final-de-carrera.html' title='DEFENSA DEL TRABAJO FINAL DE CARRERA'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-7192863701002405112</id><published>2013-06-15T11:33:00.000+01:00</published><updated>2013-06-22T20:23:09.122+01:00</updated><title type='text'>PANTALLA LCD</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:10px; border:2px solid #000000; padding:5px;}
&lt;/style&gt;

&lt;br /&gt;
&lt;div class=&quot;titulo&quot;&gt;
OBJETIVOS&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Crear un programa en C que pida al usuario texto y lo muestre por la pantalla LCD,  pantalla a pantalla,  mediante la librería WiringPi.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
CONSTRUCCIÓN DEL CIRCUITO&lt;/div&gt;
&lt;div&gt;
Para trabajar con el circuito, podremos optar por trabajar con 4 u 8 pines de datos, permitiendo estos últimos lograr un mayor control de la pantalla.&lt;/div&gt;
&lt;div&gt;
Debido a que no hay gran diferencia de concepto entre una forma de trabajar y otra, se ha optado por 4 pines de datos ya que así queda el circuito más limpio.&lt;/div&gt;
&lt;div&gt;
A fin de simplificar el circuito, se ha seguido el convenio de colores rojo cuando se conecta el cable a la línea de  + de 5v ( VDD y LED+ ) y azul, cuando se conecta a la línea – de tierra (VSS, LED-, V0, RW). Se han empleado los cables blandos para conectar las líneas de datos con pines programables (D4 a D7) y naranja para conectar a los pines CE0 y CE1 (E y RS). Además, tal y como se muestra en la figura la entrada V0 está puenteada al potenciómetro, aunque no es necesario para que funcione y directivamente se puede conectar a tierra.

    &lt;/div&gt;
&lt;div class=&quot;imagen&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/AVvXsEgYnXywzfKESFnQOuxnfJ6U5X_iNKyG08Ujca46A9DcN6nijwjHx9ZBaIBNsMEQRLo2gZtm2ZAUOK_4grh4jpNA9h7sGNjeSrf-mVUPx7DQR7iAJ12VD2MN05Y7jcb1wcYz4fQuQ9wjupr5/s1600/image002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;321&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYnXywzfKESFnQOuxnfJ6U5X_iNKyG08Ujca46A9DcN6nijwjHx9ZBaIBNsMEQRLo2gZtm2ZAUOK_4grh4jpNA9h7sGNjeSrf-mVUPx7DQR7iAJ12VD2MN05Y7jcb1wcYz4fQuQ9wjupr5/s640/image002.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/TqWGu9uFVZM&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;https://sourceforge.net/projects/rpiplus/files/LCD/&quot;&gt;
      DESCARGAR TODO EL CÓDIGO&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;https://sourceforge.net/projects/rpiplus/files/LCD/&quot;&gt;https://sourceforge.net/projects/rpiplus/files/LCD/&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa lcd.c&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&lt;strong&gt;/****************************************************************&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** lcd.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Este programa captura un texto introducido por  el usuario&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** y se muestra por pantalla, de tal manera que se  ven dos&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** lineas del mismo y el usuario debe apretar una  tecla para&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** ver las dos siguientes. Para la ejecución del  mismo es&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** necesario que sea ejecutado como root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para compilar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** gcc -o lcd -l wiringPi lcd.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para ejecutar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** sudo ./lcd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;****************************************************************/&lt;/strong&gt;&lt;br /&gt;
#include  &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;
      main(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char cadena[200], letra,  linea1[17],linea2[17];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int lon, pos, i,  pant=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Introduce la cadena para mostrar en  pantalla LCD\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;pulsa cualquier tecla para  avanzar\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gets(cadena);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lon=strlen(cadena);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pos=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wiringPiSetup () == -1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit (1) ;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //describir  la pantalla&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int fd1 = lcdInit  (2, 16, 4, 11, 10, 6,5,4,1,0,0,0,0) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //limpiar pantalla&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep  (1) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdClear(fd1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(pos  &amp;lt; lon){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(i&amp;lt;16  &amp;amp;&amp;amp; pos &amp;lt; lon){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linea1[i]=cadena[pos];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pos++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linea1[i]=&#39;\0&#39;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=0; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(i&amp;lt;16  &amp;amp;&amp;amp; pos &amp;lt; lon){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linea2[i]=cadena[pos];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pos++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linea2[i]=&#39;\0&#39;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Pantalla  %d\n&quot;,++pant);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;%s\n&quot;,linea1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;%s\n&quot;,linea2);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep(1);&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;strong&gt;//sacamos  la salida por la pantalla LCD&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdPosition (fd1, 0, 0) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdPuts  (fd1, linea1) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdPosition(fd1,0,1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdPuts(fd1,linea2);&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;strong&gt;//esperamos  a que el usuario pulse una tecla&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fflush(stdin);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getchar();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Saliendo\n&quot;);&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //limpiar  pantalla&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep(1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdClear(fd1);
      } &lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/7192863701002405112/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/pantalla-lcd.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/7192863701002405112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/7192863701002405112'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/pantalla-lcd.html' title='PANTALLA LCD'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYnXywzfKESFnQOuxnfJ6U5X_iNKyG08Ujca46A9DcN6nijwjHx9ZBaIBNsMEQRLo2gZtm2ZAUOK_4grh4jpNA9h7sGNjeSrf-mVUPx7DQR7iAJ12VD2MN05Y7jcb1wcYz4fQuQ9wjupr5/s72-c/image002.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-4011400121357628166</id><published>2013-06-14T19:56:00.000+01:00</published><updated>2013-06-14T19:56:00.052+01:00</updated><title type='text'>TECLADO HEXADECIMAL 4X4</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify; margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:10px; border:2px solid #000000}
&lt;/style&gt;
  &lt;br /&gt;
&lt;div class=&quot;titulo&quot;&gt;
OBJETIVOS&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Crear un programa Shell que capture y muestre todas las teclas que son pulsadas en un teclado numérico hexadecimal 4x4 hasta que se pulsa # mediante el comando gpio de la librería WiringPi&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Crear un programa en C que capture y muestre todas las teclas que son pulsadas en un teclado numérico hexadecimal 4x4 hasta que se pulsa # mediante la librería WiringPi.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
CONSTRUCCIÓN DEL CIRCUITO&lt;/div&gt;
&lt;div&gt;
Para poder realizar el programa, primero debemos atender al diseño del teclado, que cuenta con 8 líneas, 4 de ellas de entrada y 4 de salida.&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjCner4MgMJZtMw70N47EZkVndddyqyvna2sX_uAdF_BRFRv0bX2BseRcHsGY3Nt_zy-sk8l-XnhLdVsv7DYugGKrKS2kE9Ccer6-uQc9ERzWJoZ8k4Nsq1P_dKofuGcmOPLQOjBhZWrJH/s1600/image004.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjCner4MgMJZtMw70N47EZkVndddyqyvna2sX_uAdF_BRFRv0bX2BseRcHsGY3Nt_zy-sk8l-XnhLdVsv7DYugGKrKS2kE9Ccer6-uQc9ERzWJoZ8k4Nsq1P_dKofuGcmOPLQOjBhZWrJH/s200/image004.png&quot; width=&quot;181&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Comentar que los pines 1 a 4 llevarán asociados pines GPIO de salida y los pines de 5 a 8 serán asociados a pines de entrada, siendo recomendable la utilización de resistencias para evitar dañar la placa.&lt;/div&gt;
&lt;div&gt;
Atendiendo a la imagen vemos que los pines del teclado que van del 1 a 4, están asociadas a las columnas que van de 1 a 4. Mientras que los pines asociados a los pines 5 a 8 están asociados a las filas 1 a 4, pero en orden contrario, o sea, el 5 pin está asociado a la 4 columna, el 3 a la 3,…&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6jD0IWCqwmCtn2ApO50diaPuH3641n70gumx-Ru47XiO_5VIbh5c8Fr8tkl6AW3i4gy0g3jFElNKTY5N3NOSJ8PsE7trTScCHWIw0qn4vr7-DCy7MNbDy0tUJ_L2mqDAgWAfkSVt_CH0H/s1600/teclado.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;145&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6jD0IWCqwmCtn2ApO50diaPuH3641n70gumx-Ru47XiO_5VIbh5c8Fr8tkl6AW3i4gy0g3jFElNKTY5N3NOSJ8PsE7trTScCHWIw0qn4vr7-DCy7MNbDy0tUJ_L2mqDAgWAfkSVt_CH0H/s320/teclado.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Se ha procedido a conectar las 8 líneas del teclado a pines programables, insertando resistencias en el caso de los pines de entrada.&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;491&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFWSXsTYlqGsMIZWEfwghwFy2pe2Z_JBqy1brakezPC4MdaRfVh4eYTp_w79r0yfRVvM-k4RGewGtrhPmQrili-A-KTXaDngm-Q54cWfXT0lkGsOqd2-qEABgiey3Mg65IADvGH2Hcg6vg/s640/image006.jpg&quot; width=&quot;640&quot; /&gt;&lt;/div&gt;
&lt;div&gt;
El funcionamiento del algoritmo es relativamente sencillo. Cuando comienza el programa el primer pin de salida, que controla primera columna vale 1, o sea, emite corriente y los otros tres pines de salida que controlan las columnas restantes valen 0, no emiten corriente. En este momento, se comprueba el valor del primer pin de entrada, si vale 0 es que no ha sido pulsada la tecla, en caso contrario, si ha sido pulsada. A continuación se va realizando la comprobación con las siguientes filas. Una vez comprobada la primera columna, se repite el proceso con las siguientes columnas, volviendo a realizar la comprobación hasta la última, en cuyo caso, se vuelve a realizar la comprobación cíclicamente desde la primera.&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT10yhL__gxwUZlf8xdVbq8XicxEedTTcXUaQ-orcVvM-1jg8upkTWC3FaOBnXyVco1UZ2U5NQ95L-FZeWiRBpZvreR7axEA7D4xyKmVDU2vPohHZE6JyCu9ESSqDPOuCsXcyZMMHhVdLl/s1600/algoritmoteclado.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;152&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT10yhL__gxwUZlf8xdVbq8XicxEedTTcXUaQ-orcVvM-1jg8upkTWC3FaOBnXyVco1UZ2U5NQ95L-FZeWiRBpZvreR7axEA7D4xyKmVDU2vPohHZE6JyCu9ESSqDPOuCsXcyZMMHhVdLl/s640/algoritmoteclado.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
PROGRAMA tecladogpio.sh&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&lt;strong&gt;#!/bin/bash&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## tecladogpio.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Este script captura cuando un botón es pulsado  mediante&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## el comando gpio facilitado por la libreria  wiring PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Para ejecutar ./botongpio.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#pines de salida&lt;/strong&gt;&lt;br /&gt;
OUTPUT[0]=&quot;25&quot;&lt;br /&gt;
OUTPUT[1]=&quot;24&quot;&lt;br /&gt;
OUTPUT[2]=&quot;23&quot;&lt;br /&gt;
OUTPUT[3]=&quot;18&quot;&lt;br /&gt;
&lt;strong&gt;#pines de entrada&lt;/strong&gt;&lt;br /&gt;
INPUT[0]=&quot;7&quot;&lt;br /&gt;
INPUT[1]=&quot;22&quot;&lt;br /&gt;
INPUT[2]=&quot;4&quot;&lt;br /&gt;
INPUT[3]=&quot;17&quot;&lt;br /&gt;
&lt;strong&gt;#teclado&lt;/strong&gt;&lt;br /&gt;
TECLA[0]=&quot;1&quot;&lt;br /&gt;
TECLA[1]=&quot;2&quot;&lt;br /&gt;
TECLA[2]=&quot;3&quot;&lt;br /&gt;
TECLA[3]=&quot;A&quot;&lt;br /&gt;
TECLA[4]=&quot;4&quot;&lt;br /&gt;
TECLA[5]=&quot;5&quot;&lt;br /&gt;
TECLA[6]=&quot;6&quot;&lt;br /&gt;
TECLA[7]=&quot;B&quot;&lt;br /&gt;
TECLA[8]=&quot;7&quot;&lt;br /&gt;
TECLA[9]=&quot;8&quot;&lt;br /&gt;
TECLA[10]=&quot;9&quot;&lt;br /&gt;
TECLA[11]=&quot;C&quot;&lt;br /&gt;
TECLA[12]=&quot;*&quot;&lt;br /&gt;
TECLA[13]=&quot;0&quot;&lt;br /&gt;
TECLA[14]=&quot;#&quot;&lt;br /&gt;
TECLA[15]=&quot;D&quot;&lt;br /&gt;
&lt;strong&gt;#configurar los pines como entrada conexión a  tierra y salida&lt;/strong&gt;&lt;br /&gt;
for I in 0 1 2 3&lt;br /&gt;
do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g mode ${OUTPUT[$I]} out&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g write ${OUTPUT[$I]} 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g mode ${INPUT[$I]} in&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g mode ${INPUT[$I]} down
&lt;br /&gt;
&lt;div&gt;
done&lt;br /&gt;
echo  &quot;Capturando teclas para salir pulsar #&quot;&lt;br /&gt;
&lt;strong&gt;#bucle infinito que captura y muestra teclas hasta  que se pulsa #&lt;/strong&gt;&lt;br /&gt;
while ((1));&lt;br /&gt;
do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for  I in 0 1 2 3&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #poner  el pin de salida a 1 (el resto están a 0)&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio -g  write ${OUTPUT[$I]} 1&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;strong&gt;#comprobar  pines de entrada si no valen 0 =&amp;gt;tecla pulsada&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for J in 0 1  2 3&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ=`gpio  -g read ${INPUT[$J]}`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep  0.01&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if  [ $READ -ne &quot;0&quot; ]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POS=`expr  4 &quot;*&quot; $I + $J`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;Pulsado el boton ${TECLA[$POS]}&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if  [ &quot;${TECLA[$POS]}&quot; = &quot;#&quot; ]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g write ${OUTPUT[$I]} 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;/div&gt;
done&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
PROGRAMA teclado.c&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&lt;div&gt;
&lt;strong&gt;/****************************************************************&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** teclado.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Este programa permite controlar un teclado 4 x  4, recoge&amp;nbsp; &amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** teclas hasta que se pulsa #&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para compilar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** gcc -o teclado -l wiringPi teclado.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para ejecutar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** sudo ./teclado&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;****************************************************************/&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;
#include  &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;strong&gt;//pines asociados a las columnas de tipo output&lt;/strong&gt;&lt;br /&gt;
int  outputs[]={25,24,23,18};&lt;br /&gt;
&lt;strong&gt;//pines asociados a las filas de tipo input con  resistencias 10 K&lt;/strong&gt;&lt;br /&gt;
int  inputs[]={7,22,4,17};//controlan filas&lt;br /&gt;
&lt;strong&gt;//la función pone a 0 atodas las filas a excepcion  de la que&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;//se va a controlar&lt;/strong&gt;&lt;br /&gt;
void columnaCero(int valor){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int  i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(i==valor)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(outputs[i],1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(outputs[i],0);&lt;br /&gt;
}&lt;br /&gt;
//vector que  contendrá el teclado&lt;br /&gt;
int  teclado[4][4]={{&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;A&#39;},&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;B&#39;},&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&#39;7&#39;,&#39;8&#39;,&#39;9&#39;,&#39;C&#39;},&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&#39;*&#39;,&#39;0&#39;,&#39;#&#39;,&#39;D&#39;}};&lt;br /&gt;
main(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int  i, col, fil,valor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //inializamos la libreria&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wiringPiSetupGpio() == -1){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perror(&quot;Error de  inicializacion\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit  (1) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ponemos los pines como input y output,  además&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //de inicializarlos&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;4;i++){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinMode(inputs[i],INPUT);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(inputs[i],0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pullUpDnControl(inputs[i],PUD_DOWN);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinMode(outputs[i],OUTPUT);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(outputs[i],0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //empezamos un bucle infinito del que se  sale sólo &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //cuando se pulsa  #&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Capturando teclas y mostrando por  pantalla\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Para salir pulsa #&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(col=0;col&amp;lt;4;col++){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; columnaCero(col);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(fil=0;fil&amp;lt;4;fil++){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; valor=digitalRead(inputs[fil]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(10);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(valor!=0){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Tecla  %c\n&quot;, teclado[col][fil]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(outputs[col],1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(inputs[fil],0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(teclado[col][fil]==&#39;#&#39;){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Saliendo\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/4011400121357628166/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/teclado-hexadecimal-4x4.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/4011400121357628166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/4011400121357628166'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/teclado-hexadecimal-4x4.html' title='TECLADO HEXADECIMAL 4X4'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjCner4MgMJZtMw70N47EZkVndddyqyvna2sX_uAdF_BRFRv0bX2BseRcHsGY3Nt_zy-sk8l-XnhLdVsv7DYugGKrKS2kE9Ccer6-uQc9ERzWJoZ8k4Nsq1P_dKofuGcmOPLQOjBhZWrJH/s72-c/image004.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-2677495653296917497</id><published>2013-06-13T11:08:00.000+01:00</published><updated>2013-06-13T11:08:00.184+01:00</updated><title type='text'>PROGRAMANDO UN 7 SEGMENTOS DE 4 BIT</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:10px; border:2px solid #000000; padding:5px;}
&lt;/style&gt;

&lt;div class=&quot;titulo&quot;&gt;
OBJETIVOS&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Crear un programa shell que realice un contador de 1 digito mediante gpio de la librería WiringPi.&lt;/li&gt;
&lt;li&gt;Crear un programa en C que es un contador de 4 dígitos mediante la librería WiringPi. &lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
CONSTRUCCIÓN DEL CIRCUITO&lt;/div&gt;
&lt;div&gt;
La pantalla sobre la que se ha trabajado posee 4 dígitos y se programa sobre 12 pines, 6 en la parte superior y 6 en la inferior.
  &lt;/div&gt;
&lt;div class=&quot;imagen&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/AVvXsEgT7fXVMkReZpCnu84_XOGVg5JJ5UYhJLCpOf_vJxIQBJmCnNvq-nyTiLyUWOVEtVuGi1NDnQkaR1OiOSFsieCORebxxoWcu1Usmwj2GJCu-Uz1nafnx7aSCJCVD4HLAbNxWqk63iGaShNU/s1600/image013.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/AVvXsEgT7fXVMkReZpCnu84_XOGVg5JJ5UYhJLCpOf_vJxIQBJmCnNvq-nyTiLyUWOVEtVuGi1NDnQkaR1OiOSFsieCORebxxoWcu1Usmwj2GJCu-Uz1nafnx7aSCJCVD4HLAbNxWqk63iGaShNU/s320/image013.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imagen&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/AVvXsEj4kOylnEeNcRCfSVFbZji10eWhzJNUCpTnTVh1FGU94DbZQJQnftNA_n59vpNyx9jHlAPAde4BG91kLn5wT9u-xUSy_kHzrxPsEriufBLG986LDz813x8r_enrp4KPaO8DnnsI4m8dzWLR/s1600/image014.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/AVvXsEj4kOylnEeNcRCfSVFbZji10eWhzJNUCpTnTVh1FGU94DbZQJQnftNA_n59vpNyx9jHlAPAde4BG91kLn5wT9u-xUSy_kHzrxPsEriufBLG986LDz813x8r_enrp4KPaO8DnnsI4m8dzWLR/s320/image014.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
De los 12 pines, 7 sirven para programar cada uno de los  segmentos, otro sirve para controlar los :, que serán cátodos (-)&amp;nbsp; y 4 pines para cada uno de los dos dígitos,  que serán ánodos (+).&lt;/div&gt;
&lt;div&gt;
La información facilitada por el fabricante es la siguiente
  &lt;/div&gt;
&lt;div class=&quot;imagen&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/AVvXsEiLEEOQNZ_XAMbpWm7s1L72cLBbfMiwMAPUhCzqX2h2Mx-dOg_GhCpbMjWFU25F5QBINkCvdUwr9YaNfz24h32jw2EG9L4OxV_ChowgR-LlRL64fEotW_m6uCZizbmBj5JYPd0lx9SCrvn8/s1600/image015.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;125&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLEEOQNZ_XAMbpWm7s1L72cLBbfMiwMAPUhCzqX2h2Mx-dOg_GhCpbMjWFU25F5QBINkCvdUwr9YaNfz24h32jw2EG9L4OxV_ChowgR-LlRL64fEotW_m6uCZizbmBj5JYPd0lx9SCrvn8/s400/image015.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Cada uno de los pines de empleados para los dígitos es positivo, sobre ellos habrá que utilizar resistencias de 220 o 330 Ω y el resto de los pines son negativos.
Para identificar si un pin es dígito o sirve para controlar  un segmento, utilizaremos la corriente continua de 3.3v, conectaremos una resistencia al pin candidato a dígito y probaremos en varios pines con la conexión a tierra, si se ilumina algún segmento es dígito y podremos identificar de qué digito se trata y que segmento está asociado al otro pin, si no se ilumina nada después de haber probado varios pines habrá que buscar otro candidato a dígito. 
&lt;/div&gt;
&lt;div class=&quot;imagen&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/AVvXsEhtG07qOzmJjQFEmOHrKR0SEWaOw65p9QjyANeNdQYjKETcQcw5X6r8uXxICcR7fS5mcSXaeeenm8KJtXHzOB8xgXvYkmZuIot722aIoQ9IrxdomNXWkFEzTQb86Mkg0xL9JOfm8LHKaRQF/s1600/image007.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtG07qOzmJjQFEmOHrKR0SEWaOw65p9QjyANeNdQYjKETcQcw5X6r8uXxICcR7fS5mcSXaeeenm8KJtXHzOB8xgXvYkmZuIot722aIoQ9IrxdomNXWkFEzTQb86Mkg0xL9JOfm8LHKaRQF/s400/image007.jpg&quot; width=&quot;275&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&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/AVvXsEjdUxGt1PQZ43039YFFSIPU0wgh8VqOeOocFgXPo08wcRL56Bv0N916XhDy5iqscdPN5Gv5RuEO_t79WwsMTOtGZsCMgEM7SUL25wLWIIA09BqqXn_1zzjiF-6FNT1gBe3m5V6mDqdBbgcj/s1600/image009.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdUxGt1PQZ43039YFFSIPU0wgh8VqOeOocFgXPo08wcRL56Bv0N916XhDy5iqscdPN5Gv5RuEO_t79WwsMTOtGZsCMgEM7SUL25wLWIIA09BqqXn_1zzjiF-6FNT1gBe3m5V6mDqdBbgcj/s320/image009.jpg&quot; width=&quot;315&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
La numeración de los pines va en la parte inferior de 1 a 6 y en la parte superior de 12 a 7.&lt;/div&gt;
&lt;div&gt;
&lt;table align=&quot;center&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
      &lt;tbody&gt;
&lt;tr&gt;
        &lt;td bgcolor=&quot;#FF6666&quot;&gt;12 D1&lt;/td&gt;
        &lt;td bgcolor=&quot;#00CCFF&quot;&gt;11 A&lt;/td&gt;
        &lt;td bgcolor=&quot;#00CCFF&quot;&gt;10 F&lt;/td&gt;
        &lt;td bgcolor=&quot;#FF6666&quot;&gt;9 D2&lt;/td&gt;
        &lt;td bgcolor=&quot;#FF6666&quot;&gt;8 D3&lt;/td&gt;
        &lt;td bgcolor=&quot;#00CCFF&quot;&gt;7 B&lt;/td&gt;
      &lt;/tr&gt;
&lt;tr&gt;
        &lt;td bgcolor=&quot;#00CCFF&quot;&gt;1 E&lt;/td&gt;
        &lt;td bgcolor=&quot;#00CCFF&quot;&gt;2 D&lt;/td&gt;
        &lt;td bgcolor=&quot;#00CCFF&quot;&gt;3 :&lt;/td&gt;
        &lt;td bgcolor=&quot;#00CCFF&quot;&gt;4 C&lt;/td&gt;
        &lt;td bgcolor=&quot;#00CCFF&quot;&gt;5 G&lt;/td&gt;
        &lt;td bgcolor=&quot;#FF6666&quot;&gt;6 D4&lt;/td&gt;
      &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
A los pines positivos se les han asociado los pines MOSI, MISO, CE0 y CE1, insertando una resistencia de 330 Ω en cada uno de ellos. Para los siete segmentos a, b, c, d, e, f, g se han utilizado los pines programables 17, 18, 4, 22 ,23 ,24 , 25.&lt;/div&gt;
&lt;div&gt;
Para que se ilumine un segmento de un dígito, el pin asociado al digito deberá estar a 1 y el pin asociado al segmento deberá valer 0, así se consigue que fluya la corriente. En ambos casos se configurarán como pines de salida o output.&lt;/div&gt;
&lt;div&gt;
El resultado final del circuito ha sido&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/VF2UqBOyb1c&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;http://sourceforge.net/projects/rpiplus/files/7SEGMENTOS/&quot;&gt;
      DESCARGAR TODO EL CÓDIGO&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;http://sourceforge.net/projects/rpiplus/files/7SEGMENTOS/&quot;&gt;http://sourceforge.net/projects/rpiplus/files/7SEGMENTOS/&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa contador7segmentos.sh&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&lt;strong&gt;#!/bin/bash&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## contador7segmentos.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Este script sirve para realizar un contador de  7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## segmentos de 1 digito&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Para ejecutar hay que ser root (sudo su) y  escribir&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## ./contador7segmentos.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#la función limpia la salida del display de 7  segmentos&lt;/strong&gt;&lt;br /&gt;
function  limpia() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #la pantalla display controla los cuatro  digitos con los&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pines 9 10 8 7&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for  I in 9 10 8 7&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g mode $I out&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio -g write $I 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #los pines asociados a los segmentos son  los que se muestran&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #el 17 al segmento a, 18 al b,...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for I in 17 18 4  22 23 24 25&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g mode $I out&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g write $I 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;
}&lt;br /&gt;
&lt;strong&gt;#la función recibe como argumento la letra, por  ejemplo,para mostrar 0&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#indicamos representa 1 1 1 1 1 1 1 0 0 y ya va  mostrando o no cada uno &lt;/strong&gt;function  representa() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for I in 17 18 4  22 23 24 25&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if  [ $1 -eq 0 ]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g write $I 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio -g write $I 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # a b c d e f g p&lt;br /&gt;
&amp;nbsp;DIGITOS[0]=&quot;1 1 1 1 1 1 0 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[1]=&quot;0 1 1 0 0 0 0 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[2]=&quot;1 1 0 1 1 0 1 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[3]=&quot;1 1 1 1 0 0 1 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[4]=&quot;0 1 1 0 0 1 1 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[5]=&quot;1 0 1 1 0 1 1 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[6]=&quot;1 0 1 1 1 1 1 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[7]=&quot;1 1 1 0 0 0 0 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[8]=&quot;1 1 1 1 1 1 1 0&quot;&lt;br /&gt;
&amp;nbsp;DIGITOS[9]=&quot;1 1 1 1 0 1 1 0&quot;&lt;br /&gt;
DIGITOS[10]=&quot;1  1 1 0 1 1 1 0&quot;&lt;br /&gt;
DIGITOS[11]=&quot;0  0 1 1 1 1 1 0&quot;&lt;br /&gt;
DIGITOS[12]=&quot;1  0 0 1 1 1 0 0&quot;&lt;br /&gt;
DIGITOS[13]=&quot;0  1 1 1 1 0 1 0&quot;&lt;br /&gt;
DIGITOS[14]=&quot;1  0 0 1 1 1 1 0&quot;&lt;br /&gt;
DIGITOS[15]=&quot;1  0 0 0 1 1 1 0&quot;&lt;br /&gt;
DIGITOS[16]=&quot;0  0 0 0 0 0 0 0&quot;&lt;br /&gt;
&lt;strong&gt;#limpiamos la salida por pantalla&lt;/strong&gt;&lt;br /&gt;
limpia&lt;br /&gt;
&lt;strong&gt;#habilitamos el digito y lo ponemos en modo salida&lt;/strong&gt;&lt;br /&gt;
gpio -g mode 7 out&lt;br /&gt;
gpio -g write 7 1&lt;br /&gt;
echo  &quot;Contador Hexadecimal&quot;&lt;br /&gt;
&lt;strong&gt;#hacemos el contador recorriendo el vector de  digitos&lt;/strong&gt;&lt;br /&gt;
I=0&lt;br /&gt;
while [ $I -le 16 ]&lt;br /&gt;
do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONT=$I&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; representa  ${DIGITOS[$I]}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep  1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I=`expr  $CONT + 1`&lt;br /&gt;
done&lt;br /&gt;
&lt;strong&gt;#desconectamos el pin&lt;/strong&gt;&lt;br /&gt;
gpio -g write 7 0&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa contador7segmentos.c&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&lt;strong&gt;/****************************************************************&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** contador7segmentos.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Este programa sirve para realizar un contador  de 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** segmentos de 4 digitos&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para compilar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** gcc -o contador7segmentos contador7segmentos.c  -l wiringPi&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para ejecutar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** sudo ./contador7segmentos&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;****************************************************************/&lt;/strong&gt;&lt;br /&gt;
#include  &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
#include  &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#define MISO 9&lt;br /&gt;
#define MOSI 10&lt;br /&gt;
#define CE0 8&lt;br /&gt;
#define CE1 7&lt;br /&gt;
&lt;strong&gt;/* Pines utilizados para definir los segmentos  a,b,...&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;  --a--&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp; f&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;  --g--&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp; e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;  --d--&amp;nbsp;  p&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;*/&lt;/strong&gt;&lt;br /&gt;
static int  GPIO[]={17,18,4,22,23,24,25};&lt;br /&gt;
&lt;strong&gt;//Pines asociados a cada pin, en la misma posición  en la que&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;//se muestran &lt;/strong&gt;&lt;br /&gt;
static int  POS[]={CE0,MOSI,MISO,CE1};&lt;br /&gt;
void ponValorNegado(int pin,int  valor){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinMode(pin,OUTPUT);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(pin,!valor);&lt;br /&gt;
}&lt;br /&gt;
void limpia(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int  i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ponValorNegado(POS[i],HIGH);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;8;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ponValorNegado(GPIO[i],LOW);&lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
static const int digitos[]=&lt;br /&gt;
{&lt;br /&gt;
// a&amp;nbsp; b&amp;nbsp;  c&amp;nbsp; d&amp;nbsp; e&amp;nbsp;  f&amp;nbsp; g&amp;nbsp; p&amp;nbsp;&amp;nbsp;&amp;nbsp; Segments&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 1, 1, 1, 1, 1, 0, 0,&amp;nbsp;&amp;nbsp; // 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 0, 1, 1, 0, 0, 0, 0, 0,&amp;nbsp;&amp;nbsp; // 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 1, 0, 1, 1, 0, 1, 0,&amp;nbsp;&amp;nbsp; // 2&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 1, 1, 1, 0, 0, 1, 0,&amp;nbsp;&amp;nbsp; // 3&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 0, 1, 1, 0, 0, 1, 1, 0,&amp;nbsp;&amp;nbsp; // 4&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 0, 1, 1, 0, 1, 1, 0,&amp;nbsp;&amp;nbsp; // 5&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 0, 1, 1, 1, 1, 1, 0,&amp;nbsp;&amp;nbsp; // 6&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 1, 1, 0, 0, 0, 0, 0,&amp;nbsp;&amp;nbsp; // 7&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 1, 1, 1, 1, 1, 1, 0,&amp;nbsp;&amp;nbsp; // 8&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 1, 1, 1, 0, 1, 1, 0,&amp;nbsp;&amp;nbsp; // 9&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 1, 1, 0, 1, 1, 1, 0,&amp;nbsp;&amp;nbsp; // A&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 0, 0, 1, 1, 1, 1, 1, 0,&amp;nbsp;&amp;nbsp; // b&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 0, 0, 1, 1, 1, 0, 0,&amp;nbsp;&amp;nbsp; // C&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 0, 1, 1, 1, 1, 0, 1, 0,&amp;nbsp;&amp;nbsp; // d&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 0, 0, 1, 1, 1, 1, 0,&amp;nbsp;&amp;nbsp; // E&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1, 0, 0, 0, 1, 1, 1,  0,&amp;nbsp;&amp;nbsp; // F&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  0, 0, 0, 0, 0, 0, 0, 0,&amp;nbsp;&amp;nbsp; // blank&lt;br /&gt;
} ;void representa(int valor){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int  i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;7;i++){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ponValorNegado(GPIO[i],digitos[8*valor+i]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
void caracterPin(char a, int  pin){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(a&amp;gt;=&#39;a&#39;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; representa(10  + a -&#39;a&#39;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; representa(a-&#39;0&#39;);&lt;br /&gt;
}&lt;br /&gt;
void pinta(int pin, int num, int  tiempo){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ponValorNegado(pin,LOW);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; representa(num);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delayMicroseconds(tiempo);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ponValorNegado(pin,HIGH);&lt;br /&gt;
}&lt;br /&gt;
main(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int  i,j,k,l,cien=100;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wiringPiSetupGpio() == -1){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perror(&quot;Error de  inicializacion\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit (1) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; limpia();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(;;){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i=0;i&amp;lt;10;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; for(j=0;j&amp;lt;10;j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(k=0;k&amp;lt;10;k++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(l=0;l&amp;lt;100;l++){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinta(POS[0],i,5000);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinta(POS[1],j,5000);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinta(POS[2],k,5000);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinta(POS[3],l/10,5000);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}
    
  </content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/2677495653296917497/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/programando-un-7-segmentos-de-4-bit.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/2677495653296917497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/2677495653296917497'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/programando-un-7-segmentos-de-4-bit.html' title='PROGRAMANDO UN 7 SEGMENTOS DE 4 BIT'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT7fXVMkReZpCnu84_XOGVg5JJ5UYhJLCpOf_vJxIQBJmCnNvq-nyTiLyUWOVEtVuGi1NDnQkaR1OiOSFsieCORebxxoWcu1Usmwj2GJCu-Uz1nafnx7aSCJCVD4HLAbNxWqk63iGaShNU/s72-c/image013.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-1348930745100240670</id><published>2013-06-11T20:02:00.000+01:00</published><updated>2013-06-12T17:05:42.922+01:00</updated><title type='text'>PROGRAMANDO UN BOTÓN</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:10px; border:2px solid #000000}
&lt;/style&gt;
  &lt;br /&gt;
&lt;div class=&quot;titulo&quot;&gt;
OBJETIVOS&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Crear un programa Shell que capture cuando ha sido pulsado un botón mediante sysfs.&lt;/li&gt;
&lt;li&gt;Crear un programa Shell que capture cuando ha sido pulsado un botón mediante el comando gpio de la librería WiringPi.&lt;/li&gt;
&lt;li&gt;Crear un programa en C que capture cuando ha sido pulsado un botón mediante la librería WiringPi&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
CONSTRUCCIÓN DEL CIRCUITO&lt;/div&gt;
&lt;div&gt;
Para comprender el circuito, primero hay que analizar que el  botón que tiene dos patillas y cuando se aprieta, deja pasar la corriente. Cada  una de estas patillas irá a parar a una línea diferente de la protoboard,  luego, una de ellas irá conectada a un pin programable y otra se podrá conectar  al pin de tierra o al pin de 3.3v. &lt;br /&gt;
Para proteger Raspberry Pi de sobretensiones se recomienda  la utilización de resistencias, por ello, ha sido utilizado una resistencia de  1 KΩ.&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiF3CTyroN33N1sXk0HKjz6Gxu_ol38C9yJ2gJjLK3JAo0E21fgIHx6yODORlNAaTI3B6YTrJsMw8Scvp_rltQu7zWsHhfSmW3MbrStNbNgBuim6zS9Vr2f8hnzeSxgQ3FVMu3TgsinPPX/s1600/boton.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;308&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiF3CTyroN33N1sXk0HKjz6Gxu_ol38C9yJ2gJjLK3JAo0E21fgIHx6yODORlNAaTI3B6YTrJsMw8Scvp_rltQu7zWsHhfSmW3MbrStNbNgBuim6zS9Vr2f8hnzeSxgQ3FVMu3TgsinPPX/s400/boton.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Cuando se desea capturar si ha sido pulsado habrá que tener  muy en cuenta si una de las patillas está conectada a tierra o a 3.3v, ya que  esto se deberá especificar en el programa, mediante pull down ó pull up. El pin  programable se deberá definir de entrada y su valor será 0 hasta que sea  pulsado el botón. Por tanto, para crear un programa que capture cuando un botón  es pulsado deberá entrar en un bucle infinito hasta que el valor del pin  programable input valga 1.
&lt;/div&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;https://sourceforge.net/projects/rpiplus/files/BOTON/&quot;&gt;
      DESCARGAR TODO EL CÓDIGO&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;https://sourceforge.net/projects/rpiplus/files/BOTON/&quot;&gt;https://sourceforge.net/projects/rpiplus/files/BOTON/&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa botonsysfs.sh&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
    &lt;br /&gt;
&lt;strong&gt;#!/bin/bash&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## botonsysfs.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Este script controla el botón que indica el  usuario&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## mediante sysfs, una patilla debe estar a la  linea continua&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## de 3.3v y la otra al pin programable,  insertando una&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## resistencia de 1Kohm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Más ejemplos en http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Para ejecutar hay que ser root (sudo su) y  escribir&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## ./botonsysfs.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#obtener numero de pin al que se conecta el boton&lt;/strong&gt;&lt;br /&gt;
read -p  &quot;Introduce el boton que deseas controlar con numeracion BCM &quot; BOTON&lt;br /&gt;
echo  &quot;Controlando el BOTON $BOTON&quot;&lt;br /&gt;
&lt;strong&gt;#comprobar que el boton no se esta utilizando&lt;/strong&gt;&lt;br /&gt;
if [ -e  /sys/class/gpio/gpio$BOTON ]&lt;br /&gt;
then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TIPO=`cat  /sys/class/gpio/gpio$BOTON/direction`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;Esta siendo utilizado el pin en una  operacion $TIPO&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALOR=`cat  /sys/class/gpio/gpio$BOTON/value`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;El valor actual del pin es $VALOR&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;strong&gt;#esperar a obtener 1 en el fichero valor&lt;/strong&gt;&lt;br /&gt;
`echo $BOTON &amp;gt;/sys/class/gpio/export`&lt;br /&gt;
`echo in  &amp;gt;/sys/class/gpio/gpio$BOTON/direction`&lt;br /&gt;
READ=0&lt;br /&gt;
while [ $READ -eq 0 ]&lt;br /&gt;
do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ=`cat  /sys/class/gpio/gpio$BOTON/value`&lt;br /&gt;
done&lt;br /&gt;
echo &quot;El  boton ha sido pulsado&quot;&lt;br /&gt;
`echo $BOTON  &amp;gt;/sys/class/gpio/unexport`&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa botongpio.sh&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
      &lt;br /&gt;
&lt;strong&gt;#!/bin/bash&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## botongpio.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Este script captura cuando un botón es pulsado  mediante&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## el comando gpio facilitado por la libreria  wiring PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Para ejecutar ./botongpio.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#obtener numero de pin al que se conecta el boton&lt;/strong&gt;&lt;br /&gt;
read -p  &quot;Introduce el boton que deseas controlar con numeracion BCM &quot; BOTON&lt;br /&gt;
gpio -g mode $BOTON in &lt;br /&gt;
gpio -g mode $BOTON down &lt;strong&gt;#conectado a 3.3v&lt;/strong&gt;&lt;br /&gt;
#gpio -g mode  $BOTON up &lt;strong&gt;#conectado a tierra&lt;/strong&gt;&lt;br /&gt;
echo  &quot;Controlando el BOTON $BOTON&quot;&lt;br /&gt;
while ((1));&lt;br /&gt;
do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ=`gpio -g read $BOTON`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $READ -ne &quot;0&quot; ] &lt;strong&gt;#conectado a 3.3v&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #if [ $READ -eq &quot;0&quot; ] &lt;strong&gt;#conectado  a tierra&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;Pulsado el boton&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;
done&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa boton.c&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
      &lt;br /&gt;
&lt;strong&gt;/****************************************************************&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** boton.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Este programa captura cuando un botón es  pulsado&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** mediante la libreria Wiring Pi. Para la  ejecución del&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** programa es necesario que sea ejecutado como  root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para compilar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** gcc -o boton -l wiringPi boton.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para ejecutar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** sudo ./boton&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;****************************************************************/&lt;/strong&gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include&amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
main(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int boton;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Introduce el botón que deseas  controlar\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scanf(&quot;%d&quot;,&amp;amp;boton);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Controlando el boton  %d\n&quot;,boton);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wiringPiSetupGpio() == -1){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perror(&quot;Error de  inicializacion\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit  (1) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinMode (boton,  INPUT) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pullUpDnControl(boton,PUD_DOWN); &lt;strong&gt;//conectado a 3.3v&lt;/strong&gt;&lt;br /&gt;
//&amp;nbsp;&amp;nbsp;&amp;nbsp; pullUpDnControl(boton,PUD_UP); &lt;strong&gt;//conectado a tierra&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(digitalRead(boton)!=0){ &lt;strong&gt;//conectado a 3.3v&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //if(digitalRead(boton)==0){ &lt;strong&gt;//conectado a tierra&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Boton  pulsado\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/1348930745100240670/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/programando-un-boton.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/1348930745100240670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/1348930745100240670'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/programando-un-boton.html' title='PROGRAMANDO UN BOTÓN'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiF3CTyroN33N1sXk0HKjz6Gxu_ol38C9yJ2gJjLK3JAo0E21fgIHx6yODORlNAaTI3B6YTrJsMw8Scvp_rltQu7zWsHhfSmW3MbrStNbNgBuim6zS9Vr2f8hnzeSxgQ3FVMu3TgsinPPX/s72-c/boton.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-308326755087521112</id><published>2013-06-11T15:34:00.000+01:00</published><updated>2013-06-12T17:05:40.902+01:00</updated><title type='text'>PROGRAMANDO LED</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:10px; border:2px solid #000000}
&lt;/style&gt;
  &lt;br /&gt;
&lt;div class=&quot;titulo&quot;&gt;
OBJETIVOS&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Crear un programa Shell que encienda un LED,  introducido por el usuario, mediante sysfs.&lt;/li&gt;
&lt;li&gt;Crear un programa Shell que apague un LED,  introducido por el usuario,&amp;nbsp; mediante  sysfs.&lt;/li&gt;
&lt;li&gt;Crear un programa Shell que encienda un LED,  introducido por el usuario,&amp;nbsp; mediante el  comando gpio de la librería WiringPi.&lt;/li&gt;
&lt;li&gt;Crear un programa Shell que apague un LED,  introducido por el usuario,&amp;nbsp; mediante el  comando gpio de la librería WiringPi.&lt;/li&gt;
&lt;li&gt;Crear un programa en C que encienda un LED, introducido por el usuario,&amp;nbsp; mediante la librería WiringPi.&lt;/li&gt;
&lt;li&gt;Crear un programa en C que apague un LED,  introducido por el usuario,&amp;nbsp; mediante la  librería WiringPi.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
CONSTRUCCIÓN DEL CIRCUITO&lt;/div&gt;
&lt;div&gt;
Para construir el circuito, se va a montar primero el circuito con el pin que da voltaje de manera continua &amp;nbsp;de 3.3v &amp;nbsp;(PIN 1), de esta modo, cuando luzca el led, se tendrá la certeza de que el circuito está bien montado y por tanto, sólo habrá que cambiar el cable que está conectado del pin 1 al pin que se desee programar.&lt;/div&gt;
&lt;div&gt;
Debido al excesivo voltaje suministrado por el pin, será necesario incorporar una resistencia, en caso contrario se fundiría. Para determinar el valor de la resistencia, se debe tener en cuenta la “Ley de Ohm” que relaciona voltaje, intensidad y resistencia. La Ley de Ohm dice que el voltaje que circula en un circuito cerrado es directamente proporcional a la intensidad que lo atraviesa y la resistencia del material.&amp;lt;/&lt;br /&gt;
&lt;div&gt;
&amp;gt;
  &lt;br /&gt;
&lt;div&gt;
Según la fuente consultada, los valores de voltajes de los LED varían y finalmente se ha tomado como referencia la tabla de valores de Wikipedia.&lt;br /&gt;
&lt;div&gt;
&lt;table align=&quot;center&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;LED&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;VOLTAJE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: red; border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Rojo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: red; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;1,8 a 2,2 voltios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #FFC000; border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Anaranjado&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #FFC000; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;2,1 a 2,2 voltios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: yellow; border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Amarillo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: yellow; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;2,1 a 2,4 voltios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #92D050; border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Verde&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #92D050; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;2 a 3,5 voltios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #00B0F0; border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Azul&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #00B0F0; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;3,5 a 3,8 voltios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Blanco&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;3,6 voltios.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
El Circuito que se va a utilizar en los ejemplos es bastante sencillo, &amp;nbsp;con un único LED. En este circuito intervendrán el pin 1 de 3.3v, el pin 6 Tierra (GND), el led y una resistencia de 220 o 330 Ω. Especialmente importante &amp;nbsp;será conectar bien el LED ya que en caso contrario no lucirá, para ello, la corriente deberá entrar por la parte más larga (línea de pin 1) y salir por la pata más corta (línea tierra).&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2PzYfLl4NAisnr6dNGquB54wcqFhuubTIWyXNXJ5_CYWUwEqNa41arhetcnJ1kCDz1kBhoqKE7JEtEvKCZHdMCXjqhs_8xDwmdTD9iq3w8rgdDZ_bVeAv5Yl5SYoVhuJaQV-dtZu-sGxz/s1600/circuitopin3v3.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2PzYfLl4NAisnr6dNGquB54wcqFhuubTIWyXNXJ5_CYWUwEqNa41arhetcnJ1kCDz1kBhoqKE7JEtEvKCZHdMCXjqhs_8xDwmdTD9iq3w8rgdDZ_bVeAv5Yl5SYoVhuJaQV-dtZu-sGxz/s400/circuitopin3v3.JPG&quot; width=&quot;370&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Una vez ya comprobado el correcto funcionamiento del circuito, quitaremos el extremo del cable que está conectado al pin de 3.3 v  y se conectará a uno de los pines programables.&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJQuQxVWBQAXw9tgq-2zIAA2I4bUxYduI5e6MtlIj8bir-ydE9-T8O8-xSWjSuIgujGKHFEgQ75hY9G3U_msBvI5b7FRA54H7o9QrhewfO2RHCJo-xmt3cqy1olsZ30xls8lzUtwX1Pcpl/s1600/circuitopreparado.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;336&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJQuQxVWBQAXw9tgq-2zIAA2I4bUxYduI5e6MtlIj8bir-ydE9-T8O8-xSWjSuIgujGKHFEgQ75hY9G3U_msBvI5b7FRA54H7o9QrhewfO2RHCJo-xmt3cqy1olsZ30xls8lzUtwX1Pcpl/s400/circuitopreparado.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
     &lt;/div&gt;
&lt;div&gt;
El algoritmo para encender un led es bastante sencillo. Una vez construido el circuito, al poner un pin programable de tipo output o salida a 1, este genera corriente continua y por tanto se enciende el led, y cuando está a 0 no, no encendiéndose el led en este caso.
  &lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/Hj5QFowCYXE&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;https://sourceforge.net/projects/rpiplus/files/LED/&quot;&gt;
      DESCARGAR TODO EL CÓDIGO&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;https://sourceforge.net/projects/rpiplus/files/LED/&quot;&gt;https://sourceforge.net/projects/rpiplus/files/LED/&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa enciendeLEDsysfs.sh&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
    &lt;br /&gt;
&lt;strong&gt;##!/bin/bash&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## enciendeLEDsysfs.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Este script enciende el led que indica el  usuario&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## mediante sysfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Para ejecutar hay que ser root (sudo su) y  escribir&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## ./enciendeLEDsysfs.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#obtener led a encender&lt;/strong&gt;&lt;br /&gt;
read -p  &quot;Introduce el led que deseas encender siguiendo la numeracion BCM&quot;  LED&lt;br /&gt;
echo  &quot;Encendiendo el LED $LED&quot;&lt;br /&gt;
&lt;strong&gt;#comprobar que el led no se esta utilizando&lt;/strong&gt;&lt;br /&gt;
if [ -e /sys/class/gpio/gpio$LED  ]&lt;br /&gt;
then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TIPO=`cat  /sys/class/gpio/gpio$LED/direction`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;Esta siendo utilizado el pin en una  operacion $TIPO&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALOR=`cat  /sys/class/gpio/gpio$LED/value`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;El valor actual del pin es $VALOR&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;strong&gt;#encender el led&lt;/strong&gt;&lt;br /&gt;
`echo $LED  &amp;gt;/sys/class/gpio/export`&lt;br /&gt;
`echo out  &amp;gt;/sys/class/gpio/gpio$LED/direction`&lt;br /&gt;
`echo 1  &amp;gt;/sys/class/gpio/gpio$LED/value`&lt;br /&gt;
`echo $LED  &amp;gt;/sys/class/gpio/unexport`&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa apagaLEDsysfs.sh&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
    &lt;br /&gt;
&lt;strong&gt;#!/bin/bash&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## apagaLEDsysfs.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Este script apaga el led que indica el  usuario&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## mediante sysfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Para ejecutar hay que ser root (sudo su) y  ejecutar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## ./apagaLEDsysfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#obtener led a encender&lt;/strong&gt;&lt;br /&gt;
read -p  &quot;Introduce el led que deseas encender segun numeracion BCM &quot; LED&lt;br /&gt;
echo  &quot;Apagando el LED $LED&quot;&lt;br /&gt;
&lt;strong&gt;#comprobar que el led se esta utilizando&lt;/strong&gt;&lt;br /&gt;
if [ -e /sys/class/gpio/gpio$LED  ]&lt;br /&gt;
then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TIPO=`cat  /sys/class/gpio/gpio$LED/direction`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;Esta siendo utilizado el pin en una operacion $TIPO&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALOR=`cat  /sys/class/gpio/gpio$LED/value`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;El valor actual del pin es $VALOR&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;strong&gt;#apagar el led&lt;/strong&gt;&lt;br /&gt;
`echo $LED  &amp;gt;/sys/class/gpio/export`&lt;br /&gt;
`echo out  &amp;gt;/sys/class/gpio/gpio$LED/direction`&lt;br /&gt;
`echo 0  &amp;gt;/sys/class/gpio/gpio$LED/value`&lt;br /&gt;
`echo $LED  &amp;gt;/sys/class/gpio/unexport`&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa enciendeLEDgpio.sh&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
    &lt;br /&gt;
&lt;strong&gt;#!/bin/bash&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## enciendeLEDgpio.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Este script enciende el led que indica el usuario&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## mediante el comando gpio facilitado por la  libreria&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## wiring PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Para ejecutar ./enciendeLEDgpio.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#obtener led a encender&lt;/strong&gt;&lt;br /&gt;
read -p  &quot;Introduce el led que deseas encender siguiendo la numeracion BCM &quot;  LED&lt;br /&gt;
echo  &quot;Encendiendo el LED $LED&quot;&lt;br /&gt;
&lt;strong&gt;#comprobar que el led no estuviera encendido&lt;/strong&gt;&lt;br /&gt;
READ=`gpio -g&amp;nbsp; read $LED`&lt;br /&gt;
if [ $READ -eq  1 ]&lt;br /&gt;
then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;El LED ya estaba  encendido&quot;&lt;br /&gt;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g mode $LED out&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g write $LED 1&lt;br /&gt;
fi&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa apagaLEDgpio.sh&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
    &lt;br /&gt;
&lt;strong&gt;#!/bin/bash&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## apagaLEDgpio.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Este script apaga el led que indica el  usuario&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## mediante el comando gpio facilitado por la  libreria&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## wiring PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;## Para ejecutar ./apagaLEDgpio.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#################################################################&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;#obtener led a encender&lt;/strong&gt;&lt;br /&gt;
read -p  &quot;Introduce el led que deseas apagar siguiendo la numeracion BCM &quot; LED&lt;br /&gt;
echo  &quot;Apagando el LED $LED&quot;&lt;br /&gt;
&lt;strong&gt;#comprobar que el led no estuviera encendido&lt;/strong&gt;&lt;br /&gt;
READ=`gpio -g&amp;nbsp; read $LED`&lt;br /&gt;
if [ $READ -eq  0 ]&lt;br /&gt;
then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;El LED ya estaba apagado&quot;&lt;br /&gt;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio  -g write $LED 0&lt;br /&gt;
fi&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Programa enciendeLED.c&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
      &lt;br /&gt;
&lt;strong&gt;/****************************************************************&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** enciendeLED.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Este programa enciende el led que indica el  usuario&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** mediante la libreria Wiring Pi. Para la  ejecución del&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** es necesario que sea ejecutado como root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para compilar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** gcc -o enciendeLED -l wiringPi  enciendeLED.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para ejecutar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** sudo ./enciendeLED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;****************************************************************/&lt;/strong&gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
main(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int  led;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Introduce  el led que deseas encender\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scanf(&quot;%d&quot;,&amp;amp;led);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Encendiendo  el led %d\n&quot;,led);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if  (wiringPiSetupGpio() == -1){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perror(&quot;Error de inicializacion\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit (1) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinMode  (led, OUTPUT) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(digitalRead(led)!=0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;El led ya estaba encendido\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(led,1);&lt;br /&gt;
}&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
PROGRAMA apagaLED.c&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;
      &lt;br /&gt;
&lt;strong&gt;/****************************************************************&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** apagaLED.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Este programa apaga el led que indica el  usuario&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** mediante la libreria Wiring Pi. Para ello es  necesario&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** que sea ejecutada con una cuenta root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Autor: M.Alvarez (miguelwarez@gmail.com)  2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Más ejemplos en  http://rpiplus.sourceforge.net&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** License GPLv3 http://www.gnu.org/licenses/gpl-3.0.html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para compilar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** gcc -o apagaLED -l wiringPi apagaLED.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** Para ejecutar:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;** sudo ./apagaLED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  **&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;****************************************************************/&lt;/strong&gt;&lt;br /&gt;
#include &amp;lt;wiringPi.h&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
main(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int  led;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Introduce  el led que deseas apagar\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scanf(&quot;%d&quot;,&amp;amp;led);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Apagando  el led %d\n&quot;,led);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if  (wiringPiSetupGpio() == -1){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perror(&quot;Error de inicializacion\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit (1) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinMode  (led, OUTPUT) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(digitalRead(led)!=1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;El led ya estaba apagado\n&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digitalWrite(led,0);&lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/308326755087521112/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/programando-led.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/308326755087521112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/308326755087521112'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/programando-led.html' title='PROGRAMANDO LED'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2PzYfLl4NAisnr6dNGquB54wcqFhuubTIWyXNXJ5_CYWUwEqNa41arhetcnJ1kCDz1kBhoqKE7JEtEvKCZHdMCXjqhs_8xDwmdTD9iq3w8rgdDZ_bVeAv5Yl5SYoVhuJaQV-dtZu-sGxz/s72-c/circuitopin3v3.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-516011502158967465</id><published>2013-06-11T14:00:00.000+01:00</published><updated>2013-06-22T20:22:39.925+01:00</updated><title type='text'>MATERIALES DE BRICO HARDWARE</title><content type='html'>&lt;h2 style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Hay una serie de materiales bastante útiles cuando comenzamos a trabajar con la GPIO de la Raspberry Pi, en esta entrada, voy a comentar algunos de ellos.&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: large;&quot;&gt;PLACA DE PRUEBAS, PROTOBOARD O BREADBOARD&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;La placa de pruebas permite la construcción de prototipos electrónicos, ya que su forma, tablero lleno de orificios conectados en línea, facilita la conexión de cables y dispositivos.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;En particular, la placa con la que se ha trabajado tiene dos líneas verticales, positiva y negativa en cada extremo. A la línea positiva se conectará la línea de 3v3 o 5v de la Raspberry Pi y a la negativa la línea de tierra o ground (gnd), a estas líneas se conectarán otras cables para realizar circuitos.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Además hay en el medio dos bancadas de 63 líneas verticales, cuyos orificios quedan identificados por una columna, que tiene asignada una letra y una fila, que tiene asociado un número. Cada una de las filas está conectada entre sí, hasta que llega al salto que se encuentra entre las columnas e y f. Por ejemplo, todos los dispositivos que se conectan en la cuarta línea entre las columnas a y e están conectados.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&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/AVvXsEjJZUiaTIpr5X1FVAWyogKuNPPf0cay_zmTkgUd776B2hhE9GgoGwnC1LDsS5RSadRFeCyIZft0DxRz7RKYrqosVryIkJTm7oy_23XttFHAAmZIi4CRkd25K116NaEypKLE6D3s9yCfuU7M/s1600/protoboard.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;108&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJZUiaTIpr5X1FVAWyogKuNPPf0cay_zmTkgUd776B2hhE9GgoGwnC1LDsS5RSadRFeCyIZft0DxRz7RKYrqosVryIkJTm7oy_23XttFHAAmZIi4CRkd25K116NaEypKLE6D3s9yCfuU7M/s320/protoboard.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: large;&quot;&gt;CABLEADO&lt;/span&gt;&lt;/h2&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; text-align: justify;&quot;&gt;El cableado utilizado en la protoboard tiene la particularidad de que no es necesario soldar nada (solderless), hay de varias longitudes.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&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/AVvXsEgsPk6LcJgyBMiPv_44Th9T-OfaPzpDuALRCV0Fiezejx7YXwbLLafPoOhWr42e3y8ZeqLE7xGZzUQJaalKFCEg8-RVv2brbP9d0oFscxIBXpLANvAL3U7Z87I0eEDGxrrEydeG_sPZEyVB/s1600/image021.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;210&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsPk6LcJgyBMiPv_44Th9T-OfaPzpDuALRCV0Fiezejx7YXwbLLafPoOhWr42e3y8ZeqLE7xGZzUQJaalKFCEg8-RVv2brbP9d0oFscxIBXpLANvAL3U7Z87I0eEDGxrrEydeG_sPZEyVB/s400/image021.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;h2&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: large;&quot;&gt;CINTA PARA LA GPIO&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;La opción más cómoda para trabajar es llevar toda la GPIO a la protoboard, para ello es necesario utilizar una cinta que conecte los pines de la GPIO.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&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/AVvXsEh2T6sg8z-hnxWWT3vY57tjV-03oKl1V5OiddBAdiO6ZhHLoY3mL-J6Qml-Dy4IqVDaVCN87HayanndECmIYZoXR27l7KjRnlPOEEOaQynA-YdaaFHbwHUDVZJ0unMErxjLEqAd8nGsx1yF/s1600/image022.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2T6sg8z-hnxWWT3vY57tjV-03oKl1V5OiddBAdiO6ZhHLoY3mL-J6Qml-Dy4IqVDaVCN87HayanndECmIYZoXR27l7KjRnlPOEEOaQynA-YdaaFHbwHUDVZJ0unMErxjLEqAd8nGsx1yF/s200/image022.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;h2&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: large;&quot;&gt;CONECTOR GPIO A LA PROTOBARD&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;En el punto anterior, al analizar la cinta GPIO, se ha observado que los conectores son hembra, por tanto, es necesario utilizar un adaptador para conectar la cinta a la protoboard. El conector que se ha utilizado es bastante cómodo ya que aparece la descripción de cada uno de los pines GPIO.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&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/AVvXsEh70rPBPypik-5ak7TB46XDicYAqpb9e0MV2IzvbblsOguG-qjbn1tDEmI3la5k2XYHlv8tWevja2e6AmD1ULykl0eDoMO-tuqTiT7v03EP9CBiwH71z4d9z70j2Q3YE0Iwo_GxmxrALMtH/s1600/image023.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh70rPBPypik-5ak7TB46XDicYAqpb9e0MV2IzvbblsOguG-qjbn1tDEmI3la5k2XYHlv8tWevja2e6AmD1ULykl0eDoMO-tuqTiT7v03EP9CBiwH71z4d9z70j2Q3YE0Iwo_GxmxrALMtH/s200/image023.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ2esLh9DY1SkKAblkNsXG0zQYa_x8tfHFc0z0EsIfsOlBlvjDoaKmuWABkEX8z82LUIGzpgX-0c0fy1cxsOjEPToD3Zye94Ox6KbAy4_oAZ-lsifQ3iU1m4Om6OCtmRBrv_EiegV1F1LH/s1600/image024.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;115&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ2esLh9DY1SkKAblkNsXG0zQYa_x8tfHFc0z0EsIfsOlBlvjDoaKmuWABkEX8z82LUIGzpgX-0c0fy1cxsOjEPToD3Zye94Ox6KbAy4_oAZ-lsifQ3iU1m4Om6OCtmRBrv_EiegV1F1LH/s200/image024.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: large;&quot;&gt;MULTÍMETRO&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Se ha utilizado un multímetro para estudiar si los voltajes proporcionados por la Raspberry Pi son correctos.&lt;/span&gt;&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/AVvXsEiGoAvMNPnz_rCqGmNWuUPSBh4ANlBjZ7E5kPP3Vb0qT9mabjCD-ie2OxSnP7_OymjKQIhp95Hbl-U22azitxifq_6N2OAuiWQX01jOSj3SPclg6Ekq6CLMTz3NHQg4GGZ_KTBTYUHemSyi/s1600/image025.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGoAvMNPnz_rCqGmNWuUPSBh4ANlBjZ7E5kPP3Vb0qT9mabjCD-ie2OxSnP7_OymjKQIhp95Hbl-U22azitxifq_6N2OAuiWQX01jOSj3SPclg6Ekq6CLMTz3NHQg4GGZ_KTBTYUHemSyi/s400/image025.jpg&quot; width=&quot;185&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: large;&quot;&gt;RESISTENCIAS&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Las resistencias son necesarias para evitar fundir algunos componentes, tales como LED ó 7 segmentos. Las magnitudes que identifican a &amp;nbsp;las resistencias son la resistencia eléctrica, disipación máxima y precisión, dicha información, se puede obtener de los colores que están presentes en el encapsulado. La unidad empleada en medir resistencias son los ohmios (Ω).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;A continuación, se mostrará una tabla en la que se identifican colores y sus valores respectivos, las tres primeras bandas hacen referencia al valor de la resistencia y la cuarta la tolerancia.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;background: white; border-collapse: collapse; border: none; mso-border-alt: solid #AAAAAA .5pt; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-yfti-tbllook: 1184; width: 50%px;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; style=&quot;background: #F9F9F9; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 37.0%;&quot; width=&quot;37%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;Color&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #F9F9F9; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;Valor&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #F9F9F9; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;Tolerancia&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Negro&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: black; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Marrón&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #964B00; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±1%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Rojo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: red; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±2%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Naranja&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #FFA000; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Amarillo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: yellow; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±4%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Verde&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #00CC00; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±0,5%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Azul&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #3366FF; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±0,25%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Morado&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #CC33CC; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±0,1%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Gris&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #999999; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±0.05%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Blanco&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Dorado&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #BDAC3D; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±5%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.0%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Plateado&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #CCCCCC; padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 7.0%;&quot; width=&quot;7%&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 30.24%;&quot; width=&quot;30%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: 3.75pt 3.75pt 3.75pt 3.75pt; width: 32.76%;&quot; width=&quot;32%&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0cm; mso-line-height-alt: 8.65pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;±10%&lt;/span&gt;&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Si se considera una resistencia que presenta los siguientes colores Marrón (1) - Negro (0) –Naranja (3) –Dorado( ±5% ), el valor de la resistencia es 10.000 Ω = 10 k Ω&lt;/span&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/AVvXsEg-uA0LX5Ri0MlL-Y9NcTFS1TUnr7LJGcg_bZncPpRqW20e5VcN1t6kK5sn9Ci5ZiCdPLiDuGvgnrVffxW2lwbGdX1EMueOso4bYv68PpNcOx6u3DcI3YvMQqsJVt0maYRxWP6m5X4UlTLt/s1600/image026.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;173&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-uA0LX5Ri0MlL-Y9NcTFS1TUnr7LJGcg_bZncPpRqW20e5VcN1t6kK5sn9Ci5ZiCdPLiDuGvgnrVffxW2lwbGdX1EMueOso4bYv68PpNcOx6u3DcI3YvMQqsJVt0maYRxWP6m5X4UlTLt/s320/image026.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;h2 style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: large;&quot;&gt;POTENCIÓMETRO&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Este componente se ha utilizado básicamente con la pantalla LCD, ya que permite regular la intensidad del voltaje. La parte superior “gira” de tal manera que deja pasar más o menos voltaje. La conexión a la protoboard debe realizarse de tal manera que dos patas inferiores caigan en una línea y la pata superior caiga en otra línea.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: start;&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/AVvXsEjFjIcIu6J4fA7En1tVWCbFsRup3rJeWmUXJ4fZnQ3GytWW5MOIbADiBZfc09GIaJRimLPp-LpSFnuLBRR0kY11nVkMG2M1-pSPuIgG9RKqUdNi8C8vbdyxwOpeVGLObYXtpPYeA7E3N658/s1600/image029.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFjIcIu6J4fA7En1tVWCbFsRup3rJeWmUXJ4fZnQ3GytWW5MOIbADiBZfc09GIaJRimLPp-LpSFnuLBRR0kY11nVkMG2M1-pSPuIgG9RKqUdNi8C8vbdyxwOpeVGLObYXtpPYeA7E3N658/s200/image029.jpg&quot; width=&quot;186&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghsf8KvWvhIWUG7oOMG8vtxvMrmua7zMy98gUPiX85izatJxYkVCmRMxssqhxJy8pRf5ygvHvM2vOhommcQ-bxyAC1X6sLc0BIzOn0tpaTGJnoAa5_4GpWiuPNQMYES05YSImiiZPISSvx/s1600/image030.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;188&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghsf8KvWvhIWUG7oOMG8vtxvMrmua7zMy98gUPiX85izatJxYkVCmRMxssqhxJy8pRf5ygvHvM2vOhommcQ-bxyAC1X6sLc0BIzOn0tpaTGJnoAa5_4GpWiuPNQMYES05YSImiiZPISSvx/s200/image030.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/516011502158967465/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/materiales-de-brico-hardware.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/516011502158967465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/516011502158967465'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/materiales-de-brico-hardware.html' title='MATERIALES DE BRICO HARDWARE'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJZUiaTIpr5X1FVAWyogKuNPPf0cay_zmTkgUd776B2hhE9GgoGwnC1LDsS5RSadRFeCyIZft0DxRz7RKYrqosVryIkJTm7oy_23XttFHAAmZIi4CRkd25K116NaEypKLE6D3s9yCfuU7M/s72-c/protoboard.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-7032454815366665577</id><published>2013-06-11T12:22:00.000+01:00</published><updated>2013-06-11T12:22:00.100+01:00</updated><title type='text'>PROGRAMANDO GPIO</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:12px; border:2px solid #000000; padding:5px;}
&lt;/style&gt;
  &lt;br /&gt;
&lt;div&gt;
Se han programado los pines de la GPIO básicamente de tres maneras, por una parte, mediante sysfs, por otra mediante el comando gpio que procede de la librería wiringPi y hasta que no la instalemos no está disponible y la tercera manera es a través de la librería wiringPi, que ya ha sido comentada en una entrada anterior.
&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Comando gpio
&lt;/div&gt;
&lt;div&gt;
Este comando está operativo a partir de la instalación de la librería wiringPi.&lt;/div&gt;
&lt;div&gt;
Se pueden realizar la mayor parte de las operaciones que se han especificado en la librería de C directamente en línea de comandos, mediante la herramienta gpio.
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-v&lt;/strong&gt; muestra la versión&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;–g&lt;/strong&gt; especifica que la numeración de pines es BCM GPIO&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mode n [ in| out | pwm ] &lt;/strong&gt;establece pin n en modo entrada, salida o pwm, respectivamente.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mode n [ up | down |tri &amp;nbsp;] &lt;/strong&gt;configura las resistencias del pin n en modo subida, bajada o ninguno.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;read n &lt;/strong&gt;lee el valor del pin n.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;readall &lt;/strong&gt;lee todos los valores posibles y los muestra por pantalla.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;write n [ 1 | 0 ] &lt;/strong&gt;escribe en el pin n un valor 1 (HIGH) o 0 (DOWN).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pwm n value&lt;/strong&gt; establece en el pin n el valor value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;edge n [ rising | falling | both | none ]&lt;/strong&gt; permite configurar las interrupciones sobre el pin n como flanco de subida, bajada, ambos o ninguno.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;export n [ in| out ]&lt;/strong&gt; exporta el pin n para que pueda ser utilizado por otros programas que no son lanzados por root.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;exports &lt;/strong&gt;muestra una lista de todos los pines que han sido exportados.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;unexport n&lt;/strong&gt; el pin n deja de estar disponible para programas que no han sido ejecutados por root.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;unexportall &lt;/strong&gt;idéntico al anterior pero para todos los pines.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;load spi [buffer size ]&lt;/strong&gt; Carga los módulos SPI en el kernel y establece opcionalmente un buffer definido en KB, yo valor por defecto es 4 KB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;load i2c [baud rate]&lt;/strong&gt; Carga los módulos I2C en el kernel y establece opcionalmente la proporción en baudios en KB/s, cuyo valor por defecto es 100Kb/sec.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
Interfaz sysfs
&lt;/div&gt;
&lt;div&gt;
El sistema operativo Raspbian tiene mapados los pins de la GPIO en &lt;strong&gt;/sys/class/gpio&lt;/strong&gt;, para poderlos gestionar a través de los ficheros que se encuentran en dicho directorio, &lt;strong&gt;export&lt;/strong&gt;, &lt;strong&gt;unexport &lt;/strong&gt;y el enlace simbólico a &lt;strong&gt;../../devices/virtual/gpio/gpiochip0&lt;/strong&gt;.&lt;/div&gt;
&lt;div&gt;
Para poder utilizar un pin, se debe escribir en el fichero &lt;strong&gt;export&lt;/strong&gt;, su número.&amp;nbsp;Hay que tener en cuenta que sólo root puede realizarlo (sudo su), para ello normalmente se utiliza el comando echo (&lt;strong&gt;echo n &amp;gt; /sys/class/gpio/export&lt;/strong&gt; , donde n es el pin). A continuación se crea automáticamente un enlace simbólico en el mismo directorio al dispositivo virtual (&lt;strong&gt;../../devices/virtual/gpio/gpion&lt;/strong&gt;). El pin se deberá establecer como de entrada o salida (&lt;strong&gt;echo out | in &amp;nbsp;&amp;gt; /sys/class/gpio/gpion/direction&lt;/strong&gt;). En el caso de ser de salida, se puede establecer la salida a 1 o 0 (&lt;strong&gt;echo 1 | 0 &amp;nbsp;&amp;gt; /sys/class/gpio/gpion/value&lt;/strong&gt;). En el caso de ser de entrada, se podría comprobar su valor en un fichero (&lt;strong&gt; cat /sys/class/gpio/gpion/value&lt;/strong&gt; ).&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Finalmente, hay que dejar accesibles estos ficheros para otras aplicaciones, ya que cuando exportamos, los estamos bloqueando.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;A continuación, se expone como se podría enceder un led asociado al pin n.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
echo n &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo out &amp;gt; /sys/class/gpio/gpion/direction&lt;br /&gt;
echo 1 &amp;gt; /sys/class/gpio/gpion/value&lt;br /&gt;
echo n &amp;gt; /sys/class/gpio/unexport&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/7032454815366665577/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/programando-gpio.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/7032454815366665577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/7032454815366665577'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/programando-gpio.html' title='PROGRAMANDO GPIO'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-3141703605695093239</id><published>2013-06-11T11:50:00.000+01:00</published><updated>2013-06-11T11:50:00.034+01:00</updated><title type='text'>VOLTAJES EN LA RASPBERRY PI</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:10px; border:2px solid #000000}
&lt;/style&gt;

&lt;div&gt;
La alimentación en la Raspberry Pi se realiza mediante una conexión micro USB, similar al que utilizan la mayor parte de los cargadores de los Smartphones actuales.
&lt;/div&gt;
&lt;div&gt;
Para comprobar si el suministro eléctrico es correcto, dentro de la placa se encuentran dos puntos TP1 (Positivo) y TP2, (Negativo). Cuando se mide la corriente con un multímetro en posición de Corriente Continua y escala de 20V, debe ofrecer un resultado similar a 5V.&lt;/div&gt;
&lt;div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
    &lt;tbody&gt;
&lt;tr&gt;
        &lt;td&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/AVvXsEi28DcFSA1Yohyphenhyphenhr_oOiNqRL2M-Tofk-qWL84AFKU08l3bBiru0KBwzrvUks5M3mN3kEW0yco2y0N6m7D0qvuve-ner9rb70Ntnqkl_nOnSyD10IV5EiUJY6CM44Qyovbk3PApI_Gz-APT9/s1600/midiento+tp1+tp2+I.jpg&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/AVvXsEi28DcFSA1Yohyphenhyphenhr_oOiNqRL2M-Tofk-qWL84AFKU08l3bBiru0KBwzrvUks5M3mN3kEW0yco2y0N6m7D0qvuve-ner9rb70Ntnqkl_nOnSyD10IV5EiUJY6CM44Qyovbk3PApI_Gz-APT9/s640/midiento+tp1+tp2+I.jpg&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;&lt;span style=&quot;font-size: x-small; text-align: start;&quot;&gt;MEDICIÓN TP1 &amp;nbsp;y TP2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;
      &lt;/tr&gt;
&lt;tr&gt;
        &lt;td&gt;&lt;br /&gt;&lt;/td&gt;
      &lt;/tr&gt;
&lt;/tbody&gt;
  &lt;/table&gt;
&lt;div&gt;
Dentro de los pines GPIO hay dos que dan de manera continua 5V y 3.3V, que son especialmente útiles para probar circuitos. En la imagen inferior, los localizamos en las posiciones 1 y 2, mientras que tierra es el 6.
&lt;/div&gt;
&lt;div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
    &lt;tbody&gt;
&lt;tr&gt;
        &lt;td&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/AVvXsEj586bqUxZRlb1nJDPPVMxO6mxhqXXc6ACZnVgPZQ5lGYDYR5rjUejaiPT22cjOlniVTbWylz68zY0vdR0hwVk3USft-8VI6ja8kOZIsC6Wl5RDKCJ6Mn_oWp8eTtRk2z3-CM9HugOnY-Pr/s1600/image017.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;299&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj586bqUxZRlb1nJDPPVMxO6mxhqXXc6ACZnVgPZQ5lGYDYR5rjUejaiPT22cjOlniVTbWylz68zY0vdR0hwVk3USft-8VI6ja8kOZIsC6Wl5RDKCJ6Mn_oWp8eTtRk2z3-CM9HugOnY-Pr/s640/image017.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;&lt;span style=&quot;font-size: x-small; text-align: start;&quot;&gt;PINES GPIO RASPBERRY PI V 2.0.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;
      &lt;/tr&gt;
&lt;tr&gt;
        &lt;td&gt;&lt;br /&gt;&lt;/td&gt;
      &lt;/tr&gt;
&lt;/tbody&gt;
  &lt;/table&gt;
&lt;div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
      &lt;tbody&gt;
&lt;tr&gt;
          &lt;td&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/AVvXsEgQC6IdiBVMSCtg2AMY7c8hgcedrki-12CI8URATTxTT7hQsHHVH6VcADN6UXB1aBO6lC8pOCabrm-7Qp0Dh-MRh1cTzYejtmgPWVhjJKt0sZ5Mbx-6TCk9FlxFvEGJ9ubjd6lyc5zxYaee/s1600/midiendo+3v3+pines+gpio+I.jpg&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/AVvXsEgQC6IdiBVMSCtg2AMY7c8hgcedrki-12CI8URATTxTT7hQsHHVH6VcADN6UXB1aBO6lC8pOCabrm-7Qp0Dh-MRh1cTzYejtmgPWVhjJKt0sZ5Mbx-6TCk9FlxFvEGJ9ubjd6lyc5zxYaee/s640/midiendo+3v3+pines+gpio+I.jpg&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;&lt;span style=&quot;font-size: x-small; text-align: start;&quot;&gt;MEDICIÓN DE LOS PINES DE 3.3V&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;
        &lt;/tr&gt;
&lt;tr&gt;
          &lt;td&gt;&lt;br /&gt;&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;&gt;
      &lt;tbody&gt;
&lt;tr&gt;
          &lt;td&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/AVvXsEjzf0sAi5Xhl2IOVel7ugghcg4r5ejSZHuhhrDVZUhlc5sSpo-3lpUerMrhxk4irIJX_DmMSJC0mp-IBvX_9xO4-7vtUlhl6PkMKHU8Pfa-PU9ZVA68aiug2CX9UCMjkkVt4asXhaP0_0-W/s1600/midiendo+5v+pines+gpio+I.jpg&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/AVvXsEjzf0sAi5Xhl2IOVel7ugghcg4r5ejSZHuhhrDVZUhlc5sSpo-3lpUerMrhxk4irIJX_DmMSJC0mp-IBvX_9xO4-7vtUlhl6PkMKHU8Pfa-PU9ZVA68aiug2CX9UCMjkkVt4asXhaP0_0-W/s640/midiendo+5v+pines+gpio+I.jpg&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;&lt;span style=&quot;font-size: x-small; text-align: start;&quot;&gt;MEDICIÓN DE 5V&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;
        &lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
Si que habrá que tener en cuenta en futuras experienias, que hay que tener especial cuidado con el consumo de los dispositivos que se conectan a través de GPIO, en concreto, la máxima intensidad demandada por los dispositivos puede ser de 300 mA (1000mA - 700mA). En caso de sobrepasar esos límites, seguramente estropearemos la placa.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/3141703605695093239/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/voltajes-en-la-raspberry-pi.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/3141703605695093239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/3141703605695093239'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/voltajes-en-la-raspberry-pi.html' title='VOLTAJES EN LA RASPBERRY PI'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi28DcFSA1Yohyphenhyphenhr_oOiNqRL2M-Tofk-qWL84AFKU08l3bBiru0KBwzrvUks5M3mN3kEW0yco2y0N6m7D0qvuve-ner9rb70Ntnqkl_nOnSyD10IV5EiUJY6CM44Qyovbk3PApI_Gz-APT9/s72-c/midiento+tp1+tp2+I.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-3279650839284338343</id><published>2013-06-10T13:37:00.000+01:00</published><updated>2013-06-10T13:37:00.880+01:00</updated><title type='text'>CONFIGURANDO ACCESO REMOTO</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:12px; border:2px solid #000000; padding:5px;}
&lt;/style&gt;

&lt;br /&gt;
&lt;div&gt;
Para facilitar el trabajo sobre Raspberry Pi y poder trabajar directamente sobre ella desde otro equipo, veremos diferentes opciones y herramientas, concretamente, SSH para trabajar en línea de comandos, un cliente de Escritorio Remoto como TightVNC y Samba, para poder dejar en una carpeta compartida nuestros programas y scripts.&lt;/div&gt;
&lt;div&gt;
Lo primero que deberíamos hacer si no lo hemos hecho ya es configurar una dirección IP fija, tal y como se ha mostrado en la entrada &quot;INSTALANDO Y CONFIGURANDO RASPBIAN&quot;.&lt;/div&gt;
&lt;div&gt;
Para trabajar sobre SSH tenemos dos opciones, habilitar mediante &quot;raspi-config&quot; el equipo como servidor de SSH ó instalarlo en línea de comandos (&lt;b&gt;sudo apt-get install openssh-server&lt;/b&gt;).&lt;/div&gt;
&lt;div&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3fylF5WDUZhiSrSi7PjXmAmVbKH8j5QYhlafKXjmSiejF3sEtMeyTWLCF6j2EJWH_1Ny0kaLYiAT0F9WUbbjmshHPmUNwJx9eEaeG5w44Nfk4qAeFWbVA0G6E5bYR9wOCMly4gI98t9-O/s1600/image065.png&quot; /&gt;
&lt;/div&gt;
&lt;div&gt;
Una vez instalado el servidor de SSH el siguiente paso será conectarnos mediante un cliente, como puede ser Putty.
&lt;/div&gt;
&lt;div&gt;
Para conectarse mediante Putty el primer paso será descargarlo (&lt;a href=&quot;http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html&quot;&gt;Download&lt;/a&gt;).&lt;/div&gt;
&lt;div&gt;
El siguiente paso será configurarlo y ejecutarlo. Para evitar tener que poner todos los datos cada vez que nos conectemos, pondremos los datos de la dirección IP y guardaremos la sesión (Save), en mi caso se he llamado &quot;Raspberry Pi&quot;. Ahora ya nos podremos conectar (Open).&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikxo6ZUmk8w78L85GVLqIlvAbyw88cFYfAqTMfAfaPXeyf4zV2hbqriaFJa8Q4QlwQy2XfhJ8Bd-Gdx0Uqs6RLK9u79TJrnOhCd5CkCpKMqF19o9om_EN1kBZCO9N-Ckqxq1vwujE0z3Gu/s1600/image071.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;381&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikxo6ZUmk8w78L85GVLqIlvAbyw88cFYfAqTMfAfaPXeyf4zV2hbqriaFJa8Q4QlwQy2XfhJ8Bd-Gdx0Uqs6RLK9u79TJrnOhCd5CkCpKMqF19o9om_EN1kBZCO9N-Ckqxq1vwujE0z3Gu/s400/image071.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Alerta inicial la primera vez que nos conectamos&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG3IJpuMExWga-LN7H18FqFpgBE7irrXyaGtZaMYU493C70D1-R8Mg7lLplNZ05LNdTxoOPZKfHbksJm5k6Vqy2XMqJYV5gyh-OIxIa-DMk0W4S1hhyphenhyphen_Yl98cala762i1v3RTcq_6A8J-A/s1600/image072.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG3IJpuMExWga-LN7H18FqFpgBE7irrXyaGtZaMYU493C70D1-R8Mg7lLplNZ05LNdTxoOPZKfHbksJm5k6Vqy2XMqJYV5gyh-OIxIa-DMk0W4S1hhyphenhyphen_Yl98cala762i1v3RTcq_6A8J-A/s640/image072.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Introducimos el nombre de Usuario pi y contraseña raspberry&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgie_12rN8LB_zdn-MlU7QglqPCgEDM6kiQfakPyBZRnTv7Wa00wv2S5X8pH6FmOEFlSWcOAux6DyaDm4O7Xriv7aG8M0Bhxj4K8Ufb_DdBYy3jcEP4nDNhuDSVhEgXJwy7qVfLNcajO-2d/s1600/image073.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;406&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgie_12rN8LB_zdn-MlU7QglqPCgEDM6kiQfakPyBZRnTv7Wa00wv2S5X8pH6FmOEFlSWcOAux6DyaDm4O7Xriv7aG8M0Bhxj4K8Ufb_DdBYy3jcEP4nDNhuDSVhEgXJwy7qVfLNcajO-2d/s640/image073.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDSm-rXi25bXlL05QaXQqmqVDPPxBZWgSW-BVY0T4N1MuIiehvXSpxJ02-yqWoPI1_l0JPEGLbF4hOQAn542xrUZlKT4S9mdAMuYVJxEz4WnBX8y_P34Jq2A49-2mr9t4Ntk6tijDRyw0U/s1600/image074.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;414&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDSm-rXi25bXlL05QaXQqmqVDPPxBZWgSW-BVY0T4N1MuIiehvXSpxJ02-yqWoPI1_l0JPEGLbF4hOQAn542xrUZlKT4S9mdAMuYVJxEz4WnBX8y_P34Jq2A49-2mr9t4Ntk6tijDRyw0U/s640/image074.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
ESCRITORIO REMOTO (TIGHTVNC)&lt;/div&gt;
&lt;div&gt;
Con el objetivo de realizar conexiones de Escritorio desde múltiples Sistemas Operativos, se ha optado por el software gratuito y libre “TightVnc” .&lt;/div&gt;
&lt;div&gt;
El primer paso es instalar el programa en nuestra RPI, para ello, partiremos de que se puede realizar una conexión mediante SSH (no es necesario pero si solivianta estos pasos repetitivos), a continuación se deben actualizar los repositorios (sudo apt-get update) y proceder con la instalación (sudo &lt;b&gt;apt-get install tightvncserver&lt;/b&gt;), aceptando el mensaje que muestra.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYnrFg7bR9JFiwi1P2AXK8ORtxE01sg2URQFaHre8h11vEcSMN9tdQzg6TBIrQOMfzYe20XjMsK-KeoPNnJUNoDc0Qwx9TBz9hYkub-quxOngyw0EBTZHbqaTZaSzituT0Lr0ZGVxyswl_/s1600/image075.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;222&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYnrFg7bR9JFiwi1P2AXK8ORtxE01sg2URQFaHre8h11vEcSMN9tdQzg6TBIrQOMfzYe20XjMsK-KeoPNnJUNoDc0Qwx9TBz9hYkub-quxOngyw0EBTZHbqaTZaSzituT0Lr0ZGVxyswl_/s640/image075.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7RZHTi-zgfVIdn4BXI8qMew2t8Q2ETBSJtEVJj69y0X_HoQiRX9v_v30fdP6BjRCEVv6Da1QEsWK7wab7s6xUKXMmMgvVJf6Soz2X6lmSo9zowJ8VFjjxlnwHOTUpokgX9sLOUn3Jqd7A/s1600/image076.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;274&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7RZHTi-zgfVIdn4BXI8qMew2t8Q2ETBSJtEVJj69y0X_HoQiRX9v_v30fdP6BjRCEVv6Da1QEsWK7wab7s6xUKXMmMgvVJf6Soz2X6lmSo9zowJ8VFjjxlnwHOTUpokgX9sLOUn3Jqd7A/s640/image076.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Una vez instalado el programa nuestro equipo será un &quot;servidor&quot; que aceptará conexiones de escritorio remoto. Ahora, para poder realizar una conexión habrá que realizar una instancia en el servidor para podernos conectar desde otro equipo. Un ejemplo de instancia podría ser&amp;nbsp;&lt;b&gt;vncserver&amp;nbsp;:1 -geometry 1024x768 -depth 24&lt;/b&gt;, estamos configurando la instancia 1, con una resolución de 1024x768 y una profundidad de color de 24 bit.&amp;nbsp;A continuación pedirá la contraseña de conexión para los clientes.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJW9VpbALq-jp_GrOPxHQj1Jekc7M5hSdeK7nwv3tF2caJyWpeqJjS4YDBOMGV7kl6b2uBcdzI_NWpnhFzd-oj07bCX7bgXGlWXLqy1h9DgY5rcKI-v8F_Mm0TvESr5E2DUFojFxeFNFCo/s1600/image078.png&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/AVvXsEjJW9VpbALq-jp_GrOPxHQj1Jekc7M5hSdeK7nwv3tF2caJyWpeqJjS4YDBOMGV7kl6b2uBcdzI_NWpnhFzd-oj07bCX7bgXGlWXLqy1h9DgY5rcKI-v8F_Mm0TvESr5E2DUFojFxeFNFCo/s1600/image078.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
En mi caso la contraseña seleccionada ha sido raspberry, para acordarme posteriormente.&lt;/div&gt;
&lt;div&gt;
El principal problema es que c&lt;b&gt;ada vez que reiniciamos esta instancia se pierde&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
En este punto, podemos conectarnos mediante clientes de VNC. En la página&amp;nbsp;&lt;a href=&quot;http://www.tightvnc.com/&quot;&gt;http://www.tightvnc.com/&lt;/a&gt;&amp;nbsp;podremos encontrar varios clientes, si bien el Viewer de Java ha presentado problemas debido a un bug de representación de caracteres, por ello, se ha trabajado principalmente con un portable que no ha dado problemas (&lt;a href=&quot;http://www.tightvnc.com/download/1.3.10/tightvnc-1.3.10_x86_viewer.zip&quot;&gt;http://www.tightvnc.com/download/1.3.10/tightvnc-1.3.10_x86_viewer.zip&lt;/a&gt;).&lt;/div&gt;
&lt;div&gt;
Para conectarnos debemos indicar la dirección ip y el puerto.&amp;nbsp;El puerto por defecto es 5900 pero hay que sumar el número de conexión&amp;nbsp;que es 1.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGX_qSd-0fH3qTy7JuUJsKduz3LfD4Z9FIM7ODNN7DlSwY5L2umn7AN5uimoYSab_U6WSU9Kq7e-6p6zBkuXz1vSqULa8VPOkne4Xp7JR089FYAj4QAbqnxJRHIzpD59EDKZqROOA0VEP_/s1600/image086.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGX_qSd-0fH3qTy7JuUJsKduz3LfD4Z9FIM7ODNN7DlSwY5L2umn7AN5uimoYSab_U6WSU9Kq7e-6p6zBkuXz1vSqULa8VPOkne4Xp7JR089FYAj4QAbqnxJRHIzpD59EDKZqROOA0VEP_/s400/image086.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
En este punto debemos indicar la conexión citada anteriormente&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjlMJ50oLgoul_b9rwWruLVkJhz08IJ5Ef4PJqrwTzzQzmHcD3uYCS_8Xom5VfDWrnLL_qHzUbq0Qz-i9YjwiMY__XoTlzTdIOBkR_gFH9bCXtWjaqMZOOD-1__8WBHbc_Rk1CB1ZpBEIV/s1600/image087.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjlMJ50oLgoul_b9rwWruLVkJhz08IJ5Ef4PJqrwTzzQzmHcD3uYCS_8Xom5VfDWrnLL_qHzUbq0Qz-i9YjwiMY__XoTlzTdIOBkR_gFH9bCXtWjaqMZOOD-1__8WBHbc_Rk1CB1ZpBEIV/s400/image087.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
En este punto debemos indicar la conexión citada anteriormente y ya podemos trabajar en entorno gráfico.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0878j6z2QZ0HaQy8PkAmZjVmBu44BXQxHIxag4JpcUpQu9ZY1PMSlNdD7YPgF2V4hpCrjSn7Oi3ORWKnerkypE6F4mmXQvzf98K6bKeYV8HfnIBoKwn4dfvObtkjaOGV9IbYR7lyMAyZQ/s1600/image088.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;332&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0878j6z2QZ0HaQy8PkAmZjVmBu44BXQxHIxag4JpcUpQu9ZY1PMSlNdD7YPgF2V4hpCrjSn7Oi3ORWKnerkypE6F4mmXQvzf98K6bKeYV8HfnIBoKwn4dfvObtkjaOGV9IbYR7lyMAyZQ/s400/image088.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Fácilmente se puede configurar una aplicación similar para Android denominada VNCAndroid y trabajar mediante el móvil, es decir, !tenemos totalmente contralada la Raspberry Pi con el móvil!.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIHn-02TdIIni-K7OEr7kzdKE0W6R1ymbOg63OYZgN4ZAhzjD5QV45zZQlGmehe4W1ZeSDMdSdF9C4UYxd_mwZVOEWIWdSVkLD8KX7Vl485AgT2MmKybEoQ8kYTTlCw177S9OeJ_tkfxhK/s1600/image040.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;232&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIHn-02TdIIni-K7OEr7kzdKE0W6R1ymbOg63OYZgN4ZAhzjD5QV45zZQlGmehe4W1ZeSDMdSdF9C4UYxd_mwZVOEWIWdSVkLD8KX7Vl485AgT2MmKybEoQ8kYTTlCw177S9OeJ_tkfxhK/s400/image040.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
En este punto habría que preguntarse, ¿no resulta demasiado pesado tener que crear la instancia antes de conectarse?. Existe una solución que es crear un demonio que arranque al principio.&lt;/div&gt;
&lt;div&gt;
En primer lugar hay que comentar que hay siete modos de ejecución, cada uno de estos modos de ejecución X ejecuta varios scripts. En los directorios&lt;b&gt;/etc/rcX.d/ &lt;/b&gt;se encuentran los enlaces simbólicos que se ejecutarán en el modo de ejecución X y , generalmente, estos scripts se almacenan en el directorio &lt;b&gt;/etc/init.d&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
En Raspbian el nivel en el que se arranca por defecto es 2, para saberlo es tan sencillo como ejecutar el comando &lt;b&gt;runlevel&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
En es este punto donde se debe crear un fichero que contenga el contenido que va a ejecutar el demonio, que se denominará &lt;b&gt;remoto (&lt;a href=&quot;http://sourceforge.net/projects/rpiplus/files/remoto/download&quot; target=&quot;_blank&quot;&gt;descargar&lt;/a&gt;)&amp;nbsp;&lt;/b&gt;y contendrá la configuración.&lt;/div&gt;
&lt;div&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK0EHEX_sXDeggfF7QDse-SxvMDDQtTExr4I7AFJTuinztnxktwOqAs_Ea8rU8LmofG3NCRRJefsgXu0NDxW_AVUlc2lbcggRX-vdwokExqifydt6zEd8VV3weFkcy9ts6-BB4RAu9gbRA/s1600/image080.png&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&lt;b&gt;#!/bin/bash&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: remoto&lt;br /&gt;
# Required-Start: $syslog&lt;br /&gt;
# Required-Stop: $syslog&lt;br /&gt;
# Default-Start: 2 3 4 5&lt;br /&gt;# Default-Stop: 0 1 6&lt;br /&gt;
# Short-Description: vnc server&lt;br /&gt;
# Description: Demonio Servidor Escritorio Remoto VNC&lt;br /&gt;
#&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
## Autor: M.Alvarez (miguelwarez@gmail.com) 2013&lt;br /&gt;
## Más ejemplos en http://rpiplus.sourceforge.net&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
PROG=&quot;Xtightvnc&quot;&lt;br /&gt;
&lt;br /&gt;
case &quot;$1&quot; in&lt;br /&gt;
start)&lt;br /&gt;
echo &quot;Lanzando $PROG&quot;&lt;br /&gt;
su pi -c &#39;/usr/bin/vncserver&#39;;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &quot;Parando $PROG&quot;&lt;br /&gt;
pkill -TERM $PROG;;&lt;br /&gt;
reload)&lt;br /&gt;
echo &quot;Volviendo a cargar $PROG:&quot;&lt;br /&gt;
pkill -HUP $PROG;;&lt;br /&gt;
restart)&lt;br /&gt;
echo &quot;Reiniciando $PROG&quot;&lt;br /&gt;
pkill -TERM $PROG&lt;br /&gt;
su pi -c &#39;/usr/bin/vncserver&#39;;;&lt;br /&gt;
*)&lt;br /&gt;
echo &quot;Uso: /etc/init.d/remoto {start|stop|reload|restart}&quot;&lt;br /&gt;
exit 1;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;
Definimos un demonio que se puede lanzar (start), parar(stop), reload (volver a cargar), restart (reiniciar), utilizando básicamente las señales disponibles de LINUX.&lt;/div&gt;
&lt;div&gt;
Ya sólo falta dar permisos de ejecución al fichero para todos los usuarios, para ello se ha utilizado el comando chmod.&lt;/div&gt;
&lt;div&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTlLPvVsJRf5CYEXntps0PreqJb8_sGQoRIr6d41ZVznYFXlV1yQ7xk91O0KyWhhnSlxK6wiI8kqRtBbD7AkkL31P0L3Qt6rDe7Xte2_Kf-s0aMAakIH4lnZZC4V81ajqRb65n4pXMmPwa/s640/image081.png&quot; /&gt;
&lt;/div&gt;
&lt;div&gt;
A continuación se dejará el fichero en el directorio donde se encuentran los demonios que ejecuta Raspbian.&lt;/div&gt;
&lt;div&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ItBgrq551oHVnsMJi0zY9BzuBfO0qLigf4B5PobHEakUP_tq6GqGx3IF1qvc0cUAMrly39MgcX6dfk9g3uxHplO1i-4WxbHqV2bob_QWzUUXS1kxylzXv873Oik7STwOpmSrqnZZ3yrO/s1600/image082.png&quot; /&gt;
&lt;/div&gt;
&lt;div&gt;
A continuación, se van a actualizar
los scripts mediante el comando &lt;b&gt;update-rc.d&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhljOZan-HOSqtGe1LxbG2oG_bk3zygVYPFt43tRClfAtFD6rlw8R-TW5D4DDmTPxOlapxBALMVjmQQ6pB-I9WRRepgnQxI5uDsz4hZ7XS12kFJguwBzaLrGTCMfHFrcFAEx9LexCB4dQQO/s1600/image083.png&quot; /&gt;&lt;/div&gt;
&lt;div&gt;
Se va a comprobar el correcto funcionamiento, lanzando el demonio y parándolo.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY-AlJ_0G3fSg3E4ANTZuY2KlyOonkKsCNB9y7M4gAnc_NG8K9sWApSTLlU4_jmIFR26wTo7MqwfLRTXcwSidZ0q6GEKNhpM9hHczM635jpk4mAWvb9Efc1zE74Luiraz49z4GYxcwiJb5/s1600/image084.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;267&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY-AlJ_0G3fSg3E4ANTZuY2KlyOonkKsCNB9y7M4gAnc_NG8K9sWApSTLlU4_jmIFR26wTo7MqwfLRTXcwSidZ0q6GEKNhpM9hHczM635jpk4mAWvb9Efc1zE74Luiraz49z4GYxcwiJb5/s640/image084.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Además para comprobar que se ha creado correctamente el enlace simbólico:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXXA_5aVcIhpG9oc6tgsNHEb07Wzo8BDfm6ZR9fhn0LxyqJZ-r8yQBSXw4ZEIzEuG62YrNCoT6PGv8FK2rgdVeTu5evfEgldOqVG92BFDr4Y6Z_sDiq04882bJIHfX12qfa1-vPup5mpr8/s1600/image085.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;42&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXXA_5aVcIhpG9oc6tgsNHEb07Wzo8BDfm6ZR9fhn0LxyqJZ-r8yQBSXw4ZEIzEuG62YrNCoT6PGv8FK2rgdVeTu5evfEgldOqVG92BFDr4Y6Z_sDiq04882bJIHfX12qfa1-vPup5mpr8/s640/image085.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Ahora
ya está configurada Raspberry Pi para que cada vez que se encienda nos podamos conectar mediante escritorio remoto.&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
INSTALACIÓN DE SAMBA&lt;/div&gt;
&lt;div&gt;
Especialmente útil resultará tener instalado samba para poder conectarnos a una carpeta compartida en la que dejemos los programas y scripts.&lt;/div&gt;
&lt;div&gt;
Para instalar samba y un cliente deberemos ejecutar &lt;b&gt;sudo apt-get install samba smbclient&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
Se va a definir una carpeta compartida publica que se encontrará en el home de pi y no será visible en la red. El primer paso es crear una carpeta denominada publica con todos los permisos: &lt;b&gt;mkdir -m 777 publica&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
Posteriormente, se editará el fichero &lt;b&gt;/etc/samba/smb.conf&lt;/b&gt; y se añadirá al final:&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
[publica$]&lt;br /&gt;
path = /home/pi/publica&lt;br /&gt;
browseable = yes&lt;br /&gt;
writeable = yes&lt;br /&gt;
guest ok = yes
&lt;/div&gt;
&lt;div&gt;
Para concluir se deberá reiniciar el servicio samba, para que cargue la nueva configuración&amp;nbsp;&lt;b&gt;sudo /etc/init.d/samba restart.&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
En este momento se podrá acceder desde cualquier equipo a esta carpeta escribiendo &lt;b&gt;\\dirIP\publica$&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5wuRz2J5ybtSzlEowqbyLd92If9BlK0l7T0YuvJklD-WpQnlF7pIt2piRgCv0cH3Iu6RwRurhG1mh9k7E8zWzxPQ0FrtLnY9JW39eyofZhMtd3akBg1xLJYupgkJt0045VgyMb7BfAUXO/s1600/image094.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;198&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5wuRz2J5ybtSzlEowqbyLd92If9BlK0l7T0YuvJklD-WpQnlF7pIt2piRgCv0cH3Iu6RwRurhG1mh9k7E8zWzxPQ0FrtLnY9JW39eyofZhMtd3akBg1xLJYupgkJt0045VgyMb7BfAUXO/s640/image094.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Al trabajar con Sistemas Operativos Windows y Linux se han constado &lt;b&gt;errores &lt;/b&gt;al ejecutar shell scripts del &amp;nbsp;tipo:&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;bash: ./mifichero.sh: /bin/bash^M: bad interpreter: No existe el fichero o el directorio&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Estos errores se deben a que en los Sistemas Operativos Windows, se insertan al final de cada línea retornos de carro y saltos de línea, mientras que en Linux se insertan sólo saltos de línea.&lt;/div&gt;
&lt;div&gt;
Para eliminar este tipo de errores se ha optado por el programa &lt;b&gt;dos2unix&lt;/b&gt;, que elimina este tipo de problemas, convirtiendo de Dos a Unix como su nombre indica. La sintaxis es &lt;b&gt;dos2unix mifichero.sh. &lt;/b&gt;Si tenemos problemas con el propietario, mediante el comando &lt;b&gt;sudo chown pi&amp;nbsp;mifichero.sh &lt;/b&gt;cambiaremos el propietario y ya podremos pasar el comando sin problemas.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/3279650839284338343/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/configurando-acceso-remoto.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/3279650839284338343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/3279650839284338343'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/configurando-acceso-remoto.html' title='CONFIGURANDO ACCESO REMOTO'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3fylF5WDUZhiSrSi7PjXmAmVbKH8j5QYhlafKXjmSiejF3sEtMeyTWLCF6j2EJWH_1Ny0kaLYiAT0F9WUbbjmshHPmUNwJx9eEaeG5w44Nfk4qAeFWbVA0G6E5bYR9wOCMly4gI98t9-O/s72-c/image065.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-459593381558813277</id><published>2013-06-09T15:40:00.000+01:00</published><updated>2013-06-09T15:40:00.593+01:00</updated><title type='text'>EXPLORANDO EL HARDWARE DE RASPBERRY</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:12px; border:2px solid #000000; padding:5px;}
table{text-align:center}
.encabezado{ color:#FFFFFF; background-color:#333333;font-family: Verdana, sans-serif; text-align:center;margin-bottom:5px; font-weight:bold;}
td{color: #444444; font-family: Verdana, sans-serif; text-align:center;}
}

&lt;/style&gt;

&lt;br /&gt;
&lt;div&gt;
Esta entrada se va a realizar un análisis del hardware de la Raspberry Pi, partiendo de las especificaciones técnicas de la &lt;a href=&quot;http://es.wikipedia.org/wiki/Raspberry_pi#Especificaciones_t.C3.A9cnicas&quot; target=&quot;_blank&quot;&gt;Raspberry Pi B modelo 2.0&lt;/a&gt;. Para realizar el estudio se partirán de herramientas incluidas en el Sistema Operativo y alguna otra que habrá que instalar.&lt;/div&gt;
&lt;div&gt;
La información sobre el Hardware del equipo se va a obtener del directorio /proc , sistema de ficheros virtual que el sistema crea en memoria y ofrece información relacionada con el sistema.&lt;/div&gt;
&lt;div&gt;
El primer fichero que se va a analizar es &lt;b&gt;/proc/cpuinfo&lt;/b&gt;, que tiene información relativa al procesador. &amp;nbsp;Una vez ejecutado cat /proc/cpuinfo obtenemos la siguiente información&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
Processor &amp;nbsp; &amp;nbsp; &amp;nbsp; : ARMv6-compatible processor rev 7 (v6l)&lt;br /&gt;
BogoMIPS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: 697.95&lt;br /&gt;
Features &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: swp half thumb fastmult vfp edsp java tls&lt;br /&gt;
CPU implementer : 0x41&lt;br /&gt;
CPU architecture: 7&lt;br /&gt;
CPU variant &amp;nbsp; &amp;nbsp; : 0x0&lt;br /&gt;
CPU part &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: 0xb76&lt;br /&gt;
CPU revision &amp;nbsp; &amp;nbsp;: 7&lt;br /&gt;
Hardware &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: BCM2708&lt;br /&gt;
Revision &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: 000f&lt;br /&gt;
Serial &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: 00000000c047d6ab

&lt;/div&gt;
&lt;div&gt;
La información más importante que se puede observar es la versión de procesador ARM con la que es compatible con la versión 7, identificado por BCM2708 (procesador Broadcom 2708).&lt;/div&gt;
&lt;div&gt;
Mediante el comando &lt;b&gt;lscpu &lt;/b&gt;se obtiene:&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
Architecture: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;armv6l&lt;br /&gt;
Byte Order: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Little Endian&lt;br /&gt;
CPU(s): &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;br /&gt;
On-line CPU(s) list: &amp;nbsp; 0
&lt;/div&gt;
&lt;div&gt;
Está indicando que solo hay una CPU y utiliza el sistema Little-Endian, es decir, el acceso a los bytes se realiza de manera incremental, de menos relevante a más relevante.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
Para explorar la memoria se va a explorar el archivo &lt;b&gt;/proc/meminfo&lt;/b&gt;, que contiene información del sistema de memoria. Para acceder a su contenido cat /proc/meminfo.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
MemTotal: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 448996 kB&lt;br /&gt;
MemFree: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;251624 kB&lt;br /&gt;
Buffers: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 38624 kB&lt;br /&gt;
Cached: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 107892 kB&lt;br /&gt;
SwapCached: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 kB&lt;br /&gt;
Active: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;88828 kB&lt;br /&gt;
Inactive: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;85020 kB&lt;br /&gt;
Active(anon): &amp;nbsp; &amp;nbsp; &amp;nbsp;27400 kB&lt;br /&gt;
Inactive(anon): &amp;nbsp; &amp;nbsp; &amp;nbsp;724 kB&lt;br /&gt;
Active(file): &amp;nbsp; &amp;nbsp; &amp;nbsp;61428 kB&lt;br /&gt;
Inactive(file): &amp;nbsp; &amp;nbsp;84296 kB&lt;br /&gt;
Unevictable: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 kB&lt;br /&gt;
Mlocked: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 kB&lt;br /&gt;
SwapTotal: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;102396 kB&lt;br /&gt;
SwapFree: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 102396 kB&lt;br /&gt;
Dirty: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 kB&lt;br /&gt;
Writeback: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 kB&lt;br /&gt;
AnonPages: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 27344 kB&lt;br /&gt;
Mapped: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;17100 kB&lt;br /&gt;
Shmem: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 796 kB&lt;br /&gt;
Slab: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;18452 kB&lt;br /&gt;
SReclaimable: &amp;nbsp; &amp;nbsp; &amp;nbsp;14840 kB&lt;br /&gt;
SUnreclaim: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3612 kB&lt;br /&gt;
KernelStack: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1168 kB&lt;br /&gt;
PageTables: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1396 kB&lt;br /&gt;
NFS_Unstable: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 kB&lt;br /&gt;
Bounce: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 kB&lt;br /&gt;
WritebackTmp: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 kB&lt;br /&gt;
CommitLimit: &amp;nbsp; &amp;nbsp; &amp;nbsp;326892 kB&lt;br /&gt;
Committed_AS: &amp;nbsp; &amp;nbsp; 153780 kB&lt;br /&gt;
VmallocTotal: &amp;nbsp; &amp;nbsp; 188416 kB&lt;br /&gt;
VmallocUsed: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 884 kB&lt;br /&gt;
VmallocChunk: &amp;nbsp; &amp;nbsp; 186712 kB&lt;/div&gt;
&lt;div&gt;
Estos datos indican que la memoria RAM es de 438 MB, prácticamente la memoria del sistema está libre, unos 38 MB están siendo utilizados por buffers en este momento, unos 107 MB se están utilizando de memoria RAM como Caché, no hay Caché en al memoria virtual, se están utilizando 102 MB como memoria virtual (SWAP).&lt;/div&gt;
&lt;div&gt;
En este punto cabría preguntarse cómo puede ser que se comercialice la placa con 512 MB de RAM &amp;nbsp;cuando el sistema muestra un valor bastante inferior cercano de unos 438 MB. Esto es debido a que a los 512 MB se les quita unos pocos bits reservados y espacio del kernel.&lt;/div&gt;
&lt;div&gt;
Información similar pero más resumida se obtiene mediante el comando &lt;b&gt;free –m .&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 61.7pt;&quot; valign=&quot;top&quot; width=&quot;82&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 61.75pt;&quot; valign=&quot;top&quot; width=&quot;82&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;total&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;used&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;free&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;shared&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;buffers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;cached&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;Mem:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;438&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;116&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;321&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;12&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;68&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;-/+&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;buffers/cache:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;35&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;402&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;Swap:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;99&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;99&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
Para explorar la memoria dedicada a cada dispositivo físico se explora el fichero&lt;b&gt; /proc/iomem&lt;/b&gt;.&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
00000000-1bffffff : System RAM&lt;br /&gt;
&amp;nbsp; 00008000-004c0e77 : Kernel text&lt;br /&gt;
&amp;nbsp; 004e2000-005b5127 : Kernel data&lt;br /&gt;
20000000-20000fff : bcm2708_vcio&lt;br /&gt;
20003000-20003fff : bcm2708_systemtimer&lt;br /&gt;
20006000-20006fff : bcm2708_usb&lt;br /&gt;
&amp;nbsp; 20006000-20006fff : dwc_otg&lt;br /&gt;
20007000-20007fff : bcm2708_dma.0&lt;br /&gt;
&amp;nbsp; 20007000-20007fff : bcm2708_dma&lt;br /&gt;
20100000-201000ff : bcm2708_powerman.0&lt;br /&gt;
20200000-20200fff : bcm2708_gpio&lt;br /&gt;
20201000-20201fff : dev:f1&lt;br /&gt;
&amp;nbsp; 20201000-20201fff : uart-pl011&lt;br /&gt;
20204000-202040ff : bcm2708_spi.0&lt;br /&gt;
20205000-202050ff : bcm2708_i2c.0&lt;br /&gt;
20300000-203000ff : bcm2708_sdhci.0&lt;br /&gt;
&amp;nbsp; 20300000-203000ff : mmc0&lt;br /&gt;
20804000-208040ff : bcm2708_i2c.1&lt;br /&gt;
20980000-2099ffff : bcm2708_usb&lt;br /&gt;
&amp;nbsp; 20980000-2099ffff : dwc_otg&lt;/div&gt;
&lt;div&gt;
En este punto se ven las zonas de memoria para la comunicación con dispositivos a través de la GPIO, USB, serie,...&lt;/div&gt;
&lt;div&gt;
Existe un fichero bastante interesante que se encuentra en
/boot denominado &lt;b&gt;config.txt&lt;/b&gt;, dicho fichero es leído por la GPU antes de que el
núcleo ARM sea inicializado. La configuración de este fichero permite modificar
la frecuencia del procesador ARM, de la GPU, de la SDRAM,&amp;nbsp; suministrar más voltaje al núcleo de la
Raspberry Pi,… .Por tanto se podría realizar “Overclocking” modificando el
mismo. El contenido del fichero es:&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
# uncomment if you get no picture on HDMI for a default &quot;safe&quot; mode&lt;br /&gt;
#hdmi_safe=1&lt;br /&gt;
# uncomment this if your display has a black border of unused pixels
visible&lt;br /&gt;
# and your display can output without overscan&lt;br /&gt;
disable_overscan=1&lt;br /&gt;
# uncomment the following to adjust overscan. Use positive numbers if
console&lt;br /&gt;
# goes off screen, and negative if there is too much border&lt;br /&gt;
#overscan_left=16&lt;br /&gt;
#overscan_right=16&lt;br /&gt;
#overscan_top=16&lt;br /&gt;
#overscan_bottom=16&lt;br /&gt;
# uncomment to force a console size. By default it will be display&#39;s
size minus&lt;br /&gt;
# overscan.&lt;br /&gt;
#framebuffer_width=1280&lt;br /&gt;
#framebuffer_height=720&lt;br /&gt;
# uncomment if hdmi display is not detected and composite is being
output&lt;br /&gt;
#hdmi_force_hotplug=1&lt;br /&gt;
# uncomment to force a specific HDMI mode (this will force VGA)&lt;br /&gt;
#hdmi_group=1&lt;br /&gt;
#hdmi_mode=1&lt;br /&gt;
# uncomment to force a HDMI mode rather than DVI. This can make audio
work in&lt;br /&gt;
# DMT (computer monitor) modes&lt;br /&gt;
#hdmi_drive=2&lt;br /&gt;
# uncomment to increase signal to HDMI, if you have interference,
blanking, or&lt;br /&gt;
# no display&lt;br /&gt;
#config_hdmi_boost=4&lt;br /&gt;
# uncomment for composite PAL&lt;br /&gt;
#sdtv_mode=2&lt;br /&gt;
#uncomment to overclock the arm. 700 MHz is the default.&lt;br /&gt;
#arm_freq=800&lt;br /&gt;
# for more options see http://elinux.org/RPi_config.txt
&lt;/div&gt;
&lt;div&gt;
Se ha instalado la herramienta &lt;b&gt;hardinfo&lt;/b&gt;, que incorpora test a la CPU para ampliar la información
obtenida hasta el momento.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU2FuA3hkYxW1e8IBwE_zr9oKX7EbcnjLd_qLmnUOw7B56H1Tci9V8PkuzGC2kdQgrR0Fz-VREJrEjIyNdUAkO0UZZzAU4dP2sCkHMPEzzkMzG51RLLFgc8aXpi4Js0rIpOI-Khgnx1o_F/s1600/image019+(2).png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;247&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU2FuA3hkYxW1e8IBwE_zr9oKX7EbcnjLd_qLmnUOw7B56H1Tci9V8PkuzGC2kdQgrR0Fz-VREJrEjIyNdUAkO0UZZzAU4dP2sCkHMPEzzkMzG51RLLFgc8aXpi4Js0rIpOI-Khgnx1o_F/s400/image019+(2).png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjinVg6XYH5CaXIjV-_EAjFiWjoAS9dyGQUX4TvzqoYTqzqii3iHdI0CRYNd35enheP8hH7tWHztl2tXEfyyCiH-paqh0MCMdoO8UABK_KtCjd7o5ihEC0rtjRTfl-QlB8aUR6Oz9H2NXzX/s1600/image020+%25282%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;font-family: &#39;Times New Roman&#39;; margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;494&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjinVg6XYH5CaXIjV-_EAjFiWjoAS9dyGQUX4TvzqoYTqzqii3iHdI0CRYNd35enheP8hH7tWHztl2tXEfyyCiH-paqh0MCMdoO8UABK_KtCjd7o5ihEC0rtjRTfl-QlB8aUR6Oz9H2NXzX/s640/image020+%25282%2529.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Se ha generado un informe mediante la opción de Generate Report y la información que se ha considerado más útil, que amplía a la ya obtenida, es:&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
Memory 448MB (60MB used)&lt;br /&gt;
Audio Adapter&lt;br /&gt;
BRCM bcm2835 ALSbcm2835 ALSA - bcm2835 ALSA&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;5&quot; width=&quot;476&quot;&gt;MAPA
  EN MEMORIA&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td width=&quot;151&quot;&gt;MODULO&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;COMIENZO
  HEX&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;FIN
  HEX&lt;/td&gt;
  &lt;td valign=&quot;bottom&quot; width=&quot;80&quot;&gt;COMIENZO
  DEC&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;FIN
  DEC&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td width=&quot;151&quot;&gt;SystemRAM&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;00000000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;1bffffff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;0&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;469762047&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td width=&quot;151&quot;&gt;Kerneltext&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;00008000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;004c0e77&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;32768&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;4984439&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td width=&quot;151&quot;&gt;Kerneldata&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;004e2000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;005b5127&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;5120000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;5984551&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr s=&quot;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_vcio&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20000000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20000fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536870912&lt;a href=&quot;http://www.blogger.com/introduccionRPI.htm#_ftn1&quot; name=&quot;_ftnref1&quot; title=&quot;&quot;&gt;&lt;span class=&quot;MsoFootnoteReference&quot;&gt;&lt;!--[if !supportFootnotes]--&gt;&lt;span class=&quot;MsoFootnoteReference&quot;&gt;[1]&lt;/span&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536875007&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_systemtimer&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20003000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20003fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536883200&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536887295&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 7;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_usb&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20006000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20006fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536895488&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536899583&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 8;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;dwc_otg&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20006000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20006fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536895488&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536899583&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 9;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_dma.0&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20007000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20007fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536899584&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536903679&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 10;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_dma&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20007000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20007fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536899584&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;536903679&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 11;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_powerman.0&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20100000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;201000ff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;537919488&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;537919743&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 12;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_gpio&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20200000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20200fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538968064&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538972159&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 13;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;dev:f1&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20201000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20201fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538972160&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538976255&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 14;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;uart-pl011&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20201000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;20201fff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538972160&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538976255&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 15;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_spi.0&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20204000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;202040ff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538984448&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538984703&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 16;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_i2c.0&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20205000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;202050ff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538988544&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;538988799&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 17;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_sdhci.0&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20300000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;203000ff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;540016640&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;540016895&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 18;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;mmc0&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20300000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;203000ff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;540016640&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;540016895&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 19;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_i2c.1&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20804000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;208040ff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;545275904&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;545276159&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 20;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;bcm2708_usb&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20980000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;2099ffff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;546832384&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;546963455&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 15.75pt; mso-yfti-irow: 21; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td width=&quot;151&quot;&gt;dwc_otg&lt;/td&gt;
  &lt;td width=&quot;85&quot;&gt;20980000&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;2099ffff&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;546832384&lt;/td&gt;
  &lt;td width=&quot;80&quot;&gt;546963455&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;!--[if !supportFootnotes]--&gt;&lt;br clear=&quot;all&quot; /&gt;
&lt;hr align=&quot;left&quot; size=&quot;1&quot; style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot; width=&quot;33%&quot; /&gt;
&lt;!--[endif]--&gt;

&lt;br /&gt;
&lt;div id=&quot;ftn1&quot;&gt;
&lt;a href=&quot;http://www.blogger.com/introduccionRPI.htm#_ftnref1&quot; name=&quot;_ftn1&quot; style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot; title=&quot;&quot;&gt;&lt;span class=&quot;MsoFootnoteReference&quot;&gt;&lt;!--[if !supportFootnotes]--&gt;&lt;span class=&quot;MsoFootnoteReference&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-ansi-language: ES; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/a&gt; 536870912 = 512 MB
RAM X 1024 KB/MB X 1024 B/KB&lt;/div&gt;
&lt;div&gt;
A través de la herramienta hardinfo también podemos testear la CPU, a través de diferentes pruebas. Puede ser un buen punto de partida comparar estos valores con los obtenidos cuando se realiza Overclocking sobre la CPU.&lt;/div&gt;
&lt;div&gt;
Otra herramienta que permite listar el hardware es lshw, que no viene instalada por defecto y la información que muestra no dista mucho de la vista hasta el momento, pero si indica que trabaja a 700MHz y el ancho de palabra es de 32 bit.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/459593381558813277/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/explorando-el-hardware-de-raspberry.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/459593381558813277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/459593381558813277'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/explorando-el-hardware-de-raspberry.html' title='EXPLORANDO EL HARDWARE DE RASPBERRY'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU2FuA3hkYxW1e8IBwE_zr9oKX7EbcnjLd_qLmnUOw7B56H1Tci9V8PkuzGC2kdQgrR0Fz-VREJrEjIyNdUAkO0UZZzAU4dP2sCkHMPEzzkMzG51RLLFgc8aXpi4Js0rIpOI-Khgnx1o_F/s72-c/image019+(2).png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-8189214346659636000</id><published>2013-06-07T22:02:00.000+01:00</published><updated>2013-06-07T22:02:00.125+01:00</updated><title type='text'>LIBRERIA WIRING PI</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:12px; border:2px solid #000000; padding:5px;}
table{text-align:center}
.encabezado{ color:#FFFFFF; background-color:#333333;font-family: Verdana, sans-serif; text-align:center;margin-bottom:5px; font-weight:bold;}
td{color: #444444; font-family: Verdana, sans-serif; text-align:center;}
}

&lt;/style&gt;

&lt;br /&gt;
&lt;div&gt;
&lt;a data-blogger-escaped-target=&quot;_blank&quot; href=&quot;https://projects.drogon.net/raspberry-pi/wiringpi/&quot;&gt;WiringPi&amp;nbsp;&lt;/a&gt;es una librería escrita en C y liberada baja licencia GNU LGPLv3, que puede ser empleada en varios lenguajes de programación, además de C y C++, con alguna pequeña modificación en forma de adaptación.&lt;/div&gt;
&lt;div&gt;
Su principal uso es en la programación de periféricos a través de los 26 pines de  General Purpose Input Output (GPIO).&lt;/div&gt;
&lt;div&gt;
WiringPi, además, ofrece un comando que permite programar y configurar los pines de la GPIO, pudiendo efectuar la lectura y escritura de los pines desde la línea de comandos o incluso, incorporándola en un Shellscript.&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Instalación utilizando GIT&lt;/div&gt;
&lt;div&gt;
Git es un software de control de versiones, libre y de código abierto, diseñado para manejar todo tipo de proyectos, desde pequeños a grandes con rapidez y eficiencia.
&lt;/div&gt;
&lt;div&gt;
En caso de no estar instalado GIT se debería instalar. Para ello en primer lugar hay que actualizar los repositorios y posteriormente instalarlo.
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
sudo apt-get update sudo apt-get install git-core
&lt;/div&gt;
&lt;div&gt;
Posteriormente hay que obtener la libreria mediante GIT
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
git clone git://git.drogon.net/wiringPi&lt;/div&gt;
&lt;div&gt;
Una vez descargado, hay que ir al directorio donde se encuentra y obtener una versión actualida.
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
cd wiringPi &lt;br /&gt;
git pull origin
&lt;/div&gt;
&lt;div&gt;
A continuación, se debe ejecutar el script de creación e instalación en el directorio de WiringPi.
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
./build
   
&lt;/div&gt;
&lt;div&gt;
El nuevo script se encarga de compilar y ejecutar todo, sin que sea necesaria la intervención del usuario.&amp;nbsp;
&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Descargando la librería.&lt;/div&gt;
&lt;div&gt;
Se va a proceder a descargar la aplicación en el directorio temporal /tmp.
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
cd /tmp&lt;br /&gt;
wget http://project-downloads.drogon.net/files/wiringPi.tgz&lt;/div&gt;
&lt;div&gt;
A continuación hay que desempaquetar el fichero.
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
tar xfz wiringPi.tgz   
&lt;/div&gt;
&lt;div&gt;
En este momento, se va a proceder a instalar las librerías relacionadas con wiringPi.
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
cd wiringPi/wiringPi&lt;br /&gt;
make&lt;br /&gt;
sudo make install
&lt;/div&gt;
&lt;div&gt;
A continuación, se va a instalar la herramienta gpio, que permite en línea de comandos trabajar con los pines.
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
cd ../gpio make sudo make install
&lt;/div&gt;
&lt;div&gt;
Finalmente, se van a instalar los ejemplos.
&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
cd ../examples&lt;br /&gt;
make

&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Utilización&lt;/div&gt;
&lt;div&gt;
Para poder utilizar esta librería es necesario indicar que se va a emplear, en la primera parte del programa se incorpora la cabecera de la librería (&lt;strong&gt;#include&amp;lt;wiringPi.h&amp;nbsp;&lt;/strong&gt;)&amp;nbsp;y en la compilación se especifica que utilice la misma (&lt;strong&gt;gcc –o pruebas -l wiringPi pruebas.c&lt;/strong&gt;).&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Principales constantes y funciones de la librería&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
Funciones constructoras
  &lt;/div&gt;
&lt;div&gt;
Hay tres funciones constructoras que permiten trabajar con la librería Wiring Pi, todas ellas devuelven -1 en caso de que se produzca un error.
    &lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;int wiringPiSetup(void)&lt;/strong&gt;&amp;nbsp;: Inicializa Wiring Pi y emplea el convenio de numeración de Wiring Pi.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
A continuación se muestra la tabla resumen de los pines GPIO para la versión 1.
    &lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
        
            &lt;tbody&gt;
&lt;tr&gt;
              &lt;td class=&quot;encabezado&quot;&gt;Ping wiringPi &lt;/td&gt;
              &lt;td class=&quot;encabezado&quot;&gt;BCM GPIO &lt;/td&gt;
              &lt;td class=&quot;encabezado&quot;&gt;Name &lt;/td&gt;
              &lt;td class=&quot;encabezado&quot;&gt;Header &lt;/td&gt;
              &lt;td class=&quot;encabezado&quot;&gt;Name &lt;/td&gt;
              &lt;td class=&quot;encabezado&quot;&gt;BCM GPIO &lt;/td&gt;
              &lt;td class=&quot;encabezado&quot;&gt;Ping wiringPi &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;3.3v&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              1 | 2 &lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;5v&lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#99FFCC&quot;&gt;8              &lt;/td&gt;
              &lt;td bgcolor=&quot;#99FFCC&quot;&gt;R1:0/R2:2              &lt;/td&gt;
              &lt;td bgcolor=&quot;#99FFCC&quot;&gt;SDA0&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              3 | 4 &lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;DNC&lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#99FFCC&quot;&gt;9              &lt;/td&gt;
              &lt;td bgcolor=&quot;#99FFCC&quot;&gt;R1:1/R2:3              &lt;/td&gt;
              &lt;td bgcolor=&quot;#99FFCC&quot;&gt;SCL0&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              5 | 6 &lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;0v              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;7              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;4              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO7&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              7 | 8 &lt;/strong&gt;&lt;/td&gt;
              &lt;td bgcolor=&quot;#FF9966&quot;&gt;TxD&lt;/td&gt;
              &lt;td bgcolor=&quot;#FF9966&quot;&gt;14              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FF9966&quot;&gt;15              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;DNC&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              9 | 10 &lt;/strong&gt;&lt;/td&gt;
              &lt;td bgcolor=&quot;#FF9966&quot;&gt;RxD              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FF9966&quot;&gt;15              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FF9966&quot;&gt;16              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;0              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;17              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO0&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              11 | 12 &lt;/strong&gt;&lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO1&lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;18              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;1              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;2              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;R1:21/R2:27              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO2&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              13 | 14 &lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;DNC&lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;3              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;22              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO3&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              15 | 16 &lt;/strong&gt;&lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO4&lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;23              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;4              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;DNC&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              17 | 18 &lt;/strong&gt;&lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO5&lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;24              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;5              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#66FF99&quot;&gt;12              &lt;/td&gt;
              &lt;td bgcolor=&quot;#66FF99&quot;&gt;10              &lt;/td&gt;
              &lt;td bgcolor=&quot;#66FF99&quot;&gt;MOSI&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              19 | 20 &lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;DNC&lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#66FF99&quot;&gt;13              &lt;/td&gt;
              &lt;td bgcolor=&quot;#66FF99&quot;&gt;9              &lt;/td&gt;
              &lt;td bgcolor=&quot;#66FF99&quot;&gt;MISO&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              21 | 22 &lt;/strong&gt;&lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO6&lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;25              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FFFF99&quot;&gt;6              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td bgcolor=&quot;#999966&quot;&gt;14              &lt;/td&gt;
              &lt;td bgcolor=&quot;#999966&quot;&gt;11              &lt;/td&gt;
              &lt;td bgcolor=&quot;#999966&quot;&gt;SCLK&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              23 | 24 &lt;/strong&gt;&lt;/td&gt;
              &lt;td bgcolor=&quot;#FF99FF&quot;&gt;CE0&lt;/td&gt;
              &lt;td bgcolor=&quot;#FF99FF&quot;&gt;8              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FF99FF&quot;&gt;10              &lt;/td&gt;
            &lt;/tr&gt;
&lt;tr&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;–              &lt;/td&gt;
              &lt;td&gt;DNC&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;
              25 | 26 &lt;/strong&gt;&lt;/td&gt;
              &lt;td bgcolor=&quot;#FF99FF&quot;&gt;CE1&lt;/td&gt;
              &lt;td bgcolor=&quot;#FF99FF&quot;&gt;7              &lt;/td&gt;
              &lt;td bgcolor=&quot;#FF99FF&quot;&gt;11              &lt;/td&gt;
            &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
Para la revisión 2
&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
      
        &lt;tbody&gt;
&lt;tr&gt;
          &lt;td class=&quot;encabezado&quot;&gt;Ping wiringPi          &lt;/td&gt;
          &lt;td class=&quot;encabezado&quot;&gt;BCM GPIO          &lt;/td&gt;
          &lt;td class=&quot;encabezado&quot;&gt;Name          &lt;/td&gt;
          &lt;td class=&quot;encabezado&quot;&gt;Header          &lt;/td&gt;
          &lt;td class=&quot;encabezado&quot;&gt;Name          &lt;/td&gt;
          &lt;td class=&quot;encabezado&quot;&gt;BCM GPIO          &lt;/td&gt;
          &lt;td class=&quot;encabezado&quot;&gt;Ping wiringPi          &lt;/td&gt;
        &lt;/tr&gt;
&lt;tr&gt;
          &lt;td&gt;–          &lt;/td&gt;
          &lt;td&gt;–          &lt;/td&gt;
          &lt;td&gt;5v&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;
          1 | 2
          &lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;3.3v&lt;/td&gt;
          &lt;td&gt;–          &lt;/td&gt;
          &lt;td&gt;–          &lt;/td&gt;
        &lt;/tr&gt;
&lt;tr&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;17          &lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;28          &lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO8&lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;&lt;strong&gt;
          3 | 4
          &lt;/strong&gt;&lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO9&lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;29          &lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;18          &lt;/td&gt;
        &lt;/tr&gt;
&lt;tr&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;19          &lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;30          &lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO10&lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;&lt;strong&gt;
          5 | 6
          &lt;/strong&gt;&lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;GPIO11&lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;31          &lt;/td&gt;
          &lt;td bgcolor=&quot;#FFFF99&quot;&gt;20          &lt;/td&gt;
        &lt;/tr&gt;
&lt;tr&gt;
          &lt;td&gt;–          &lt;/td&gt;
          &lt;td&gt;–          &lt;/td&gt;
          &lt;td&gt;0v&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;
          7 | 8
          &lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;0v&lt;/td&gt;
          &lt;td&gt;–          &lt;/td&gt;
          &lt;td&gt;–          &lt;/td&gt;
        &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;int wiringPiSetupGpio(void)&lt;/strong&gt;&amp;nbsp;: Idéntica a la anterior, pero utiliza la numeración de pines de Broadcom (BCM GPIO).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;int wiringPiSetupSys(void)&amp;nbsp;&lt;/strong&gt;: En este caso utiliza la interfaz /sys/class/gpio, en vez de trabajar directamente sobre el Hardware.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
Funciones generales
  &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;void pinMode(int pin, int mode)&lt;/strong&gt;&amp;nbsp;: Sirve para especificar el pin (primer argumento) y modo (segundo argumento), que puede ser entrada (INPUT), salida (OUTPUT) o salida PWM (PWM_OUTPUT).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void digitalWrite(int pin, int value)&lt;/strong&gt;&amp;nbsp;: Se utiliza para poner un pin, que previamente ha sido configurado como OUTPUT a dos posibles valores 1 (HIGH) o 0 (LOW).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void digitalWriteByte(int value)&lt;/strong&gt;&amp;nbsp;: Permite escribir en los 8 pines de la GPIO un valor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void pwmWrite(int pin, int value)&lt;/strong&gt;&amp;nbsp;: Escribe el valor del registro PWM (segundo argumento) al pin indicado (primer argumento). El valor suministrado debe estar comprendido entre 0 y 1024, además, hay que tener en cuenta que sólo soporta PWM el pin BCM_GPIO 18.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;int digitalRead(int pin)&amp;nbsp;&lt;/strong&gt;: devuelve el valor leído en el pin indicado (único argumento), que puede ser 1 (HIGH) o 0 (LOW).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void pullUpDnControl(int pin, int pud)&lt;/strong&gt;&amp;nbsp;: establece sobre el pin indicado (primer argumento) el modo de tensión o resistencia, elevar a 3v3 ( PUD_UP), tirar a tierra (PUD_DOWN) o ni elevar ni disminuir (PUD_OFF).&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
Funciones de control PWM
  &lt;/div&gt;
&lt;div&gt;
Las siglas PWM corresponden a&amp;nbsp;&lt;strong&gt;pulse-width modulation&lt;/strong&gt;, en castellano, Modulación por ancho de pulsos, consistente en cambiar el ciclo de una señal periódica. No se pueden utilizar cuando se trabaja en modo sistema (mode sys).
  &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;void pwmSetMode(int mode)&lt;/strong&gt;&amp;nbsp;: El generador puede trabajar en dos modos balanceado ( PWM_MODE_BAL ), que es el que utiliza por defecto Raspberry Pi o marca espacio (PWM_MODE_MS) .&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void pwmSetRange(unsigned int range)&lt;/strong&gt;&amp;nbsp;: Establece el valor máximo del rango del registro PWM, establecido por defecto a 1024.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void pwmSetClock(int divisor)&lt;/strong&gt;&amp;nbsp;: Sirve para establecer el divisor del reloj PWM.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
Funciones de tiempo&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;unsigned int millis(void)&lt;/strong&gt;&amp;nbsp;: Devuelve el numero de milisegundos que han transcurrido desde que se ha invocado a una función Wiring Pi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void delay(unsigned int howLong)&lt;/strong&gt;&amp;nbsp;: Provoca la pausa del programa durante al menos howLong milisegundos.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void delayMicroseconds(unsigned int howLong)&lt;/strong&gt;&amp;nbsp;: Análogo al anterior, pero en este caso se estabecen microsegundos.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
Program/Thread Priority&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;int piHiPri(int priority)&amp;nbsp;&lt;/strong&gt;: sirve para establecer la prioridad del programa o thread, que oscila entre 0 ,valor establecida por defecto y 99 valor máximo y permite la planificación en tiempo real. El valor devuelto es 0 en caso de éxito y -1 en caso de error. Sólo los programas ejecutados como root pueden cambiar su prioridad.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
Funciones de interrupciones&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;int waitForInterrupt(int pin, int timeOut)&lt;/strong&gt;&amp;nbsp;: permite establecer un tiempo de espera en milisegundos (segundo argumento) para una interrupción definida sobre un pin ( primer argumento), en el caso de definir como timeOut -1 esperará indefinidamente. El valor devuelto es 0 en caso de éxito y -1 en caso de error. Esta función está obsoleta y se recomienda utilizar la que se presenta a continuación.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;int wiringPiISR(int pin, int edgeType, &amp;nbsp;void (*function)(void))&lt;/strong&gt;&amp;nbsp;: mediante esta function se puede establecer un manejador sobre un pin, además se debe especificar si se detecta mediante un flanco de bajada (INT_EDGE_FALLING) , un flanco de subida (INT_EDGE_RISING ), en ambos flancos (INT_EDGE_BOTH) o el pin no ha sido inicializado (INT_EDGE_SETUP). El valor devuelto es 0 en caso de éxito y -1 en caso de error.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
Funciones de programación concurrente&lt;/div&gt;
&lt;div&gt;
Wiring Pi permite la utilización de hilos POSIX, así como mecanismos de exclusión mutua (mutex).&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;int piThreadCreate(void * (* fn) (void *)&lt;/strong&gt;&amp;nbsp;: Crea un Thread de una función que ha sido declarada previamente mediante PI_THREAD. La declaración sería similar a PI_TREAD(miThread){ código } y posteriormente, esta función será el argumento de la función. El valor devuelto es 0 en caso de éxito y -1 en caso de error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void piLock(int keyNum)&lt;/strong&gt;&amp;nbsp;: bloquea una clave (keyNum) cuyo valor va de 0 a 3, cuando otro thread intenta bloquear a la clave, queda a la espera de que sea liberado.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void piUnlock(int keyNum)&lt;/strong&gt;&amp;nbsp;: Permite desbloquear una clave definida como en la función anterior.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulo&quot;&gt;
Otras funciones    &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;int piBoardRev(void)&lt;/strong&gt;&amp;nbsp;: indica la versión de la placa sobre la que se está trabajando.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;int wpiPinToGpio(int wPiPin)&amp;nbsp;&lt;/strong&gt;: transforma el número de pin según el convenio de Wiring Pi al convenio de BCM GPIO.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;void setPadDrive(int group, int value)&lt;/strong&gt;&amp;nbsp;: establece la “fuerza” de los drivers para un grupo de pins.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/8189214346659636000/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/libreria-wiring-pi.html#comment-form' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/8189214346659636000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/8189214346659636000'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/libreria-wiring-pi.html' title='LIBRERIA WIRING PI'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-5604925954209193734</id><published>2013-06-06T15:36:00.000+01:00</published><updated>2013-06-06T15:45:49.371+01:00</updated><title type='text'>COMPILAR ENSAMBLADOR ARM Y C</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:12px; border:2px solid #000000; padding:5px}
&lt;/style&gt;

&lt;br /&gt;
&lt;div&gt;
En esta entrada se parte de unos conocimientos de programación básicos de ARM y C.
&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsathSrDFeXIbmhrbdxZQ0nVDF87hPedrDRdjxi9OaLmf1sntCVnZgw2E4JbFRrBrnSOIAjPd9Pa_BNJa5q7Xh8-X1NICFuu4OLViO7zofXboquyTTS0Sb6tXAkYb_6AjUSuee_6d084AK/s1600/Captura.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;255&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsathSrDFeXIbmhrbdxZQ0nVDF87hPedrDRdjxi9OaLmf1sntCVnZgw2E4JbFRrBrnSOIAjPd9Pa_BNJa5q7Xh8-X1NICFuu4OLViO7zofXboquyTTS0Sb6tXAkYb_6AjUSuee_6d084AK/s400/Captura.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
gcc&lt;/div&gt;
&lt;div&gt;
gcc (GNU Compiler Collection) es una colección de compiladores libres y a continuación se presentan sus principales argumentos:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-c&lt;/strong&gt; Es utilizado para compilar o ensamblar los ficheros fuentes, pero sin enlazar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-S &lt;/strong&gt;Sirve para transformar un archivo que contiene un programa fuente en C en un archivo fuente en ensamblador.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-o archivo&lt;/strong&gt;  La salida del compilador se almacena en el archivo indicado.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-g&lt;/strong&gt; Sirve para generar información de depuración, muy útil para poder utilizar posteriormente en programas de depuración.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-l librería&lt;/strong&gt; Añade la libreria especificada en la compilación.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Para probar algunas opciones se va a partir del programa holamundo&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
main(){&lt;br /&gt;
printf(&quot;Hola Mundo\n&quot;);&lt;br /&gt;
}&lt;/div&gt;
&lt;div&gt;
Se va a compilar y ejecutar para ello&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
gcc -o holamundo holamundo.c&lt;br /&gt;
chmod +x holamundo&lt;br /&gt;
./holamundo
 &lt;/div&gt;
&lt;div&gt;
Si se desea generar el código en ensamblador&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
gcc -S holamundo.c&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
as&lt;/div&gt;
&lt;div&gt;
as (GNU Assembler) es un ensamblador del proyecto GNU, se van a citar aquellas que han sido más utilizadas.&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-o archivo&lt;/strong&gt; Sirve para que el archivo objeto generado se denomine archivo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-g&lt;/strong&gt; Sirve para generar información de depuración, muy útil para poder utilizar posteriormente en programas de depuración.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;programa&quot;&gt;
as –o holamundo.o holamundo.s&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
ld&lt;/div&gt;
&lt;div&gt;
ld (GNU Linker) sirve para enlazar ficheros objeto y generar un ejecutable.
      &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-l librería&lt;/strong&gt; Añade la librería especificada en la compilación.&lt;/li&gt;
&lt;li&gt;-&lt;strong&gt;m maquina&lt;/strong&gt; Especifica la arquitectura a emplear cuando se desensamblen ficheros objeto.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-dynamic-linker&amp;nbsp;&lt;/strong&gt; Establece el enlazado dinámico&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-T&amp;nbsp;&lt;/strong&gt; Permite definir donde comienzan las secciones&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-o archivo&lt;/strong&gt; Sirve para que el archivo objeto generado se denomine archivo.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;programa&quot;&gt;
ld -dynamic-linker /lib/ld-linux.so.3 -o p1a p1a.o copy.o -T ldscript.ld     &lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
objdump
    &lt;/div&gt;
&lt;div&gt;
Es una herramienta que forma parte de las GNU Binutils, es una herramienta que muestra información sobre los programas objeto.
    &lt;/div&gt;
&lt;div&gt;
Se proceden a mostrar las entradas que se han considerado más relevantes del manual    &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-d /--disassemble&lt;/strong&gt; Muestra los mnemónicos de ensamblador para las instrucciones máquina de fichobj. Esta opción sólo desensambla aquellas secciones para las que se espera que contengan instrucciones.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-D / --disassemble-all&lt;/strong&gt; Como -d, pero desensambla los contenidos de todas las secciones, no sólo aquéllas donde se espera que contengan instrucciones.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;‐j / ‐‐section=&lt;/strong&gt;&amp;nbsp;&amp;nbsp; nombre Seleccionar información sólo de la sección mencionada.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-S&lt;/strong&gt; Intercala código fuente con desensamblado.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;‐s / ‐‐full‐contents&lt;/strong&gt;&amp;nbsp; Mostrar contenidos completos de todas las secciones.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-t &lt;/strong&gt;Muestra las entradas de la tabla de símbolos.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Como ejemplo se va a partir del programa holamundo.c definido anteriormente, a continuación se procederá a compilar el archivo con las opciones –g para que genere información de depuración y –o para indicar un fichero de salida.
    &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
gcc –g –o holamundo holamundo.c
      &lt;/div&gt;
&lt;div&gt;
A modo de ejemplo se va a proceder a utilizar la opción –S (desensambla e intercala código fuente) &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
objdump –S holamundo
      &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
holamundo:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file format elf32-littlearm
      &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
Disassembly of section .init:
      &lt;br /&gt;
&lt;br /&gt;
000082cc &amp;lt;_init&amp;gt;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;82cc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e92d4008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {r3, lr}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;82d0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eb000020&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8358
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;82d4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e8bd8008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {r3, pc}
      &lt;br /&gt;
&lt;br /&gt;
Disassembly of section .plt:
      &lt;br /&gt;
&lt;br /&gt;
000082d8 &amp;amp;lt;.plt&amp;amp;gt;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;82d8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e52de004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {lr}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; (str lr, [sp, #-4]!)
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 82dc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59fe004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr, [pc, #4]&amp;nbsp;&amp;nbsp;&amp;nbsp; ; 82e8 &amp;lt;_init data-blogger-escaped-x1c=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 82e0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e08fe00e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr, pc, lr
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 82e4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e5bef008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, [lr, #8]!
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;82e8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00008280&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00008280
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 82ec:&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e28fc600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip, pc, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;82f0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e28cca08&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip, ip, #32768&amp;nbsp; ; 0x8000
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 82f4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e5bcf280&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, [ip, #640]! ; 0x280
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 82f8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e28fc600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip, pc, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 82fc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e28cca08&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;ip, ip, #32768&amp;nbsp; ; 0x8000
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8300:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e5bcf278&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, [ip, #632]! ; 0x278
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8304:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e28fc600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip, pc, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8308:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e28cca08&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip, ip, #32768&amp;nbsp; ; 0x8000
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 830c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e5bcf270&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, [ip, #624]! ; 0x270
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8310:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e28fc600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip, pc, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8314:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e28cca08&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip, ip, #32768&amp;nbsp; ; 0x8000
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8318:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e5bcf268&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, [ip, #616]! ; 0x268
      &lt;br /&gt;
&lt;br /&gt;
Disassembly of section .text:
      &lt;br /&gt;
&lt;br /&gt;
0000831c &amp;lt;_start&amp;gt;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 831c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e3a0b000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fp, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8320:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e3a0e000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8324:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e49d1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {r1}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; (ldr r1, [sp], #4)
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8328:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a0200d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, sp
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 832c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e52d2004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {r2}&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; (str r2, [sp, #-4]!)
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8330:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e52d0004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {r0}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; (str r0, [sp, #-4]!)
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8334:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59fc010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip, [pc, #16]&amp;nbsp;&amp;nbsp; ; 834c &amp;lt;_start data-blogger-escaped-x30=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8338:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e52dc004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {ip}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; (str ip, [sp, #-4]!)
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 833c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f000c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, [pc, #12]&amp;nbsp;&amp;nbsp; ; 8350 &amp;lt;_start data-blogger-escaped-x34=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8340:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f300c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, [pc, #12]&amp;nbsp;&amp;nbsp; ; 8354 &amp;lt;_start data-blogger-escaped-x38=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8344:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebffffeb&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 82f8 &amp;lt;_init data-blogger-escaped-x2c=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8348:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebfffff0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8310 &amp;lt;_init data-blogger-escaped-x44=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 834c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00008444&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00008444
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8350:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 000083c8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x000083c8
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8354:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 000083e4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x000083e4
      &lt;br /&gt;
&lt;br /&gt;
00008358&amp;nbsp;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8358:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f3014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, [pc, #20]&amp;nbsp;&amp;nbsp; ; 8374
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 835c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, [pc, #20]&amp;nbsp;&amp;nbsp; ; 8378
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8360:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e08f3003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, pc, r3
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8364:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e7933002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, [r3, r2]
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8368:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e3530000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 836c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 012fff1e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bxeq&amp;nbsp;&amp;nbsp;&amp;nbsp; lr
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8370:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eaffffe3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8304 &amp;lt;_init data-blogger-escaped-x38=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8374:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00008200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00008200
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8378:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0000001c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x0000001c
      &lt;br /&gt;
&lt;br /&gt;
0000837c &amp;lt;__do_global_dtors_aux&amp;gt;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 837c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f3010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, [pc, #16]&amp;nbsp;&amp;nbsp; ; 8394 &amp;lt;__do_global_dtors_aux data-blogger-escaped-x18=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8380:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e5d32000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldrb&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, [r3]
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8384:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e3520000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8388:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03a02001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; moveq&amp;nbsp;&amp;nbsp; r2, #1
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 838c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05c32000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strbeq&amp;nbsp; r2, [r3]
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8390:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e12fff1e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8394:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00010590&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00010590
      &lt;br /&gt;
&lt;br /&gt;
00008398&amp;nbsp;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8398:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f0020&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, [pc, #32]&amp;nbsp;&amp;nbsp; ; 83c0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 839c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e92d4008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {r3, lr}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83a0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e5903000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, [r0]
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83a4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e3530000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83a8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08bd8008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; popeq&amp;nbsp;&amp;nbsp; {r3, pc}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83ac:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f3010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, [pc, #16]&amp;nbsp;&amp;nbsp; ; 83c4
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83b0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e3530000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83b4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08bd8008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; popeq&amp;nbsp;&amp;nbsp; {r3, pc}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83b8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e12fff33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; blx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83bc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e8bd8008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {r3, pc}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;83c0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00010474&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00010474
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83c4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00000000
      &lt;br /&gt;
&lt;br /&gt;
000083c8
        :&lt;br /&gt;
#include
      &lt;br /&gt;
main(){
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83c8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e92d4800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {fp, lr}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;83cc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e28db004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fp, sp, #4
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&quot;Hola Mundo\n&quot;);
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83d0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f0008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, [pc, #8]&amp;nbsp;&amp;nbsp;&amp;nbsp; ; 83e0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;83d4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebffffc4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 82ec &amp;lt;_init data-blogger-escaped-x20=&quot;&quot;&amp;gt;
      &lt;br /&gt;
}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83d8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a00003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r3
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83dc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e8bd8800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {fp, pc}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83e0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00008454&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00008454
      &lt;br /&gt;
&lt;br /&gt;
000083e4 &amp;lt;__libc_csu_init&amp;gt;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83e4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e92d45f8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {r3, r4, r5, r6, r7, r8, sl, lr}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83e8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a06000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r6, r0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83ec:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59f5048&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, [pc, #72]&amp;nbsp;&amp;nbsp; ; 843c &amp;lt;__libc_csu_init data-blogger-escaped-x58=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83f0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e59fa048&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sl, [pc, #72]&amp;nbsp;&amp;nbsp; ; 8440 &amp;lt;__libc_csu_init data-blogger-escaped-x5c=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83f4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e08f5005&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, pc, r5
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83f8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e08fa00a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sl, pc, sl
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 83fc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e065a00a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rsb&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sl, r5, sl
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8400:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a07001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r7, r1
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8404:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a08002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r8, r2
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8408:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebffffaf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 82cc &amp;lt;_init&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 840c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1b0a14a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asrs&amp;nbsp;&amp;nbsp;&amp;nbsp; sl, sl, #2
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8410:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08bd85f8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; popeq&amp;nbsp;&amp;nbsp; {r3, r4, r5, r6, r7, r8, sl, pc}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8414:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e3a04000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r4, #0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8418:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e4953004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, [r5], #4
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 841c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a00006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r6
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8420:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a01007&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r1, r7
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8424:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a02008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, r8
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8428:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e2844001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r4, r4, #1
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 842c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e12fff33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; blx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8430:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e154000a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r4, sl
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8434:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1afffff7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bne&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8418 &amp;lt;__libc_csu_init data-blogger-escaped-x34=&quot;&quot;&amp;gt;
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8438:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e8bd85f8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {r3, r4, r5, r6, r7, r8, sl, pc}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 843c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00008070&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00008070
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8440:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00008070&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp;&amp;nbsp; 0x00008070
      &lt;br /&gt;
&lt;br /&gt;
00008444 &amp;lt;__libc_csu_fini&amp;gt;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8444:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e12fff1e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;bx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lr
      &lt;br /&gt;
&lt;br /&gt;
Disassembly of section .fini:
      &lt;br /&gt;
&lt;br /&gt;
00008448 &amp;lt;_fini&amp;gt;:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 8448:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e92d4008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; {r3, lr}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 844c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e8bd8008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {r3, pc}
      &lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Muestra los símbolos con los que enlaza un programa.
    &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
nm holamundo
      &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
00010478 d _DYNAMIC
      &lt;br /&gt;
00010568 d _GLOBAL_OFFSET_TABLE_
      &lt;br /&gt;
00008450 R _IO_stdin_used
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w _Jv_RegisterClasses
      &lt;br /&gt;
00008468 r __FRAME_END__
      &lt;br /&gt;
00010474 d __JCR_END__
      &lt;br /&gt;
00010474 d __JCR_LIST__
      &lt;br /&gt;
00010594 A __bss_end__
      &lt;br /&gt;
00010590 A __bss_start
      &lt;br /&gt;
00010590 A __bss_start__
      &lt;br /&gt;
00010588 D __data_start
      &lt;br /&gt;
0000837c t __do_global_dtors_aux
      &lt;br /&gt;
00010470 t __do_global_dtors_aux_fini_array_entry
      &lt;br /&gt;
0001058c D __dso_handle
      &lt;br /&gt;
00010594 A __end__
      &lt;br /&gt;
0001046c t __frame_dummy_init_array_entry
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w __gmon_start__
      &lt;br /&gt;
00010470 t __init_array_end
      &lt;br /&gt;
0001046c t __init_array_start
      &lt;br /&gt;
00008444 T __libc_csu_fini
      &lt;br /&gt;
000083e4 T __libc_csu_init
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; U __libc_start_main@@GLIBC_2.4
      &lt;br /&gt;
00010594 A _bss_end__
      &lt;br /&gt;
00010590 A _edata
      &lt;br /&gt;
00010594 A _end
      &lt;br /&gt;
00008448 T _fini
      &lt;br /&gt;
000082cc T _init
      &lt;br /&gt;
0000831c T _start
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; U abort@@GLIBC_2.4
      &lt;br /&gt;
00008358 t call_gmon_start
      &lt;br /&gt;
00010590 b completed.5637
      &lt;br /&gt;
00010588 W data_start
      &lt;br /&gt;
00008398 t frame_dummy
      &lt;br /&gt;
000083c8 T main
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; U puts@@GLIBC_2.4
      &lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
C y ARM
    &lt;/div&gt;
&lt;div&gt;
A continuación se va a mostrar el siguiente ejemplo, la función en ensamblador es una suma almacenada en suma.s y es llamada desde el programa main.c.
    &lt;/div&gt;
&lt;div&gt;
main.c
    &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
#include&amp;lt;stdio.h&amp;gt;
      &lt;br /&gt;
extern int suma(int a, int b);
      &lt;br /&gt;
int main(int argc, char *argv[])
      &lt;br /&gt;
{
      &lt;br /&gt;
&amp;nbsp; printf(&quot;== sum ==\n&quot;);
      &lt;br /&gt;
&amp;nbsp; int a = 71;
      &lt;br /&gt;
&amp;nbsp; int b = 29;
      &lt;br /&gt;
&amp;nbsp; printf(&quot;%d + %d = %d\n&quot;, a, b, suma(a, b));
      &lt;br /&gt;
&amp;nbsp; return 0;
      &lt;br /&gt;
}
      &lt;/div&gt;
&lt;div&gt;
suma.s
    &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
&amp;nbsp;&amp;nbsp;.align 2
      &lt;br /&gt;
&amp;nbsp; .arm
      &lt;br /&gt;
&amp;nbsp; .global suma
      &lt;br /&gt;
suma:
      &lt;br /&gt;
&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, r0, r1 in r2
      &lt;br /&gt;
&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
      &lt;br /&gt;
&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, lr&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;
      &lt;/div&gt;
&lt;div&gt;
Pasos para tener este programa como ejecutable
    &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
gcc -c main.c
      &lt;br /&gt;
as -o suma.o suma.s
      &lt;br /&gt;
gcc -o main suma.o main.o
      &lt;br /&gt;
chmod a+x suma
      &lt;br /&gt;
./suma
      &lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
ARM y C
    &lt;/div&gt;
&lt;div&gt;
En el siguiente ejemplo partimos de un fichero copy.c que copia de una cadena origen a una cadena destino n carácteres.
    &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
void __c_copy(char *orig, char *dest, int tam)&amp;nbsp; {
     &lt;br /&gt;
&amp;nbsp;int i;
      &lt;br /&gt;
&amp;nbsp;for(i=0;i&amp;lt;tam;i++){
      &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dest[i]=orig[i];
    &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
    &lt;br /&gt;
}
    &lt;/div&gt;
&lt;div&gt;
El siguiente programa en ensamblador contenido en el fichero main.s emplea la función anterior para copiar una cadena y mostrarla por pantalla.
    &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
.text
      &lt;br /&gt;
.global _start
      &lt;br /&gt;
_start:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .extern __c_copy
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr r0, =.orig
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr r1, =.dest
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov r2, #11
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp;&amp;nbsp; __c_copy
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr r0, =.dest
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl _imprime
      &lt;br /&gt;
bl exit
      &lt;br /&gt;
.global _imprime
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _imprime:
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stmdb sp!, {r0,r1,lr}
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov r1,r0
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr r0, =.string
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bl printf
      &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldmia sp!, {r0,r1,pc}
      &lt;br /&gt;
.data
      &lt;br /&gt;
.string:
      &lt;br /&gt;
.asciz &quot;%s\n&quot;
      &lt;br /&gt;
.orig:
      &lt;br /&gt;
.asciz &quot;Hola Mundo&quot;
      &lt;br /&gt;
.dest:
      &lt;br /&gt;
.space 11
      &lt;br /&gt;
.end
      &lt;/div&gt;
&lt;div&gt;
Pasos para tener este programa como ejecutable
    &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
gcc -c copy.c
      &lt;br /&gt;
as -o main.o main.s
      &lt;br /&gt;
ld -dynamic-linker /lib/ld-linux.so.3 -lc -o main main.o copy.o
      &lt;br /&gt;
chmod a+x&amp;nbsp;main&amp;nbsp;
      &lt;br /&gt;
./main&amp;nbsp;
      &lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/5604925954209193734/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/06/compilar-ensamblador-arm-y-c.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/5604925954209193734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/5604925954209193734'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/06/compilar-ensamblador-arm-y-c.html' title='COMPILAR ENSAMBLADOR ARM Y C'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsathSrDFeXIbmhrbdxZQ0nVDF87hPedrDRdjxi9OaLmf1sntCVnZgw2E4JbFRrBrnSOIAjPd9Pa_BNJa5q7Xh8-X1NICFuu4OLViO7zofXboquyTTS0Sb6tXAkYb_6AjUSuee_6d084AK/s72-c/Captura.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-7761045036461610719</id><published>2013-05-07T16:23:00.000+01:00</published><updated>2013-06-06T15:45:49.373+01:00</updated><title type='text'>DEPURADORES GDB Y DDD</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Las dos herramientas que se han estudiado para la depuración son gdb y ddd, el primero de ellos es en línea de comandos y el segundo en entorno gráfico. DDD utiliza gdb y lamentablemente, presenta algunos bugs ausentes en gdb y por tanto, resulta más interesante trabajar directamente sobre gdb.&lt;/span&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; font-size: large;&quot;&gt;gdb&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;gdb (GNU Debugger) es un depurador de programas escritos en cualquier lenguaje de programación y compilados con gcc.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;El primer paso es compilar el programa en gcc con la opción –g , incorpora información para la depuración. Ídem si se obtienen los programas objeto mediante as con el argumento -gstabs&amp;nbsp;y posteriormente habrá que hacer el enlazado mediante ld.&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #D9D9D9; border: solid windowtext 1.0pt; margin-left: 1.0cm; margin-right: 1.0cm; mso-background-themecolor: background1; mso-background-themeshade: 217; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background-position: initial initial; background-repeat: initial initial; border: none; margin: 6pt 0cm; padding: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;gcc –g –o holamundo holamundo.c&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background-position: initial initial; background-repeat: initial initial; border: none; margin: 6pt 0cm; padding: 0cm;&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;as –gstabs –o salida.o salida.s&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;En este momento, ya se puede emplear el depurador, para ello hay que invocar a gdb y pasar como argumento holamundo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;background: #D9D9D9; border: solid windowtext 1.0pt; margin-left: 1.0cm; margin-right: 1.0cm; mso-background-themecolor: background1; mso-background-themeshade: 217; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background-position: initial initial; background-repeat: initial initial; border: none; line-height: 150%; padding: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;gdb holamundo&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;Principales opciones&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;ul&gt;&lt;span style=&quot;color: #444444;&quot;&gt;
&lt;li&gt;&lt;b&gt;backtrace&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Muestra la pila de llamadas&lt;/li&gt;
&lt;li&gt;&lt;b&gt;b función&lt;/b&gt; ó&amp;nbsp;&lt;b&gt;b fichero:línea&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Sirven para establecer puntos de ruptura o breakpoint en la posición indicada&lt;/li&gt;
&lt;li&gt;&lt;b&gt;c&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;continua&lt;/li&gt;
&lt;li&gt;&lt;b&gt;frame n&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/b&gt;Muestra la llamada n&lt;/li&gt;
&lt;li&gt;&lt;b&gt;info b&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp;Muestra los breakpoints&lt;/li&gt;
&lt;li&gt;&lt;b&gt;info registers&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Muestra la información contenida en los registros&lt;/li&gt;
&lt;li&gt;&lt;b&gt;l función&lt;/b&gt; ó&amp;nbsp;&lt;b&gt;l fichero:línea&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;listamos el código&lt;/li&gt;
&lt;li&gt;&lt;b&gt;n&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;pasa a la línea siguiente sin entrar en la llamada.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;print expresión&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;muestra el valor de una expresión&lt;/li&gt;
&lt;li&gt;&lt;b&gt;q&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;salir&lt;/li&gt;
&lt;li&gt;&lt;b&gt;r&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Ejecuta el programa.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;s&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;pasa a la línea siguiente entrando en la llamada.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;x /nfu addr&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/b&gt;Examina la memoria (n unidades) en formato(f) string (s), hexadecimal (x) o machine (i) en tamaño u byte (b), halfword(h), word(w), giant word(g).&lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;
&lt;/span&gt;
&lt;h2 style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;ddd&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;span style=&quot;color: #444444;&quot;&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;div&gt;
ddd (Data Display Debugger) es un depurador en entorno gráfico. Las posibilidades que ofrece son prácticamente las mismas que podemos realizar en gdb.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
De igual manera que en el programa anterior, el primer paso sería compilar el programa incluyendo los símbolos para su posterior depuración.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #d9d9d9; border: 1pt solid windowtext; margin-left: 1cm; margin-right: 1cm; padding: 4pt;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: 150%; padding: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;gcc –g –o holamundo
holamundo.c&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;En este momento, se debe abrir el fichero, tal y como se muestra en la imagen, utilizando la opción filter para abrir carpetas y open para abrir el fichero.&lt;/span&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/AVvXsEjJAyVsbukxAI3VtOQilQjl90JyaNUCl8UjjfhcDxuQOL34wHvV5z6gMAoAgtx_okPy6IfsC802q_sSSBLg6GVRsAkr0nJywKlmqsCsDkntw90udjRGBJCsFqcDpIOOvKiLn3ohPz0z2E74/s1600/image002+(2).png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;317&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJAyVsbukxAI3VtOQilQjl90JyaNUCl8UjjfhcDxuQOL34wHvV5z6gMAoAgtx_okPy6IfsC802q_sSSBLg6GVRsAkr0nJywKlmqsCsDkntw90udjRGBJCsFqcDpIOOvKiLn3ohPz0z2E74/s400/image002+(2).png&quot; width=&quot;400&quot; /&gt;&lt;/a&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/AVvXsEjKaIJZ-9wvhiHBOLcgiZa1P0VmFe2CKoGkYzlIVc_3voT2ofYLkf-435b5X_D-43dLtrwJF2R6ICTKCQZ1H4829O8CPhsbNBDlF3e8DojLqsSeQVUBfyOMrkRnVui0RlQqSLVDX2VokaBu/s1600/image003+(2).png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;366&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKaIJZ-9wvhiHBOLcgiZa1P0VmFe2CKoGkYzlIVc_3voT2ofYLkf-435b5X_D-43dLtrwJF2R6ICTKCQZ1H4829O8CPhsbNBDlF3e8DojLqsSeQVUBfyOMrkRnVui0RlQqSLVDX2VokaBu/s400/image003+(2).png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Una vez abierto el fichero, se presentan dos ventanas de especial interés, la primera, muestra el programa en C y la segunda, en la parte inferior, incorpora la herramienta gdb.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&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/AVvXsEjNmtQnhb7ZJMeK_QJjLj3ahVuroNkIDX_DRpqFwd0BO3EJxG3anZbhR3oJx8CPLtO0o9K6fxkgJ9y_r2nz53ep5cNtjsKMFzbFu4N0Y01qI4Vlr6z6BYeOcJA9h8HBa-7_PyHD0SDRi0ba/s1600/image004+(2).png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;259&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNmtQnhb7ZJMeK_QJjLj3ahVuroNkIDX_DRpqFwd0BO3EJxG3anZbhR3oJx8CPLtO0o9K6fxkgJ9y_r2nz53ep5cNtjsKMFzbFu4N0Y01qI4Vlr6z6BYeOcJA9h8HBa-7_PyHD0SDRi0ba/s640/image004+(2).png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span id=&quot;goog_1843594176&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1843594177&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Para poner un breakpoint en una línea concreta del programa, hay que pinchar encima del número y en la parte superior se puede seleccionar Break.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;/span&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;En este punto ya se puede comenzar la ejecución del programa&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;div&gt;
&lt;span id=&quot;goog_865504618&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwlZ4DqNbCYpFAud8y4TK4sa2MBCscbN1DMcSPJwcpt6AU0Vv47E_jzUlooeni15bUBVlIf24qNE0iaEadq4y81xt6jPNaif3qiNTeznrxS0xOxpdoj18e-s_9kK2NttPkIYMx5QpliIRl/s1600/image005.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;264&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwlZ4DqNbCYpFAud8y4TK4sa2MBCscbN1DMcSPJwcpt6AU0Vv47E_jzUlooeni15bUBVlIf24qNE0iaEadq4y81xt6jPNaif3qiNTeznrxS0xOxpdoj18e-s_9kK2NttPkIYMx5QpliIRl/s640/image005.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
En este momento, el programa ha comenzado su ejecución y se ha detenido en la línea 8. Aquí ya es posible mostrar el valor de una variable e incluso cambiarla.&lt;br /&gt;
&lt;br /&gt;
Para mostrar una variable, se sebe seleccionar primero y mediante el botón derecho se muestra un menú que tiene varias opciones.&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/AVvXsEgZhp0AHcQgv3uSfiSAK9qxm3DfaI72dpsldCpihNiLju65c3qaNQr_XOl2UQNflwDMeQ1Cq6Ag5FarW5wCrJ_Y8riJd8-ZWw8xlk6YzqmjZKVRSVrn5EWiqgJAM0iWql2WuJv2piz8vG6G/s1600/image006+(2).png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;294&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZhp0AHcQgv3uSfiSAK9qxm3DfaI72dpsldCpihNiLju65c3qaNQr_XOl2UQNflwDMeQ1Cq6Ag5FarW5wCrJ_Y8riJd8-ZWw8xlk6YzqmjZKVRSVrn5EWiqgJAM0iWql2WuJv2piz8vG6G/s640/image006+(2).png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Para modificar el valor de la misma, otra vez se debe seleccionar y en la barra de iconos de la parte superior está la opción Set&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/AVvXsEhlVmERLyTjSX7czyw6RKoeEtj09P6qQ_82ccHeriLcEacF5WODsWJlHehxQwsq0YarHLfZPSbDARRPTn9oHFETAQAuGBmEzCKoT1tjubA2u5llYj2oOOrz9F7f4r_rJzRCnTSsQNbSshk1/s1600/image007+(2).png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;326&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlVmERLyTjSX7czyw6RKoeEtj09P6qQ_82ccHeriLcEacF5WODsWJlHehxQwsq0YarHLfZPSbDARRPTn9oHFETAQAuGBmEzCKoT1tjubA2u5llYj2oOOrz9F7f4r_rJzRCnTSsQNbSshk1/s640/image007+(2).png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
En este momento, para retomar la ejecución del programa se deberá seleccionar la opción Cont, que aparece en la ventana de iconos de la derecha.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTNgbuY9_oyn26GPFB8A30rRSTZjJsbnvAnMsRXlyZaZDKE2EQl0WWbcJzPLUNFZ5eAFhHDeEaAgfGI1e6CRwn5AODaGrntJftQ8b4csgofJeiNYaFO_iQ-buRys5xS3dLViPfcA5m8c74/s1600/image008.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;34&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTNgbuY9_oyn26GPFB8A30rRSTZjJsbnvAnMsRXlyZaZDKE2EQl0WWbcJzPLUNFZ5eAFhHDeEaAgfGI1e6CRwn5AODaGrntJftQ8b4csgofJeiNYaFO_iQ-buRys5xS3dLViPfcA5m8c74/s640/image008.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Si se desea conocer el contenido de la memoria, en el entorno gráfico se puede acceder mediante Data -&amp;gt; Memory. En este momento, se deberá elegir cuantas zonas de memoria se desean mostrar, en que formato y qué tipo de agrupación.&lt;/span&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/AVvXsEgbBzJFKRffv1x2-VsY8qafKPQIiCCdnGZxUAjuUIpj1hYzYVwHFGZqjFbtOLfoYZVgmprGzW7e3JkBt1z7GQLzk11jMElrzBoX0-RYnEle73HUkzGVfrWevvtnineP_tLd3zWIx8vP3YQi/s1600/image009.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;500&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbBzJFKRffv1x2-VsY8qafKPQIiCCdnGZxUAjuUIpj1hYzYVwHFGZqjFbtOLfoYZVgmprGzW7e3JkBt1z7GQLzk11jMElrzBoX0-RYnEle73HUkzGVfrWevvtnineP_tLd3zWIx8vP3YQi/s640/image009.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
En el caso de que se desee conocer la información relativa a registros, hay que ir al menú Status -&amp;gt; Registers&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/AVvXsEi-VRVMIw3e7Ov6d5PGD3ej_udNgC6DVJJiaqlNXjih9VlzXt8HJRRQwlmv0sxPHNjXdLA1GKV7xKnMluivpLLG2dxKq-Nqpz7GNqUsS7H3DS020d3eUCO_owvuca-QNEmtKLT981t7-2hl/s1600/image010.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;418&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-VRVMIw3e7Ov6d5PGD3ej_udNgC6DVJJiaqlNXjih9VlzXt8HJRRQwlmv0sxPHNjXdLA1GKV7xKnMluivpLLG2dxKq-Nqpz7GNqUsS7H3DS020d3eUCO_owvuca-QNEmtKLT981t7-2hl/s640/image010.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/7761045036461610719/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/05/depuradores-gdb-y-ddd.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/7761045036461610719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/7761045036461610719'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/05/depuradores-gdb-y-ddd.html' title='DEPURADORES GDB Y DDD'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJAyVsbukxAI3VtOQilQjl90JyaNUCl8UjjfhcDxuQOL34wHvV5z6gMAoAgtx_okPy6IfsC802q_sSSBLg6GVRsAkr0nJywKlmqsCsDkntw90udjRGBJCsFqcDpIOOvKiLn3ohPz0z2E74/s72-c/image002+(2).png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-2840773029944740286</id><published>2013-04-12T12:56:00.000+01:00</published><updated>2013-06-06T15:47:47.567+01:00</updated><title type='text'>INSTALANDO Y CONFIGURANDO RASPBIAN</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
div{color: #444444; font-family: Verdana, sans-serif; text-align:justify;margin-bottom:5px;}
li{color: #444444; font-family: Verdana, sans-serif; text-align:justify;}
.titulo {color: #444444; font-family: Verdana, sans-serif; font-size: large;}
.imagen{text-align: center;} 
.programa{font-family:&quot;Courier New&quot;, Courier, monospace; color:#000000; background-color:#CCCCCC; font-size:12px; border:2px solid #000000; padding:5px;}
&lt;/style&gt;

&lt;br /&gt;
&lt;div class=&quot;titulo&quot;&gt;
INSTALACIÓN DE RASPBIAN
&lt;/div&gt;
&lt;div&gt;
Dentro de la página oficial de la
Fundación Raspberry Pi, podemos descargar varios sistemas operativos (&lt;a href=&quot;http://www.raspberrypi.org/downloads&quot; target=&quot;_blank&quot;&gt;http://www.raspberrypi.org/downloads&lt;/a&gt;), aunque el
más difundido y seguramente más práctico, es Raspbian, que es una distribución
De&lt;b&gt;bian &lt;/b&gt;adaptada para &lt;b&gt;Rasp&lt;/b&gt;berry Pi.
&lt;/div&gt;
&lt;div&gt;
Para instalar Raspbian sobre una tarjeta
SD, debemos emplear otro equipo, en el que hayamos descargado la
imagen del Sistema Operativo y que tenga un lector de tarjetas SD, que son la
mayor parte.&lt;/div&gt;
&lt;div&gt;
Si el equipo tiene Windows, lo más
sencillo, es descargar el software gratuito “&lt;a href=&quot;http://sourceforge.net/projects/win32diskimager/&quot; target=&quot;_blank&quot;&gt;Win32 Disk Imager&lt;/a&gt;”. En Image File
seleccionamos el fichero que contenga la imagen del Sistema Operativo, en
Device debemos asegurarnos que escogemos la unidad correcta asociada a la
tarjeta SD y mediante el botón Write realizamos el volcado.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidlPSTkbri2wllwfp-BnU_mDLSbqo1zJNWlPF-SRe2y-geUlN0rroqBVrVRRXqceIebtmJAJuScN5XOFcxWFxR05NCBF8zQLT9euf5HD1-PF69WKuwQYb0IPuixrhoJjILBrrZiAQrxIzV/s1600/win32diskimager.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidlPSTkbri2wllwfp-BnU_mDLSbqo1zJNWlPF-SRe2y-geUlN0rroqBVrVRRXqceIebtmJAJuScN5XOFcxWFxR05NCBF8zQLT9euf5HD1-PF69WKuwQYb0IPuixrhoJjILBrrZiAQrxIzV/s400/win32diskimager.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Una
vez finalizado este proceso , ya podemos insertar la tarjeta en Raspberry Pi y
trabajar.&lt;/div&gt;
&lt;div&gt;
Si
utilizamos Linux, una alternativa puede ser mediante el comando dd ejecutado
como root, donde especificaremos&amp;nbsp;
mediante el argumento &lt;b&gt;if&lt;/b&gt;  la
ubicación de la imagen y mediante &lt;b&gt;of&lt;/b&gt;
la tarjeta SD.&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
CONFIGURANDO RASPBIAN&lt;/div&gt;
&lt;div&gt;
El usuario por defecto de Raspbian es &lt;/div&gt;
&lt;b&gt;pi&lt;/b&gt; y su contraseña &lt;b&gt;raspberry&lt;/b&gt;, que es el que se deberá introducir la primera vez que se arranque la Raspberry Pi. Asimismo, el nombre por defecto es &lt;b&gt;raspberrypi&lt;/b&gt;.


&lt;br /&gt;
&lt;div&gt;
Una vez realizado el volcado del Sistema en la tarjeta SD,
se debe proceder a su inserción en Raspberry Pi y conexión a la corriente para
poder trabajar.&lt;/div&gt;
&lt;div&gt;
La primera pantalla que se presenta la primera vez que se
enciende Raspberry Pi, permite configurar el Sistema Operativo. Esta
configuración se puede realizar en este momento o más adelante, mediante el
comando raspi-config (ejecutar mediante sudo).&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv2mgJiYXK4en2AerRP1XfF6MpNHjr1ryVReXApZwyARgzSNABeeR4tNbrdk2nHnTs4B8v3QDoGP_p6EJdlhaL2m4tj4Pkh5Nt0mYzFn2D5FRPfzv2obL13GLIq4Aif71UUblqUm9qLw0M/s1600/menuraspi.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;368&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv2mgJiYXK4en2AerRP1XfF6MpNHjr1ryVReXApZwyARgzSNABeeR4tNbrdk2nHnTs4B8v3QDoGP_p6EJdlhaL2m4tj4Pkh5Nt0mYzFn2D5FRPfzv2obL13GLIq4Aif71UUblqUm9qLw0M/s640/menuraspi.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Para movernos en este menú utilizaremos
los cursores o la tecla tabulador y para aceptar enter. En este paso hay que
advertir que en un menú en el que aparecen sólo corchetes ( [&amp;nbsp; ] ) no está seleccionado, mientras que cuando
aparece un asterisco entre los corchetes si está seleccionado. La
selección/deselección se realiza mediante el espacio.&lt;/div&gt;
&lt;div&gt;
En un primer paso vamos a “expandir” la partición de root a toda la tarjeta SD, con ello logramos utilizar toda la tarjeta SD.&lt;/div&gt;
&lt;div class=&quot;imagen&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibKs9fMHR0AmK01O-3LVMWONNTLaYlfavHDM0WdhfGSXASN0vwKQhBietdG8RLNj3uVs16sQsj0OgP5pswRb-Uty1o4GHUHVL0Nh8DM9xamsZGmiDMBPN1bgXN6_io2PnUzCt9uPTSi_gT/s1600/expandrootfs1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibKs9fMHR0AmK01O-3LVMWONNTLaYlfavHDM0WdhfGSXASN0vwKQhBietdG8RLNj3uVs16sQsj0OgP5pswRb-Uty1o4GHUHVL0Nh8DM9xamsZGmiDMBPN1bgXN6_io2PnUzCt9uPTSi_gT/s640/expandrootfs1.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1TfH1zCBnlWVw3_YluGhj6glP137U7X7vQHTCr2OHNLlMJFLjv8WaLqeLW8zUorsZJApzx5bXcGqqKJfVbnEc8u5ji_IfyHtLp4w9P3DcdK7OGd1-mRbL1JZ48vKHldEG04776_uQp3VJ/s1600/expandrootfs2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;372&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1TfH1zCBnlWVw3_YluGhj6glP137U7X7vQHTCr2OHNLlMJFLjv8WaLqeLW8zUorsZJApzx5bXcGqqKJfVbnEc8u5ji_IfyHtLp4w9P3DcdK7OGd1-mRbL1JZ48vKHldEG04776_uQp3VJ/s640/expandrootfs2.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
A continuación se procederá a configurar el teclado, mediante la opción &lt;b&gt; configure_keyboard&lt;/b&gt;. En nuestro caso se configuró, un Logitech genérico, ya que la versión de teclado con la que se ha trabajado, no estaba disponible. No se ha asociado una combinación de teclas al entorno gráfico, ya que directamente, se muestra si ejecutamos &lt;b&gt;startx&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVSu4w6U-vJl6ixX-4aXbyaVrgLc_K3542uYXjFvu2cr5Tq9_YAgNJaZ_MzBD9k6kqjzs7ZizJOe9IdRg9aInkPZvQq8g0Zxciy2u2x_-P-kSSsyltqeVYSTwAfARbrcYfEmUH13o6WNiF/s1600/configurekeyboard1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 19px; font-weight: bold; margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;372&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVSu4w6U-vJl6ixX-4aXbyaVrgLc_K3542uYXjFvu2cr5Tq9_YAgNJaZ_MzBD9k6kqjzs7ZizJOe9IdRg9aInkPZvQq8g0Zxciy2u2x_-P-kSSsyltqeVYSTwAfARbrcYfEmUH13o6WNiF/s640/configurekeyboard1.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQguLiKlyyZpenvVt4CrLdD7juX7D6lkpcOL6EGFscYYkg0NoLKGqU8tBrt6UhJqZeuscOE0E-OF0RbF-HVrH8C-Reu23nX3SLlhLY9dP5MavRgiirx4Mj2jXDH8PhTWiAwGf35BixLb5j/s1600/configurekeyboard2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 19px; font-weight: bold; margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQguLiKlyyZpenvVt4CrLdD7juX7D6lkpcOL6EGFscYYkg0NoLKGqU8tBrt6UhJqZeuscOE0E-OF0RbF-HVrH8C-Reu23nX3SLlhLY9dP5MavRgiirx4Mj2jXDH8PhTWiAwGf35BixLb5j/s640/configurekeyboard2.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoOFET83O73AAFGMpqPwkcc4_Jg-RzcvG9XZvRfd5GeTNYSnrKvwX2xvMOIFb0K6llZIjgiwBsciXMrm9vSbV_r_bblBr1k7lCqSPUR3GTDwKZEC5PktVF5H_dgTu10uWqFL9KDChOs55T/s1600/configurekeyboard3.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;374&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoOFET83O73AAFGMpqPwkcc4_Jg-RzcvG9XZvRfd5GeTNYSnrKvwX2xvMOIFb0K6llZIjgiwBsciXMrm9vSbV_r_bblBr1k7lCqSPUR3GTDwKZEC5PktVF5H_dgTu10uWqFL9KDChOs55T/s640/configurekeyboard3.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVTzBFPKnaUNXOEfEZXLYEeURCh_RVwtPtngNIQHafWgeTELqgVgbPZeuIAGc8Tzegjze0xvqHiso7a2bArZ56OmGMb_r_Zt6uBU1taEesZf8MSJiygNKyVYNarIQVv_qYJ4hdidTkjY17/s1600/configurekeyboard4.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;376&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVTzBFPKnaUNXOEfEZXLYEeURCh_RVwtPtngNIQHafWgeTELqgVgbPZeuIAGc8Tzegjze0xvqHiso7a2bArZ56OmGMb_r_Zt6uBU1taEesZf8MSJiygNKyVYNarIQVv_qYJ4hdidTkjY17/s640/configurekeyboard4.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_AR3tYRXS0bKuMr5rYnD2uVYqTC7bfAnOqZJpXm2wMlk31K3fQVycl7pXCNfRRgY0CxjmFr-os6bOuNnQwWtLyXa9L-STeyffa1A_HZs71XHXvK1nJWKaBxywnIiGPUGMEvcsj1_cl36v/s1600/configurekeyboard5.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;380&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_AR3tYRXS0bKuMr5rYnD2uVYqTC7bfAnOqZJpXm2wMlk31K3fQVycl7pXCNfRRgY0CxjmFr-os6bOuNnQwWtLyXa9L-STeyffa1A_HZs71XHXvK1nJWKaBxywnIiGPUGMEvcsj1_cl36v/s640/configurekeyboard5.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP53z1c-7m8E7MhsJL2XJ01ZqmLdMAb40SQCf7-5yGHnaAY9F7ooSIzJSLODEUouxUrCm94u1HWhN1TFfYcr1yXuk0hilmIT0gWkk3311Q4j6zAQa7F8Nxv3pIYm_kF-cYUyzyxvJZxl9u/s1600/configurekeyboard6.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;374&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP53z1c-7m8E7MhsJL2XJ01ZqmLdMAb40SQCf7-5yGHnaAY9F7ooSIzJSLODEUouxUrCm94u1HWhN1TFfYcr1yXuk0hilmIT0gWkk3311Q4j6zAQa7F8Nxv3pIYm_kF-cYUyzyxvJZxl9u/s640/configurekeyboard6.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
A continuación, se ha procedido a establecer la configuración regional de la máquina, mediante &lt;b&gt;change_locale&lt;/b&gt;. Con la nueva configuración los menús aparecerán en castellano, elegimos zona horaria y , además, algunas datos como las fechas , números, moneda,... estarán adaptados.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbGwYMbjXlBajgAZEeCOFYKdLLyKBdFneBv5nFNj3XJNqFlEhnMOOxghAOXAhXBh5iC87DDsKIxBUHyn6hXnSNCrEaV5Yyv33rErJsDoEct_6FTeAcnDV43Fw-tJkG2gNJrV5ArCqrltgN/s1600/locale1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;374&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbGwYMbjXlBajgAZEeCOFYKdLLyKBdFneBv5nFNj3XJNqFlEhnMOOxghAOXAhXBh5iC87DDsKIxBUHyn6hXnSNCrEaV5Yyv33rErJsDoEct_6FTeAcnDV43Fw-tJkG2gNJrV5ArCqrltgN/s640/locale1.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyIwcgi0v4Y7VeldVcau09fcHvhkbAJGMx9FbracV_ysP0y9zin12k3yzHPsYjmZAQfd1-kkIjGeJ7Pdu0QxXumapnp1zvZws7z5y-8gjtqhyphenhyphen_dtog-MXIfd066Lp3_MgwvoW6IeYq3mOT/s1600/locale2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyIwcgi0v4Y7VeldVcau09fcHvhkbAJGMx9FbracV_ysP0y9zin12k3yzHPsYjmZAQfd1-kkIjGeJ7Pdu0QxXumapnp1zvZws7z5y-8gjtqhyphenhyphen_dtog-MXIfd066Lp3_MgwvoW6IeYq3mOT/s640/locale2.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI5nQdscixFg9yC755zNkGme31fph69yOt2p-yCnxhsvVY1SVbSFozivrIGtx296k1SNER_1_1q6CIQMObNXLpazVqmEmrncnmDeyXrE2EdonMSus1QZl1QyCJNXsjbSb2bdaIdsBiYTTy/s1600/locale3.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;386&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI5nQdscixFg9yC755zNkGme31fph69yOt2p-yCnxhsvVY1SVbSFozivrIGtx296k1SNER_1_1q6CIQMObNXLpazVqmEmrncnmDeyXrE2EdonMSus1QZl1QyCJNXsjbSb2bdaIdsBiYTTy/s640/locale3.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Además se procederá a configurar correctamente la zona horaria&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdoG5RAo0h9PBvSfTND_xYkK_lYSLpNz8GvlRHmO04GCASkf-xfgzLqeC0qj8Uff8VkVbf3KCE7qf2uf_qkOcGromcjw_YKBFrPQGQBJdq6C3wsMCo1jAz9YZ6I5PKgSQezszHUGOXuQIO/s1600/timezone1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdoG5RAo0h9PBvSfTND_xYkK_lYSLpNz8GvlRHmO04GCASkf-xfgzLqeC0qj8Uff8VkVbf3KCE7qf2uf_qkOcGromcjw_YKBFrPQGQBJdq6C3wsMCo1jAz9YZ6I5PKgSQezszHUGOXuQIO/s640/timezone1.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7DLFz7jgGCSKmFFvJ4fEB6NK8-_nvhjwx0UKjm-fmHCygeKkUYGhRl9cc4h7cdJtLhNt9eMjlWwmMv-tzdQUXHlYvsho6f8o4csz75zHz2iOP0Pi-r2_mFIC3UP9xIb5GN_o15x49ZBBb/s1600/timezone2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7DLFz7jgGCSKmFFvJ4fEB6NK8-_nvhjwx0UKjm-fmHCygeKkUYGhRl9cc4h7cdJtLhNt9eMjlWwmMv-tzdQUXHlYvsho6f8o4csz75zHz2iOP0Pi-r2_mFIC3UP9xIb5GN_o15x49ZBBb/s640/timezone2.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk5vm6nDGS0rHbaJw88tROzyrhg3ZQZI2D7w3GBxgRAVzKGVh6OUQq_mYoMJwOK3NmA6WffP73TrnkRrVL2zttP1rCXX4ECX9VIMJ6wAwQqUEIgQz6eOatvHxIYV7WS_koHOB3th5yYzft/s1600/timezone3.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;386&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk5vm6nDGS0rHbaJw88tROzyrhg3ZQZI2D7w3GBxgRAVzKGVh6OUQq_mYoMJwOK3NmA6WffP73TrnkRrVL2zttP1rCXX4ECX9VIMJ6wAwQqUEIgQz6eOatvHxIYV7WS_koHOB3th5yYzft/s640/timezone3.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
En este menú podemos configurar la Raspberry Pi para que arranque directamente en entorno gráfico, mediante boot_behaviour, habilitar SSH,...&lt;/div&gt;
&lt;div&gt;
Una vez realizadas estas operaciones cuando indiquemos que hemos terminado con las operaciones, habrá que reiniciar el equipo para que los cambios tengan efecto.&lt;/div&gt;
&lt;div&gt;
La interfaz gráfica una vez realizados los cambios debería ser como la imagen&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdfK09BbzSo2BbsB63uDqWeywFhr12gVsqNB__KJpS69x-q9xR8SdpJLB51C6V00XxseJw9N0EHEk8Pe01ymaWvNyLjMs8V777dwBZySVKAefX9ADy8g5-gTOgiuBDE0G4bM7lwm5-TJV2/s1600/raspbian.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;478&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdfK09BbzSo2BbsB63uDqWeywFhr12gVsqNB__KJpS69x-q9xR8SdpJLB51C6V00XxseJw9N0EHEk8Pe01ymaWvNyLjMs8V777dwBZySVKAefX9ADy8g5-gTOgiuBDE0G4bM7lwm5-TJV2/s640/raspbian.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
CAMBIO DE NOMBRE DE EQUIPO&lt;/div&gt;
&lt;div&gt;
Dentro del menú ofrecido por raspi-config no tenemos la posibilidad de cambiar el nombre. Para proceder a cambiar el nombre del equipo, se debe
modificar el fichero &lt;b&gt;hostname&lt;/b&gt;, con
una cuenta con privilegios suficientes, que se encuentra en &lt;b&gt;/etc/hostname. &lt;/b&gt;El nombre&lt;b&gt; &lt;/b&gt;que tiene la máquina por defecto es&lt;b&gt; raspberrypi, &lt;/b&gt;que podremos obtener
mediante el comando &lt;b&gt;hostname&lt;/b&gt; o
visualizando el fichero anterior (&lt;b&gt;cat&amp;nbsp; /etc/hostname)&lt;/b&gt;.&lt;/div&gt;
&lt;div class=&quot;titulo&quot;&gt;
CAMBIO DE DIRECCIÓN IP&lt;/div&gt;
&lt;div&gt;
Se recomienda establecer una dirección una dirección ip
estática para la máquina, debido a que vamos a trabajar principalmente por
control remoto. Para ello fichero se deberá modificar el fichero &lt;b&gt;interfaces&lt;/b&gt;, que se encuentra en &lt;b&gt;/etc/network/interfaces&lt;/b&gt; y cambiar la
configuración de la tarjeta de red.&lt;/div&gt;
&lt;div&gt;
En nuestro vaso, se va&amp;nbsp;
a establecer, &amp;nbsp;por ejemplo, la
dirección ip 192.168.1.130, máscara de red 255.255.255.0 y puerta de
enlace&amp;nbsp; 192.168.1.1 para nuestra
máquina.&amp;nbsp; El primer paso es editar el
fichero &lt;b&gt;interfaces&lt;/b&gt; con suficientes
privilegios,&amp;nbsp; y cambiar la configuración
de la tarjeta de red, por defecto eth0, sustituyendo la línea&lt;b&gt; iface eth0 inet dhcp&lt;/b&gt; por &lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
iface eth0 inet static&lt;br /&gt;
address 192.168.1.130&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
gateway 192.168.1.1&lt;/div&gt;
&lt;div&gt;
Además, es necesario configurar correctamente el archivo &lt;b&gt;resolv.conf&lt;/b&gt;, que se ubica en &lt;b&gt;&amp;nbsp;/etc/resolv.conf&lt;/b&gt; para poder resolver los
nombres de los servidores en Internet y es necesario especificar la dirección
ip, al menos, de un servidor DNS. Aquí se muestra un ejemplo de configuración
de este archivo:&lt;/div&gt;
&lt;div class=&quot;programa&quot;&gt;
domain Home&lt;br /&gt;
search Home&lt;br /&gt;
nameserver 192.168.1.1
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/2840773029944740286/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/04/instalando-y-configurando-raspbian.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/2840773029944740286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/2840773029944740286'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/04/instalando-y-configurando-raspbian.html' title='INSTALANDO Y CONFIGURANDO RASPBIAN'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidlPSTkbri2wllwfp-BnU_mDLSbqo1zJNWlPF-SRe2y-geUlN0rroqBVrVRRXqceIebtmJAJuScN5XOFcxWFxR05NCBF8zQLT9euf5HD1-PF69WKuwQYb0IPuixrhoJjILBrrZiAQrxIzV/s72-c/win32diskimager.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-518897137264130286</id><published>2013-04-05T17:26:00.000+01:00</published><updated>2013-06-06T15:45:49.369+01:00</updated><title type='text'>DONDE COMPRAR RASPBERRY PI Y COMPONENTES</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;El modelo B de Raspberry Pi se puede comprar en multitud de tiendas, si bien las recomendadas desde la página oficial de &quot;Raspberry Pi&quot; son Farnell (Element I4), Rs-Online y Think Allied, con un precio aproximado de 33 €. A este precio hay que sumarle los gastos de envío y algo que no tiene precio, el tiempo, sobre 2 ó 3 semanas.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Por motivos de urgencia tuve que buscar otras alternativas y en España costaba bastante encontrar vendedores, o que no vendieran a un precio desorbitado. Finalmente, adquirí dos placas en&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;Ebay, en una tienda de Inglaterra, con un kit básico que incluía además de la Raspberry Pi, una tarjeta SD, cargador, cable HDMI y caja de metacrilato. El precio final fue de unos 55 € por cada una y unos 18 € de gastos de envío en total.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&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/AVvXsEh6LlM8rsk5x6mLPX3Vgd5c7VCtzYTiYbQzlOfTiF0jRRywVb6Lz5y4L-maLpOdctB9Aj3BlvnqU1tGyp2IdSx3FgV8Wcvxx3ngog1l_wi70tBcULK2_YI2dzL_mJqWDBFtGdN3qbpc7KWp/s1600/kitrpi.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;357&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6LlM8rsk5x6mLPX3Vgd5c7VCtzYTiYbQzlOfTiF0jRRywVb6Lz5y4L-maLpOdctB9Aj3BlvnqU1tGyp2IdSx3FgV8Wcvxx3ngog1l_wi70tBcULK2_YI2dzL_mJqWDBFtGdN3qbpc7KWp/s400/kitrpi.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;De las dos placas que compramos una salió mal y la tuvimos que devolver al vendedor, que no dio ningún problema, aunque hubo que pagar el envío hasta Inglaterra.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Actualmente, hay vendedores en España bastante competitivos y recomiendo realizar las compras aquí, por si surge algún problema. Lo que si que hay que fijarse es que sea el modelo de 512 mb de RAM y no el de 256.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;La mayor parte de los componentes de Arduino valen para Raspberry Pi, aunque... !sin documentos de instrucciones ni información técnica!.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Cuando fui a comprar otras piezas, volvieron a surgir los mismos problemas que para la placa, pocos vendedores en España y bastante caros. Finalmente compré un &quot;Super Starter Kit&quot; por unos 25 €, que contenía varios leds, resistencias, cables, interruptores, una protoboard, un conector GPIO para conectar los pines de la Raspberry Pi y la protoboard. En el mismo pedido aproveché para comprar una pantalla LCD por unos 5 € y otros 5 € de gastos de envío.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&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/AVvXsEgy5008oGtMg7A5YhOVwtzAgz9T8UXJ0ghpgaHPR0yqyK9fnBCHftB2deit5MfXhm-L518WTwc6tI2copXlGwnVQcaiRjr4_EaKUi1rQ4kp5XYZyfw6lUUwH1ffbMHfzjDJM9bGQtgCLPat/s1600/gpio02.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy5008oGtMg7A5YhOVwtzAgz9T8UXJ0ghpgaHPR0yqyK9fnBCHftB2deit5MfXhm-L518WTwc6tI2copXlGwnVQcaiRjr4_EaKUi1rQ4kp5XYZyfw6lUUwH1ffbMHfzjDJM9bGQtgCLPat/s400/gpio02.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Ahora que estoy más curtido, comentar que se puede comprar a buen precio aquí. Podemos mirar en alguna tienda de Inglaterra las piezas para Raspberry Pi y buscar las análogas aquí para Arduino, aunque en bastantes piezas, sale a cuenta pagar un poco más de gastos de envío e importarlas. En definitiva, a echar números y lo que más a cuenta nos salga.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Después de las dos compras iniciales, he realizado bastantes más y todas en Ebay, ya que es dónde más baratas he encontrado las piezas. Llevo gastados más de 150 € y la verdad que resulta adictivo comprar dispositivos, sobre todo cuando ves que aparece uno nuevo.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;También he comprobado que los precios han ido bajando, hay muchos más dispositivos y uno de los mayores problemas con los que me he encontrado, es la escasa documentación y ese ha sido uno de los motivos por los que he considerado útil este blog, &lt;b&gt;contar las experiencias y experimentos realizados sobre Raspberry Pi&lt;/b&gt;, sirviendo de soporte.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/518897137264130286/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/04/donde-comprar-raspberry-pi-y-componentes.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/518897137264130286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/518897137264130286'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/04/donde-comprar-raspberry-pi-y-componentes.html' title='DONDE COMPRAR RASPBERRY PI Y COMPONENTES'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6LlM8rsk5x6mLPX3Vgd5c7VCtzYTiYbQzlOfTiF0jRRywVb6Lz5y4L-maLpOdctB9Aj3BlvnqU1tGyp2IdSx3FgV8Wcvxx3ngog1l_wi70tBcULK2_YI2dzL_mJqWDBFtGdN3qbpc7KWp/s72-c/kitrpi.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2621338135997163428.post-3187176631502717562</id><published>2013-04-05T11:33:00.001+01:00</published><updated>2013-06-06T15:45:49.362+01:00</updated><title type='text'>BIENVENIDA A RPI++</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif; text-align: justify;&quot;&gt;En este blog se expondrán información y experiencias relacionadas con la Raspberry Pi, en el ámbito del Proyecto Final de Carrera RPI++.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&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/AVvXsEgKnpH9_yIHLw-18joxw6gk30npwZTBzGcOGJ7arUaoN6LWX9Z4dYyDw4-iC_zajaXFH7eB59NAi8AzrVWdP4zl5EGKT-J1VCoiUi3gV4H0L6nkw07gX3-xeFwu1lClqe6BxVXHfdIjY2gF/s1600/avatar2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKnpH9_yIHLw-18joxw6gk30npwZTBzGcOGJ7arUaoN6LWX9Z4dYyDw4-iC_zajaXFH7eB59NAi8AzrVWdP4zl5EGKT-J1VCoiUi3gV4H0L6nkw07gX3-xeFwu1lClqe6BxVXHfdIjY2gF/s1600/avatar2.png&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;Logotipo del Proyecto&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidYejkRszxmjh_2MOMgLbFL0yGfzZ08TvcU9bS-JhRe0jnAjzNCSnqavgJJjgHwUvQOeRrKZO_Eg5Roi-OBvHPN7JwDEdQ0YW_-3KLkWtVzInlUzAJQVjgTa61dFGcMJchx4z94Mm1ya9W/s1600/avatar2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;La página oficial del proyecto &lt;a href=&quot;http://rpiplus.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;http://rpiplus.sourceforge.net&lt;/a&gt; y el proyecto en sourceforge &lt;a href=&quot;http://sourceforge.net/projects/rpiplus/?source=directory.&quot; target=&quot;_blank&quot;&gt;http://sourceforge.net/projects/rpiplus/?source=directory.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Sí deseas seguir el proyecto en redes sociales, entra en la página &lt;a href=&quot;http://www.facebook.com/pages/Proyectorpiplus/130773463744990&quot; target=&quot;_blank&quot;&gt;Facebook&lt;/a&gt;&amp;nbsp;ó &lt;a href=&quot;https://twitter.com/rpiplus&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;. El canal de &lt;a href=&quot;http://www.youtube.com/user/RPIplus/videos&quot; target=&quot;_blank&quot;&gt;Youtube&lt;/a&gt;&amp;nbsp;donde se colgarán los vídeos.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;Los contenidos de este blog se distribuyen bajo licencia &lt;a href=&quot;http://es.wikipedia.org/wiki/Copyleft&quot; target=&quot;_blank&quot;&gt;CopyLeft&lt;/a&gt;. Los materiales que se incluyen han llevado bastantes horas de trabajo y desarrollo, lo único que se pide es que si se van a utilizar se mencione la fuente.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;
&lt;/span&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;
&lt;/span&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/AVvXsEhVALWbugkhTwQ68oor7rX8tazDRZAKjM5HBEQLqDiyvQZQvextzRxeyFcWpLv7y2wrtJyMbGzwRrUOkjDFwiLqvUzi1S0cXJNqyiiWMYJjK021mgDGlwLPZENsWjbNLuK3NoCXwDcXBnb2/s1600/copyleft.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVALWbugkhTwQ68oor7rX8tazDRZAKjM5HBEQLqDiyvQZQvextzRxeyFcWpLv7y2wrtJyMbGzwRrUOkjDFwiLqvUzi1S0cXJNqyiiWMYJjK021mgDGlwLPZENsWjbNLuK3NoCXwDcXBnb2/s200/copyleft.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&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;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #444444; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rpiplus.blogspot.com/feeds/3187176631502717562/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://rpiplus.blogspot.com/2013/04/postal.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/3187176631502717562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2621338135997163428/posts/default/3187176631502717562'/><link rel='alternate' type='text/html' href='http://rpiplus.blogspot.com/2013/04/postal.html' title='BIENVENIDA A RPI++'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKnpH9_yIHLw-18joxw6gk30npwZTBzGcOGJ7arUaoN6LWX9Z4dYyDw4-iC_zajaXFH7eB59NAi8AzrVWdP4zl5EGKT-J1VCoiUi3gV4H0L6nkw07gX3-xeFwu1lClqe6BxVXHfdIjY2gF/s72-c/avatar2.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>