tag:blogger.com,1999:blog-27100981776705588102024-03-22T09:11:47.535+01:00infotronikblogBlog personal de Electrónica y MicrocontroladoresPeyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.comBlogger161125tag:blogger.com,1999:blog-2710098177670558810.post-4453047702265286682024-03-09T11:00:00.001+01:002024-03-09T11:00:00.258+01:00Kdenlive, edita vídeo con código abierto<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTxVwCzcW6vz9VpOhXzoo2VxCcPGJr2El-MUi7b01hNVn3GQaazL5yDXLFud4Uz9252iCpE2dRsTvtekXBGNBsHImhPbn95IrFzF6YgWEcR7TMng9P94hlai92RlJ863KPrBCcLgpAdegum1jCvYhH8GzAKLe6Q8hpO5z93YwQzj_QEg5XHM82FgyUy69I/s2560/Kdenlive_Logo.svg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="557" data-original-width="2560" height="70" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTxVwCzcW6vz9VpOhXzoo2VxCcPGJr2El-MUi7b01hNVn3GQaazL5yDXLFud4Uz9252iCpE2dRsTvtekXBGNBsHImhPbn95IrFzF6YgWEcR7TMng9P94hlai92RlJ863KPrBCcLgpAdegum1jCvYhH8GzAKLe6Q8hpO5z93YwQzj_QEg5XHM82FgyUy69I/s320/Kdenlive_Logo.svg.png" width="320" /></a></div> <b>Kdenlive</b> es un editor de vídeo no lineal gratuito y de código abierto disponible para Linux, Windows y macOS. <br /><p></p><p>Tengo que decir que el editor que utilizo para mis vídeo del canal de <a href="https://www.youtube.com/@peyutron" target="_blank">youtube</a> y <b>Kdenlive</b> ha mejorado mucho con los años (no como mis vídeos jajaja). Al principio era muy fácil que se quedara colgado o que simplemente desapareciera la pantalla, esto ya no pasa. O es algo muy raro. También editar con un portátil con mas de 10 años tampoco era lo mejor. Para lo que lo uso a mi me va bien, y como todo, cuanto más tiempo de uso mejoramos nuestra curva de aprendizaje.</p><p>Uno de los puntos fuertes de<b> Kdenlive</b> es que cuenta con una comunidad activa, comprometida y, generalmente, apasionada del software libre. Podemos tener información tanto en el <a href="https://discuss.kde.org/tag/kdenlive">foro oficial</a> como en canales de Youtube tipo "<a href="https://www.youtube.com/watch?v=oaKLkccCsp8&list=PLPuqIaw2K-KnSCzq0LtWqH_cehIZhvJaB&ab_channel=LocosporLinux" target="_blank">Locos por Linux</a>" o "<a href="https://www.youtube.com/@edupuntoar/videos" target="_blank">Punto Edu</a>".</p><p>Aquí hay algunas de las <b>características</b> más destacables de Kdenlive:</p><h2 style="text-align: left;">Edición multipista:</h2><p></p><ul style="text-align: left;"><li>Línea de tiempo con soporte para una cantidad ilimitada de pistas de video y audio.</li><li>Mezcla de audio con varios canales.</li><li>Edición de subtítulos y títulos.</li></ul><p></p><h2 style="text-align: left;">Efectos y transiciones:</h2><p></p><ul style="text-align: left;"><li>Amplia gama de efectos de video y audio preinstalados.</li><li>Posibilidad de crear y personalizar efectos.</li><li>Transiciones profesionales para suavizar los cambios entre escenas.</li></ul><p></p><h2 style="text-align: left;">Herramientas de edición:</h2><p></p><ul style="text-align: left;"><li>Corte, recorte y edición de clips de video y audio.</li><li>Edición de fotogramas clave para crear animaciones.</li><li>Corrección de color y herramientas de mejora de imagen.</li><li>Estabilización de vídeo para eliminar el temblor. </li></ul><h2 style="text-align: left;">Formatos de archivo:</h2><p></p><p></p><ul style="text-align: left;"><li>Soporte para una amplia variedad de formatos de vídeo y audio.</li><li>Edición de archivos sin necesidad de transcodificación.</li><li>Exportación a diferentes formatos, incluyendo MP4, MOV, AVI y WMV.</li><li>Soporte para hardware de aceleración.</li></ul><h2 style="text-align: left;">Su interfaz personalizable: </h2><div>La interfaz de Kdenlive es modular y se puede personalizar para adaptarse a tu flujo de trabajo. Puedes mover, ocultar y acoplar paneles para crear un espacio de trabajo cómodo y eficiente.</div><p></p><p></p><div><br /></div><p></p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS2tGa-thyphenhyphenc6iwe3yt8BWLt5iuyAuGw-6TxjxFHMVgD6rjNhcLtGhKpkkrrLqQtt1Zf1VyowqJz5_Pj_ZLFyjR-81tkXa9HEL5x1Sd6wSrgGnODlD2EZdebL0KTaosEfAQWmEPEXAh5saxDl5IYxRmGSkwmX_u1Qwo2Ru4rhMfeXhx0D2j39XUi7sr_Ihj/s2562/Kdenlive_GUI.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" data-original-height="1415" data-original-width="2562" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS2tGa-thyphenhyphenc6iwe3yt8BWLt5iuyAuGw-6TxjxFHMVgD6rjNhcLtGhKpkkrrLqQtt1Zf1VyowqJz5_Pj_ZLFyjR-81tkXa9HEL5x1Sd6wSrgGnODlD2EZdebL0KTaosEfAQWmEPEXAh5saxDl5IYxRmGSkwmX_u1Qwo2Ru4rhMfeXhx0D2j39XUi7sr_Ihj/w230-h128/Kdenlive_GUI.png" width="230" /></a><b>Kdenlive</b> es una excelente opción para editores de vídeo principiantes que buscan una herramienta gratuita y fácil de usar. Pero tampoco deja indiferentes a editores de vídeo más experimentados que necesitan una herramienta con una amplia gama de funciones. pero en definitiva para cualquier persona que busque una alternativa gratuita a editores de vídeo comerciales como Adobe Premiere Pro o Final Cut Pro.</p><p>Si estás interesado en aprender más sobre Kdenlive:</p><p>Sitio web oficial de Kdenlive: <a href="https://kdenlive.org/es/" target="_blank">https://kdenlive.org/es/</a></p><p>Documentación de Kdenlive: <a href="https://docs.kdenlive.org/es/" target="_blank">https://docs.kdenlive.org/es/</a></p><p>Foro de la comunidad de Kdenlive: <span style="color: #0000ee;"><u><a href="https://discuss.kde.org/tag/kdenlive">https://discuss.kde.org/tag/kdenlive</a></u></span></p><p>Animo a la comunidad a probarlo </p><p>Saludos!!!</p><p><br /></p><p><br /></p><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-52782713454330727362024-03-02T21:26:00.002+01:002024-03-13T00:17:34.792+01:00WLED el mejor control para tus tiras LED<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpt1h_D-eLr_Z-tagTCI6STapMdXkvYZr4g3W-FwftBMAddDKymW2F3tSHM0M1m2dcWT0Gfp68iTF5tNStI3FL5TE1sLVr66yNHY2KC8vlgqE3xXyTmdIAKin0mY_DeXWZ8Q0lYr2-L1O5U0uJ30AmaSu-QbElH5AdeWRw8lgogMrjhv0IQ18l4asXN4EZ/s3840/wled_logo.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="1200" data-original-width="3840" height="63" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpt1h_D-eLr_Z-tagTCI6STapMdXkvYZr4g3W-FwftBMAddDKymW2F3tSHM0M1m2dcWT0Gfp68iTF5tNStI3FL5TE1sLVr66yNHY2KC8vlgqE3xXyTmdIAKin0mY_DeXWZ8Q0lYr2-L1O5U0uJ30AmaSu-QbElH5AdeWRw8lgogMrjhv0IQ18l4asXN4EZ/w200-h63/wled_logo.png" width="200" /></a></div><br /><b>WLED</b> es un firmware de código abierto que te permite controlar tiras de LED digitales RGB con un microcontrolador <b>ESP8266</b> o <b>ESP32</b>. Es una de las mejores alternativas a los controladores LED tradicionales, ya que ofrece una gran flexibilidad y personalización a través de una interfaz web intuitiva.<p></p><p>Empecemos!</p><p>Una tira de LED <b>direccionable</b> es un tipo de tira de LED que te permite controlar el color y el brillo de cada LED individual. La más popular es la denominada <b>WS2812B</b> y es la tira de led que he usado en varios proyectos con unos resultados totalmente satisfactorios. Uno de ellos es la iluminación para la caja del PC.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPxXbSN3BvBnZhBu96X1kjtKLNC8n26l20eRL7StGYspF6rcTVNUYtA_lorDVsHWjoXbk6_Ocrbl1lTnoAZ34jSMQ5N8XWOj6-Y7CwWRYbdwnT0ROLtyAIIHYKksmJc0ONmLjEcGMgaYR8Y-7vz9wSmkJ9q9D4Qa1h3rdiJjYWO4JT9zwRAV_iONNmtEsP/s1080/WLED_case_abysm.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1046" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPxXbSN3BvBnZhBu96X1kjtKLNC8n26l20eRL7StGYspF6rcTVNUYtA_lorDVsHWjoXbk6_Ocrbl1lTnoAZ34jSMQ5N8XWOj6-Y7CwWRYbdwnT0ROLtyAIIHYKksmJc0ONmLjEcGMgaYR8Y-7vz9wSmkJ9q9D4Qa1h3rdiJjYWO4JT9zwRAV_iONNmtEsP/w194-h200/WLED_case_abysm.png" width="194" /></a></div><br /><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><br /></div><h2 style="text-align: left;">¿Como instalar WLED?</h2><p>Para usar <b>WLED</b>, primero debes instalar el <b>firmware</b> en tu microcontrolador ESP8266 o ESP32. En mi caso he utilizado un ESP8266 y un ESP01s. Lo que mejor me ha ido a la hora de programarlos ha sido usar los <b>binarios</b> (.bin) que puedes encontrar en la página web de <a href="https://github.com/Aircoookie/WLED/releases">WLED</a>. Para no romperte mucho la cabeza recomiendo usar la versión <b>RELEASE</b> que ya esta probada por muchos usuarios y será raro que tengamos algún problema. Ahora mismo estoy usando la versión 0.14.1.</p><h2 style="text-align: left;">Instalando WLED en ESP01s:</h2><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxk2lClXnH9mJNBz2LhPJzGlQ0-eWHsNg_KXBLTaFU31yLa4t4eBHd-nlw21NE2KHnDG3tiK4EZaPOKSyqi6nMRdtgM7PkXyZW5UhnmCJJY1nu_rKb7QdlbmqtBqoUnYAjI4dw-ft7NOPT8xHnVXq5GxNPeIzom1j_vzGYrqun6d1XFYH8C9VZwqRVsiXh/s800/ESP01s.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="800" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxk2lClXnH9mJNBz2LhPJzGlQ0-eWHsNg_KXBLTaFU31yLa4t4eBHd-nlw21NE2KHnDG3tiK4EZaPOKSyqi6nMRdtgM7PkXyZW5UhnmCJJY1nu_rKb7QdlbmqtBqoUnYAjI4dw-ft7NOPT8xHnVXq5GxNPeIzom1j_vzGYrqun6d1XFYH8C9VZwqRVsiXh/w126-h126/ESP01s.png" width="126" /></a></div><div><br /></div>Para este modelo he usado el archivo <a href="https://github.com/Aircoookie/WLED/releases/download/v0.14.1/WLED_0.14.1_ESP01.bin">WLED_0.14.1_ESP01.bin</a> y un programador USB especifico para este modelo, aunque también se puede <a href="https://www.infotronikblog.com/2018/03/programacion-directa-del-modulo-esp8266.html" target="_blank">programar ESP01s desde un Arduino UNO</a>. Una vez lo tenemos todo, abrimos el terminal y usamos el comando:<div><br /><div><p><br /></p><p><br /></p><pre class="brush: js">esptool --chip esp8266 --port /dev/ttyUSB0 write_flash 0x0 WLED_0.14.1_ESP01.bin
</pre><p><span style="background-color: white; font-family: inherit;"> Es importante para este modelo usar la dirección </span><b style="font-family: inherit;">0x0</b><span style="background-color: white; font-family: inherit;"> por que el programa inicia desde el principio de la memoria, con ESP8266 (el grande) y ESP32 también usa un </span><b style="font-family: inherit;">bootloader</b><span style="background-color: white; font-family: inherit;"> y en este caso si se usan varias direcciones. </span></p><p><br /></p><p>Una vez que <b>WLED</b> ya este cargado el programa en cualquier <b>ESP</b> tenemos que seguir unos pocos pasos para poder acceder desde una IP que asignemos el <b>primero</b> es acceder a la interfaz web en la dirección IP predeterminada es <b>4.3.2.1</b>, y entrar en la configuración wifi una vez entremos nos aparecerá la siguiente pantalla:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0vgXb4dPvJOZzQ8m_Yr3GyTjhMf5GkFCajHuqgUCei6ZBHQXg62FA1PZ3YAFekkj873RpWtaDBc-JBx9E4YAtQOXwAumhsGWBSgiRU4e9gVDrAKkqZgQIDs7x96o3A0UMqjS4kw4UqbDI-4kIu8KiGWAwTeiIRlKhg25tAoQmQl6LGSh5KKDS4qs-nwEY/s1080/wled_wifi_config.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="954" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0vgXb4dPvJOZzQ8m_Yr3GyTjhMf5GkFCajHuqgUCei6ZBHQXg62FA1PZ3YAFekkj873RpWtaDBc-JBx9E4YAtQOXwAumhsGWBSgiRU4e9gVDrAKkqZgQIDs7x96o3A0UMqjS4kw4UqbDI-4kIu8KiGWAwTeiIRlKhg25tAoQmQl6LGSh5KKDS4qs-nwEY/w354-h400/wled_wifi_config.png" width="354" /></a></div><br /><p></p><ul style="text-align: left;"><li><b>Primer apartado</b>: El nombre de la red (Movistar_1234, vodafone_AAA)</li><li><b>Segundo apartado</b>: Contraseña de la red WiFi</li><li><b>Tercer apartado</b>: Si queremos acceder siempre desde una dirección fija, recomiendo usar las más altas asignadas por el router. Para no tener todas las IPs disponibles generalmente los router delimitan las IPs que pueden acceder al router al mismo tiempo. Pongamos que van desde la 2 (192.168.1.2) a la 100 (192.168.1.100) Si ponemos por ejemplo la 99 no tendremos problemas con otros dispositivos que se conecten a la red por DHCP.</li><li><b>Cuarto apartado:</b> Gateway o puerta de acceso. Es la dirección con la que accedemos al router generalmente <b>192.168.0.1</b> o <b>192.168.1.1</b> </li></ul><p></p><p>Es recomendable reiniciar el módulo ESP después de configurar el acceso wifi</p><p>Una vez tenemos el apartado WiFi configurado accedemos a WLED desde la interfaz web poniendo la dirección ip que hemos asignado, en mi caso la 192.168.1.55 en la barra de direcciones del navegador y se abrirá una pantalla como la siguiente:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc3CMir3pmkkvaxxVIFUspMrOaWNc7bHUJP-MbjKIxoE2ffnHQH77OCmaD6ZtwZChgk7qg6DMiQlciwblG8QoJ9hXu3i7ciHJqF9dSHyoq_yzepGD_mWewyn5B1qDHf4REusnsPQdP0lIRDr_VokGUwfnChUGh9We9_mLlODB0rlhrvp7yjVCE8qc35EV0/s1689/wled_wifi_config_1.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Interfaz web WLED" border="0" data-original-height="787" data-original-width="1689" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc3CMir3pmkkvaxxVIFUspMrOaWNc7bHUJP-MbjKIxoE2ffnHQH77OCmaD6ZtwZChgk7qg6DMiQlciwblG8QoJ9hXu3i7ciHJqF9dSHyoq_yzepGD_mWewyn5B1qDHf4REusnsPQdP0lIRDr_VokGUwfnChUGh9We9_mLlODB0rlhrvp7yjVCE8qc35EV0/w400-h186/wled_wifi_config_1.png" title="Interfaz web WLED" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>La interfaz es intuitiva y fácil de usar y te permite cambiar entre una gran cantidad de efectos para controlar tus tiras de LED. Puedes elegir un color sólido, crear un efecto o una animación así como cambiar la velocidad e intensidad de los mismos, o incluso sincronizar tus luces con la música.</p><p>También hay una aplicación móvil disponible para <b>Android</b> e <b>iOS</b> que te permite controlar tus luces desde tu teléfono o tableta. Pero es básicamente una aplicación con un navegador web.</p><p>Ahora que tenemos WLED instalado el puerto predeterminado donde conectaremos la tira LED es el <b>GPIO2. </b>Hay que fijarse bien ya que la conexión entre LEDs tiene entrada y salida.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7L21TLrZsUGXt4mV82hXVh-hVYmQRJ4igM9fNgmMGeJb53OV9AjG9gVjqH6ZOg-lP3mpRbsFBsbi3B-HyAH83V79ERjGKk3QMNCK1_MEKvaom7aJLBxhplaZinhz_-tFIIhblhCcmUEqJZkPVqjk5u0hun8cmmHVWMYhZYLU3M3G6LY_G704Ehia8zBbR/s1018/Wled_inout.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="540" data-original-width="1018" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7L21TLrZsUGXt4mV82hXVh-hVYmQRJ4igM9fNgmMGeJb53OV9AjG9gVjqH6ZOg-lP3mpRbsFBsbi3B-HyAH83V79ERjGKk3QMNCK1_MEKvaom7aJLBxhplaZinhz_-tFIIhblhCcmUEqJZkPVqjk5u0hun8cmmHVWMYhZYLU3M3G6LY_G704Ehia8zBbR/s320/Wled_inout.png" width="320" /></a></div><p>Para ESP8266 que sean que tengan varios puertos disponibles también podemos conectar un puerto de infrarrojos conectado en <b>GPIO 4</b> y un relé en el <b>GPIO 12</b>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://github.com/Aircoookie/WLED-Docs/assets/59397047/78cc27f3-f0e4-4c04-bd3f-d35caf143456" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="755" height="254" src="https://github.com/Aircoookie/WLED-Docs/assets/59397047/78cc27f3-f0e4-4c04-bd3f-d35caf143456" width="400" /></a></div><h2><b>Alimentación:</b></h2><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglwr-ieEOIYYWk8OaOwzGaHawzlyQqKzckCopsImBbxIR4YRQ23AttzCH39pj3PwJw1mozI37IS8Fsn6asZ9XhDUBER3rdZRuPMJBURknCYepA7tL8GQl9J7SAJEC8vVYIXU3Pf5Gl7IxENN0gRBYT46CoL5wTIHzabWBqG94OnvJUgLgWiNPf649cvF6V/s1366/Wled_Calculator.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" data-original-height="768" data-original-width="1366" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglwr-ieEOIYYWk8OaOwzGaHawzlyQqKzckCopsImBbxIR4YRQ23AttzCH39pj3PwJw1mozI37IS8Fsn6asZ9XhDUBER3rdZRuPMJBURknCYepA7tL8GQl9J7SAJEC8vVYIXU3Pf5Gl7IxENN0gRBYT46CoL5wTIHzabWBqG94OnvJUgLgWiNPf649cvF6V/w400-h225/Wled_Calculator.png" width="400" /></a>Para esta instalación he usado una fuente de alimentación de <b>5V 10A</b> que puede entregar hasta <b>50</b><b> watios</b>. Con esta fuente podríamos, en teoría, conectar hasta <b>244</b> leds. Podemos calcular el consumo con la aplicación <a href="https://wled-calculator.github.io/" target="_blank">wled-calculator</a>. La web esta en Alemán, pero con chrome si damos click en el segundo botón y seleccionamos "<b>Traducir a español</b>".</p><p><br /></p><p><br /></p><p style="text-align: justify;"><br /></p><p>Yo ya tengo configurada unos cuantos de estos tanto en <b>ESP01</b> como en <b>ESP8266</b> y siempre que tengan una <b>buena conexión con el router</b>, no hay que olvidar que no son módulos que tengan una gran cobertura.</p><p>Página web de WLED: <a href="https://kno.wled.ge/">https://kno.wled.ge/</a></p><p>Documentación de WLED: <a href="https://github.com/Aircoookie/WLED-Docs">https://github.com/Aircoookie/WLED-Docs</a></p><p><br /></p></div></div>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-53052736932106491902024-02-18T10:21:00.005+01:002024-03-21T11:47:46.191+01:00Documenta tu proyecto con doxygen y doxygen-gui<p>
</p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj43SIdMlGpTvAe3LrO0Z0q2mfhhn13uRZc_Z_78AnVISm1mRV4puMcbsYpaxi0-Qvvi43lI3GhZPyvsEb_9uK8iGul8SUbn5EqEhcrZUzKL0nSzzVhdezXTJ4-dYQIpOb8LGTZjDW3eIFy3EUVWczXSQm04RLXe5dlanGRM4cEyiwOGAplph-x31tu4yW4/s411/doxygen_logo.png" style="clear: left; display: block; float: left; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="122" data-original-width="411" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj43SIdMlGpTvAe3LrO0Z0q2mfhhn13uRZc_Z_78AnVISm1mRV4puMcbsYpaxi0-Qvvi43lI3GhZPyvsEb_9uK8iGul8SUbn5EqEhcrZUzKL0nSzzVhdezXTJ4-dYQIpOb8LGTZjDW3eIFy3EUVWczXSQm04RLXe5dlanGRM4cEyiwOGAplph-x31tu4yW4/s200/doxygen_logo.png" width="200" /></a></div>
Este es uno de esos programa de los de... como no lo conocí esto antes... Si, <b>Doxygen</b> es una herramienta de generación de documentación para código fuente. Es una herramienta <b>gratuita</b> y de código abierto que se puede usar para generar documentación en <b>HTML</b>, <b>LaTeX</b>, <b>RTF</b>, <b>PDF</b> y otros formatos.<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO1nMIzKY0D4r9zTck4e9ojIh8SqSD3AD3F23rPgJPpl4pP37K6Gg61evZPjzzqLOHEx5MEeEwpYPDWs9ljnjfn2tSi6ljcsz-otKB3RgCSRjNfw7JjQ8OryRHupkOVDjtWkg9FsYNSLXGAGg7-PbUha_12bqC6UBVBfWOZF4yH_lD8ecnFbnnLkyydnT0/s1366/doxygen-example.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1366" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO1nMIzKY0D4r9zTck4e9ojIh8SqSD3AD3F23rPgJPpl4pP37K6Gg61evZPjzzqLOHEx5MEeEwpYPDWs9ljnjfn2tSi6ljcsz-otKB3RgCSRjNfw7JjQ8OryRHupkOVDjtWkg9FsYNSLXGAGg7-PbUha_12bqC6UBVBfWOZF4yH_lD8ecnFbnnLkyydnT0/s320/doxygen-example.png" width="320" /></a></div><br />
<p></p>
<p>
Es genial si tienes que compartir código con otros miembros de un equipo de trabajo o para recordar que hacía ese código que escribiste hace años. Otra ventaja es que en la mayoría de las distribuciones ya <b>lo tienen incluido en sus repositorios</b>.
</p>
<h3>Instalación desde repositorios Ubuntu</h3>
<p>
Para instalar <b>Doxygen</b> solo tienes que abrir una terminal y ejecuta el siguiente comando:
</p>
<pre><code>
sudo apt install doxygen
</code></pre>
<p>
Este comando instalará la última versión estable de Doxygen en tu sistema.
</p>
<h3>Instalación desde binarios</h3>
<p>
<span></span></p><a name='more'></a>Si quieres instalar una versión específica de Doxygen, puedes descargar los binarios desde la página web oficial de Doxygen: <a href="https://www.doxygen.nl/download.html" rel="noopener noreferrer" target="_blank">https://www.doxygen.nl/download.html</a>
<p></p>
<p>
Una vez que hayas descargado los binarios, descomprime el archivo y ejecuta el siguiente comando para instalar Doxygen:
</p>
<pre><code>
./doxygen-X.Y.Z/bin/install
</code></pre>
<p>
Reemplaza <b>X.Y.Z</b> con la versión de Doxygen que hayas descargado.
</p>
<p>
Podemos verificar que Doxygen se ha instalado correctamente solo con ejecutar el siguiente comando:
</p>
<pre><code>
doxygen --version
</code></pre>
<p>
Este comando debería mostrar la versión de Doxygen que está instalada en tu sistema.
</p>
<p>
Doxygen también tiene una interfaz gráfica de usuario (GUI) llamada <b>Doxywizard</b>. Con ella podrás configurar de manera visual parametros como la carpeta donde están las fuentes, el código que se analiza, hasta un icono para hacer más bonito el documento final
</p>
<p>
Puedes instalarla con el siguiente comando:
</p>
<pre><code>
sudo apt install doxygen-gui
</code></pre>
<p>
y para ejecutar Doxygen de manera gráfica:
</p>
<pre><code>
doxywizard
</code></pre>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh0h40PH8nNZjvpQtvkaXd2gNDhBVTN_0dPNPdGk_YnPqaXovKk5DZqb0DeChvzaQgDylmvTYbyq7Qi0F6Z8SSfpAlOlzQPOO_6Qj9ZbQQvBLOAh3YoMt5zDIyRr_tZvgO0q-_8cAYq3Cg2QR8JHt1Pjf0JVAQzZws9nRVYH9bhoYEDjCfjJkS7cjZEXOb/s812/doxygen-gui.png" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="750" data-original-width="812" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh0h40PH8nNZjvpQtvkaXd2gNDhBVTN_0dPNPdGk_YnPqaXovKk5DZqb0DeChvzaQgDylmvTYbyq7Qi0F6Z8SSfpAlOlzQPOO_6Qj9ZbQQvBLOAh3YoMt5zDIyRr_tZvgO0q-_8cAYq3Cg2QR8JHt1Pjf0JVAQzZws9nRVYH9bhoYEDjCfjJkS7cjZEXOb/s320/doxygen-gui.png" width="320" /></a></div>
<p>
<b>Doxywizard</b> te permite crear y editar archivos de configuración de Doxygen de forma <b>gráfica</b>.
</p><p><br /></p>
<h3>Gráficos en tu documentación</h3>
<p>
Con Doxygen también podemos generar gáficos, pero para esto necesitamos tener instalado <b>graphviz</b>. Podemos instalarlo desde el terminal con el comando:
</p>
<pre><code>
sudo apt install graphviz
</code></pre>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWXipveVQxG-1-06NJOBAQMECvf6-9v0WiMfUQSYpz_JZ4p9M6063oV4pTTDJ6kp3tC2BWTjen9HLjBRPJ42V4kJHrANWYlQ9iqiWmkFCkulmZccoIC0dKZX5cN_bSpj2hKReFBQUlsW21T3wP6qS1GOI_1Jh5GtJsus-ClmvDmu8wY8pBr4-3jkaghKwT/s411/doxygen-graph.png" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="387" data-original-width="411" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWXipveVQxG-1-06NJOBAQMECvf6-9v0WiMfUQSYpz_JZ4p9M6063oV4pTTDJ6kp3tC2BWTjen9HLjBRPJ42V4kJHrANWYlQ9iqiWmkFCkulmZccoIC0dKZX5cN_bSpj2hKReFBQUlsW21T3wP6qS1GOI_1Jh5GtJsus-ClmvDmu8wY8pBr4-3jkaghKwT/s320/doxygen-graph.png" width="320" /></a></div>
<h3>Ejemplo de uso sin interfaz gráfica</h3>
<p>
Para generar documentación con Doxygen, necesitas crear un archivo de configuración llamado Doxyfile.
</p>
<p>
Este archivo contiene información sobre tu proyecto, como la ubicación del código fuente, los formatos de salida que deseas generar y las opciones de configuración de Doxygen.
</p>
<p>
A continuación, puedes ejecutar el siguiente comando para generar la documentación:
</p>
<pre><code>
doxygen Doxyfile
</code></pre>
<p>
Este comando generará la documentación en el directorio especificado en el archivo
</p>
<pre><code>
Doxyfile
</code></pre>
<p>
Doxygen es una herramienta poderosa para generar documentación de código fuente. Es fácil de instalar y usar, y ofrece una amplia gama de opciones de configuración.
</p>
<p>
Para obtener más información sobre Doxygen, puedes consultar la documentación oficial: <a href="https://www.doxygen.nl/manual/" rel="noopener noreferrer" target="_blank">https://www.doxygen.nl/manual/</a>
</p></div>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-44981635053190249732024-01-28T22:00:00.014+01:002024-02-18T10:54:21.949+01:00Mejorando teclado Mars Gaming<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhATkrxpALTvIMm5dK-loGTyQmhXwGLHzWyYV7etTAEBijXQN_1UFjeh7TFZWekwBYQ3Usg8BlrqdutsOQWwAIuKl1GGJHaHDpMdwbil_IK61pzsr57wloFwUbp4k9FdY0i4ahhZU5k-F7Vn9t8Sx370UlqvDDsQRqZ1403l-jdRSc2lL8fHhOo7k1jglmw/s512/OpenRGB_logo.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="218" data-original-width="512" height="85" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhATkrxpALTvIMm5dK-loGTyQmhXwGLHzWyYV7etTAEBijXQN_1UFjeh7TFZWekwBYQ3Usg8BlrqdutsOQWwAIuKl1GGJHaHDpMdwbil_IK61pzsr57wloFwUbp4k9FdY0i4ahhZU5k-F7Vn9t8Sx370UlqvDDsQRqZ1403l-jdRSc2lL8fHhOo7k1jglmw/w200-h85/OpenRGB_logo.png" width="200" /></a></div><br /> Muy buenas a todos!<p></p><p>Normalmente no nos fijamos mucho ( o nos fijamos demasiado) en el elemento que más utilizamos para controlar nuestro ordenador, el teclado y el ratón. En este caso, El teclado. </p><p>Los hay de muchos tamaños colores y precios... y oiga que precios... un teclado de un marca más o menos puntera no baja de los 100, que ojo, yo no digo que no lo cueste, pero no es muy accesible para todos los bolsillos. En mi caso buscaba que tuviera dos características básicas, que fuera <b>TKL</b> (Ten Key Less) por sus siglas en ingles y que viene a significar que tienes 10 teclas menos y es un poco más pequeño, la otra característica es que tuviera RGB. </p><p>El RGB me parece algo que, además de quedar muy bonito en los vídeos, es muy útil en muchos ambitos y no solo para jugar. En mi caso tengo hasta 5 posibilidades. Uno para jugar, los otros para programar y uno que es con todas las teclas en blanco que va muy bien por la noche</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Myy7kSH5_kA1hvJdY3dsMiuNWSmmWIeO8UeACWTxy_HJQYRdcdm24wle49kz8OLxynN2C8FU8Lw0j4oxT5NoMiPrf9gt2euxwj75LdALJTQmVl96jrPvUYeQ2j0mLOPfm_9czae7n-ro_FAsaIl1ZPwAHFgjNjVAdNrflDTYKSzZtLg0b4FHLWeEvg64/s640/mkrevopro_640x480.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Myy7kSH5_kA1hvJdY3dsMiuNWSmmWIeO8UeACWTxy_HJQYRdcdm24wle49kz8OLxynN2C8FU8Lw0j4oxT5NoMiPrf9gt2euxwj75LdALJTQmVl96jrPvUYeQ2j0mLOPfm_9czae7n-ro_FAsaIl1ZPwAHFgjNjVAdNrflDTYKSzZtLg0b4FHLWeEvg64/w200-h150/mkrevopro_640x480.png" width="200" /></a></div>Bueno que me lío... Buscando por aquí y allá encontré el <b>Mars Gaming MKREVOPRO</b> y no me pareció excesivamente barato, tampoco quería comprar una porquería de 10€. Este me costo en torno a 35 o 40€.<p></p><br /><p><br /></p><p>El tema del RGB fue un poco duro al principio incluso parecía que no iba a poder usarlo ya que al usar GNU/Linux no trae drivers ni programa con el que poder controlarlo. Y así conocí <b>OpenRGB</b>.</p><p><br /></p><p><b><a href="https://openrgb.org/" target="_blank">OpenRGB</a></b> es un software para gestión todos tus dispositivos RGB desde una sola aplicación tanto en Linux como en Windows. Este programa tiene una gran cantidad de opciones y una buena comunidad donde encontrar solución a casi todo. De echo, si no es por ellos ahora tendría un triste teclado sin colorines.</p><p>Lo primero que hice fue instalar las librerías que recomiendan en su web</p><p><b>sudo apt install git build-essential qtcreator qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libusb-1.0-0-dev libhidapi-dev pkgconf libmbedtls-dev</b></p><p><br /></p><p>Lo Una vez hemos instalado las dependencias nos vamos a la pagina <a href="https://gitlab.com/CalcProgrammer1/OpenRGB/-/releases/release_0.7#Linux-64-bit">https://gitlab.com/CalcProgrammer1/OpenRGB/-/releases/release_0.7#Linux-64-bit</a> y hacemos clic en la parte superior nos da varias opciones y la que use fue <b>Source code (zip)</b> en la parte superior</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU-24GPEIaot0DSTyIS5Qb69rA8KiUf_DVrwkT3XgaNbooROKnMMDgz001z051ujnbEBJlucgWOVSgjupoGOENmUSqR_PDUAR8Ie3TvtXiW-JwRjU4ZBE2MLjyq875M6begoDYSHtjpBBy3Q2fn3OHmcME1grM0cJZ7oO_H7nRwfIqBFu012ThR08Hw4cj/s1112/OpenRGB_ubuntu_00.png" style="margin-left: 1em; margin-right: 1em;"><img alt="OpenRGB descarga" border="0" data-original-height="553" data-original-width="1112" height="159" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU-24GPEIaot0DSTyIS5Qb69rA8KiUf_DVrwkT3XgaNbooROKnMMDgz001z051ujnbEBJlucgWOVSgjupoGOENmUSqR_PDUAR8Ie3TvtXiW-JwRjU4ZBE2MLjyq875M6begoDYSHtjpBBy3Q2fn3OHmcME1grM0cJZ7oO_H7nRwfIqBFu012ThR08Hw4cj/w320-h159/OpenRGB_ubuntu_00.png" width="320" /></a></div><br /><span><a name='more'></a></span><p><br /></p><p>Lo descargamos y descomprimimos en la carpeta que queramos. Una vez que tenemos todos los archivos, editamos el archivo <b>60-openrgb.rules</b> y añadimos la siguiente linea</p><p><br /></p><p><b>SUBSYSTEMS=="usb", ATTR{idVendor}=="258a", ATTR{idProduct}=="0016", TAG+="uaccess"</b></p><p><br /></p><p>Guardamos el archivo. Accedemos al terminar y vamos a la carpeta raíz del programa llamada OpenRGB-release_0.7 y ejecutamos:</p><p><b>qmake OpenRGB.pro</b></p><p><b>make -j$nproc</b></p><p><br /></p><p>Y copiamos el archivo <b>60-openrgb.rules</b> a la carpeta <b>udev</b>:</p><p><b>sudo cp /OpenRGB-release_0.7/60-openrgb.rules /usr/lib/udev/rules.d/</b></p><p><br /></p><p>Y recargamos las reglas con:</p><p><b>sudo udevadm control --reload-rules && sudo udevadm trigger</b></p><p><br /></p><p>Quitamos el USB y lo volvemos a enchufar en otro puerto USB, preferiblemente de los que van directos a la placa base y ejecutamos:</p><p><b>./openrgb</b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPddAC04fIvEv2rCwriEiBOnT5kFVn3w2H1BqrS6eM11rZHcGEMlrJtMm_s_LzkTOE9vDT69jmnqoazoCqC0IM9FUGA_m-XBUbCuJ9eoDTznwyGIBBEWUmlmR2lWPmoD9zV44C5ITGw-NoITGoTIuWf7UDj3XSxdh_JYKyf66CxQTVKKUBZT7xTy5xs-Eh/s1920/OpenRGB_ubuntu_01.png" style="margin-left: 1em; margin-right: 1em;"><img alt="OpenRGB en Ubuntu" border="0" data-original-height="1080" data-original-width="1920" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPddAC04fIvEv2rCwriEiBOnT5kFVn3w2H1BqrS6eM11rZHcGEMlrJtMm_s_LzkTOE9vDT69jmnqoazoCqC0IM9FUGA_m-XBUbCuJ9eoDTznwyGIBBEWUmlmR2lWPmoD9zV44C5ITGw-NoITGoTIuWf7UDj3XSxdh_JYKyf66CxQTVKKUBZT7xTy5xs-Eh/w400-h225/OpenRGB_ubuntu_01.png" width="400" /></a></div><br /><p>Y esto es todo, se que a día de hoy esta la versión 0.9 que trae más funcionalidades. La verdad es que a mi solo me interesaba que pudiera mapear las teclas con colores específicos. </p><p>Ah!! la única tecla que no me funciona correctamente es el "<b>8</b>" del teclado numérico que va un poco a su bola, por lo demás cumple con mis necesidades de 10!!</p><p><br /></p><p>Saludos!!!</p><p><br /></p><div><br /></div><p><br /></p><p> </p><p><br /></p>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-51154885991573908072024-01-26T08:29:00.003+01:002024-02-18T10:49:51.907+01:00Actualizar Python en Ubuntu con apt<p> Revisando la versión de Python y aprovechando una reinstalación del sistema que he realizado hace poco, tenía que revisar unos programas y antes de empezar he revisado la versión que tengo actualmente instalada y era la <b>3.1 </b>lo que me pareció un poco baja ya que la ultima vez, y la que tengo en el otro equipo, es la <b>3.8</b> . </p>
<p>Para actualizar Python primero vemos la versión que tenemos actualmente instalada con el comando:</p>
<p><b>$python3 --version</b></p><p><i>Python 3.10.12</i></p>
<p><br /></p><p>Una vez tenemos esta información actualizamos el sistema con el siguiente comando:</p><span><a name='more'></a></span><p><br /></p>
<p><b>$sudo apt update && sudo apt upgrade -y</b></p><p><br /></p><p>Lo siguiente es añadir el repositorio "<b>Deadsnakes</b>" y actualizamos el sistema:</p>
<p><b>$sudo add-apt-repository ppa:deadsnakes/ppa</b></p>
<p><b>$sudo apt update</b></p>
<p><br /></p><p>y luego le pedimos una lista de los paquetes que tengan python para saber cual es la última versión:</p>
<p><b>$apt list | grep python3</b></p>
<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiukFhyjRYT_GMHefOTyhsYATQlW5c61z8epj81ytW67xwcBuTZ8w4TdGoRwNkz16Bfvy4UNyxBRncnhcQYSwWKNdfwMw-o4w_IIc4Eo7CXazbS8SkyArpW1a0gv_HzZlYgh_RYXrUjZGzhkm4cl9gnLH8DVT5JSc2HXYmA4rpqqFjch1zl_5ZV880Cu3f6/s697/aptlist.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="404" data-original-width="697" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiukFhyjRYT_GMHefOTyhsYATQlW5c61z8epj81ytW67xwcBuTZ8w4TdGoRwNkz16Bfvy4UNyxBRncnhcQYSwWKNdfwMw-o4w_IIc4Eo7CXazbS8SkyArpW1a0gv_HzZlYgh_RYXrUjZGzhkm4cl9gnLH8DVT5JSc2HXYmA4rpqqFjch1zl_5ZV880Cu3f6/s320/aptlist.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p>Y finalmente instalamos la ultima versión:</p><b>$sudo apt install python3.9</b><span><b> </b> </span><p></p><p><br /></p>
<p>Ahora podemos comprobar la versión que tenemos instalada:</p><p><b>$/usr/bin/python3.9 --version</b></p><p><i>Python 3.9.18</i></p>
<p><br /></p><p>Una vez instalado la mejor forma de ejecutarlo es mediante un "alias" con:</p>
<p><b>$echo "alias python=/usr/bin/python3.9" >> ~/.bashrc</b></p><p><b><br /></b></p>
<p>Ahora si, cada vez que necesitemos ejecutar Python solo tendremos que escribir:</p>
<p><b>$python</b></p>
<p><br />independientemente de la carpeta en la estemos y sin tener que añadir más números como python3 o python3.9</p>
<p>Saludos!</p>
Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-11334355349913472442024-01-14T08:35:00.001+01:002024-01-26T08:30:10.165+01:00 Permisos de acceso al USB para IDE Arduino<p> Muy buenas a todos! </p><div>Hace poco reinstale el sistema operativo en el portátil y como es el que uso normalmente para programar, instale el IDE Arduino. </div><div>Me pongo en faena y subo el sketch, compilado bien y cuando toca el momento de subir el programa al micro, me da el siguiente error: </div><div><br /></div><div><span style="color: red;"> avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied </span></div><div><span style="color: red;"> Failed uploading: uploading error: exit status 1 </span></div><div><span style="color: red;"><br /></span></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-EMUDQxHpOj3rxeJ7_HLHG_oX2kNuqc2NVQnvswPy-hKrthqNCCyx0OZG9e2piAViz9PCNlLOBdeZlfnfOxrD5DfnVcOBL0mU1ow2Aww68fpKXWl5FAp4xkiYvOfN4g6ioyO_NsEu5k_IsRjnotDqBCS18pWUDjFovTcy2OXur7NGVDZYyMrMbR87DoQ/s813/Arduino_permission_error.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="130" data-original-width="813" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-EMUDQxHpOj3rxeJ7_HLHG_oX2kNuqc2NVQnvswPy-hKrthqNCCyx0OZG9e2piAViz9PCNlLOBdeZlfnfOxrD5DfnVcOBL0mU1ow2Aww68fpKXWl5FAp4xkiYvOfN4g6ioyO_NsEu5k_IsRjnotDqBCS18pWUDjFovTcy2OXur7NGVDZYyMrMbR87DoQ/w640-h102/Arduino_permission_error.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div>Esto básicamente nos viene a decir que no tenemos permisos para el puerto USB0. </div><div><br /></div><div><span style="font-size: large;">Solución temporal: </span></div><div><br /></div><div><span style="font-size: medium;"><b>sudo chmod 777 /dev/ttyUSB0 </b></span></div><span><a name='more'></a></span><div><br /></div><div>Con esto conseguimos permisos de lectura, escritura y ejecución, pero cada vez que reiniciemos el puerto, tendremos que volver a ejecutar el mismo comando. </div><div><br /></div><div><span style="font-size: large;">Solución duradera: </span></div><div><br /></div><div>Primero tenemos que saber a que grupo pertenece /dev/ttyUSB0. Esto lo podemos averiguar fácilmente con el comando: </div><div><br /></div><div><span style="font-size: medium;"><b> ls -l /dev/ttyUSB0 </b></span></div><div><br /></div><div> y en su respuesta nos dirá a que grupo pertenece, generalmente dialout: </div><div><br /></div><div><b><span style="font-size: medium;"><i>crw-rw---- 1 root </i>dialout<i> 188, 0 ene 14 08:57 /dev/ttyUSB0 </i></span></b></div><div><br /></div><div>Una vez que confirmamos que es dialout podemos añadir nuestro usuario al grupo con: </div><div><br /></div><div><b><span style="font-size: medium;">sudo usermod -a -G dialout nombre_usuario </span></b></div><div><br /></div><div>Una vez hemos hecho estos pasos, reiniciamos el ordenador y ya no tendremos problemas con los permisos a la hora de escribir o leer de los puertos USB. </div><div><br /></div><div>Además es valido para cualquier puerto ya que generalmente todos se crean en el mismo grupo. Es decir, si tenemos <b>2</b> Arduinos conectados esto es valido tanto para /<b>dev/ttyUSB0 </b>como para <b>/dev/ttyUSB1</b>. </div><div><br /></div><div> Espero que les sirva de ayuda!!!</div><div><br /></div><div><br /></div>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-18906800173969729212023-12-15T10:05:00.002+01:002024-01-14T08:35:54.138+01:00Poner Ip fija en Raspberry Pi<p><span style="font-family: inherit;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: inherit;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqED6b6Mbf4Wh9maojyE1sRRSiC8qy5IVnqIuHeKmSWtIoUDnLt5QrmUeTCD7m4xucH3DGg7bayXf21FV-x4jnnEWbOBl6eBt0jQzca6Jfb3Y2S19X78ks9WjNo94oZlx5W7L78QFFk9FWLeleSQL3xTmWZThIId-Ksm4KzAOiCqD9qn8-SXkG6I3vj-ST/s800/Raspberry_Pi_2_Model_B_v1.1_top.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="534" data-original-width="800" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqED6b6Mbf4Wh9maojyE1sRRSiC8qy5IVnqIuHeKmSWtIoUDnLt5QrmUeTCD7m4xucH3DGg7bayXf21FV-x4jnnEWbOBl6eBt0jQzca6Jfb3Y2S19X78ks9WjNo94oZlx5W7L78QFFk9FWLeleSQL3xTmWZThIId-Ksm4KzAOiCqD9qn8-SXkG6I3vj-ST/w200-h134/Raspberry_Pi_2_Model_B_v1.1_top.png" width="200" /></a></span></div><span style="font-family: inherit;"><br />Muchas veces cuando estamos montando un pequeño servidor con Raspberry Pi necesitaremos tener una IP estática. Para conseguir esto</span> tenemos que seguir estos pasos:<p></p><p><br /></p><p><b>Primero</b> tenemos que abrir una terminal en tu Raspberry Pi aunque si vas a montar un servidor, seguramente puedas conectarte con la Raspberry Pi a través de SSH.</p><span><a name='more'></a></span><p><br /></p><p><b>Segundo:</b> Una vez en el terminal, abrimos el archivo de configuración de red en el editor de texto. Este archivo se encuentra en la carpeta <b>/etc/</b> y se llama <b>dhcpcd.conf.</b> Puedes usar el siguiente comando para abrirlo:</p><p><span style="background-color: #444444; color: white;"> sudo nano /etc/dhcpcd.conf </span></p><p><b>Tercero:</b> Busca la sección que comienza con "# Example static IP configuration". A continuación, encontrarás un ejemplo de configuración de IP estática que viene el mismo archivo <b>dhcpcd.conf</b>.</p><p><br /></p><p><b>Cuarto</b>. Edita la configuración de acuerdo a tus necesidades. Aquí tienes un ejemplo:</p><p><br /></p><p> interface eth0 </p><p> static ip_address=192.168.1.33/24</p><p> static routers=192.168.1.1</p><p> static domain_name_servers=192.168.1.1 8.8.8.8</p><p><br /></p><p>Reemplaza "eth0" por el nombre de tu interfaz de red, ¿como sabemos cual es nuestro adaptador de red?Muy fácil, usamos el comando <b>ifconfig. </b>Una vez lo ejecutemos nos dará una lista con los adaptadores de red del sistema. Generalmente "<b>eth0</b>" para cable y "<b>wlan0</b>" si usamos Wi-Fi. </p><p>Luego cambiamos "192.168.1.33" por la dirección IP estática que deseas asignarle a tu Raspberry Pi.</p><p>En static routes tenemos que poner la dirección del router, las más comunes son "192.168.0.1" y "192.168.1.1".</p><p>Guarda los cambios y cierra el archivo presionando Ctrl + X, luego Y y Enter para confirmar.</p><p><b>Quinto</b>. Reinicia tu Raspberry Pi para que los cambios surtan efecto. Puedes hacerlo ejecutando el comando `sudo reboot`.</p><p>Después de reiniciar, tu Raspberry Pi debería tener la dirección IP estática que configuraste. Asegúrate de ajustar tu router <b>configurado los puertos</b> en consecuencia para permitir la comunicación con la nueva IP statica.</p><p>Como extra, si quieres saber que velocidad tienes puedes usar el comando <b>ethtool eth0</b>. Con este comando nos dirá la velocidad de la red 10Mb/s, 100Mb/s, 1000Mb/s</p><div><br /></div>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-87148291834683868762023-11-27T23:16:00.002+01:002023-12-15T10:06:10.313+01:00Instalar RetroPie en Ubuntu<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p></p><div class="separator" style="clear: both; text-align: left;"><a href="https://retropie.org.uk/wp-content/uploads/2016/04/RetroPieWebsiteLogo.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Retropie" border="0" data-original-height="140" data-original-width="520" height="54" src="https://retropie.org.uk/wp-content/uploads/2016/04/RetroPieWebsiteLogo.png" title="Retropie" width="200" /></a></div><p></p></blockquote></blockquote></blockquote></blockquote><p style="text-align: left;">Ayer intente instalar un emulador en el portátil, probé varios pero reconozco que me costo hacerlo funcionar. Hoy recorde a <span style="font-family: inherit;">RetroPie qu es una plataforma de emulación que te permite usar juegos </span><span style="font-family: inherit;">antiguos en una variedad de consolas y sistemas arcade. Esta es una pequeña guía sobre cómo instalar RetroPie en un sistema con Ubuntu y poder revivir la nostalgia de los juegos retro.</span></p><p><span style="font-family: inherit;">Requisitos previos:</span></p><p><span style="font-family: inherit;">1. Un sistema con <b>Ubuntu</b> instalado.</span></p><p><span style="font-family: inherit;">2. Una conexión a <b>Internet</b> <b>estable</b>.</span></p><p><span style="font-family: inherit;">3. Un <b>controlador</b> compatible para disfrutar de una experiencia de juego completa.</span></p><p><span></span></p><a name='more'></a><span style="font-family: inherit;"><br /></span><p></p><p><span style="font-family: inherit; font-size: medium;"><b>Pasos para instalar RetroPie en Ubuntu:</b></span></p><p><span style="font-family: inherit;">1: Actualizar el sistema</span></p><p>Esto es casi obligatorio antes de instalar cualquier programa, para actualizar ab<span style="font-family: inherit;">re la terminal y ejecuta los siguientes comandos:</span></p><p>
</p><pre><code>
sudo apt update && sudo apt upgrade
</code></pre>
<p><span style="font-family: inherit; font-size: medium;"><b>2: Descargar RetroPie</b></span></p><p><span style="font-family: inherit;">El siguiente paso es descargar el archivo de instalación de RetroPie desde Github. En la misma terminal ejecuta los siguientes comandos:</span></p><p>
</p><pre><code>
cd ~
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
</code></pre>
<p><span style="font-family: inherit;"><span style="font-size: medium;"><b>3: Instalar RetroPie</b></span></span></p><p><span style="font-family: inherit;">Una vez completada la descarga, navega hasta el donde se encuentra el archivo de instalación de RetroPie y ejecutamos el siguiente comando:</span></p><p>
</p><pre><code>
cd RetroPie-Setup
</code><br /></pre><p><span style="font-family: inherit;">Luego, inicia el instalador con el siguiente comando:</span></p><p>
</p><pre><code>
sudo ./retropie_setup.sh
</code></pre>
<p><b style="font-family: inherit; font-size: large;">Paso 4: Configurar RetroPie</b></p><p><span style="font-family: inherit;">Al ejecutar el instalador, se te presentará una interfaz de configuración. Puedes seleccionar diferentes opciones según tus preferencias, como la configuración de controladores y opciones de emulación para diferentes sistemas. Sigue las instrucciones en pantalla y elige las opciones que mejor se adapten a tus necesidades.</span></p><p><b style="font-family: inherit; font-size: large;">Paso 5: Instalar ROMs</b></p><p><span style="font-family: inherit;">Una vez que RetroPie esté instalado y configurado, ya podemos agregar ROMs para jugar. Puedes transferir tus ROMs a través de una unidad USB o descargarlas directamente desde Internet.</span></p><p><span style="font-family: inherit;">Una web muy buena para encontrar ROMs es <a href="http://abandonsocios.org" target="_blank">abandonsocios.org</a> </span>y más concretamente en esta <a href="https://www.abandonsocios.org/index.php?topic=16572.0" target="_blank">entrada</a>.<span style="font-family: inherit;"> Una vez que tengas los juegos, asegúrate de colocar tus ROMs en la carpeta "roms" dentro del directorio de RetroPie, que debería estar ubicado en la <b>carpeta personal</b> </span><span style="font-family: inherit;">/RetroPie/roms.</span></p><div>Hay que destacar que cada juego tiene que ir en su carpeta correspondiente, es decir, si tenemos juegos para <b>NES</b> hay que meterlos en la carpeta /RetroPie/roms/nes y son de <b>PlayStation 1</b> en /RetroPie/roms/psx etc</div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;"><b style="font-size: large;">Paso 6: Ejecutar RetroPie:</b></span></div><div><span style="font-family: inherit;">Una vez que tengamos todo preparado solo tenemos que ejecutar <b>RetroPie</b> desde el icono</span></div><div><span style="font-family: inherit;"><br /></span><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://retropie.org.uk/docs/images/logo.png" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="50" data-original-width="50" height="50" src="https://retropie.org.uk/docs/images/logo.png" width="50" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">rpie</td></tr></tbody></table><br /></div><div>Y lo primero que aparece es una pantalla donde tenemos que <b>configurar</b> el mando que estemos usando:</div><div><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjftEiuLjYuQQcWNY14yA_vsoRQSa59KTavpRCBFyBySG_EXBdrS_3nTifhY7eiQPPmLvZ95FrcVyvhDvG9-Z1hvSf6Z-xIIxPcjk8Jed3tkmIcT6TMk7SxveN67Quz3FgRaiWE2uExDGrBBzvZi-ZV7iUWlxY50MEDJSpAztkSG85fwO4s1rpe3DmYRhpC/s1366/Retropie01.png" style="margin-left: 1em; margin-right: 1em;"><img alt="RetroPie gamepad" border="0" data-original-height="768" data-original-width="1366" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjftEiuLjYuQQcWNY14yA_vsoRQSa59KTavpRCBFyBySG_EXBdrS_3nTifhY7eiQPPmLvZ95FrcVyvhDvG9-Z1hvSf6Z-xIIxPcjk8Jed3tkmIcT6TMk7SxveN67Quz3FgRaiWE2uExDGrBBzvZi-ZV7iUWlxY50MEDJSpAztkSG85fwO4s1rpe3DmYRhpC/w400-h226/Retropie01.png" title="RetroPie gamepad" width="400" /></a></div></div><p><br /> Siempre podemos volver a este menú pulsando "<b>start</b>" desde la pantalla principal:</p><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjftEiuLjYuQQcWNY14yA_vsoRQSa59KTavpRCBFyBySG_EXBdrS_3nTifhY7eiQPPmLvZ95FrcVyvhDvG9-Z1hvSf6Z-xIIxPcjk8Jed3tkmIcT6TMk7SxveN67Quz3FgRaiWE2uExDGrBBzvZi-ZV7iUWlxY50MEDJSpAztkSG85fwO4s1rpe3DmYRhpC/s1366/Retropie01.png" style="margin-left: 1em; margin-right: 1em;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx30a25crSZbbWqlWzXB38vt_KXvW1Sz9sFlx7ltP0IVi3C5jqR0d2egySPtqelfp5vapNMa5nPnmB1XRk6mBMEPawZeCHDXxrOY2mxw9FO81z2tznaOMMqVm0PzHSUFegQeszbRuTv2V4dYaEbxq9RAA-GGVMhrzqK5w4B3KHMJnOeR_PWnCSX7s9spN1/s1366/Retropie02.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Retropie configuración" border="0" data-original-height="768" data-original-width="1366" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx30a25crSZbbWqlWzXB38vt_KXvW1Sz9sFlx7ltP0IVi3C5jqR0d2egySPtqelfp5vapNMa5nPnmB1XRk6mBMEPawZeCHDXxrOY2mxw9FO81z2tznaOMMqVm0PzHSUFegQeszbRuTv2V4dYaEbxq9RAA-GGVMhrzqK5w4B3KHMJnOeR_PWnCSX7s9spN1/w400-h226/Retropie02.png" title="Retropie configuración" width="400" /></a></div></div><br /><br /><br /><div>Y ahora si, ya nos muestra los emuladores activos desde la pantalla principal, debajo de cada uno de ellos nos aparecerán el número de juegos disponibles:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-wmx0GKOOZQsM3HRymukkA0QvdqgipixRSOgBxSTPtSxMmhI1FjxpGcr4NAxPaZl9gTkyKO3xRS-IE2o9J452xb7TLQAnrPODdp7792355UTP68IKeK8kDFbQKVMfCy2IBbX1KltTbUj6RPxT6bwIOITWpIM4gu7VBjnaFXSWkWO94b4dqsqgLIX4Phb3/s1366/Retropie03.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1366" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-wmx0GKOOZQsM3HRymukkA0QvdqgipixRSOgBxSTPtSxMmhI1FjxpGcr4NAxPaZl9gTkyKO3xRS-IE2o9J452xb7TLQAnrPODdp7792355UTP68IKeK8kDFbQKVMfCy2IBbX1KltTbUj6RPxT6bwIOITWpIM4gu7VBjnaFXSWkWO94b4dqsqgLIX4Phb3/w400-h225/Retropie03.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi02hfX6z6TCGKB01ZIPzdlRP_zR0saiS2Yz-ttatuZGkAydGt4Yy0Ug69DSZOkE7vojiEI9i2TTarIsCS0xCwKdOa4qIpfc0HOY2W2VuuJzItJwkV51jkWxiqjYBbY8GzUm4ZMUijkuBI0zyPwLFzaQAxSuSyEMe3ZSq99_3aMuIdGfEAuAN_LwEJkayw_/s1366/Retropie04.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1366" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi02hfX6z6TCGKB01ZIPzdlRP_zR0saiS2Yz-ttatuZGkAydGt4Yy0Ug69DSZOkE7vojiEI9i2TTarIsCS0xCwKdOa4qIpfc0HOY2W2VuuJzItJwkV51jkWxiqjYBbY8GzUm4ZMUijkuBI0zyPwLFzaQAxSuSyEMe3ZSq99_3aMuIdGfEAuAN_LwEJkayw_/w400-h225/Retropie04.png" width="400" /></a></div><br /><div><br /></div><div><span style="font-family: inherit; font-size: medium;"><b>7.Conclusión:</b></span></div><div><span style="font-family: inherit;">Instalar <b>RetroPie</b> en <b>Ubuntu</b> es una excelente manera de disfrutar de tus juegos retro favoritos. Sigue los pasos mencionados anteriormente y pronto estarás disfrutando de la nostalgia de jugar a clásicos como Super Mario, Pac-Man y muchos más. ¡Disfruta de tu experiencia de juego retro!</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">Recuerda, la emulación de juegos está sujeta a las leyes de derechos de autor y es importante respetarlas. Asegúrate de que las ROMs que utilices sean copias de juegos que poseas legalmente.</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">Saludos!!!</span></div><div><br /></div><p></p><p></p><p></p><p></p>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-59274401761995824632023-11-05T14:16:00.004+01:002023-11-24T23:21:55.802+01:00Raspberry pi 2 con Oled 128x64 I2C<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqED6b6Mbf4Wh9maojyE1sRRSiC8qy5IVnqIuHeKmSWtIoUDnLt5QrmUeTCD7m4xucH3DGg7bayXf21FV-x4jnnEWbOBl6eBt0jQzca6Jfb3Y2S19X78ks9WjNo94oZlx5W7L78QFFk9FWLeleSQL3xTmWZThIId-Ksm4KzAOiCqD9qn8-SXkG6I3vj-ST/s1617/Raspberry_Pi_2_Model_B_v1.1_top.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="1080" data-original-width="1617" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqED6b6Mbf4Wh9maojyE1sRRSiC8qy5IVnqIuHeKmSWtIoUDnLt5QrmUeTCD7m4xucH3DGg7bayXf21FV-x4jnnEWbOBl6eBt0jQzca6Jfb3Y2S19X78ks9WjNo94oZlx5W7L78QFFk9FWLeleSQL3xTmWZThIId-Ksm4KzAOiCqD9qn8-SXkG6I3vj-ST/w228-h152/Raspberry_Pi_2_Model_B_v1.1_top.png" width="228" /></a></div> Raspberry Pi ese pequeño ordenador de "bajo coste" que poca presentación necesita. Todos sabemos de su versatilidad y potencia. Raspberry Pi se usa en muchisimos proyectos de robotica, mini PCs, servidores y un largo etcétera. Por su puesto gracias a su puerto GPIO donde podremos conectar otra gran cantidad de sensores y accesorios.<p></p><p>En mi caso tengo un <b>Raspberry Pi 2 Model B</b>. A día de escribir esta entrada ya tiene unos añitos pero sigue dando guerra. La tengo para hacer mis cosillas de programación, también alguna vez como emulador de juegos retro o como es este caso, para cacharrear.</p>En este caso he añadido una pequeña pantalla <b>Oled de 128x64</b> y comunicación <b>I2C</b>. Es la que uso generalmente con <b>Arduino</b> y en tiendas de internet lo podemos encontrar por unos 2 o 3 euros.<div>Si bien es una pantalla pequeña es lo suficiente para poder mostrar cierta información en ella así como imágenes o animaciones.</div><span><a name='more'></a></span><div><br /></div><div><br /></div><div>Lo primero es actualizar el sistema con:</div>
<pre><code>
sudo apt update && sudo apt upgrade
</code></pre>
<div><br /></div>
<div>Y habilitamos el módulo de comunicación I2C con el siguiente comando:</div>
<pre><code>
sudo raspi-config
</code></pre>
<div><br /></div><div>Y nos aparece la siguiente pantalla donde seleccionamos la opción número 3: <br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJwSAkvMJ4PTxrqOrMOISN18cXN75Z9qtLUojn_CmITgUSolAX_7zEZLU_TEUm3Dk5fWh2fn9wHJuDNHyAN1XyLcu81MyS2YbJ3uB7TLE2SYdGhBGU3bDy7rQPHMqAfTF0s6zrTG-ROEuj9ZZprV4A1CIl64P8ZDqM9T68eZ7hHqKgcjrVMRRkhmXBcapn/s734/Raspberry_Raspi-config_i2c_01.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Raspberry_Raspi-config_i2c_03" border="0" data-original-height="433" data-original-width="734" height="319" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJwSAkvMJ4PTxrqOrMOISN18cXN75Z9qtLUojn_CmITgUSolAX_7zEZLU_TEUm3Dk5fWh2fn9wHJuDNHyAN1XyLcu81MyS2YbJ3uB7TLE2SYdGhBGU3bDy7rQPHMqAfTF0s6zrTG-ROEuj9ZZprV4A1CIl64P8ZDqM9T68eZ7hHqKgcjrVMRRkhmXBcapn/w540-h319/Raspberry_Raspi-config_i2c_01.png" width="540" /></a></div><br /><p>Una vez estamos dentro pulsamos sobre "<b>P5 I2C</b>" </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY-76D7UufZFdjpCRZ5NWFA_DzdkAGomLNlyLwN0h80tiaKLkQKHI4t6Lp7B35y1vT0vYpjU9mePskVXiCtvwIHgczqrkj7QpsLWCbm7lou-vRRy8WCabbHyuC6ylGOi3wD8x_mLw_31YAZwoFVnEOoUhyAsiS38e4fdnRbgbBcrQyT3tq_7cny_7zK-FU/s734/Raspberry_Raspi-config_i2c_02.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Raspberry_Raspi-config_i2c_03" border="0" data-original-height="433" data-original-width="734" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY-76D7UufZFdjpCRZ5NWFA_DzdkAGomLNlyLwN0h80tiaKLkQKHI4t6Lp7B35y1vT0vYpjU9mePskVXiCtvwIHgczqrkj7QpsLWCbm7lou-vRRy8WCabbHyuC6ylGOi3wD8x_mLw_31YAZwoFVnEOoUhyAsiS38e4fdnRbgbBcrQyT3tq_7cny_7zK-FU/w543-h320/Raspberry_Raspi-config_i2c_02.png" width="543" /></a></div><p></p><p>Nos pregunta si queremos habilitar la interfaz I2C y pulsamos "<b>Yes</b>"</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFy-RT2ZuQxGO4acDCH1ebEA40fL8Yd_YvHn1odoCkePGXlrwOfkhDtxVx5mCjjlDL3qDc0cO8Xk0WxK73BsvXADXUg3CsgSeYvkCS-aTRdEl6RfarQaIT_nKoNHJJ-JIv6NDjUQRuy6klc0oeyKx96CGg5VelVCIkG52d28rPtxFQMNa29207Yq_5lG7u/s732/Raspberry_Raspi-config_i2c_03.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Raspberry_Raspi-config_i2c_03" border="0" data-original-height="433" data-original-width="732" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFy-RT2ZuQxGO4acDCH1ebEA40fL8Yd_YvHn1odoCkePGXlrwOfkhDtxVx5mCjjlDL3qDc0cO8Xk0WxK73BsvXADXUg3CsgSeYvkCS-aTRdEl6RfarQaIT_nKoNHJJ-JIv6NDjUQRuy6klc0oeyKx96CGg5VelVCIkG52d28rPtxFQMNa29207Yq_5lG7u/w544-h322/Raspberry_Raspi-config_i2c_03.png" width="544" /></a></div><p></p><p><span style="font-size: large;"><b>Librería Adafruit SSD1306 para Python:</b></span></p><p>Una vez tenemos configurada la comunicación pasamos a la librería, en este caso la de <a href="https://learn.adafruit.com/micropython-hardware-ssd1306-oled-display/circuitpython" target="_blank">Adafruit circuitpython ssd1603</a>. Para instalarla desde la terminal:</p>
<pre><code>
sudo pip3 install adafruit-circuitpython-ssd1306
</code></pre><p>Cuando ya tenemos la librería instalada podemos hacer nuestro primer testeo. Para esto podemos crear un programa donde nos represente en la pantalla 3 puntos representando las posiciones inicio, medio y final.</p>
<pre><code>
from board import SCL, SDA
import busio
import adafruit_ssd1306
i2c = busio.I2C(SCL, SDA)
# Crea la clase oled y define el ancho, alto y el bus de comunicacion I2c
oled = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c)
# Borra toda la pantalla
oled.fill(0)
oled.show()
# Muestra un pixel en la posición inicial
oled.pixel(0, 0, 1)
# Muestra un pixel en el centro de la pantalla
oled.pixel(64, 32, 1)
#Muestra un pixel en la diagonal contraria
oled.pixel(127, 65, 1)
# Muestra la información en la pantalla
oled.show()
</code></pre>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhblCHEoYyYdV7Q5ihMvWQM-PzdWvFNNCk-yDB9szZxzao62V2OG2JLjqL-KIN6bTQOsSyub9aM6zV-2k8uslnJCybo3ThoqiTQYyrcZSiC6uZpGFDTw82ipO3Tz3FzEFqOaptLom1oHYk9kZFeACXsOwmseNeZB6TX-WUSTdzH460Yjly-AnjLiLRFwviA/s1512/Raspberry_Pi_Oled_128x64_08.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Raspberry_Pi_Oled_128x64_07" border="0" data-original-height="1464" data-original-width="1512" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhblCHEoYyYdV7Q5ihMvWQM-PzdWvFNNCk-yDB9szZxzao62V2OG2JLjqL-KIN6bTQOsSyub9aM6zV-2k8uslnJCybo3ThoqiTQYyrcZSiC6uZpGFDTw82ipO3Tz3FzEFqOaptLom1oHYk9kZFeACXsOwmseNeZB6TX-WUSTdzH460Yjly-AnjLiLRFwviA/w231-h224/Raspberry_Pi_Oled_128x64_08.png" width="231" /></a></div><br /><p><br /></p><p>Para sacarle mas provecho a la pantalla de <b>128x64</b>, desde <a href="https://github.com/" target="_blank">Github</a>, tenemos una serie de programas/ejemplos de donde podremos ver como funciona la librería o simplemente usarlos directamente si alguno te cuadra con tus necesidades. </p><p>Este repositorio se llama "<a href="http://luma.examples" target="_blank">luma.examples</a>" y es muy completo tienes desde animaciones </p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBDwIDPBUhT1UlrJRvg5oCRrmFu5rt1bzwpXh19ivN-5HxeBPbuIxu6hUznSUZ7c0c5eUYqsrTpWVobx19BQ-aypC8SmHpC7-jZs832Tp2hl8CYmXLPlji9paxwXwJ5wCcNxIvfDiYLxRC662gUiWA8ZmwqryZ4UhZb6Zj6iX0lNYd8SXEDU_-khDtoRb7/s1955/Raspberry_Pi_Oled_128x64_07.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="965" data-original-width="1955" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBDwIDPBUhT1UlrJRvg5oCRrmFu5rt1bzwpXh19ivN-5HxeBPbuIxu6hUznSUZ7c0c5eUYqsrTpWVobx19BQ-aypC8SmHpC7-jZs832Tp2hl8CYmXLPlji9paxwXwJ5wCcNxIvfDiYLxRC662gUiWA8ZmwqryZ4UhZb6Zj6iX0lNYd8SXEDU_-khDtoRb7/s320/Raspberry_Pi_Oled_128x64_07.png" width="320" /></a></div><br /><p><br /></p><p>a información del sistema como el uso de <b>CPU</b>, <b>RAM</b> o <b>temperatura</b>.</p><p><br /></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh28aCZGDMRGQ9KPdk8-nv7AVaD_E-ex1QFX2rxVx4TTKCN9_ahu9lp8cv_0KiLQwcq8GTD9PKWcAyNTI94efb4gjrXCnMkImmdiIvrkEAd7eqEdO73L9LFEhD1wKtOzzklbpxKPs47NZDqDaYDlB7ZTY3OCIJ5vwrm0GKOL6lDmBCcfh3Ux12KdC8XfcZa/s1441/Raspberry_Pi_Oled_128x64_04.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1401" data-original-width="1441" height="311" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh28aCZGDMRGQ9KPdk8-nv7AVaD_E-ex1QFX2rxVx4TTKCN9_ahu9lp8cv_0KiLQwcq8GTD9PKWcAyNTI94efb4gjrXCnMkImmdiIvrkEAd7eqEdO73L9LFEhD1wKtOzzklbpxKPs47NZDqDaYDlB7ZTY3OCIJ5vwrm0GKOL6lDmBCcfh3Ux12KdC8XfcZa/s320/Raspberry_Pi_Oled_128x64_04.png" width="320" /></a></div><br /><p><br /></p><p><span style="font-size: large;"><b>Instalando repositorio luma.examples:</b></span></p><p>Para tener los ejemplos disponibles necesitamos hacer varios pasos. Primero instamos la librería para python llamada "luma.oled" con el siguiente comando:</p>
<pre><code>
sudo -H pip3 install --upgrade luma.oled
</code></pre>
<p>Después clonaremos el repositorio, para esto nos situamos en la carpeta donde queramos tener los archivos y clonamos con:</p>
<pre><code>git clone https://github.com/rm-hull/luma.examples.git
</code></pre>
<p>Una vez tenemos los archivos descargados accedemos a la carpeta "<b>luma.examples</b>" y ejecutamos el último comando: </p>
<pre><code>
sudo -H pip3 install -e .
</code></pre>
<p>Ahora si lo tenemos todo para hacer andar esta pantalla en nuestra Raspberry Pi. Ahora si accedemos a la carpeta "<b>examples/</b>" y con un <b>ls</b> nos muestra todos los programas disponibles.</p><p>Los he probado casi todos y funcionan muy bien, sobre todo los de información de sistema</p><p><span style="font-size: medium;"><b>Vídeo del funcionamiento de la pantalla:</b></span></p><p><br />
</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="379" src="https://www.youtube.com/embed/9wXYUZ6xj6Y" width="460" youtube-src-id="9wXYUZ6xj6Y"></iframe></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><p style="text-align: left;">Saludos!!!</p><p><br style="text-align: left;" /></p></div>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-35675947828152433612023-07-23T12:08:00.001+02:002023-11-24T23:22:38.313+01:00Baterías 2S y 3S
Buenas a todos! <div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijZ__F7kOFwCIUGyzXCY2-OVNRlVTgY1jJHbHt5c5FwB2bOsrnuq7OIBMUnxgT9EYgl1i3tHExG7r9iPr10b38ij7UP0F3f-g6w3VRAkSKo9M2iLbxXxMs2x1st7FT7VLn_GqQCqKGtTO_-7gEKWobWdquXjQT7p0-Mv0uKdhBFS2q2ZZc-2ZH6PwSGmkG/s1004/Bateria%20Lipo.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="662" data-original-width="1004" height="132" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijZ__F7kOFwCIUGyzXCY2-OVNRlVTgY1jJHbHt5c5FwB2bOsrnuq7OIBMUnxgT9EYgl1i3tHExG7r9iPr10b38ij7UP0F3f-g6w3VRAkSKo9M2iLbxXxMs2x1st7FT7VLn_GqQCqKGtTO_-7gEKWobWdquXjQT7p0-Mv0uKdhBFS2q2ZZc-2ZH6PwSGmkG/w200-h132/Bateria%20Lipo.png" width="200" /></a></div> El tema de las baterías es un tema complicado, capacidades, voltajes, ¿litio, lipo?
Pues bien lamentablemente no voy a explicar en que consisten cada una, pero si un pequeño truco para poder hacer packs de 2 y 3 celdas de baterías del tipo Litio. Hay en el mercado muchos BMS (Battery Management System) para cargar baterías desde 1S ( 1 celda) hasta... no sabría decir, pero muchas. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLiotd6NUmFKyZ9tw9t3GelWfdXg4mklW-dMgeOZVFxgHIEc0sGHmRHU4B9qRVEhvHkLp9wCidpY4y4Kk9hj8fFiKu5rs_be-XnNyz3EHUsojbBYh70Vzu3j6fgxbYGr95igLU6NN6lO1QkMgTvqoI0oZVdK9206j1a0Du5yybTtqCAsgg41nghFuB0O5-/s550/Bateria_Litio.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="350" data-original-width="550" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLiotd6NUmFKyZ9tw9t3GelWfdXg4mklW-dMgeOZVFxgHIEc0sGHmRHU4B9qRVEhvHkLp9wCidpY4y4Kk9hj8fFiKu5rs_be-XnNyz3EHUsojbBYh70Vzu3j6fgxbYGr95igLU6NN6lO1QkMgTvqoI0oZVdK9206j1a0Du5yybTtqCAsgg41nghFuB0O5-/w200-h127/Bateria_Litio.png" title="Batería Litio" width="200" /></a></div><br /><div>El problema de estos es que suelen estar limitados a 1A o 2A.
Si bien esto no es un problema para una emisora, cuando tienes mucha carga como un motor de RC del tipo 370 o 390, junto con la electrónica y luces, se suele quedar corto. </div><div><br /></div><div>Las baterías de Lipo son mucho mejores en eso.
Lamentablemente son más caras y no tan fáciles de adquirir como las baterias de Litio.
Tengo muchas, casi todas de ordenadores portátiles, incluido el portatil desde el que escribo. </div><div><br /></div><div>Pero si estaba rota ¿por que así si funciona? </div><span><a name='more'></a></span><div><br /></div><div> Sencillo, normalmente cuando se rompe una batería, suele hacerlo solo una de sus celdas o el BMS interno. </div><div>En el primer caso se puede intentar sustituir la batería aunque es complicado. <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC93yQX5p8EUE9G74xW-6piysoH7lLGTuLeKIlY-16ot5xXgCc83zSUWke-7wPh7Mm6wJfwvpLmt3SjAdzlmvziw09oszSq90oEvq5JXKQnD0zapZoT9zJiFUhl6xl0T4mEP1w32gGhNAtSb3pQkXuDSmzj7O8C2uO26LANgz9mumzan4KAvTEZgnBkxoe/s1100/Bateria_portatil.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="640" data-original-width="1100" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC93yQX5p8EUE9G74xW-6piysoH7lLGTuLeKIlY-16ot5xXgCc83zSUWke-7wPh7Mm6wJfwvpLmt3SjAdzlmvziw09oszSq90oEvq5JXKQnD0zapZoT9zJiFUhl6xl0T4mEP1w32gGhNAtSb3pQkXuDSmzj7O8C2uO26LANgz9mumzan4KAvTEZgnBkxoe/s320/Bateria_portatil.png" width="320" /></a></div><br /></div><div>En el segundo poco se puede hacer. En ambos casos por seguridad es mejor cambiar la batería entera. </div><div>Ahora con la batería "rota" solo tenemos que abrir y comprobar cual celda esta correcta y cual no. Las separamos y ya tenemos 3 o 4 baterías listas para usar. </div><div><br /></div><div>Sigamos, en mi caso son packs para los WPL que tengo activos. El B24 ya lo tiene con su puerto de carga y funciona de perfecto. </div><div>Ahora le toca el turno al MAN Kat al cual le quiero poner 3 celdas. Con esto tendre 12.6V a plena carga y 11.1 de voltaje para cargar.
Y estos son los esquemas:
<div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDjOmeAMtE03MYhcsyZz8FEHIwSaeTu2ZGtmVM6C_5uFZIyNWQpTeVIs4Rrsmocver-BCjgaD8JBEjFz1PlyduI1pqSN5VZCioAHzecE1p-7-p7X56tCCr2SuUFhT0LwQ0_8RhGOOj-Xzan7qngFA1LGpHXd4V3eVeuoMFP2y_rM96DUEZ1PlXcE6-xnpA/s820/Bateria_2S%20bateria.png" style="clear: right; display: block; float: right; margin-bottom: 1em; margin-left: 1em; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="540" data-original-width="1025" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiHKVqPyolvrqaHqgReBne1b6svV77lUCxMljxmI6u5jVKe-ovBtnwq3Qn0eh7CrijbCs58kcLQvUFFM8PyNu0QT97fdUTBtfZRzs9f5U6u3hfL8UuyBKj1J-Tc_ccMZvVdaIvhr1gDCB7nUppGhJBtRMdW34p6J9GBgm5xJyu7KTLaYix1zUiV4V3xChJ/w350-h185/Bateria_3S%20bateria.png" width="350" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDjOmeAMtE03MYhcsyZz8FEHIwSaeTu2ZGtmVM6C_5uFZIyNWQpTeVIs4Rrsmocver-BCjgaD8JBEjFz1PlyduI1pqSN5VZCioAHzecE1p-7-p7X56tCCr2SuUFhT0LwQ0_8RhGOOj-Xzan7qngFA1LGpHXd4V3eVeuoMFP2y_rM96DUEZ1PlXcE6-xnpA/s820/Bateria_2S%20bateria.png" style="clear: left; display: block; float: left; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="538" data-original-width="820" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDjOmeAMtE03MYhcsyZz8FEHIwSaeTu2ZGtmVM6C_5uFZIyNWQpTeVIs4Rrsmocver-BCjgaD8JBEjFz1PlyduI1pqSN5VZCioAHzecE1p-7-p7X56tCCr2SuUFhT0LwQ0_8RhGOOj-Xzan7qngFA1LGpHXd4V3eVeuoMFP2y_rM96DUEZ1PlXcE6-xnpA/w285-h187/Bateria_2S%20bateria.png" width="285" /></a><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiHKVqPyolvrqaHqgReBne1b6svV77lUCxMljxmI6u5jVKe-ovBtnwq3Qn0eh7CrijbCs58kcLQvUFFM8PyNu0QT97fdUTBtfZRzs9f5U6u3hfL8UuyBKj1J-Tc_ccMZvVdaIvhr1gDCB7nUppGhJBtRMdW34p6J9GBgm5xJyu7KTLaYix1zUiV4V3xChJ/s1025/Bateria_3S%20bateria.png" style="display: block; padding: 1em 0px; text-align: center;"></a><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiHKVqPyolvrqaHqgReBne1b6svV77lUCxMljxmI6u5jVKe-ovBtnwq3Qn0eh7CrijbCs58kcLQvUFFM8PyNu0QT97fdUTBtfZRzs9f5U6u3hfL8UuyBKj1J-Tc_ccMZvVdaIvhr1gDCB7nUppGhJBtRMdW34p6J9GBgm5xJyu7KTLaYix1zUiV4V3xChJ/s1025/Bateria_3S%20bateria.png" style="display: block; padding: 1em 0px; text-align: center;"></a></div></div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>Como se puede ver es bastante sencillo, pero no esta exento de dar problemas así que...</div><div><b><span style="color: red;">ADVERTENCIA</span></b>: <span style="color: red;">Manipular baterías puede ser peligroso, hay riesgo de incendio e incluso de explosión, Una mala colocación de los cables también puede arruinar el cargador</span>.</div></div><div><br /></div><div>Y bueno con esto ya esta todo, si eres un manitas y te gusta el reciclaje... este es un trucazo!!!</div><div><br /></div><div>Saludos!!!</div>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-92145057483072225092023-03-06T21:34:00.002+01:002023-03-12T01:35:45.351+01:00WPL C14<p></p><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;"> </span></div><div class="separator" style="clear: both; text-align: justify;"><span style="text-align: left;">Este modelo de WPL es, creo, el más económico, pero no por ello aburrido. El <b>WPL C14</b>, y</span><span style="text-align: left;"> como todos los que tengo, ya tiene unos cuantos "upgrades" o actualizaciones como el motor de 2 velocidades y un ESC más potente y conectado a la emisora FS-GT5.</span></div><p style="text-align: justify;">Este es el que menos tengo "decorado" y es que es tan fácil de combinar con otras piezas que prácticamente esta en constante actualización. Eso si es el único de los que tengo que a día de hoy sigue con los ejes de plástico. </p><p style="text-align: justify;">Una de las cosas que más me gustaron fueron las ruedas incluidas en este kit, mucho más esponjosas que las que traía originales el <a href="http://www.infotronikblog.com/2019/12/WPL-B-24-Modelo-Gaz-66-modificaciones.html" rel="nofollow" target="_blank">WPL B24</a>. También el hecho de que incluyera algunas piezas de repuesto.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvroP3hKoQANtKYkkt4keIkDwpG7i7ykjxnUUUWIR_vw1l23TQC29g17itcEzsDhku8iGoiMKDHnJ4MVDGSROqeAQZK5ycRLXxgvCeSSSSfCsUd1pWxfCj7SWJ-C8ojwRzhLaJ_y39jTa657oCXKTSqz7gsAYkgBv3tE-_fl33oCwju2waKlzwzu19Hw/s1606/C14_007.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="594" data-original-width="1606" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvroP3hKoQANtKYkkt4keIkDwpG7i7ykjxnUUUWIR_vw1l23TQC29g17itcEzsDhku8iGoiMKDHnJ4MVDGSROqeAQZK5ycRLXxgvCeSSSSfCsUd1pWxfCj7SWJ-C8ojwRzhLaJ_y39jTa657oCXKTSqz7gsAYkgBv3tE-_fl33oCwju2waKlzwzu19Hw/w581-h214/C14_007.jpg" width="581" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><br /><b><i><span style="font-size: medium;">WPL C14</span></i></b></td></tr></tbody></table><br /><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd_VVNn79DG0gACqgrYZM8d62bkBU-qzUaLDnt97Hl1qv6EYsbO8CRnu9PHqzToXAa6psvntkMVhcDXy5R9pY6kqmq551qEAXqm75jIsC0mE45uwA0TwAl0xQvRWRxD6wYhN9D6nkYBgwsWUOwKu0KQqlqir6AEusY9MgniVVwtmRys8YtgkyATdbn_A/s4000/IMG_20230305_140010.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="4000" data-original-width="1800" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd_VVNn79DG0gACqgrYZM8d62bkBU-qzUaLDnt97Hl1qv6EYsbO8CRnu9PHqzToXAa6psvntkMVhcDXy5R9pY6kqmq551qEAXqm75jIsC0mE45uwA0TwAl0xQvRWRxD6wYhN9D6nkYBgwsWUOwKu0KQqlqir6AEusY9MgniVVwtmRys8YtgkyATdbn_A/w131-h291/IMG_20230305_140010.jpg" width="131" /></a>Para este modelo probé varias suspensiones y modificar las que traía originalmente. Las que más me gustan son las que lleva ahora mismo. </p><p>También lleva los adaptadores para poder modificar un poco la distancia entre ejes.</p><p>Para la alimentación, una batería de Lipo de <b>1500mA</b> es más que suficiente para tener algunas horas de diversión... si horas!!! Hay que tener en cuenta que no es vehículo que este todo el rato a todo gas. Es una conducción relajada. </p><p>Además incluso en la emisora lo tengo limitado a un 40% o 50% de la potencia, que es más que suficiente para cualquier terreno.</p><p>Otra de las cosas que he añadido es peso, <b> 250 o 300 gramos</b> entre arandelas tornillos y tuercas. Esto hace que tenga un poco más de estabilidad.</p><p></p><span><a name='more'></a></span><p><br /></p><p>Como experiencia personal, el WPL C14, pese a no tener una gran calidad, me ha dado y me da muchas horas de diversión. Barro, lluvia, pendientes de infarto caídas... muchas caídas... y muchas horas de hacer encajar piezas y que todo funcione lo mejor posible. No recuerdo exactamente cuanto me costó, pero no creo que fueran más de 30€ y con una emisora decente puede hacer las delicias de pequeños y grandes.</p><p>Os dejo unas cuantas fotos y próximamente vídeo al final, Saludos!!!</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2Xn4mD4EjM1cNpfsJnTVO98xOVowKc2u5gvH-KJwfkuaTYSzT7OSmLsyAvG99yEU5PXfj4BOEHNvOkGUmdaYHZ93kQH2I1lNemzjRHl5kfgXSyGV9Yr9b8oYR5EqOIB7aWMQo-qBIRNHRZBHYWduSDESbhZUkQF1rQJT1m6PvzCYIPBK4qPNQN0rx7g/s2000/C14_002.jpg" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" data-original-height="1500" data-original-width="2000" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2Xn4mD4EjM1cNpfsJnTVO98xOVowKc2u5gvH-KJwfkuaTYSzT7OSmLsyAvG99yEU5PXfj4BOEHNvOkGUmdaYHZ93kQH2I1lNemzjRHl5kfgXSyGV9Yr9b8oYR5EqOIB7aWMQo-qBIRNHRZBHYWduSDESbhZUkQF1rQJT1m6PvzCYIPBK4qPNQN0rx7g/w378-h284/C14_002.jpg" width="378" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">WPL C14 modificado</span></td></tr></tbody></table><p></p><span></span><div class="separator" style="clear: both; text-align: center;"><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6-2hwulF96Kkk7Sk324P_BUdth2dKToGywZx_ElmsXLwvY7GP_OSmQ0XqwVYWXdWH3_DM-4D_5uPmjo2O0qndtIuuBdpQ5mF3pM7TqUrBPxgeYqdoay7epHNNGJ9TdUrJfTmtwErIz3dSVqeK4q4qrLGeQWeLP0p9uooC4NMyWfLbPOjbNj1RvHA8DQ/s2000/C14_006.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1500" data-original-width="2000" height="273" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6-2hwulF96Kkk7Sk324P_BUdth2dKToGywZx_ElmsXLwvY7GP_OSmQ0XqwVYWXdWH3_DM-4D_5uPmjo2O0qndtIuuBdpQ5mF3pM7TqUrBPxgeYqdoay7epHNNGJ9TdUrJfTmtwErIz3dSVqeK4q4qrLGeQWeLP0p9uooC4NMyWfLbPOjbNj1RvHA8DQ/w364-h273/C14_006.jpg" width="364" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">WPL C14 modificado</span></td></tr></tbody></table><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_iZ-z3bK_05Mxhjmi3ONMmvHJQ1NKvC3Wo7bj4inplAsvm1swhviH-Wneolqyq4Ddp0RPY_62Z2sXKkcyeq-PQzU1bstxefyR5cZEUjZgVtJ5JMLD9FWm7QLZL3E1d94FUp34Aqu7-egU7kuAKE8GGnA8cWnH6JMkqcXeeCvgJaKkKu07GTqDiIobsg/s2428/IMG_20230305_140813.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="2428" data-original-width="1800" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_iZ-z3bK_05Mxhjmi3ONMmvHJQ1NKvC3Wo7bj4inplAsvm1swhviH-Wneolqyq4Ddp0RPY_62Z2sXKkcyeq-PQzU1bstxefyR5cZEUjZgVtJ5JMLD9FWm7QLZL3E1d94FUp34Aqu7-egU7kuAKE8GGnA8cWnH6JMkqcXeeCvgJaKkKu07GTqDiIobsg/s320/IMG_20230305_140813.jpg" width="237" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">WPL C14 modificado</span></td></tr></tbody></table><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit89VkA-55pi9hja_gWa6exdlU4bu_2K0pE_MV_5Rw4jiabYoduHDHaJP2f0DXp88kSmelRcdMmMueLs5xJvSFqxukdOyVStbGEOGMKhDScMcE6BaJkm8ig7d5lbq-WFe6U-KtH1x75ooLZjAu5KP5Bhs6OQhirm_oG19IIY0aYutICTxe0gPaXvtqpw/s3169/IMG_20230305_140853.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1800" data-original-width="3169" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit89VkA-55pi9hja_gWa6exdlU4bu_2K0pE_MV_5Rw4jiabYoduHDHaJP2f0DXp88kSmelRcdMmMueLs5xJvSFqxukdOyVStbGEOGMKhDScMcE6BaJkm8ig7d5lbq-WFe6U-KtH1x75ooLZjAu5KP5Bhs6OQhirm_oG19IIY0aYutICTxe0gPaXvtqpw/s320/IMG_20230305_140853.jpg" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">WPL C14 modificado</span></td></tr></tbody></table><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="342" src="https://www.youtube.com/embed/ZcMNM9148DY" width="481" youtube-src-id="ZcMNM9148DY"></iframe></div><br />Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-31429851022808058832023-03-01T21:54:00.010+01:002023-03-24T19:29:00.665+01:00Amstrad CPC 6128 Limpieza y puesta a punto<p> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6gPzoD0BD6J_oo-2tyGRf00BiwECJqcP_abpkScomlZz7FIkYcypc8e5NFfFJZfcHNmfgP8uOXMmSl_v-4kNt3BQazxmOl8enHL60i7cJsj-oKZp6LTfCPDiaKkhNx4j7U-iqSbooJfz2o22FaULo3NK_IPpmi96URqYKHO-_-6CphptKet2UjKu2QQ/s300/AmstradLogo.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="115" data-original-width="300" height="53" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6gPzoD0BD6J_oo-2tyGRf00BiwECJqcP_abpkScomlZz7FIkYcypc8e5NFfFJZfcHNmfgP8uOXMmSl_v-4kNt3BQazxmOl8enHL60i7cJsj-oKZp6LTfCPDiaKkhNx4j7U-iqSbooJfz2o22FaULo3NK_IPpmi96URqYKHO-_-6CphptKet2UjKu2QQ/w139-h53/AmstradLogo.png" width="139" /></a>Hace mucho tiempo me regalaron un Amstrad CPC 6128. Un ordenador que empezó a fabricarse entre los años 1985 y 1990. </p><p>Su procesador, un <a href="https://es.wikipedia.org/wiki/Zilog_Z80" style="background: none rgb(255, 255, 255); color: #0645ad; font-family: sans-serif; font-size: 14px; text-decoration-line: none;" title="Zilog Z80">Zilog Z80</a><span style="background-color: white;"><span face="sans-serif" style="color: #202122;"><span style="font-size: 14px;">A </span></span></span>a 4 Mhz y su memoria RAM de 128KB ampliable a 512KB. Su ROM de 48KB repartida con 16KB para BASIC, 16KB para el Firmware y 16 para AMSDOS actualmente no nos dará para mucho, pero en la época, más que suficiente para jugar y hacer funcionar distintos programas de ofimática.</p><p><br /></p><p>El controlador de gráficos <a href="https://es.wikipedia.org/wiki/Motorola_6845">Motorola 6845</a>. Tenía en total 3 modos:</p><ul style="text-align: left;"><li><b>MODE 0:</b> Resolución de 160x200 píxeles, texto de 20x25 caracteres en 16 colores</li></ul><ul style="text-align: left;"><li><b>MODE 1:</b> Resolución de 320x200 píxeles, texto de 40x25 caracteres en 4 colores</li></ul><ul style="text-align: left;"><li><b>MODE 2:</b> Resolución de 640x200 píxeles, texto de 80x25 caracteres en 2 colores</li></ul><div><br /></div><div>Evidentemente por edad, recuerdo vagamente estos ordenadores, por algún familiar y de verlos en el colegio. Así que cuando me lo regalaron me hizo mucha ilusión, ya que siempre me pregunte como funcionaban realmente esas maquinas.</div><div><br /></div><div>Lo primero fue realizar una limpieza "intensa" de todo el ordenador. Además de los años que tiene a sus espaldas, parte de su vida la paso a merced de los elementos en una terraza, Mi esperanza de hacerlo funcionar no era mucha...</div><div><br /></div><div><br /></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOjPpv-s35tj0q1sSdacaFafOHmoax2XiaV5SdokHgRPVdQLid3RXgM_rpttCoE5Igp5067xekXH01rPSHQwKC0vRi2qCbNofwnup7xLUKhzEW9TsjlmQM4Vg_84X1T74PwS-NW9x1kbhAG0vMKdHe_lZmOZq6P6yvvsQaCIVh83HKpP0IANnA8ay4dw/s1800/AmstradCPC6128_00.jpg" style="margin-left: 1em; margin-right: 1em; text-align: left;"><img border="0" data-original-height="1800" data-original-width="1800" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOjPpv-s35tj0q1sSdacaFafOHmoax2XiaV5SdokHgRPVdQLid3RXgM_rpttCoE5Igp5067xekXH01rPSHQwKC0vRi2qCbNofwnup7xLUKhzEW9TsjlmQM4Vg_84X1T74PwS-NW9x1kbhAG0vMKdHe_lZmOZq6P6yvvsQaCIVh83HKpP0IANnA8ay4dw/w278-h278/AmstradCPC6128_00.jpg" width="278" /></a></div></blockquote></blockquote><span></span><p><span></span></p><a name='more'></a><div style="text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYI0KXRdbzHt1Rnr3kKSveb7cBT5RU-LxkfTcjlkLTSVMrpOwvgyUQyQMGWn2fT9nktFSocGUQ-VpsZfKHo-zsP2Y1VihIDinTxi3gyM11BnTMO8NfyuY6CLcXJRipNk1WApF65hd94fUQ8hjhX_d6vyD3uN5rLZvHdpCuyx5iuoLLQyjQ-5H9cQ9t9A/s1800/AmstradCPC6128_01.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1800" data-original-width="1800" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYI0KXRdbzHt1Rnr3kKSveb7cBT5RU-LxkfTcjlkLTSVMrpOwvgyUQyQMGWn2fT9nktFSocGUQ-VpsZfKHo-zsP2Y1VihIDinTxi3gyM11BnTMO8NfyuY6CLcXJRipNk1WApF65hd94fUQ8hjhX_d6vyD3uN5rLZvHdpCuyx5iuoLLQyjQ-5H9cQ9t9A/w271-h271/AmstradCPC6128_01.jpg" width="271" /></a></div><p></p><br /><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYpWVNsNPQv_A4HFvxMkEJniGRfZIFIelk3FLaMhgLEYoSXjfxMFIAR6Q6DxoUDlzHkQxAxrKs1TLCF2UoFBu3x5Kr1k42bgDEGWpF_oc8WML8t9jTjpKkjH8WJ-AqeU7vgq5Wdzk6x6HQHZvlwTUlWcnKzn2nXD7ULP4mmwye8aEIIfoL8YNt4JdMNQ/s4000/AmstradCPC6128_02.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="2640" data-original-width="4000" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYpWVNsNPQv_A4HFvxMkEJniGRfZIFIelk3FLaMhgLEYoSXjfxMFIAR6Q6DxoUDlzHkQxAxrKs1TLCF2UoFBu3x5Kr1k42bgDEGWpF_oc8WML8t9jTjpKkjH8WJ-AqeU7vgq5Wdzk6x6HQHZvlwTUlWcnKzn2nXD7ULP4mmwye8aEIIfoL8YNt4JdMNQ/w392-h258/AmstradCPC6128_02.jpg" width="392" /></a>La parte mas sucia fue, como no, el teclado. Lo desmonte entero y limpie todo lo mejor que pude, tengo que decir que pese a lo que se ve en las fotos no estaba tan mal. era simplemente polvo.</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYbVL5JpkPbY8ruF6bbAD6S-fuxFrNlJ7YCmewUf2SuUPfiN96L_L3vSpK4KX9mPlXPoPBqKHv12ewSkuFfPYiahXWSKZjyrhKVSX_7g4mDeB9hsVIH7nqOjClN_QKUpbnKc8buOrD0REANgW0_sISqRBcNr4yPzdQH_zaBDu6DkUQ38hYTwnEsRalQw/s3990/AmstradCPC6128_03.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="3180" data-original-width="3990" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYbVL5JpkPbY8ruF6bbAD6S-fuxFrNlJ7YCmewUf2SuUPfiN96L_L3vSpK4KX9mPlXPoPBqKHv12ewSkuFfPYiahXWSKZjyrhKVSX_7g4mDeB9hsVIH7nqOjClN_QKUpbnKc8buOrD0REANgW0_sISqRBcNr4yPzdQH_zaBDu6DkUQ38hYTwnEsRalQw/w347-h277/AmstradCPC6128_03.jpg" width="347" /></a></div></div><div><br /></div>Con la parte electrónica paso algo por el estilo mucho polvo pero parecía que todo estaba en su sitio, condensadores en aparente buen estado. Normalmente, en ordenadores antiguos, suele dar problemas la pila, pero este, ni siquiera tiene ese componente. <div>Si dio problemas la disquetera, en un principio si que leía el disco pero al poco de empezar a funcionar empezó a dar fallos. Por suerte para mi pude sustituir la goma con una DIY de la medida mas o menos aproximada. Tengo que decir que aquí me la jugué un poco. Si era demasiado larga o un poco corta no leería correctamente, por suerte para mi la medida era correcta.</div><div><br /></div><div>Ya tenia la máquina limpia y revisada ahora solo hay que conectarla a un monitor (TV) y para esto me toco buscar información sobre sus conexiones y pines. Descubriendo que este modelo en particular tomaba corriente del monitor que venia con él. No se si esto era una norma, es decir si se vendía teclado y monitor juntos si o si.</div><div>Para encenderlo necesite de una fuente de alimentación de 2A que pudiera entregar +5V y +12V, hay muchas en internet, la que compré es para discos duros externos que ya tiene esos voltajes predeterminados. El esquema que seguí fue el siguiente:</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM5ppCZGfkvv5zHzzWwhrBFExb-fJJrfvUMSupt4x129GRPvK6tjiS4OtGu5KVaKP8-gEMW4or9ysIiHR3JoIc7lGtSXPTxvNA5zLnezEfY49hlVD8yH0b6_3bJATCVTRAoWNc4Xr9bNm1CljN4k0NRUUDgQtGRttLX6r3rR6kCNzPZdXexsfsSk9mtA/s640/scart2cpc02.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM5ppCZGfkvv5zHzzWwhrBFExb-fJJrfvUMSupt4x129GRPvK6tjiS4OtGu5KVaKP8-gEMW4or9ysIiHR3JoIc7lGtSXPTxvNA5zLnezEfY49hlVD8yH0b6_3bJATCVTRAoWNc4Xr9bNm1CljN4k0NRUUDgQtGRttLX6r3rR6kCNzPZdXexsfsSk9mtA/s320/scart2cpc02.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: left;">En la web de <a href="http://www.cpcmania.com/Docs/Scart/Scart_es.htm" rel="nofollow" target="_blank">CPCMania</a> hay mas información sobre el cableado. Otra web con bastantes cosas relacionadas con Amstrad es <a href="http://zonadepruebas.org/deepfb/ordenadores/amstrad/taller.htm" rel="nofollow" target="_blank">Zonapruebas</a>, con instrucciones para montar disqueteras de 3.5" </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Una de las cosas con las que hay que tener muchisimo cuidado es con la polaridad de las alimentaciones</div><div class="separator" style="clear: both; text-align: left;">que esta invertida en sus conectores. No tener esto en cuenta PUEDE DAÑAR TU EQUIPO.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Una vez el cableado ya estuvo listo, era el momento de probar que todo funcionara bien, después de chequear los cables, y aquí está! vaaamosss!!!</div><div class="separator" style="clear: both; text-align: left;"><br /></div></div><div class="separator" style="clear: both; text-align: left;">Me salió una pantalla donde me indica el año y la versión del <b>BASIC</b>, en este caso el <b>1.1</b></div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhixyebamOAmzoQ2CQem-uPQBS6LQeOGAegn-Hq2ld9nRP_IqjTB5mL_DziBS_EKHHthzi3GMt8i2Di7gS8gVn2d8wppSFJ47sEaSF2gLd0KIpXPio9tr6aXrYNpd9epqNuwjFMh_4XoYzP94r700b482cg9mh3S_UzTF1130egd0BxkyFV9tAb3GtciA/s4000/AmstradCPC6128_06.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3000" data-original-width="4000" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhixyebamOAmzoQ2CQem-uPQBS6LQeOGAegn-Hq2ld9nRP_IqjTB5mL_DziBS_EKHHthzi3GMt8i2Di7gS8gVn2d8wppSFJ47sEaSF2gLd0KIpXPio9tr6aXrYNpd9epqNuwjFMh_4XoYzP94r700b482cg9mh3S_UzTF1130egd0BxkyFV9tAb3GtciA/w392-h294/AmstradCPC6128_06.jpg" width="392" /></a></div><div><br /></div><div>Ahora que hago con esto? que comandos hay que utilizar con este ordenador?</div><div>Pues lo más habitual es jugar a juegos retro, pero en mi opinión, También puede ser una buena herramienta para que empezar a programar. Además esto te hace valorar como se programa ahora y las ayudas de los asistentes que ahorran mucho tiempo cuando estamos programando.</div><div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Q-wAQ1tl70Qr0kHPt3nvaHL_HZwO8rMpcb4bnzqIr22HBezvaAAMrUldIQvCxDMKRv8AIcqRARBCbxw_BnMRuDu18CJagFffI31WGhYt_azw595OXfQB2EmTTg_bMDlbUupLfMhleCwy7cvvfc1uek8eeXkrB-nug18_lmZ0f3cYZEs4dyHeRWe39Q/s3333/AmstradCPC6128_05.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2517" data-original-width="3333" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Q-wAQ1tl70Qr0kHPt3nvaHL_HZwO8rMpcb4bnzqIr22HBezvaAAMrUldIQvCxDMKRv8AIcqRARBCbxw_BnMRuDu18CJagFffI31WGhYt_azw595OXfQB2EmTTg_bMDlbUupLfMhleCwy7cvvfc1uek8eeXkrB-nug18_lmZ0f3cYZEs4dyHeRWe39Q/s320/AmstradCPC6128_05.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">Un buen curso para aprender como funciona y cargar discos o cintas antiguos es la web de <a href="https://www.nachocabanes.com/amstrad/curso/" rel="nofollow" target="_blank">Nacho Cabanes</a> y su sección dedicada a AmstradCPC.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">También os dejo un enlace donde podréis encontrar los 41 números de la revista <a href="https://www.amstradcpc.es/doku.php?id=publicaciones:revistas:amstrad_user" rel="nofollow" target="_blank">Amstrad User en español</a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div>Y aunque le enciendas "en vez en cuando" el rato que vas a pasar va a ser muy interesante... a disfrutarlo!!!</div></div>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-69588943518194779482023-02-25T21:26:00.008+01:002023-11-04T01:59:00.658+01:00Repetidor Wifi con ESP8266<p> Ultimamente estoy usando mucho este tipo de chips, tanto el ESP8266 como el ESP32.</p><p>El problema está en que la habitación donde "trabajo" el Wifi llega a duras penas. Esto provoca que haya multiples desconexiones y conexiones con el router.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZW9tN07AoKq80Scp-nqpPRFb5xLmn_mI_IIdA9_Jjla62VCdNPJR4V8Dld7PWdstRJ97r1LkcSInf8qFshbEmtgFMatySoqD3jcyB7hT2_wyOnLw5sY-dmR3gmGiljMv1hLbrSv2nv6sVaeiYTcyclETeUgbQVE-KV6EeGUWAFXHdS4Kl-JRd0HRrUg/s812/Esquema_de_red.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Repetidor wifi ESP8266" border="0" data-original-height="549" data-original-width="812" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZW9tN07AoKq80Scp-nqpPRFb5xLmn_mI_IIdA9_Jjla62VCdNPJR4V8Dld7PWdstRJ97r1LkcSInf8qFshbEmtgFMatySoqD3jcyB7hT2_wyOnLw5sY-dmR3gmGiljMv1hLbrSv2nv6sVaeiYTcyclETeUgbQVE-KV6EeGUWAFXHdS4Kl-JRd0HRrUg/w330-h222/Esquema_de_red.png" width="330" /></a></div>Ya tengo otro repetidor comercial para el ordenador, pero queria separar las redes para poder hacer pruebas y no interferir en la de casa. Y como tengo también unas cuantas baterías de tipo 18650, la idea es hacerlo para poder usarlo también fuera de casa<p></p><p></p>He usado el ESP8266 en su versión NodeMcu V3.<p></p><p>Los archivos necesarios estan en formato .bin así que he utilizado la herramienta "esptool.py".</p><span><a name='more'></a></span><p><br /></p><p>Primero he borrado el contenido que pudiera tener con el comando : </p><p>esptool.py -p /dev/ttyUSB0 erase_flash</p><p>Después he subido los archivos 0x00000 y 0x02000 con el comando: </p><p><br /></p><p>esptool.py -p /dev/ttyUSB0 write_flash -fs 4MB -ff 80m -fm dio 0x00000 firmware/0x000<br />00.bin 0x02000 firmware/0x02000.bin</p><div><br /></div><div class="separator" style="clear: both;">Una vez que tenemos los archivos subidos, tenemos que acceder por web al repetidor (como si de un router normal se tratara) la dirección por defecto es <b>192.168.4.1 </b></div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUI3qIWq9f-C2TOUmC7N-vieX55dhb0gHQGNG0CeHngYiloI8Ihp8uUFEIx6h_VOYDotxqcVjEGYhE_NgnAZiOwgy9VWIWBiq3huYfY2Rd3kQUU1SIMQKnZyQg0gwd4L-kILstxO_jBgLfJHpIfZhj7KX03hg23K6Czth-GURJwfeKkV42OBjsROy0NQ/s890/Configuracion_ESP_repetidor.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ESP Wifi Repeater interface" border="0" data-original-height="735" data-original-width="890" height="431" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUI3qIWq9f-C2TOUmC7N-vieX55dhb0gHQGNG0CeHngYiloI8Ihp8uUFEIx6h_VOYDotxqcVjEGYhE_NgnAZiOwgy9VWIWBiq3huYfY2Rd3kQUU1SIMQKnZyQg0gwd4L-kILstxO_jBgLfJHpIfZhj7KX03hg23K6Czth-GURJwfeKkV42OBjsROy0NQ/w522-h431/Configuracion_ESP_repetidor.png" width="522" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div>y ahí aparece la configuración para añadir el nombre de la red a la que nos queremos conectar y el nombre de la red a la que se conectaran la red ESP. Para esta última también se le puede poner seguridad WPA2, hay que cambiarlo también ya que por defecto apararecerá "open" aunque hayamos puesto la contraseña.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Esto lo recomiento hacer en 2 pasos, primero nos conectamos al router y luego configuramos la red. Las dos o tres veces que he probado no ha salido bien. </div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>Descargar <a href="https://github.com/martin-ger/esp_wifi_repeater" target="_blank">ESP Wifi Repeater en GitHub</a> <br /></p><div><br /></div>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-33452410323046455812023-02-07T01:55:00.002+01:002023-02-25T16:28:17.447+01:00Python Raspberry: contador de segundos<p> Hace poco que estoy tocando algo de Python para y tenía la duda de cuanto tiempo estaba encendida conectada a una batería o powebank. La Raspberry en cuestion es un modelo 2B con algunos añitos asus espaldas pero que arranca como una campeona!</p><p>En cuanto a la batería, no se exactamente cual es su capacidad, debe rondar los 10.000mA con 5 baterías 18650 recicladas de portatil, (unos 2000mA por unidad) Así que me puesto a investigar y este sería el código para que cuente un segundo y lo guarde en un archivo de texto.</p><span><a name='more'></a></span><p><br /></p><p>Para que no me sobreescibiera el archivo cada vez que arranca la raspberry, el nombre del archivo empieza con la hora y luego el nombre del archivo.</p><p><span> </span><br /></p><p><i><b><span style="color: #2b00fe;">from</span> <span style="color: #ffa400;">datetime</span> <span style="color: #2b00fe;">import</span> <span style="color: #ffa400;">datetime</span></b></i></p><p><i><b><span style="color: #2b00fe;">import</span> time</b></i></p><p><i><b>d = <span style="color: #ffa400;">datetime</span>.now().strftime("%H%M%S") </b></i></p><p><i><b>namefile = d + <span style="color: #ff00fe;">"_readme.txt"</span></b></i></p><p><i><b>print(namefile)</b></i></p><p><i><b><span style="color: #2b00fe;">try</span>:</b></i></p><p><i><b> <span style="color: #2b00fe;">with</span> open(namefile, <span style="color: #ff00fe;">'w'</span>) <span style="color: #2b00fe;">as</span> f: </b></i></p><p><i><b> f.write(<span style="color: #ff00fe;">'archivo nuevo creado!'</span>)</b></i></p><p><i><b><span style="color: #2b00fe;">except</span> FileNotFoundError :</b></i></p><p><i><b> print(<span style="color: #ff00fe;">"no se crea el archivo :("</span>)</b></i></p><p><i><b>inicio = <span style="color: #ffa400;">time</span>.<span style="color: #ffa400;">time</span>()</b></i></p><p><i><b><span style="color: #ffa400;">time</span>.process_time()</b></i></p><p><i><b>contador = 0</b></i></p><p><i><b><span style="color: #2b00fe;">while True</span>:</b></i></p><p><i><b> contador = <span style="color: #ffa400;">time</span>.<span style="color: #ffa400;">time</span>() - inicio</b></i></p><p><i><b> <span style="color: #6aa84f;"> #print ("segundo: %02d" % ( contador) )</span></b></i></p><p><i><b> <span style="color: #ffa400;">time</span>.sleep(1)</b></i></p><p><i><b> <span style="color: #2b00fe;">with</span> open(namefile, <span style="color: #ff00fe;">'a'</span>) <span style="color: #2b00fe;">as</span> f:</b></i></p><p><i><b> f.write(<span style="color: #ff00fe;">"\nsegundo: %02d"</span> % ( contador) ) </b></i></p><p><i><b><br /></b></i></p><p>Salida:</p><p><i><b>Create a new text file!</b></i></p><p><i><b>segundo: 00</b></i></p><p><i><b>segundo: 01</b></i></p><p><i><b>segundo: 02</b></i></p><p>Si bien no es la mejor forma, por el momento para mi propósito está bien. </p><p>El resultado han sido 61445 segundos. Unas 17 horas. Eso si con apenas carga de trabajo ya que ahora mismo no esta haciendo nada en particular, solo unas pruebas que estoy realizando.</p><p><br /></p><p>Saludos</p>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-89111114944558387562020-06-28T13:47:00.001+02:002020-06-28T13:47:35.032+02:00Arduino NRF24L01 Walkera RC modificación<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfy8y33VSE6SjPY5K9MolGqU60069n3veNlIi2bh3IBzQpGaTXhmZ91nTf1eRhSfsVNUtAOOFgVgUCHji7kuLgYTH6Df5ncVmWva0RJIY7efKXWui8gR9RySMTadfdQO82v3hoFN_OmJc9/s1600/walkera_oled_000.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="700" data-original-width="795" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfy8y33VSE6SjPY5K9MolGqU60069n3veNlIi2bh3IBzQpGaTXhmZ91nTf1eRhSfsVNUtAOOFgVgUCHji7kuLgYTH6Df5ncVmWva0RJIY7efKXWui8gR9RySMTadfdQO82v3hoFN_OmJc9/s200/walkera_oled_000.png" width="200" /></a>Muy Buenas a todos, hace un tiempo dando una vuelta me encontré con este mando de radio control para un ¿Helicoptero? el modelo creo que es el WK-2401 2,4GHz. No tengo ni idea de sus características y la verdad poco importa... mi interés era el mando en si, los mandos iban bien y tenia posibilidades para ampliar los canales con huecos en la parte superior y a los lados de la pantalla. En total me costo 10€ aunque de la web que saque la foto del original lo tienen por 23$ (unos 18€).<br />
<br />
<br />
<br />
Una vez en casa, toda la electrónica fue removida sin problemas, los gimbal iban conectados con un cable a la placa y solo tuve que desconectar. 3 de los 4 canales tienen resorte, es decir vuelven a la posición central y 1 de ellos no, siendo este para aviones y helicópteros ya que mantiene la posición.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-w3GrVeCuYDA/Xvh0zgOdXpI/AAAAAAAANS8/G9We1HZyj_UyFqCkeFf7S26zxaXP_CzxgCLcBGAsYHQ/s1600/walkera_oled_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1459" data-original-width="1600" height="181" src="https://1.bp.blogspot.com/-w3GrVeCuYDA/Xvh0zgOdXpI/AAAAAAAANS8/G9We1HZyj_UyFqCkeFf7S26zxaXP_CzxgCLcBGAsYHQ/s200/walkera_oled_002.jpg" width="200" /></a><a href="https://1.bp.blogspot.com/-jSr_IIvWkcQ/Xvh01neWU3I/AAAAAAAANTA/Bm3xVQ_4HZsRmMMN5q6FISNWVW52kC4UACLcBGAsYHQ/s1600/walkera_oled_001.jpg" imageanchor="1" style="display: inline !important; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1600" data-original-width="1464" height="200" src="https://1.bp.blogspot.com/-jSr_IIvWkcQ/Xvh01neWU3I/AAAAAAAANTA/Bm3xVQ_4HZsRmMMN5q6FISNWVW52kC4UACLcBGAsYHQ/s200/walkera_oled_001.jpg" width="182" /></a></div>
<br />
<br />
Después de quitar le hice un hueco al Arduino NANO y al módulo NRF24L01. El esquema es prácticamente el mismo que he usado para el RC Xbox con algunas modificaciones como pueden ser los botones en vez de usar solo pulsadores.<br />
Ademas de 4 interruptores de palanca le he añadido dos botones a modo de selección y atrás.<br />
También lleva la batería de 2 celdas que se carga desde la parte posterior cambiando la posición a OFF en el mando (ON = uso normal - OFF = apagado o carga).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Zam_gULwT_Q/Xvh5lft5BrI/AAAAAAAANTU/dR9D9mF6sG8f7EiNczGozk_jqP9OQss8ACLcBGAsYHQ/s1600/walkera_oled_007.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1337" height="200" src="https://1.bp.blogspot.com/-Zam_gULwT_Q/Xvh5lft5BrI/AAAAAAAANTU/dR9D9mF6sG8f7EiNczGozk_jqP9OQss8ACLcBGAsYHQ/s200/walkera_oled_007.jpg" width="166" /></a><a href="https://1.bp.blogspot.com/-pY1kozPSuUg/Xvh5Z5irHJI/AAAAAAAANTQ/WUDnRzmP8o0sqPwAEIhf0wsjyoLpDWEvACLcBGAsYHQ/s1600/walkera_oled_008.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="200" src="https://1.bp.blogspot.com/-pY1kozPSuUg/Xvh5Z5irHJI/AAAAAAAANTQ/WUDnRzmP8o0sqPwAEIhf0wsjyoLpDWEvACLcBGAsYHQ/s200/walkera_oled_008.jpg" width="150" /></a></div>
<br />
<br />
<br />
Lo que mas problemas me ha dado ha sido el modulo NRF, si buscas un poco en internet, veras que tener una buena configuración en el modulo es fundamental para una buena transmisión/recepción eso incluye aislar electricamente el módulo y añadir el condensador de 47uF JUSTO en la salida del módulo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-BwMjadJpKW4/Xvh66GalwPI/AAAAAAAANTs/VVFaSw5dplETnSeLynfI0jNXCaWapaLCQCLcBGAsYHQ/s1600/walkera_oled_011.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="984" height="200" src="https://1.bp.blogspot.com/-BwMjadJpKW4/Xvh66GalwPI/AAAAAAAANTs/VVFaSw5dplETnSeLynfI0jNXCaWapaLCQCLcBGAsYHQ/s200/walkera_oled_011.jpg" width="122" /></a><a href="https://1.bp.blogspot.com/-gu1TZEkl7v0/Xvh6jAfojbI/AAAAAAAANTk/Id0EaXNFVawhJltFUrpOuyjg2b1BPhPVACLcBGAsYHQ/s1600/walkera_oled_010.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1131" data-original-width="1600" height="141" src="https://1.bp.blogspot.com/-gu1TZEkl7v0/Xvh6jAfojbI/AAAAAAAANTk/Id0EaXNFVawhJltFUrpOuyjg2b1BPhPVACLcBGAsYHQ/s200/walkera_oled_010.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix-9e1EP0jcFQ0C2SyLUVt5XtXgs8imyvR-9OLyu2KoZ29LuAjAMXE_Gc9cVpQklamhkatcB1F606YUpbOcAz_3V9OCoaqtpa5vFM_ZRki89SzJUVeJn1N9Bb3kVZLyLKihDgHyAvnKTgu/s1600/walkera_oled_012.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="999" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix-9e1EP0jcFQ0C2SyLUVt5XtXgs8imyvR-9OLyu2KoZ29LuAjAMXE_Gc9cVpQklamhkatcB1F606YUpbOcAz_3V9OCoaqtpa5vFM_ZRki89SzJUVeJn1N9Bb3kVZLyLKihDgHyAvnKTgu/s200/walkera_oled_012.jpg" width="124" /></a></div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu2PVfi2L92k9bH2Sr5zdh6eyfzWglRVsO8l0A6TFy26xcAn_hc4x8xHjQ4CeA5HaPGIYDcECRhw6jx0sXFagKkWXuYCXBovzawUFgK1AYkdZbDR6ppo5YxGlbQEZPvbsSVDdEGRZgLOsa/s1600/adaptador_NRF24l01.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="340" data-original-width="340" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu2PVfi2L92k9bH2Sr5zdh6eyfzWglRVsO8l0A6TFy26xcAn_hc4x8xHjQ4CeA5HaPGIYDcECRhw6jx0sXFagKkWXuYCXBovzawUFgK1AYkdZbDR6ppo5YxGlbQEZPvbsSVDdEGRZgLOsa/s200/adaptador_NRF24l01.jpg" width="200" /></a><br />
<br />
<br />
Esto junto con una buena alimentación de 3,3V para que las interferencias sean mínimas, este va alimentado directamente desde al batería. Todo esto hace que las interferencias sean mínimas.<br />
También he bajado del canal 108 al 50. Esto es por que según leí mientras solucionaba problemas de comunicación que los canales más altos daban más problemas (no se hasta que punto sera esto cierto).<br />
Como dato curioso, hubo un día que salí a pleno sol y todo iba fatal, hasta me enfade un poco por que no entendía nada. Al entrar a casa y probar, todo funcionaba bien. No se hasta que punto la radiación solar puede afectar a estos módulos, o si fue algo que toque sin darme cuenta.<br />
Bueno yo ahí lo dejo como dato curioso, Ah y cuando digo sol, me refiero a solanero gordo, 38-40ºC... (si me pudo el ansia por probarlo jajajaja)<br />
<br />
<br />
<br />
<br />
El archivo zip viene dividido en diferentes archivos .ino siendo el principal walkera_RCxx.ino, una vez clicamos en el se abrirán todos los demás. Este programa usa también la librería U8gLib para la pantalla oled, lo cual hace que la memoria del NANO valla JUSTA JUSTA. Tanto como un 94% del espacio de almacenamiento. Se conserva la estructura del mando RCXbox, pero cambia totalmente la interfaz (por eso esa burrada de memoria) y la configuración del modulo esta en la pestaña Config.h ahí podremos cambiar el canal y los pines, en el caso de que quieras usar otros.<br />
<br />
Otra de las cosas es que se puede ajustar el trim de los canales 1,2,3y 4, este igual que el mínimo y máximo, también se almacena en la memoria EEprom y se leen al entrar en el modelo. Seguramente más avanzado cambiare la interfaz ya que es lo que más memoria consume.<br />
<br />
Pido disculpas de ante mano por que no he limpiado el código ni los comentarios, así que va un poco en bruto....<br />
<div>
<br /></div>
<a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/WalkeraNRF/Walkera_RC_0.03.zip" target="_blank"><span style="font-size: large;">Descargar Walkera RC Oled 8 CH para arduino</span></a><br />
<span style="font-size: large;"><br /></span>
<a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/Camion/XboxRC24_Receptor_Camion_ESC_0.3_Infotronikblog.zip" target="_blank"><span style="font-size: large;">Receptor Gaz66 para Arduino v03</span></a><br />
<span style="font-size: large;"><br /></span>
<a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/Camion/walk_Receptor_MANKAT_0.3.zip" target="_blank"><span style="font-size: large;">Receptor Man Kat (Luces, intermitencias, efectos en luces) para Arduino</span></a>Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-49465642306547139572020-01-18T00:27:00.000+01:002020-06-28T13:49:04.098+02:00JJRC Q64 Man Kat Luces Led cortas y largas<div class="separator" style="clear: both; text-align: left;">
Ahora empiezo con el MAN KAT 1 de JJRC. En cuanto a compatibilidad con la marca WPL es casi 100%. Aún así, sigue siendo un juguete. Para eso estoy añadiendo modificaciones para añadir al receptor, tales como intermitencias o luces cortas y largas, también la marcha atrás y el freno. Para las luces largas y cortas voy a utilizar un led SMD de los "gordos". Cómo se ve en la imagen este Led tiene 3 leds en su interior y un cátodo común ( - ). De esta forma tengo las luces cortas encendiendo solo uno, y al encender los tres será la luz larga.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-mx-u6sxVJn8/XiItCMb1EgI/AAAAAAAANHA/UTu7dKmGA84j3F0klKAnazWT5afvvXeuACLcBGAsYHQ/s1600/IMG_20200115_001835.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="420" data-original-width="1452" height="92" src="https://1.bp.blogspot.com/-mx-u6sxVJn8/XiItCMb1EgI/AAAAAAAANHA/UTu7dKmGA84j3F0klKAnazWT5afvvXeuACLcBGAsYHQ/s320/IMG_20200115_001835.jpg" width="320" /></a></div>
<br />
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2QQbpWDBmP3s_cXUl4OYCYjGlRnHUKZEAJAHLUVUbj8Egwl_dIUwncieslef0G8m9XKyUDl4NPKas8tw2QyKF9AyE1wQ7EKBDs5aQRytMTAuwMlMuy0wkIDjAdRjKzC94uJxeOmiGYfxd/s1600/IMG_20200115_001916.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="325" data-original-width="386" height="269" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2QQbpWDBmP3s_cXUl4OYCYjGlRnHUKZEAJAHLUVUbj8Egwl_dIUwncieslef0G8m9XKyUDl4NPKas8tw2QyKF9AyE1wQ7EKBDs5aQRytMTAuwMlMuy0wkIDjAdRjKzC94uJxeOmiGYfxd/s320/IMG_20200115_001916.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
El cátodo común cable blanco las cortas sería el verde y las largas el rojo.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSjAPCmN42TOu0w4CSI1HSqIeBmOmfWeYVfSZ-buw4xpxPlgjo-FDlvNYhHqT1aF5I4eRml-yK5r84RRo1Kyv0X2o-bo5-6yeC7qDI32pDDejmaaTHPmlp8_fOKKecF0GMSmi2LH9-nimo/s1600/IMG_20200115_002008.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="691" data-original-width="985" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSjAPCmN42TOu0w4CSI1HSqIeBmOmfWeYVfSZ-buw4xpxPlgjo-FDlvNYhHqT1aF5I4eRml-yK5r84RRo1Kyv0X2o-bo5-6yeC7qDI32pDDejmaaTHPmlp8_fOKKecF0GMSmi2LH9-nimo/s320/IMG_20200115_002008.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-OVbIpMu-YMU/XiItDgFQ1BI/AAAAAAAANHI/LkU9I71nygcsZ2pCRL0PiUjPHCCpDwR9wCLcBGAsYHQ/s1600/IMG_20200115_002039.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="680" data-original-width="790" height="275" src="https://1.bp.blogspot.com/-OVbIpMu-YMU/XiItDgFQ1BI/AAAAAAAANHI/LkU9I71nygcsZ2pCRL0PiUjPHCCpDwR9wCLcBGAsYHQ/s320/IMG_20200115_002039.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiULfRVWQ5GB-1ZV2V9x8vIHYftnVJhpOVhjaks8C9PViuCT3zDFFaPaTZWwsXhKgn5u0-143zzbQcUyXhZ2pG4NLBmSa-3VnHl5GSQsg7Sc3Ufj5QmzuH2MB-SQ6F3BkNOSOuvvsqqZ0X7/s1600/IMG_20200115_002138.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1487" data-original-width="1600" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiULfRVWQ5GB-1ZV2V9x8vIHYftnVJhpOVhjaks8C9PViuCT3zDFFaPaTZWwsXhKgn5u0-143zzbQcUyXhZ2pG4NLBmSa-3VnHl5GSQsg7Sc3Ufj5QmzuH2MB-SQ6F3BkNOSOuvvsqqZ0X7/s320/IMG_20200115_002138.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
En la foto estoy usando la batería original de 6v y 500mA. El consumo con resistencias de 1K es reducido aunque creo que las cambiaré por resistencias de 220 para que dé más luz a pesar de que suba el consumo. La idea es poner también una barra de luces en el tejado. Pero eso será próximamente... Saludos!!!</div>
<br />Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-69777741338615181362019-12-17T20:16:00.000+01:002020-06-28T13:49:41.220+02:00WPL B-24 Modelo Gaz-66 modificaciones<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-CNoQZx6YhEs/Xfar1Iee6NI/AAAAAAAANEg/_kPO6a1CGX49X3ks96y6UEbYs2__e33gACEwYBhgL/s1600/IMG_20191215_223328.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a></div>
Buenas a todos!!! Hace unos meses cayó en mis manos este pequeño camión RC de la marca WPL, más concretamente, el modelo B-24.<br />
Por suerte lo compre con pensamiento de hacerle algunas modificaciones, o todas las que se me han ido ocurriendo...<br />
Bien el modelo es el de la siguiente fotografía:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Fo133PkfBcA/Xfa1nEXZ8nI/AAAAAAAANFU/C_FLlKm2wwoeaC6Pso_Dx9KlvBsegBpVACLcBGAsYHQ/s1600/f57c41eb-d9e7-4b6e-92f8-110cdd056f62.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="800" height="320" src="https://1.bp.blogspot.com/-Fo133PkfBcA/Xfa1nEXZ8nI/AAAAAAAANFU/C_FLlKm2wwoeaC6Pso_Dx9KlvBsegBpVACLcBGAsYHQ/s320/f57c41eb-d9e7-4b6e-92f8-110cdd056f62.jpg" width="320" /></a> </div>
<div class="separator" style="clear: both; text-align: left;">
En la caja original viene el modelo listo para cargar las baterías de 6v 700mA y poner 2 pilas AA en el transmisor y a correr!!! O eso pensé... Sinceramente fue bastante decepcionante, el camión no andaba casi nada de tiempo y el poco que hacía lo hacía mal, no pudiendo, por ejemplo, girar y avanzar al mismo tiempo.</div>
<div class="separator" style="clear: both; text-align: left;">
Así que lo primero que hice fue cambiar la electrónica...</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-sI6FrkNUKszBc3BTNSJkoJVuwY1PcOsKDHHFbwayD9Gq7V-R75mxr9e42sEbY2dQYzw_mrYaHqFFEa1BAZ1n3TNR5GgBe4oghbFzWTNG4OEXEv0fZBCpKjUb1S0I_rsLUFvRT6lsWEb/s1600/IMG_20191215_223611.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="942" data-original-width="1600" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-sI6FrkNUKszBc3BTNSJkoJVuwY1PcOsKDHHFbwayD9Gq7V-R75mxr9e42sEbY2dQYzw_mrYaHqFFEa1BAZ1n3TNR5GgBe4oghbFzWTNG4OEXEv0fZBCpKjUb1S0I_rsLUFvRT6lsWEb/s320/IMG_20191215_223611.jpg" width="320" /></a></div>
Cómo se puede ver en la foto, el cerebro de todo es un <b>Arduino NANO</b> y para la comunicación <b>un NRF24L01</b>. El NRF va bien alimentado con su propia fuente de 3,3v regulada y un condensador de 100uF 10v para estabilizar los picos de tensión.<br />
El NANO por su parte lleva también un pequeño condensador para los picos de tensión que no hace nada o prácticamente nada, me explico:<br />
El ESC tiene un tirón muy grande cuando arranca o cuando cambias de dirección de una manera brusca, incluso el servo de dirección hacía que el sistema hiciera reset cuando se forzaba un poco, y eso en este tipo de vehículos es casi todo el tiempo. Incluso añadí en el programa una subrutina para que en caso de quedarse parado hiciera un parpadeo de luces.<br />
<a href="https://1.bp.blogspot.com/-EN3jC-9TujI/XfgfEuyunnI/AAAAAAAANGU/7ZZPTlZ3G-Ivg4Xzsd9bU45QxdYs2zP1ACEwYBhgL/s1600/ESC20A.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="410" data-original-width="500" height="163" src="https://1.bp.blogspot.com/-EN3jC-9TujI/XfgfEuyunnI/AAAAAAAANGU/7ZZPTlZ3G-Ivg4Xzsd9bU45QxdYs2zP1ACEwYBhgL/s200/ESC20A.jpg" width="200" /></a>La solución ha venido de la mano de un <b>condensador electrolítico de 4700uF 16V </b>que tenia por casa, fue ponerlo y adiós problemas. En los foros recomiendan que se a de 10V, con este no he tenido ningún problema. Otra manera de solucionarlo sería haciendo una "batería" de condensadores más pequeños, pongamos 1000uF y ponerlos en paralelo. Como el ESC alimenta tanto el arduino como los pines de alimentación de todo lo demás que funcione a 5V (servos, leds, etc...). Por eso, no es que recomiende ponerlo, es que como no se ponga fallará y todo lo demás estará bien, pero fallará (insisto tanto por que tarde en darme cuenta jejeje)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-r_XA56ywlzw/XfaxiPVj9yI/AAAAAAAANFA/SmYFFb6GGW8o79kfcQqI-rcUNd67Bh3xACEwYBhgL/s1600/IMG_20191215_224157.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1097" data-original-width="1600" height="219" src="https://1.bp.blogspot.com/-r_XA56ywlzw/XfaxiPVj9yI/AAAAAAAANFA/SmYFFb6GGW8o79kfcQqI-rcUNd67Bh3xACEwYBhgL/s320/IMG_20191215_224157.jpg" width="320" /></a></div>
Para la batería, 2 baterías 18650 con cargador integrado y un conector estándar JST que alimenta el ESC para motores con escobillas de 20 A. También tiene una salida BEC de 5V que alimentan al arduino, los servos y las luces LED.<br />
Es en esta toma donde tenemos que conectar el condensador de 4700uF para no tener bajadas en la alimentación y que Arduino tenga reinicios no esperados.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkxtcHEGAH9AoHEoPtFmKOwOpnW2pH3QPUavmGveFlK2Ssvv_1YDF9vOQwg1HItLBwWea1K7PN4qNnP8l3oAedFf9GBHdpruUOYE2o6_1DaU1ld99UWXMVwxLWaLz75ADrhnxO-io8sp9W/s1600/Gaz-66_031.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="726" data-original-width="1600" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkxtcHEGAH9AoHEoPtFmKOwOpnW2pH3QPUavmGveFlK2Ssvv_1YDF9vOQwg1HItLBwWea1K7PN4qNnP8l3oAedFf9GBHdpruUOYE2o6_1DaU1ld99UWXMVwxLWaLz75ADrhnxO-io8sp9W/s320/Gaz-66_031.jpg" width="320" /></a></div>
Este ESC es suficiente para mover el motor 370 de la caja de marchas de 2 velocidades accionada por servo... Y eso sí que marcó un antes y un después.<br />
Tanto la marcha corta como la larga funcionan perfectamente en conjunto con los cardán de aluminio y los piñones metálicos hacen que se adapte a cualquier terreno .<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBKRzJi6p3XHCNvU6Z6npaADKBhI2IaFHuTG_4bJiqB-QCW7zPGJrF4fsHWK5DCAtX5FgiUmEb88OuUytDTrCOBV58ogrdnwz1i2pWddSKwAWiwyzO1sjqrKxqtZ-Q1f8rmSkc48ZjACAb/s1600/IMG_20191215_224103.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1503" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBKRzJi6p3XHCNvU6Z6npaADKBhI2IaFHuTG_4bJiqB-QCW7zPGJrF4fsHWK5DCAtX5FgiUmEb88OuUytDTrCOBV58ogrdnwz1i2pWddSKwAWiwyzO1sjqrKxqtZ-Q1f8rmSkc48ZjACAb/s320/IMG_20191215_224103.jpg" width="320" /></a></div>
La suspensión también se a actualizado por el kit de WPL con los soportes de aluminio que hacen que tenga una mayor distancia al suelo y con ello mayor diversión.<br />
Sube mejor por terrenos escarpados y puede cargar más peso. Una de las cosas que aún no he solucionado es que el eje trasero cuando flexiona demasiado toca con la caja de carga trasera, pero creo que es algo que no afecta a no ser que lleve mucho peso atrás.<br />
También las ruedas llevan peso añadido, WPL tiene un kit para añadir peso en las llantas, yo he optado por <b>arandelas grandes</b>, muchas... ahora mismo no sabría decir cuantas por rueda, pero unos 80 gramos por rueda, los pesos del kit creo que rondan los 200 gramos por rueda y su precio ronda los 20€ el kit de 4.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLt2_WZPcHaM6RN62YWqOY94p7FuXDF0Wm6VrbHBn1Dkl3SCBt-4HCmJt_4ub6WAlh0eOw5h4vhGWrMYc7E5heJru-82ofgbDg2KKWVRGLF9d5gW66U_NA69aXI5B5O5ieQHq3N9r_vxCq/s1600/Gaz-66_036.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLt2_WZPcHaM6RN62YWqOY94p7FuXDF0Wm6VrbHBn1Dkl3SCBt-4HCmJt_4ub6WAlh0eOw5h4vhGWrMYc7E5heJru-82ofgbDg2KKWVRGLF9d5gW66U_NA69aXI5B5O5ieQHq3N9r_vxCq/s320/Gaz-66_036.jpg" width="320" /></a></div>
El Arduino pensé primero en ponerlo en la cabina, o bajo ella, pero el espacio es bastante reducido y mi "versión" de receptor RC no es pequeño precisamente.<br />
La solución fue ponerlo en la caja trasera, no queda muy estético pero después de unos retoques pasando los cables por la parte inferior del chasis.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a href="https://1.bp.blogspot.com/-quwWNm-ZcXU/XffRk_6Lg-I/AAAAAAAANFw/NRy2AffRLyctr4LCQRO2CjgchCiEjPftACPcBGAYYCw/s1600/Gaz-66_012.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://1.bp.blogspot.com/-quwWNm-ZcXU/XffRk_6Lg-I/AAAAAAAANFw/NRy2AffRLyctr4LCQRO2CjgchCiEjPftACPcBGAYYCw/s320/Gaz-66_012.jpg" width="320" /></a>La parte estética y de "retoques" ha sido muy entretenida, he pintado el interior y añadido una luz en cabina. Para hacerlo más entretenido una pequeña cámara a color y 2.4Gh hace mucho más entretenido conducir en primera persona aunque para hacer subidas prefiero verlo directamente.<br />
Las luces LED delanteras y también unas traseras para mejorar su aspecto. Los nuevos colores del interior con los asientos en rojo, cuadro de mandos y demás, para que no tuviera ese aspecto tan sobrio, tan de "plastiquete".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiqJNYWH-fhyphenhyphentUg-w2a8MHziwk-1SVGWPpXawXyHg_CLSnZgRptm6wb5BHoWBSpfIXJJ06_aZ348JtQYr1NqKFVSoNQzGrNhPnk3AThLoDjXaGZPxumwVTDy2HBmCHBBiHlFKqwZs80Zih/s1600/Gaz-66_033.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiqJNYWH-fhyphenhyphentUg-w2a8MHziwk-1SVGWPpXawXyHg_CLSnZgRptm6wb5BHoWBSpfIXJJ06_aZ348JtQYr1NqKFVSoNQzGrNhPnk3AThLoDjXaGZPxumwVTDy2HBmCHBBiHlFKqwZs80Zih/s400/Gaz-66_033.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Este es el aspecto final en su primera fase:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>Cambio de motor por uno de 2 velocidades con cambio por servo.</li>
<li>ESC 20A con BEC 5V 1A.</li>
<li>Servo SG90 para la dirección con <a href="https://www.thingiverse.com/thing:2619767" target="_blank">soporte impreso en 3D</a>.</li>
<li><a href="http://www.infotronikblog.com/2017/12/arduino-coche-rc-maisto-drift-xboxrc24.html" target="_blank">Receptor Arduino con NRF24L01 a 2.4Gh</a>.</li>
<li>Cámara FPV con <a href="https://www.thingiverse.com/thing:2511262" target="_blank">soporte impreso en 3D.</a></li>
</ul>
<div>
El software que estoy usando es una versión de la que use para el coche de drift, la puedes descargar <a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/Coche%20XboxRC24/XboxRC24_Receptor_Coche_V0.3.rar" target="_blank">aquí</a> </div>
<div>
<br /></div>
<div>
Los pines que se utilizan son:</div>
<div>
<ul>
<li>Pin 3: Al ESC.</li>
<li>Pin 4: Servo de dirección.</li>
<li>Pin 5: Luces delanteras. (opcional)</li>
<li>Pin 6: Luces traseras. (opcional)</li>
<li>Pin 7: Servo cambio de marchas.</li>
<li>Pin 8: Luz interior . (opcional)</li>
</ul>
<div>
Los demás pines del puerto digital, hasta el 13, son los que utilza el NRF24L01 para la <a href="https://www.infotronikblog.com/2019/10/xboxrc24-transmitter-un-mando-radio.html" target="_blank">comunicación con la emisora</a>.<br />
<br />
Estos son los archivos para el receptor, al ejecutar el archivo principal se cargará el archivo NRF2401Receptor.ino en el mismo IDE de Arduino<br />
<br />
<a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/Camion/XboxRC24_Receptor_Camion_ESC_0.3_Infotronikblog.zip" target="_blank">Descargar Receptor Camión ESC 0.3</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/AvY_d0rhP1M/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/AvY_d0rhP1M?feature=player_embedded" width="320"></iframe></div>
<br />
<br /></div>
</div>
<div>
Saludos a todos y próximamente más actualizaciones!!!</div>
<br />
<br />Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com3tag:blogger.com,1999:blog-2710098177670558810.post-73367425147714335442019-10-19T15:45:00.000+02:002020-06-28T13:49:53.165+02:00XboxRC24 Transmitter un mando Radio Control con corazón Arduino (Parte 3)Mucho ha llovido desde la ultima publicación en el blog, como compensación he estado trabajando en el mando que hice con el mando de Xbox. Los resultados han sido muy satisfactorios.<br />
<br />
Primero me di un buen repaso por la librería "<span style="color: orange;"><b>RF24.h</b></span>" y otra fue darle un repaso a la electrónica y descubrí un par de fallos.<br />
<br />
La parte de programación:<br />
<br />
He añadido partes de la librería que antes no había usado tales como "<b><span style="color: orange;">SetChannel(uint8_t )</span></b>" para cambiar de canal, <span style="color: orange; font-weight: bold;">getPALevel(uint8_t) </span>.<br />
También he añadido una pestaña llamada <b>Config.h</b> para que configurar el NRF24l01<br />
<br />
<span style="font-size: large;"><b>Transmisor:</b></span><br />
<span style="font-size: large;"><b><br /></b></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-y3tGK0zn3uA/Xara6zmuX_I/AAAAAAAANAw/tYIg6xQMXakBbsAFW1saVHAvnwFA6asHgCLcBGAsYHQ/s1600/Configh_xboxRF24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1001" data-original-width="940" height="640" src="https://1.bp.blogspot.com/-y3tGK0zn3uA/Xara6zmuX_I/AAAAAAAANAw/tYIg6xQMXakBbsAFW1saVHAvnwFA6asHgCLcBGAsYHQ/s640/Configh_xboxRF24.png" width="600" /></a></div>
<br />
<span style="font-size: large;"><b>Receptor:</b></span><br />
<span style="font-size: large;"><b><br /></b></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCYxCT1GlIeRhhrP4RReTWFjpBdoUOwa_hKAGCksfh6mHqlDai5M6UzGlSkMDfGSZRBMxp44x4L6cN9PDr_bRgwcE6XyAjpSGE517p3TN7AMY9SJO0OPa71XJiDdN-EMouLBpJRyABVlx7/s1600/Configh_receptorRF24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="241" data-original-width="929" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCYxCT1GlIeRhhrP4RReTWFjpBdoUOwa_hKAGCksfh6mHqlDai5M6UzGlSkMDfGSZRBMxp44x4L6cN9PDr_bRgwcE6XyAjpSGE517p3TN7AMY9SJO0OPa71XJiDdN-EMouLBpJRyABVlx7/s640/Configh_receptorRF24.png" width="640" /></a></div>
Esta función la llamaremos desde el <span style="color: lime;">setup</span>()<span style="color: lime;"> </span>con setupRadio();<br />
<span style="font-size: large;"><br /></span>
Con estos pequeños retoques tendremos mucho más a mano la configuración tanto del emisor como del receptor.<br />
<br />
He quitado algunas animaciones, por que no les veía un uso practico, no se a día de publicar esto estarán aun en el código, pero sin uso real.<br />
<br />
En el receptor se ha añadido una rutina también para que en caso de que se corte la comunicación con el emisor, vuelva a unos valores predefinidos.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-qA4IX-2Di3o/XarhBbc50kI/AAAAAAAANBI/Jip0zROQxx00pxn2dWnGF22afmvw4SnfACLcBGAsYHQ/s1600/xboxResetData.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="336" data-original-width="662" height="324" src="https://1.bp.blogspot.com/-qA4IX-2Di3o/XarhBbc50kI/AAAAAAAANBI/Jip0zROQxx00pxn2dWnGF22afmvw4SnfACLcBGAsYHQ/s640/xboxResetData.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">resetData en Receptor NRF2401</td></tr>
</tbody></table>
<br />
<br />
Ahora los datos se mandan en formato de 0 a 1023 y es el receptor el que se encarga de mapear después los datos de esta manera siempre tendremos la máxima resolución en los valores analógicos<br />
<br />
Otra cosa con respecto a los potenciómetros encontré una web donde tenia una manera muy buena de controlar los valores analógicos, incluso la inversión de los mismos. Si ahora en el menú de calibración tendremos la posibilidad de invertir el eje.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglIZkyY8K-AQFjtDy4dMFOQsBO-vUAg2Ljf0YvaRl9AKXVM4lMUjTE6uEULM1K6H6biePgQMajFFT9NvOMRupp-awlAdF-U5WUN5H2R4M4AWetdbxNJj2L0cb-8nXbMjfumjS4fgO1r6o5/s1600/mapeoejesRF24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="141" data-original-width="524" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglIZkyY8K-AQFjtDy4dMFOQsBO-vUAg2Ljf0YvaRl9AKXVM4lMUjTE6uEULM1K6H6biePgQMajFFT9NvOMRupp-awlAdF-U5WUN5H2R4M4AWetdbxNJj2L0cb-8nXbMjfumjS4fgO1r6o5/s640/mapeoejesRF24.png" width="640" /></a></div>
<br />
Con esto nos devolverá la posición del eje según:<br />
<br />
<ul>
<li><span style="color: cyan;">int</span> valor : lectura actual de la posición del eje.</li>
<li><span style="color: cyan;">int</span> bajo : valor mínimo del eje almacenado en la memoria.</li>
<li><span style="color: cyan;">int</span> medio : valor medio. (este parámetro se calcula según los valores max y min).</li>
<li><span style="color: cyan;">int</span> alto : valor máximo del eje almacenado en la memoria.</li>
<li><span style="color: cyan;">bool</span> inversion : indica si el eje esta en posición normal (0) o invertida (1).</li>
</ul>
<div>
Y por comodidad he movido el eje para navegar por los diferentes menús al lado derecho, lo he hecho por comodidad. </div>
<div>
<br /></div>
<div>
Hay nuevos vehículos disponibles aunque no están del todo probados salvo por el coche/camión que ha sido uno de los que me han animado a desempolvar el mando y darle un poco de brillo. </div>
<div>
<br /></div>
<div>
<a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/XboxRC24/XboxRC_v0.6_InfotronikBlog.zip" style="background-color: white; color: #6aa84f; font-family: Neuton; font-size: xx-large; text-decoration-line: none;" target="_blank">Descargar XboxRC24 v0.6</a><br />
<br />
<a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/XboxRC24/Receptor_Camion_ESC_0.2_infotronikblog.zip" style="background-color: white; color: #6aa84f; font-family: neuton; font-size: xx-large;" target="_blank">Descargar Receptor_Camión_ESC_0.2</a><br />
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-44051761787266147492018-03-05T13:19:00.000+01:002018-03-05T14:01:18.682+01:00Programación directa del módulo ESP8266 con Arduino UNO o NANO<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijMoC69AxyWjlpWHjAL2kktioUvKWS5FREkIpP0bD9QGh6ygY1Y7butzXf5z3Bkl5HvyXb3TDmDwTe8UaY_JenctH6Jj3UCqCkzxO0_DvjtW_7A3nJ4ZUhoUbhOXS686cG6mkvkayHRva6/s1600/logo_Arduino_WiFi.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="220" data-original-width="702" height="62" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijMoC69AxyWjlpWHjAL2kktioUvKWS5FREkIpP0bD9QGh6ygY1Y7butzXf5z3Bkl5HvyXb3TDmDwTe8UaY_JenctH6Jj3UCqCkzxO0_DvjtW_7A3nJ4ZUhoUbhOXS686cG6mkvkayHRva6/s200/logo_Arduino_WiFi.jpg" width="200" /></a>Buenas a todos!!!<br />
Ultimamente no ando mucho por el blog ya que he estado liado con otros proyectos de mi otra web<br />
<a href="http://lamaquetade.infotronikblog.com/">lamaquetade.infotronikblog.com</a> y un programa para Android llamado <a href="https://play.google.com/store/apps/details?id=com.infotronikblog.dcc_cab&hl=es" target="_blank">DCCpp Cab</a>, para el control de maquetas ferroviarias en sistema digital.<br />
<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/-wV4r_kDbjg8/Wp00vOL6L9I/AAAAAAAAMu4/-Xn5De7clKYpDlGf9xYJua4cUv_1BAoCQCLcBGAs/s1600/ESP8266_listo_para%2Busar.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1382" data-original-width="1600" height="172" src="https://3.bp.blogspot.com/-wV4r_kDbjg8/Wp00vOL6L9I/AAAAAAAAMu4/-Xn5De7clKYpDlGf9xYJua4cUv_1BAoCQCLcBGAs/s200/ESP8266_listo_para%2Busar.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">ESP8266 con divisor de tensión en RX<br />
y listo para ser usado como servidor<br />
webSockets</td></tr>
</tbody></table>
La central utiliza la comunicación serial para recibir y mandar los datos y ahí es donde entra el <br />
ESP8266 y aunque ya lo había usado en algunos proyectos tales como:<br />
<a href="http://www.infotronikblog.com/2016/12/actualizar-el-firmware-del-esp8266-con.html" target="_blank">Como actualizar el firmware del ESP8266 con Arduino Nano</a>.<br />
<a href="http://www.infotronikblog.com/2016/11/comandos-at-para-modulo-esp8266.html" target="_blank">Comandos AT para modulo ESP8266</a>.<br />
<a href="http://www.infotronikblog.com/2017/06/arduino-esp8266-servidor-web-con-dht11.html" target="_blank">Arduino ESP8266 servidor web con DTH11 y sensor de humedad en tierra</a>.<br />
Pero en todos estos proyectos siempre programo Arduino para que sea él el que se comunica y daba las ordenes al ESP8266 tales como la red wifi, SSID y Password.<br />
De la siguiente manera, todas esas ordenes quedaran guardadas directamente en la memoria del ESP8266.<br />
Manos a la obra, ¿que necesitamos?<br />
<br />
Antes de montar ningún circuito, tenemos que instalar en el IDE de Arduino para ello lo primero es abrir el IDE de Arduino e ir a "archivos ==> Preferencias":<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/--eFdsLQ2Z64/Wp0WfXmxRwI/AAAAAAAAMt4/YvOy2EUuwA8N5ThT23YLJnrT1PUDB7TPQCLcBGAs/s1600/Entorno_desarrollo_ESP8266_00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="746" data-original-width="1366" height="347" src="https://4.bp.blogspot.com/--eFdsLQ2Z64/Wp0WfXmxRwI/AAAAAAAAMt4/YvOy2EUuwA8N5ThT23YLJnrT1PUDB7TPQCLcBGAs/s640/Entorno_desarrollo_ESP8266_00.png" width="640" /></a></div>
<br />
<a name='more'></a><br />
<br />
Una vez estemos en Preferencias tenemos que incluir esta URL http://arduino.esp8266.com/stable/package_esp8266com_index.json en el apartado "Gestor de URL's Adicionales de tarjeta" tal y como aparece en la siguiente captura de pantalla:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4uVTykHQ8XULJYdVmx-2ZvOjAD8Eby-MGGttV0P6696Nr-NWf1VhGu0TLbrTb_1gmT6iysagGAuoLQXnnmv0diaWRZPEF7fPHg7bQAhzQs2ZrRbSNMnhMvW1GAspJBv0N3TiWCufHhGi5/s1600/Entorno_desarrollo_ESP8266_01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="605" data-original-width="781" height="492" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4uVTykHQ8XULJYdVmx-2ZvOjAD8Eby-MGGttV0P6696Nr-NWf1VhGu0TLbrTb_1gmT6iysagGAuoLQXnnmv0diaWRZPEF7fPHg7bQAhzQs2ZrRbSNMnhMvW1GAspJBv0N3TiWCufHhGi5/s640/Entorno_desarrollo_ESP8266_01.png" width="640" /></a></div>
<br />
Clickamos en "Ok" y ahora vamos a añadir los drivers para el ESP8266, para esto tenemos que ir a "Herramientas ==> Placa: ==> Gestor de tarjetas".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOYnNqqHgzqFvY5FyZbZFy7kUnhe0B_T1MFkSgfhLsdJkeLgZpRE_gssfaO-xbhUxSTgbeHLidXidcg_b-IYnZvVNujhSDIdMfSHVanURMTdMId4NZ_8Sva7dSzrrH0OGPESBt_N2kSuQL/s1600/Entorno_desarrollo_ESP8266_02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="749" data-original-width="1366" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOYnNqqHgzqFvY5FyZbZFy7kUnhe0B_T1MFkSgfhLsdJkeLgZpRE_gssfaO-xbhUxSTgbeHLidXidcg_b-IYnZvVNujhSDIdMfSHVanURMTdMId4NZ_8Sva7dSzrrH0OGPESBt_N2kSuQL/s640/Entorno_desarrollo_ESP8266_02.png" width="640" /></a></div>
<br />
Una vez aquí pondremos ESP en el buscador e instalamos el paquete que esta señalado en la captura: "esp8266 by ESP8266 Community" y lo instalamos.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-DGGs2bGixC4/Wp0Wf6yJuEI/AAAAAAAAMt8/ZOi9bsFw7wkDhdtLBvkJ8WCoC1TWDFzWgCLcBGAs/s1600/Entorno_desarrollo_ESP8266_03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="475" data-original-width="800" height="379" src="https://4.bp.blogspot.com/-DGGs2bGixC4/Wp0Wf6yJuEI/AAAAAAAAMt8/ZOi9bsFw7wkDhdtLBvkJ8WCoC1TWDFzWgCLcBGAs/s640/Entorno_desarrollo_ESP8266_03.png" width="640" /></a></div>
<br />
Una vez hayamos hecho esto, tenemos que reiniciar el IDE de Arduino para que los cambios tengan efecto.<br />
<br />
Para este proyecto hará falta también la librería <span style="background-color: white; color: #24292e; font-family: , "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji" , "segoe ui symbol"; font-size: 16px;"><a href="https://github.com/Links2004/arduinoWebSockets" target="_blank">arduinoWebSockets</a> que va a ser la encargada de comunicar el ESP8266 con otros dispositivos mediante el protocolo " ws:// "</span><br />
<span style="background-color: white; color: #24292e; font-family: , "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji" , "segoe ui symbol"; font-size: 16px;"><br /></span>
<span style="background-color: white; color: #24292e; font-family: , "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji" , "segoe ui symbol"; font-size: 16px;">También necesitaremos el Arduino.git aquí voy a poner la instalación en Linux ya que es el sistema operativo que uso. Primero vamos a la carpeta de instalación de Arduino, es decir donde están los archivos del programa que NO es la carpeta Arduino que tenemos en la carpeta personal o Documentos. En mi caso es esta "</span><span style="color: #24292e; font-family: , "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji" , "segoe ui symbol";">/opt/arduino-1.8.5". Abrimos la consola y escribimos:</span><br />
<ul style="background-color: white; list-style-image: url("loobul1a.gif");">
<li style="color: rgba(0, 0, 0, 0); font-family: "comic sans ms", arial, helvetica;"><div class="highlight highlight-source-shell" style="box-sizing: border-box; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; margin-bottom: 16px;">
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;"><span class="pl-c1" style="box-sizing: border-box; color: #005cc5;">cd</span> hardware
mkdir esp8266com
<span class="pl-c1" style="box-sizing: border-box; color: #005cc5;">cd</span> esp8266com
git clone https://github.com/esp8266/Arduino.git esp8266</pre>
</div>
<ul style="box-sizing: border-box; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;">
<li style="box-sizing: border-box;">y descargamos las herramientas binarias (se necesita Python 2.7)</li>
</ul>
<div class="highlight highlight-source-shell" style="box-sizing: border-box; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; margin-bottom: 16px;">
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;"><span class="pl-c1" style="box-sizing: border-box; color: #005cc5;">cd</span> esp8266/tools
python get.py</pre>
</div>
</li>
<ul style="box-sizing: border-box; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;">
<li style="box-sizing: border-box;">Reiniciamos Arduino.</li>
</ul>
</ul>
<div>
<br class="Apple-interchange-newline" />
Y con esto ya tenemos todo el software necesario para programar la memoria interna del ESP8266. Parece un poco lioso así de primeras, lo bueno es que una vez este todo instalado no lo tendremos que hacer otra vez.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Para poder programar el ESP8266 necesitaremos tener un dispositivo FTDI para poder programar el ESP. Cómo en el momento de hacer estas pruebas no disponía de ninguno, he usado el mismo Arduino como puente entre el PC y el ESP8266 quedando de la siguiente manera: PC ->Arduino-->ESP8266<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-51n9sEx2rac/Wp0WgSKI3rI/AAAAAAAAMuA/59gyzcDnlPsMK00QwwOB-j23nZ-pSXROgCLcBGAs/s1600/Programador_ESP8266_Arduino_UNO.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="600" data-original-width="1055" height="361" src="https://1.bp.blogspot.com/-51n9sEx2rac/Wp0WgSKI3rI/AAAAAAAAMuA/59gyzcDnlPsMK00QwwOB-j23nZ-pSXROgCLcBGAs/s640/Programador_ESP8266_Arduino_UNO.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>NOTA: Este es el esquema que me ha funcionado a mí, ya que no disponía de una fuente de alimentación a 3,3v que es casi imprescindible para poder programar correctamente el software dado que la alimentación de 3,3v de Arduino solo da <span style="color: red;">50mA</span> y el ESP8266 necesita algo más (200 mA) para ser programado correctamente. Además los pines RX y TX funcionan a 5V para la comunicación, con TX no tendremos problemas pero con RX podríamos tener algún problema así que si usas este esquema, queda bajo tu responsabilidad, a mi me ha funcionado.</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
Una vez tengamos el ESP8266 listo para programar. Ahora solo queda cargar el sketch en el ESP8266, con lo que tendremos que selecciona la placa que necesitemos tal como si fuera un Arduino UNO o NANO, en mi caso estoy utilizando un ESP8266 genérico así que esa es la placa que debo utilizar:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-o8wSj-6wnd4/Wp0t9hsIBVI/AAAAAAAAMuc/5c89TCN4aI0LBhFecuWdp0YMHasV4V94gCLcBGAs/s1600/Entorno_desarrollo_ESP8266_04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="748" data-original-width="1366" height="348" src="https://2.bp.blogspot.com/-o8wSj-6wnd4/Wp0t9hsIBVI/AAAAAAAAMuc/5c89TCN4aI0LBhFecuWdp0YMHasV4V94gCLcBGAs/s640/Entorno_desarrollo_ESP8266_04.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Una vez seleccionada el proceso es el mismo que para UNO o NANO, una vez todo listo le damos a "subir" y se cargara el programa en la memoria interna del ESP8266:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJZA96JO9F6TuGgztdcuEMUMxHje0oKKYTNbp7mAGLtjTWWzpgH-KPHzz-JUpO2MaRErxlm3nTb6Kf2Q3UvQb6Op5il_xsKZPWnexBfHeDaAgUrDN-7KDyZPHSaNoBBphqFH1W1x-64dTh/s1600/Entorno_desarrollo_ESP8266_05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="748" data-original-width="1366" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJZA96JO9F6TuGgztdcuEMUMxHje0oKKYTNbp7mAGLtjTWWzpgH-KPHzz-JUpO2MaRErxlm3nTb6Kf2Q3UvQb6Op5il_xsKZPWnexBfHeDaAgUrDN-7KDyZPHSaNoBBphqFH1W1x-64dTh/s640/Entorno_desarrollo_ESP8266_05.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUfRAQuJizpld0H3Hh1h0OlF_hQIHLdoER8FxP2jHauy9RktlrIynSEX7Jv2XR-zba41nqt50eMNGFdPv7UscfM_DZ0ar9u1tgFG5Oa1ENAdJpV2PubMB1FhFXls-Wbhm_SXPrGyKMTMLt/s1600/Monitor_Serial_DCCpp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="367" data-original-width="685" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUfRAQuJizpld0H3Hh1h0OlF_hQIHLdoER8FxP2jHauy9RktlrIynSEX7Jv2XR-zba41nqt50eMNGFdPv7UscfM_DZ0ar9u1tgFG5Oa1ENAdJpV2PubMB1FhFXls-Wbhm_SXPrGyKMTMLt/s320/Monitor_Serial_DCCpp.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Bueno hasta aquí llega esta pequeña guía sobre como programar el modulo ESP8266 espero que hayáis tenido suerte con el tema de los voltajes y ya tengáis programado vuestro Sketch.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;">Fuentes:</span> </div>
<div class="separator" style="clear: both; text-align: left;">
información general: <a href="http://trainelectronics.com/WiFi-esp8266/Setup/" target="_blank">TrainsElectronics.com</a>.</div>
<div class="separator" style="clear: both; text-align: left;">
Circuito programador: <a href="https://github.com/esp8266/Arduino/issues/710" target="_blank">Github.com</a> (Último comentario).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;">Sketch:</span></div>
<div class="separator" style="clear: both;">
Sketch DCC++ ESP8266: <a href="http://descargas.infotronikblog.com/files/DCC/Arduino/ESP8266_DCCpp.rar" target="_blank">Seccion de descargas ITB</a>.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Saludos a todos!!!!!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com2tag:blogger.com,1999:blog-2710098177670558810.post-72726037140585494642017-12-23T15:51:00.000+01:002018-01-03T18:06:42.104+01:00Arduino: Reloj On Board con RTC i2C LCD 16x2 y DHT 11Hola a todos!!!<br />
Hace un tiempo se me rompió el reloj del coche, un viejito Clio de 2004. Estuve mirando el repuesto y estaba entre 20 y 40€ y su función en mi coche era solamente dar la hora, el sensor de temperatura era un extra que no puse en su momento. Bueno después de muchos años el reloj del coche paso a mejor vida...<br />
Arduino ha sido una solución original y económica para este problema. Con menos de 10€ he montado un reloj con 2 sensores de temperatura/humedad DHT11 un LCD a juego con la iluminación interior de coche (rojo) y un modulo RTC D1307 i2C.<br />
Este programa es una variación de otro que publique en este articulo <span style="background-color: white; color: #3e3e3e; font-family: inherit;"><a href="http://www.infotronikblog.com/2015/05/arduino-reloj-calendario-con-rtc-i2c.html" target="_blank">Arduino: Reloj calendario con RTC DS1307 i2C</a>.</span><br />
<span style="background-color: white; color: #3e3e3e; font-family: inherit;"><br /></span>
<span style="background-color: white; color: #3e3e3e; font-family: inherit;"><br /></span>
Los componentes han sido los siguientes:<br />
<br />
<ul>
<li><b>1 x Arduino NANO.</b></li>
<li><b>1 x LCD 16x2.</b></li>
<li><b>2 x DHT11.</b></li>
<li><b>3 x Pulsadores</b></li>
<li><b>1 x Divisor de tensión.</b></li>
</ul>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-K7vHOoO1bKW9S7baaI2npGVMf5i9Mc-AKgOLsvT1D2yzG-8k47LAcK5Bp-b6DKMHTgSD9LhC4D5ADnXPw7P_NRPPnAZx-BImdwx9ccXmR0I5CXuUDUhVQ9eA7sGEvx9S4FsN1VPh-7QC/s1600/Arduino_RTC_On_Board_RTC_Clock_DHT11_voltMeter.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="719" data-original-width="1089" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-K7vHOoO1bKW9S7baaI2npGVMf5i9Mc-AKgOLsvT1D2yzG-8k47LAcK5Bp-b6DKMHTgSD9LhC4D5ADnXPw7P_NRPPnAZx-BImdwx9ccXmR0I5CXuUDUhVQ9eA7sGEvx9S4FsN1VPh-7QC/s400/Arduino_RTC_On_Board_RTC_Clock_DHT11_voltMeter.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arduino Reloj RTC para coche.</td></tr>
</tbody></table>
<br />
<a name='more'></a><br /><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDhDWSpgvoKrVsl5Jvb7W4_5AG94-mGy1UH98WdW3tXr6eISNMM0ORrJidgxjl4Xff2vvqy93XHcAlDo9CxWcVTMA41fYsIEMWo6oLtcuZU9FvTeGYPWtEvHgS64ChzPV6nV_l9BJV8hDF/s1600/+Reloj_On_Board_con_RTC_003.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="960" data-original-width="877" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDhDWSpgvoKrVsl5Jvb7W4_5AG94-mGy1UH98WdW3tXr6eISNMM0ORrJidgxjl4Xff2vvqy93XHcAlDo9CxWcVTMA41fYsIEMWo6oLtcuZU9FvTeGYPWtEvHgS64ChzPV6nV_l9BJV8hDF/s200/+Reloj_On_Board_con_RTC_003.jpg" width="182" /></a>Una vez instalado, la configuración se hace con los mandos que traía el coche para controlar la radio original. He usado las teclas subir y bajar volumen para usar las funciones de medir temperatura y medidor de voltaje.<br />
Las mediciones de temperatura se hacen en intervalos de 2 segundos. Para medir el voltaje lo hacemos de otra manera diferente, tomamos 6 medidas en intervalos de 200 milisegundos y luego se divide para dar una medida de media. Se puede ver al principio de la pestaña "<i>medidor_Voltaje</i>" el bucle <span style="color: #38761d;">for</span> que se hace cargo de eso.<br />
<br />
<br />
El otro pulsador corresponde a la tecla de menú, una vez dentro del menú podremos configurar las diferentes funciones del reloj como:<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJzhnsdcXWg9CzWsLBkxfp7EYDG2qBfPZhGlEwRINPFH5a2NmJNulmnpdl0lO90NtqY-T0HKq_8UrxHs4hyZlPYAMbTNFSisrvMDZlnI-J33qT-MCR87iQbeXKCDNgCqE3UmP_kGgh9p4/s1600/+Reloj_On_Board_con_RTC_000.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="960" data-original-width="720" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJzhnsdcXWg9CzWsLBkxfp7EYDG2qBfPZhGlEwRINPFH5a2NmJNulmnpdl0lO90NtqY-T0HKq_8UrxHs4hyZlPYAMbTNFSisrvMDZlnI-J33qT-MCR87iQbeXKCDNgCqE3UmP_kGgh9p4/s200/+Reloj_On_Board_con_RTC_000.jpg" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="font-size: 12.8px; text-align: center;">Conector del control de volumen</td></tr>
</tbody></table>
<ul></ul>
<br />
<ul>
<li>Configuración del reloj.</li>
<li>Iluminación.</li>
<li>Contraste.</li>
<li>Salir.</li>
</ul>
<br />
<br />
<div>
Instalarlo en el coche ha sido bastante fácil también. Aunque en las fotos se vea medio coche desmontado, para quitar el salpicadero solo tuve que quitar unos 10 tornillos y un poco de maña. Como es algo diferente en cada coche no entrare en mas detalle.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqVmGE_96FCEPTB9TPwsrOAG8NYUIg3wZjX0xgo3LXg4EJeHDgJVDuDMqHZuTjlTi-CRiQ-GzHMbPED9f8Z7uypR6k2wcvfT2Svs0Au3xmcS85PyRgDw9qA1zCMxMsPPwIczdo6YRkEoSw/s1600/+Reloj_On_Board_con_RTC_001.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="883" data-original-width="1280" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqVmGE_96FCEPTB9TPwsrOAG8NYUIg3wZjX0xgo3LXg4EJeHDgJVDuDMqHZuTjlTi-CRiQ-GzHMbPED9f8Z7uypR6k2wcvfT2Svs0Au3xmcS85PyRgDw9qA1zCMxMsPPwIczdo6YRkEoSw/s200/+Reloj_On_Board_con_RTC_001.jpg" width="264" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Regulador de tensión AMS1117</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://2.bp.blogspot.com/-oLSHlExOCso/Wj5b4P-FFAI/AAAAAAAAMsY/KDZ80QHI5G8faAz56X3OoOL2uTHRP2TYACLcBGAs/s1600/%2BReloj_On_Board_con_RTC_004.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="960" data-original-width="908" height="200" src="https://2.bp.blogspot.com/-oLSHlExOCso/Wj5b4P-FFAI/AAAAAAAAMsY/KDZ80QHI5G8faAz56X3OoOL2uTHRP2TYACLcBGAs/s200/%2BReloj_On_Board_con_RTC_004.jpg" width="188" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fuente alimentación de un cargador USB</td></tr>
</tbody></table>
<br />
El reloj lleva funcionando cerca de un año, prácticamente no ha dado problemas y el único que ha dado ha sido problema con el regulador de tensión del <b>NANO</b>. Según las especificaciones de la placa admite hasta <b>12V</b> en el <i>Vin</i> y el coche cuando esta cargando son unos <b>14,2V</b>. Ese pico de <b>2V</b> de más hizo que con el tiempo dejara de funcionar. Solo funcionaba con la alimentación por USB.<br />
Para solucionarlo, además de sustituir el AMS1117, le he puesto una fuente de alimentación de un cargador de móviles que entrega 5V estables.<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_XCwRcWqSSf0-rJuYV7BUD2WMHf_B2-q_lWhzj9-v2m-FxOEyPFMQJDdbCrVcfLOeWlEL9sLL9RqohMAbaUiak8WLdrr9cV8C4J9SU8A9_Tgcsqbi1zsYmUB4gqzAHk3fXGVv1dN0VVff/s1600/+Reloj_On_Board_con_RTC_006.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="960" data-original-width="766" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_XCwRcWqSSf0-rJuYV7BUD2WMHf_B2-q_lWhzj9-v2m-FxOEyPFMQJDdbCrVcfLOeWlEL9sLL9RqohMAbaUiak8WLdrr9cV8C4J9SU8A9_Tgcsqbi1zsYmUB4gqzAHk3fXGVv1dN0VVff/s320/+Reloj_On_Board_con_RTC_006.jpg" width="254" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Cableado final</td></tr>
</tbody></table>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJJVtuC_rYefRf5objjJ-OMVfzp_FJ6Q4g9XIdPTm9oTUiF2vXDPCunjeAiB5AWiFoZdGFpiNdW2zuycRgYGzqnqO1EKG86tfHjLXwVAmOkLLEOjem_vWlQHrjdPECiYGpTAoANKf6H3df/s1600/+Reloj_On_Board_con_RTC_005.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="960" data-original-width="787" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJJVtuC_rYefRf5objjJ-OMVfzp_FJ6Q4g9XIdPTm9oTUiF2vXDPCunjeAiB5AWiFoZdGFpiNdW2zuycRgYGzqnqO1EKG86tfHjLXwVAmOkLLEOjem_vWlQHrjdPECiYGpTAoANKf6H3df/s320/+Reloj_On_Board_con_RTC_005.jpg" width="260" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Unas pruebas antes de montar el salpicadero</td></tr>
</tbody></table>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Y este es el resultado final... un reloj con calendario, sensores de temperatura y control de voltaje de la batería. Bastante más útil que el original!!!<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Zuk3GHS9lAY/Wj5b4jeoclI/AAAAAAAAMsk/u12_T-FPL0UFb4JkIjhkOWmQfiz5bYa4wCLcBGAs/s1600/%2BReloj_On_Board_con_RTC_007.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="834" height="400" src="https://1.bp.blogspot.com/-Zuk3GHS9lAY/Wj5b4jeoclI/AAAAAAAAMsk/u12_T-FPL0UFb4JkIjhkOWmQfiz5bYa4wCLcBGAs/s400/%2BReloj_On_Board_con_RTC_007.jpg" width="346" /></a></div>
<div>
<br /></div>
<div>
<br />
<span style="font-size: x-large;">Descargar <a href="http://descargas.infotronikblog.com/files/Arduino/RTC/Reloj_RTC_coche_4_infotronikblog.rar" style="background-color: #eeeeee; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;" target="_blank">Reloj RTC coche 4 infotronikblog</a></span><br />
<br />
Espero que os guste!!! </div>
<div>
<br /></div>
Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com2tag:blogger.com,1999:blog-2710098177670558810.post-76102139223064535252017-12-01T11:26:00.000+01:002017-12-01T11:26:04.214+01:00Arduino: Coche RC Maisto Drift XboxRC24Buenas a todos otra vez!!!<br />
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbih6JYF5CtShnj3xGXpzUIA177y9ojbYPa2R-vMK9RO4BbMqJDwrmkiKnjLWG6kKi6JJ-9bTu9cP07u95To2z5-UdrIsETwFVtCv3WIb6dlNVjNAPmNxSjhHUJZaL67WM3LhUjoiurao7/s1600/logo_Arduino_24ghzi.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="180" data-original-width="610" height="94" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbih6JYF5CtShnj3xGXpzUIA177y9ojbYPa2R-vMK9RO4BbMqJDwrmkiKnjLWG6kKi6JJ-9bTu9cP07u95To2z5-UdrIsETwFVtCv3WIb6dlNVjNAPmNxSjhHUJZaL67WM3LhUjoiurao7/s320/logo_Arduino_24ghzi.jpg" width="320" /></a>Ahora le toca el paso a los coches RC!!! Estos son los que siempre ha sido mi preferencia en cuanto a radio control. Y ahora voy a ver que tal le sienta a Arduino el control de este tipo de vehículos. En principio con todo lo visto en el blog podríais montar uno sin ningún tipo de problemas. </div>
<div>
En los archivos para la descarga incluyo también el del mando ya que también esta modificado para soportar nuevas funciones y ajustes que voy incluyendo poco a poco. </div>
<div>
<br /></div>
<div>
Bueno para este proyecto voy a utilizar la misma plantilla del archivo .ino que use con el tanque RC.</div>
<div>
Esto me obliga también ha hacer cambios en casi todo lo que tengo así que iré publicando los archivos cuando crea que la versión esta lista. </div>
<div>
<br /></div>
<div>
La base de este proyecto es un coche RC que me cayo en mis manos hace años y haremos que vuelva a andar como el primer día... o mejor ;) </div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGerQJfukGuIOJ-mIFmSXJMV2rc5jyv7P2b2adcP75cpegzD4VjeIuRJZJT8vJYU0f493yTctj8gjgKNZxk0GsbZB8ogHU8GVo_yDfsq2kPedPBN3PMjs7YF5LB1f3X3X5EVDLyYgBr-ui/s1600/Maisto_Drift_001.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="961" data-original-width="1029" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGerQJfukGuIOJ-mIFmSXJMV2rc5jyv7P2b2adcP75cpegzD4VjeIuRJZJT8vJYU0f493yTctj8gjgKNZxk0GsbZB8ogHU8GVo_yDfsq2kPedPBN3PMjs7YF5LB1f3X3X5EVDLyYgBr-ui/s200/Maisto_Drift_001.JPG" title="Arduino Maisto Monster Drift" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Z5LP7Ao_xW1Aq_L7ErtsmCnSkivLTPB9jjwYmBvMITZJoiz2NUXAlrufAWxBf7jW9NzSxEZ3PdRbo2oVrOclql1cwEZXSlEskMnVgJFl92PPiSmOLG3I_K4p9AZSHfpG_6tAHHvOXmcM/s1600/Maisto_Drift_002.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="747" data-original-width="1280" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Z5LP7Ao_xW1Aq_L7ErtsmCnSkivLTPB9jjwYmBvMITZJoiz2NUXAlrufAWxBf7jW9NzSxEZ3PdRbo2oVrOclql1cwEZXSlEskMnVgJFl92PPiSmOLG3I_K4p9AZSHfpG_6tAHHvOXmcM/s320/Maisto_Drift_002.JPG" title="Arduino Maisto Monster Drift" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Se llama Maisto Monster Drift y ya le hice unas modificaciones anteriormente, bueno viendo la fecha... hacer bastante tiempo.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Lo primero que había que modificar era la dirección. Así que lo primero que tenemos que hacer es quitar la electrónica original para dar cabida al servo, al Arduino NANO y al driver L293. </div>
<div class="" style="clear: both; text-align: left;">
Del L923 solo usaremos la mitad del chip ya que solo tenemos que alimentar uno de los motores.</div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxOesNc1EmFS2_c7gyytCzz-ghUEsQ0rwwtkAGmkNH7ePez8q3ZmGrNBKa457eyMVp89cxKBiagkxdiJDObW2Io2aWHvEOSakUYDsPjIr8UUWvPZKrimKGDG4Ff3N9sM1k4D6Hx1xBlnJR/s1600/Maisto_Drift_004.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="960" data-original-width="1280" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxOesNc1EmFS2_c7gyytCzz-ghUEsQ0rwwtkAGmkNH7ePez8q3ZmGrNBKa457eyMVp89cxKBiagkxdiJDObW2Io2aWHvEOSakUYDsPjIr8UUWvPZKrimKGDG4Ff3N9sM1k4D6Hx1xBlnJR/s200/Maisto_Drift_004.JPG" title="Arduino Maisto Monster Drift" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Quitar tapadera superior</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="clear: right; float: right; margin-bottom: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqTvtFLPhyphenhyphenwwUKBKjGER89U6Ev1Piyawh4oBBMmGN3vrN64DDxJ73pfek6z_4tNAlx0D50eQgOjh_aMemZ_wnnmc-Od8Si3VuvTVA7CRONpHyuWFMp3XnUEEnqnzjlmvjsEFyzstqIhNgp/s1600/Maisto_Drift_006.JPG" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="947" data-original-width="1280" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqTvtFLPhyphenhyphenwwUKBKjGER89U6Ev1Piyawh4oBBMmGN3vrN64DDxJ73pfek6z_4tNAlx0D50eQgOjh_aMemZ_wnnmc-Od8Si3VuvTVA7CRONpHyuWFMp3XnUEEnqnzjlmvjsEFyzstqIhNgp/s200/Maisto_Drift_006.JPG" title="Arduino Maisto Monster Drift" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Electrónica que tenemos que no vamos a usar</td></tr>
</tbody></table>
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZz6dBiCZk4HCT01pAuM_G6_U4yFs9epjgzzIbg1WcszeYc_Fy5YDTHSxfJzHdAkZc10EgxaUEQ47PVGuXUVBL0hHee6KldMNZrqPNyaGnZBRi5egi3E1eX0_RTj0LVEVMCin-7PNeiZgC/s1600/Maisto_Drift_007.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="723" data-original-width="1280" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZz6dBiCZk4HCT01pAuM_G6_U4yFs9epjgzzIbg1WcszeYc_Fy5YDTHSxfJzHdAkZc10EgxaUEQ47PVGuXUVBL0hHee6KldMNZrqPNyaGnZBRi5egi3E1eX0_RTj0LVEVMCin-7PNeiZgC/s320/Maisto_Drift_007.JPG" title="Arduino Maisto Monster Drift" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Maisto Monster Drift sin electrónica</td></tr>
</tbody></table>
<br />
<a name='more'></a><br />
<br />
Ahora vamos a poner el servo en la parte delantera del coche cortando los soportes del servo para que no sobresalgan ni por arriba ni por abajo.<br />
Quitaremos los dos tornillos de la tapa que protege el mecanismo de giro y la tracción delantera:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiCZk5XZbIe88ZS8NvK4cJVHJy0hTxfxFGH5gYrSHdV9fH9t-7TO2O8aqDqzOWtrM4fwmS7-yTBKXuOnM7yMfzxX068CFghTPIbs0rgpL3O1B3OBAmw6XmH-99B8Ewt2vjSsK3uK3I4375/s1600/Maisto_Drift_008.JPG" imageanchor="1"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="960" data-original-width="1257" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiCZk5XZbIe88ZS8NvK4cJVHJy0hTxfxFGH5gYrSHdV9fH9t-7TO2O8aqDqzOWtrM4fwmS7-yTBKXuOnM7yMfzxX068CFghTPIbs0rgpL3O1B3OBAmw6XmH-99B8Ewt2vjSsK3uK3I4375/s200/Maisto_Drift_008.JPG" title="Arduino Maisto Monster Drift" width="200" /></a></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><br />
<a href="https://3.bp.blogspot.com/-vmr04HMNMjM/WhafiJqg49I/AAAAAAAAMog/iuqA9pCMmDEbnKnjXn0XtxTXOAjyeXnzwCEwYBhgL/s1600/Maisto_Drift_011.JPG" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="960" data-original-width="786" height="320" src="https://3.bp.blogspot.com/-vmr04HMNMjM/WhafiJqg49I/AAAAAAAAMog/iuqA9pCMmDEbnKnjXn0XtxTXOAjyeXnzwCEwYBhgL/s320/Maisto_Drift_011.JPG" title="Arduino Maisto Monster Drift" width="262" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Maisto sin motor de dire</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-P_744l9Qe4o/Whafgk4tiVI/AAAAAAAAMog/P5vDEuU0DMcfjMa4_oQNnxzAKskV5-ZMgCEwYBhgL/s1600/Maisto_Drift_010.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="960" data-original-width="808" height="320" src="https://1.bp.blogspot.com/-P_744l9Qe4o/Whafgk4tiVI/AAAAAAAAMog/P5vDEuU0DMcfjMa4_oQNnxzAKskV5-ZMgCEwYBhgL/s320/Maisto_Drift_010.JPG" title="Arduino Maisto Monster Drift" width="269" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Vista de los dos motores, dirección (blanco) y propulsión (amarillo)</td></tr>
</tbody></table>
<br />
Si hacemos bien los cortes el servo queda totalmente encajado en su posición y solo habrá que poner su tapadera y listo.<br />
Una vez tengamos fuera el motor de dirección vamos a quitarle en engranaje ya que lo vamos a utilizar para pegarlo en el servo. Para que el engranaje no sufra daños al sacarlo del motor podemos utilizar una maquina para quitar engranajes, hay muchas en el mercado y un buen catalogo sobre todo el en tema de Scalextric (Slot). Como se puede ver en las imágenes es algo muy fácil de usar y nos salvara de mas de un quebradero de cabeza en cuanto a piñones se trata.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6ZqoUDuZqv0Dt6nktFdBBsVfTkWDuqKhNJLqIWuJO2PSmrpiPiALwtFYT29HEbDaL-VvLZxdOp8hs5fFuU0HHm_ejwo9SmQkqQRoZ6RicNE-BJmTXV4X1Co2_sgp41eCM49Wpap9R1-r2/s1600/Maisto_Drift_014.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="887" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6ZqoUDuZqv0Dt6nktFdBBsVfTkWDuqKhNJLqIWuJO2PSmrpiPiALwtFYT29HEbDaL-VvLZxdOp8hs5fFuU0HHm_ejwo9SmQkqQRoZ6RicNE-BJmTXV4X1Co2_sgp41eCM49Wpap9R1-r2/s200/Maisto_Drift_014.JPG" width="184" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKjpzefjVMTH3qFWh5pCRFrCV_sjoytQ1hdNPdhF_VL5nq0WLKVz0nfooy1uOSBJ70wkAxdOYHfntEIIQSWd89TXvT0SVZ2rP7mHSRnS_KUd2xLUZjqslHjP1jUMs_iZyPgKvyAm27g_R7/s1600/Maisto_Drift_015.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Extractor de piñones RC" border="0" data-original-height="960" data-original-width="1202" height="159" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKjpzefjVMTH3qFWh5pCRFrCV_sjoytQ1hdNPdhF_VL5nq0WLKVz0nfooy1uOSBJ70wkAxdOYHfntEIIQSWd89TXvT0SVZ2rP7mHSRnS_KUd2xLUZjqslHjP1jUMs_iZyPgKvyAm27g_R7/s200/Maisto_Drift_015.JPG" title="Extractor de piñones RC" width="200" /></a></div>
<br />
<a href="https://3.bp.blogspot.com/-NLgU7KTnaFQ/WhafkaEgnHI/AAAAAAAAMog/N_ACEaK3zYgzKuHvOXuR7JsY19vzPNW6gCEwYBhgL/s1600/Maisto_Drift_012.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="1263" height="101" src="https://3.bp.blogspot.com/-NLgU7KTnaFQ/WhafkaEgnHI/AAAAAAAAMog/N_ACEaK3zYgzKuHvOXuR7JsY19vzPNW6gCEwYBhgL/s200/Maisto_Drift_012.JPG" width="150" /></a>Una vez tengamos el piñon fuera solo tendremos que rebajar un poco la parte inferior del engranaje y pegarlo con un buen pegamento al eje del servo. Si todo va bien no tendréis que hacer mucho más para que quede totalmente colocado en su sitio.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><tbody>
<tr><td style="text-align: center;"><br />
<a href="https://2.bp.blogspot.com/-2oX75pSSRto/WhafnvX5poI/AAAAAAAAMog/xXRDm5o485gnTbCBNrkOX1lnwlfd1GO1gCEwYBhgL/s1600/Maisto_Drift_016.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="960" data-original-width="921" height="300" src="https://2.bp.blogspot.com/-2oX75pSSRto/WhafnvX5poI/AAAAAAAAMog/xXRDm5o485gnTbCBNrkOX1lnwlfd1GO1gCEwYBhgL/s320/Maisto_Drift_016.JPG" title="Arduino Maisto Monster Drift" width="287" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Servo en su posición final</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsyCcaI7rS4O8Pv48RUYBTXRj0d72rPIb-0vVPaOt9-Wh5xlZQGDs84WxlT6cidllSy95sbEOyGVI3U4YQ4V2Wu793NK_H1ACRxZsLH99rJgKbKqcreHfZEQE0nBP-L58XG0Bxoid1T21l/s1600/Maisto_Drift_017.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Arduino Maisto Monster Drift" border="0" data-original-height="960" data-original-width="1118" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsyCcaI7rS4O8Pv48RUYBTXRj0d72rPIb-0vVPaOt9-Wh5xlZQGDs84WxlT6cidllSy95sbEOyGVI3U4YQ4V2Wu793NK_H1ACRxZsLH99rJgKbKqcreHfZEQE0nBP-L58XG0Bxoid1T21l/s320/Maisto_Drift_017.JPG" title="Arduino Maisto Monster Drift" width="300" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Servo con piñón</td></tr>
</tbody></table>
<br />
<br />
<br />
<br />
Esta va a ser la modificación de mayor relevancia en el vehículo.<br />
La electrónica viene de la mano de un Arduino <b>NANO</b>, un driver <b>L293</b>, un Módulo <b>nRF24L01</b> y el servo. Todo esto va a alimentado por una batería de <b>7.2V </b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAA7zVh606kJo6XL2YDpvu8MhvWrT_OXIXFxGOgE3NBvF0hQy85hke89rU_wgnZorJ6EweDPfBB1-WYX22NNqC5-2TS0EoKim0RjF6MZK5QTOJ7scv667TfVjl9FW8Z2Mv1d-O0_govRrr/s1600/Arduino%253A+Driver+L293%252CServo%252C+nRF2401.png.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="729" data-original-width="997" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAA7zVh606kJo6XL2YDpvu8MhvWrT_OXIXFxGOgE3NBvF0hQy85hke89rU_wgnZorJ6EweDPfBB1-WYX22NNqC5-2TS0EoKim0RjF6MZK5QTOJ7scv667TfVjl9FW8Z2Mv1d-O0_govRrr/s320/Arduino%253A+Driver+L293%252CServo%252C+nRF2401.png.png" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9IzvVwAtuf2XbXFM_oBJEfl31lW7fAWpiz2dWHhe7IsmyAfOdjXjtKTR0dUmbeS14dmfDzNwtwOVKqAFkAZ77wUSyziLLFZdIZs4apf7e5gApMC_ytXKuFCuO32twSof0njH7NmDab46Q/s1600/Maisto_Drift_018.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="1476" data-original-width="1600" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9IzvVwAtuf2XbXFM_oBJEfl31lW7fAWpiz2dWHhe7IsmyAfOdjXjtKTR0dUmbeS14dmfDzNwtwOVKqAFkAZ77wUSyziLLFZdIZs4apf7e5gApMC_ytXKuFCuO32twSof0njH7NmDab46Q/s320/Maisto_Drift_018.jpg" width="280" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Unos vídeos de prueba:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/jGdLJmq3AKw/0.jpg" src="https://www.youtube.com/embed/jGdLJmq3AKw?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/4sSl9fCJ2zk/0.jpg" src="https://www.youtube.com/embed/4sSl9fCJ2zk?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
Aun lo tengo en desarrollo por que estoy a la espera de recibir la batería y el modulo nRF24L01 con antena para que tenga un mayor alcance.<br />
<br />
<span style="font-size: x-large;">Descargar <a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/Coche%20XboxRC24/XboxRC24_Receptor_Coche_V0.3.rar" target="_blank">XboxRC24 Receptor Coche V0.3 </a></span><br />
<br />
Un saludo a todos!!! </div>
Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com2tag:blogger.com,1999:blog-2710098177670558810.post-20650825913133121302017-11-19T14:09:00.000+01:002017-11-19T14:11:14.163+01:00Usos para Raspberry Pi <a href="https://2.bp.blogspot.com/-0azGtspRryo/WhGAKCGtc-I/AAAAAAAAMnA/O5UN6MDAsk0VvRLVpFjelr2B1qR-V_2qgCLcBGAs/s1600/RP_Logo.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="250" data-original-width="199" height="125" src="https://2.bp.blogspot.com/-0azGtspRryo/WhGAKCGtc-I/AAAAAAAAMnA/O5UN6MDAsk0VvRLVpFjelr2B1qR-V_2qgCLcBGAs/s200/RP_Logo.png" width="84" /></a>Buenas a todos!!!<br />
Esta publicación va con un poco de retraso... ya tenía la <b>Raspberry Pi 2</b> desde hacia bastante tiempo, pero como la tenia en otros usos y no he podido hacerle una entrada en condiciones. En principio esta entrada va a ser un poco presentación de la placa.<br />
Vamos a echar un vistazo a las distintas posibilidades que nos ofrece:<br />
<br />
<a name='more'></a><br /><br />
<br />
<br />
<span style="font-size: x-large;">Centro multimedia Raspberry Pi:</span><br />
<span style="font-size: large;"><br /></span>
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://2.bp.blogspot.com/-oWpPYMNfOZg/WhFlHO9T2YI/AAAAAAAAMmg/AWfE54JJdUkqjgFPIWGTFRS4SuS-otdVwCLcBGAs/s1600/RP2_RasPlex.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Distribución RasPlex" border="0" data-original-height="720" data-original-width="1280" height="112" src="https://2.bp.blogspot.com/-oWpPYMNfOZg/WhFlHO9T2YI/AAAAAAAAMmg/AWfE54JJdUkqjgFPIWGTFRS4SuS-otdVwCLcBGAs/s200/RP2_RasPlex.jpg" title="Distribución RasPlex" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Distribución RasPlex</td></tr>
</tbody></table>
Con sus completas especificaciones y tamaño (apenas <b>85x56mm</b>)Raspberry Pi es ideal para un completo Centro multimedia en el salón. Este es el proyecto estrella entre los usuarios menos avezados en estos temas pero no por ello deja de ser interesante y muy practico. Instalando una distribución como <a href="https://libreelec.tv/" target="_blank">LibreELEC</a> (Libre Embedded Linux Entertainament Center), <a href="https://osmc.tv/" target="_blank">OSMC</a> (Open Source Media Center) o <a href="http://www.rasplex.com/" target="_blank">RasPlex</a> entre muchos otros. Estos sistemas nos permitirán montar un completo centro multimedia conectado a vuestro televisor.<br />
<br />
<span style="font-size: x-large;">Revive los juegos arcade con Raspberry Pi:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.martipuig.com/wp-content/uploads/2017/10/recreatiu-11-copia-600x600.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><br class="Apple-interchange-newline" /></div>
<a href="https://www.martipuig.com/wp-content/uploads/2017/10/recreatiu-11-copia-600x600.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="clear: left; float: left; margin-bottom: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><img alt="Arcade con Raspberry Pi" border="0" data-original-height="600" data-original-width="600" height="150" src="https://www.martipuig.com/wp-content/uploads/2017/10/recreatiu-11-copia-600x600.jpg" style="margin-left: auto; margin-right: auto;" title="Arcade con Raspberry Pi" width="150" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arcade con Raspberry Pi</td></tr>
</tbody></table>
Este pequeño pero potente mini ordenador, es la base para multitud de proyectos de toda índole como una máquina arcade. Con un emulador MAME corriendo sobre <a href="http://www.raspbian.org/" target="_blank">Raspbian</a> o una distribución dedicada a juegos de la primera época de los videojuegos como <a href="https://piplay.org/" target="_blank">Piplay.com</a> de echo, venden las carcasas ya preparadas para tal fin como el proyecto de <a href="https://www.martipuig.com/proyecto-maquina-arcade/" target="_blank">máquina Arcade</a> en la web de <a href="https://www.martipuig.com/" target="_blank">MartiPuig.com</a>.<br />
Una autentica joya para los nostálgicos de los videojuegos.<br />
<br />
<br />
<br />
<span style="font-size: x-large;">Servidores basados en Raspberry Pi:</span><br />
<span style="font-size: large;"><br /></span>
<a href="https://4.bp.blogspot.com/-aCC6BQls7ec/WhFziqSBWzI/AAAAAAAAMmw/YWLpQ1Srl5A_12aM-nqKyxB_KDZIbMUqACLcBGAs/s1600/RP2B_LAMP.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="172" data-original-width="340" height="100" src="https://4.bp.blogspot.com/-aCC6BQls7ec/WhFziqSBWzI/AAAAAAAAMmw/YWLpQ1Srl5A_12aM-nqKyxB_KDZIbMUqACLcBGAs/s200/RP2B_LAMP.jpg" width="200" /></a>Otro proyecto interesante es el de servidor, ya sea como servidor WEB, FTP o correo (entre otros).<br />
Para estas funciones tenemos software especifico como <a href="https://es.wikipedia.org/wiki/LAMP" target="_blank">LAMP</a> (Linux Apache MySQL PHP) donde tendremos todo lo necesario para poner en linea vuestro contenido. Entre el software de servidores encontramos servidores de correo como <a href="http://www.postfix.org/" target="_blank">PostFix</a>. También es una estupenda manera de tener un servidor anónimo Tor para navegar de manera anónima y segura con <a href="https://learn.adafruit.com/onion-pi/overview" target="_blank">OnionPi</a>.<br />
<br />
<span style="font-size: x-large;">Educación y profesionales:</span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://inspiredtoeducate.net/inspiredtoeducate/wp-content/uploads/2015/05/PIRobot.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://inspiredtoeducate.net/inspiredtoeducate/wp-content/uploads/2015/05/PIRobot.jpg" data-original-height="450" data-original-width="800" height="111" width="200" /></a></div>
Pero sin duda la parte en la que se lleva la mayor puntuación, es en el tema educativo. Ya sea para aprendizaje de programación o en robótica. Estaciones meteorológicas, vehículos de exploración, <a href="http://linuxgizmos.com/spiderlike-robots-controller-runs-snappy-ubuntu-on-raspberry-pi-2/" target="_blank">arácnidos</a>, <a href="http://www.instructables.com/id/Raspberry-Pi-SumoBot/" target="_blank">robots sumo</a>, o un <a href="http://www.instructables.com/id/Raspberry-pi-Laptop/" target="_blank">ordenador</a> completamente funcional a un precio muy reducido.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://i2.wp.com/makezine.com/wp-content/uploads/2015/08/IMG_9842.jpg?resize=620%2C620&ssl=1" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Clúster Raspberry Pi" border="0" data-original-height="620" data-original-width="620" height="150" src="https://i2.wp.com/makezine.com/wp-content/uploads/2015/08/IMG_9842.jpg?resize=620%2C620&ssl=1" title="Clúster Raspberry Pi" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Clúster Raspberry Pi</td></tr>
</tbody></table>
En esta parte podríamos incluir los clúster con Raspberry Pi, es decir un conjunto de ordenadores trabajando juntos donde todos los nodos ejecutan la misma tarea planificada y controlada por software. Dada su potencia combinada y la tolerancia a fallos. Estos clúster pueden ser utilizados para tareas servidoras y en el interesantisimo ámbito de la IA (Inteligencia Artificial).<br />
Todo esta en el presupuesto, desde la modesta torre de la fotografía a este "monstruo" con <a href="https://resin.io/blog/what-would-you-do-with-a-120-raspberry-pi-cluster/" target="_blank">120 Raspberry Pi</a>.<br />
<br />
<br />
Después de leer esto, ¿ya tenéis alguna idea para vuestra Raspberry Pi?<br />
Escribidla en los comentarios!!!<br />
Saludos!!!<br />
<br />
<br />
Fuentes:<br />
<a href="http://raspberrypi.org/" target="_blank">Raspberrypi.org</a><br />
<a href="https://en.wikipedia.org/wiki/Raspberry_Pi#Model_B" target="_blank">Wikipedia.org</a><br />
<br />Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-70270013425751116622017-11-13T21:51:00.002+01:002017-11-27T11:07:17.084+01:00Arduino: Driver L293, DHT 11, nRF2401 (parte2)<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbih6JYF5CtShnj3xGXpzUIA177y9ojbYPa2R-vMK9RO4BbMqJDwrmkiKnjLWG6kKi6JJ-9bTu9cP07u95To2z5-UdrIsETwFVtCv3WIb6dlNVjNAPmNxSjhHUJZaL67WM3LhUjoiurao7/s1600/logo_Arduino_24ghzi.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="180" data-original-width="610" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbih6JYF5CtShnj3xGXpzUIA177y9ojbYPa2R-vMK9RO4BbMqJDwrmkiKnjLWG6kKi6JJ-9bTu9cP07u95To2z5-UdrIsETwFVtCv3WIb6dlNVjNAPmNxSjhHUJZaL67WM3LhUjoiurao7/s200/logo_Arduino_24ghzi.jpg" width="200" /></a>Buenas a todos ya esta listo el programa para sus primeras pruebas.<br />
<br />
El Programa consta de dos partes, el archivo "<i>XboxRC24_Receptor_Tanque</i>" y el archivo "<i>NRF2401Receptor</i>". Este ultimo sera común a partir de ahora que lo use en mis proyectos sin que sufra muchas modificaciones, es la mejor manera de "reciclar" código. Explicare ese código mas detalladamente en una próxima entrada, tanto la del receptor como la del emisor.<br />
<br />
Como ya explique su construcción y diagrama de conexiones en <a href="http://www.infotronikblog.com/2017/11/arduino-driver-l293-dht-11-nrf2401.html" target="_blank">Arduino: driver L293, DHT11 y nRF2401 (parte 1)</a> voy a poner directamente el código:<br />
<br />
<a name='more'></a><br />
<br />
<span style="font-size: x-large;">Código XboxRC24_Receptor_Tanque.ino
</span><br />
<br />
<pre class="brush: js">#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include <DHT.h>
RF24 radio(9, 10);
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };
typedef struct {
int dec = 0; //T1
int ace = 0; //T2
int RXdata = 0; // Eje RX
int RYdata = 0; // Eje RY
int LXdata = 0; // Eje LX
int LYdata = 0; // Eje LY
int ButA = 0; //Boton A
int ButB = 0; //Boton B
int ButX = 0; //Boton X
int ButY = 0; //Boton Y
int Butb = 0; //Boton Back
int ButS = 0; //Boton Start
}
dataReceive;
dataReceive dataR;
typedef struct {
int dataS0 = 0; //dato 0
int dataS1 = 0; //dato 1
int dataS2 = 0; // dado 2
int dataS3 = 0; // dato 3
int dataS4 = 0; // dato 5
}
dataSend;
dataSend dataS;
// Pin digital donde se conectamos el sensor.
#define DHTPIN 8
//Definimos el tipo de sensor (DHT11, DHT22).
#define DHTTYPE DHT11
//Iniciamos el sensor DHT11.
DHT dht(DHTPIN, DHTTYPE);
int motor11 = 4; //
int motor12 = 5; // 6alidas para el L293N
int motor21 = 6; //
int motor22 = 7; //
int enable1 = 3; // incluidos el enable
//int claxon = 10; //
int luces = 14;
int estado;
int flag = 0;
int estadoStop = 0;
int acc = 0;
void setup() {
//Configuramos los pines de salida:
pinMode(motor11, OUTPUT);
pinMode(motor12, OUTPUT);
pinMode(enable1, OUTPUT);
pinMode(motor21, OUTPUT);
pinMode(motor22, OUTPUT);
pinMode(luces, OUTPUT);
digitalWrite (luces, HIGH);
delay (3000);
digitalWrite (luces, LOW);
dht.begin();
Serial.begin(9600); //Comunicacion serial para el monitor serial
radio.begin();
radio.setRetries(15, 15);
radio.startListening();
radio.openWritingPipe(pipes[1]);
radio.openReadingPipe(1, pipes[0]);
}
void loop() {
receiver();
botones();
conversion();
flag = 0;
/////////////////////////////////////////////
if (estado == 0 || estadoStop == 1) { // PARADO
digitalWrite(motor11, LOW);
digitalWrite(motor12, LOW);
digitalWrite(motor21, LOW);
digitalWrite(motor22, LOW);
if (flag == 0) {
Serial.println("STOP!");
flag = 1;
}
estadoStop = 0;
} else if (estado == 1) { // AVANCE:
analogWrite(enable1, acc);
digitalWrite(motor11, HIGH);
digitalWrite(motor12, LOW);
digitalWrite(motor21, HIGH);
digitalWrite(motor22, LOW);
if (flag == 0) {
Serial.println("Avance!!!");
flag = 1;
}
} else if (estado == 2) { // REVERSA
analogWrite(enable1, acc);
digitalWrite(motor11, LOW);
digitalWrite(motor12, HIGH);
digitalWrite(motor21, LOW);
digitalWrite(motor22, HIGH);
if (flag == 0) {
Serial.println("REVERSA!!!");
flag = 1;
}
} else if (estado == 3) { // IZQUIERDA
analogWrite(enable1, acc);
digitalWrite(motor11, LOW);
digitalWrite(motor12, HIGH);
digitalWrite(motor21, HIGH);
digitalWrite(motor22, LOW);
if (flag == 0) {
Serial.println("GIRA IZQUIERDA");
flag = 1;
}
} else if (estado == 4) { // DERECHA
analogWrite(enable1, acc);
digitalWrite(motor11, HIGH);
digitalWrite(motor12, LOW);
digitalWrite(motor21, LOW);
digitalWrite(motor22, HIGH);
if (flag == 0) {
Serial.println("GIRA DERECHA");
flag = 1;
}
}
static unsigned long lastTrigger; //Limpia la pantalla cada 500ms
if (millis() - lastTrigger >= 2000) {
lastTrigger = millis();
dht11Read();
}
}
void conversion()
{
acc = map(dataR.ace, 0, 100, 0, 254);
acc = constrain (acc, 0 , 240);
if (dataR.RYdata == dataR.RXdata) estado = 0;
else if ((dataR.RYdata > 50) && (dataR.RXdata <= 50)) estado = 1; //AVANCE
else if ((dataR.RYdata < 50) && (dataR.RXdata >= 50)) estado = 2; //REVERSA
else if ((dataR.RXdata > 50) && (dataR.RYdata <= 50)) estado = 3; //DERECHA
else if ((dataR.RXdata < 50) && (dataR.RYdata >= 50)) estado = 4; //IZQUIERDA
}
void botones() {
if (dataR.ButA == 0) {
digitalWrite(luces, HIGH);
} else {
digitalWrite (luces, LOW);
}
}
void dht11Read(){
float h = dht.readHumidity();// Lee la humedad relativa.
float t = dht.readTemperature();// Lee la temperatura en ºC (por defecto).
if (isnan(h) || isnan(t)) {
Serial.println("Error obteniendo los datos del sensor DHT11");
return; //Si tiene error vuelve a leer el sensor
}
float hic = dht.computeHeatIndex(t, h, false); //Calcula el índice de calor en ºC
dataS.dataS1 = t;
dataS.dataS2 = h;
dataS.dataS3 = hic;
Serial.println();
Serial.print("Temperatura: ");
Serial.print(t);
Serial.println(" ºC");
Serial.print("Humedad: ");
Serial.print(h);
Serial.println(" %");
Serial.print("Indice de calor: ");
Serial.print(hic);
Serial.println(" ºC");
}
</pre>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-qIwZCJ-M3fs/WgoClXeYDYI/AAAAAAAAMlE/W7rKxOx3XI4d0JCkbTlTf8hWpBS7I413gCLcBGAs/s1600/Arduino_tanque_RC_03.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1447" data-original-width="1600" height="180" src="https://4.bp.blogspot.com/-qIwZCJ-M3fs/WgoClXeYDYI/AAAAAAAAMlE/W7rKxOx3XI4d0JCkbTlTf8hWpBS7I413gCLcBGAs/s200/Arduino_tanque_RC_03.JPG" width="200" /></a><a href="https://4.bp.blogspot.com/-yoNvEOwmOws/WgoB76co3KI/AAAAAAAAMk8/H6CQ3yDnOeACT_HsTm1nmqjhNQ7S7Et0wCLcBGAs/s1600/Arduino_tanque_RC_04.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1279" data-original-width="1600" height="159" src="https://4.bp.blogspot.com/-yoNvEOwmOws/WgoB76co3KI/AAAAAAAAMk8/H6CQ3yDnOeACT_HsTm1nmqjhNQ7S7Et0wCLcBGAs/s200/Arduino_tanque_RC_04.JPG" width="200" /></a></div>
<br />
<br />
<br />
<span style="font-size: x-large;">Código NRF2401Receptor.ino</span>
<br />
<br />
<pre class="brush: js">void receiver(){
if ( radio.available() ) // Si hay datos disponibles
{
bool done = false;
while (!done) // Espera aqui hasta recibir algo
{
done = radio.read( &dataR, sizeof(dataR));
//receiverDebug();
}
radio.stopListening(); // Dejamos d escuchar para poder hablar
radio.write( &dataS, sizeof(dataS));
Serial.println("Enviando Respuesta");
radio.startListening(); // Volvemos a la escucha para recibir mas paquetes
//sendDebug();
}
}
void receiverDebug() {
Serial.println("Dato Recibido =");
Serial.print("Canal 0 = ");
Serial.println(dataR.dec);
Serial.print("Canal 1 = ");
Serial.println(dataR.ace);
Serial.print("Canal 2 = ");
Serial.println(dataR.RXdata);
Serial.print("Canal 3 = ");
Serial.println(dataR.RYdata);
Serial.print("Canal 4 = ");
Serial.println(dataR.LXdata);
Serial.print("Canal 5 = ");
Serial.println(dataR.LYdata);
Serial.print("Canal 6 = ");
Serial.println(dataR.ButA);
}
void sendDebug(){
Serial.println(dataS.dataS0);
Serial.println(dataS.dataS1);
Serial.println(dataS.dataS2);
Serial.println(dataS.dataS3);
Serial.println(dataS.dataS4);
}
</pre>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Tm3azcT8r64cbNaXM3pCLluQ9HwgFEzM20AwnbHgEs_mSWEmm11lx3FiztfsN3HOCaDxSlbGe0eO2gBsKpcc_nS4wmbafJJ4RPc8qChIreB2CgJoJo2zWUuf_pCGJC9kPBM2MMuCpT1t/s1600/XboxRC24_monitor_serial.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="335" data-original-width="601" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Tm3azcT8r64cbNaXM3pCLluQ9HwgFEzM20AwnbHgEs_mSWEmm11lx3FiztfsN3HOCaDxSlbGe0eO2gBsKpcc_nS4wmbafJJ4RPc8qChIreB2CgJoJo2zWUuf_pCGJC9kPBM2MMuCpT1t/s320/XboxRC24_monitor_serial.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Monitor Serial XboxRC24</td></tr>
</tbody></table>
<br />
Muchas Gracias a todos, Si tenéis cualquier duda hacedmelo saber en la caja de comentarios, Saludos!!!Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0tag:blogger.com,1999:blog-2710098177670558810.post-29730160168633837422017-11-13T01:20:00.001+01:002017-11-18T11:51:24.142+01:00Arduino: Driver L293, DHT 11, nRF2401 (parte1)Esto va sobre ruedas, y nunca mejor dicho, ya tengo la primera versión del mando <b>XboxRC24</b> transmitter y para sus pruebas he utilizado un vehículo que construí cuando trabajaba con los microcontroladores 16f, que buenos recuerdos, siempre liado con los puertos COM del portátil...<br />
Lo termine (todos sabemos que estos proyectos nunca terminan) y al poco tiempo empecé con <b>Arduino</b>.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://4.bp.blogspot.com/-SJwELRbibkA/WcDRzcswP7I/AAAAAAAAMRM/Wp66nvRG4aIyCITZ3BOChk8yLJoFjnrwwCPcBGAYYCw/s1600/NRF2401.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Arduino nRF2401" border="0" data-original-height="250" data-original-width="250" height="100" src="https://4.bp.blogspot.com/-SJwELRbibkA/WcDRzcswP7I/AAAAAAAAMRM/Wp66nvRG4aIyCITZ3BOChk8yLJoFjnrwwCPcBGAYYCw/s200/NRF2401.jpg" title="Arduino nRF2401" width="100" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arduino nRF2401</td></tr>
</tbody></table>
Hace un tiempo lo actualice a esta plataforma utilizando el <b>HC-06</b> encargado de la transmisiones de datos, ahora se encargará el <b>nRF2401</b>. Con un mayor alcance, un consumo casi de risa y siendo realmente estable es la mejor solución que he visto hasta ahora en el tema de radio control.<br />
<br />
<br />
<br />
<a href="https://1.bp.blogspot.com/-leg6UY7OWz4/TLCuNQkZnZI/AAAAAAAALkk/FY99lh3GU0klOMSNvKxbCE34rpFYvu38gCPcBGAYYCw/s1600/Oruga%2BCebek%2BV2%2B7.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" data-original-height="646" data-original-width="864" height="149" src="https://1.bp.blogspot.com/-leg6UY7OWz4/TLCuNQkZnZI/AAAAAAAALkk/FY99lh3GU0klOMSNvKxbCE34rpFYvu38gCPcBGAYYCw/s200/Oruga%2BCebek%2BV2%2B7.JPG" width="200" /></a><a href="https://1.bp.blogspot.com/-J_dFXbDG4ys/TLCt9hJ9xdI/AAAAAAAALkk/Yz0c21q4JOAz3XPKSHQ8CglrAn83dMe3QCPcBGAYYCw/s1600/Oruga%2BCebek%2BV2%2B5.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"></a>La base de este proyecto es completamente artesanal, realizado en<br />
aluminio y plástico reciclado.<br />
La estructura de aluminio son unos separadores de los que se utilizan en la obra en cocinas y baños.<br />
La base sobre la que va montada la electrónica son de una caja registradora.<br />
<a href="https://1.bp.blogspot.com/-J_dFXbDG4ys/TLCt9hJ9xdI/AAAAAAAALkk/Yz0c21q4JOAz3XPKSHQ8CglrAn83dMe3QCPcBGAYYCw/s1600/Oruga%2BCebek%2BV2%2B5.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="646" data-original-width="864" height="149" src="https://1.bp.blogspot.com/-J_dFXbDG4ys/TLCt9hJ9xdI/AAAAAAAALkk/Yz0c21q4JOAz3XPKSHQ8CglrAn83dMe3QCPcBGAYYCw/s200/Oruga%2BCebek%2BV2%2B5.JPG" width="200" /></a>Cuenta con una batería Ni-Cd de 9,6V y 900mAh, como ya he comentado y seguramente vuelva a comentar, el tema de las baterías tengo que estudiarlo más a fondo ya que es algo que a día de hoy esta muy avanzado. Es un diseño sencillo pero muy robusto, ideal para <i>cacharrear</i> con el.<br />
<br />
Tenéis mas fotos de su construcción original en la entrada que escribí en su momento: <a href="http://www.infotronikblog.com/2010/10/oruga-cebek-6083-v2.html" target="_blank">Oruga cebek C-6083 V2</a><br />
<br />
A partir de esas todo lo demás pertenece a la ultima actualización.<br />
<br />
<br />
<span style="font-size: x-large;"><b>La electrónica:</b></span><br />
<br />
<ul>
<li>Arduino NANO + servo Shield.</li>
<li><a href="http://www.infotronikblog.com/2017/09/arduino-ejemplos-el-modulo-nrf2401_23.html" target="_blank">Transmisor nRF2401</a> .</li>
<li><a href="http://www.infotronikblog.com/2010/10/driver-l293d.html" target="_blank">Driver L923</a>.</li>
<li><a href="http://www.infotronikblog.com/2017/09/arduino-medir-temperatura-y-humedad-con.html" target="_blank">Sensor de temperatura DHT11</a>.</li>
<li>2 Servos rotación continua. </li>
<li>1 Transistor BC548</li>
<li>1 Batería 9,6V </li>
<li>1 Foco LED</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAmS_jDxO3M-HTW1UhjA2EI0dh8JFKXhcvRGpJphOddi6f-jpFNvFWHQVRuZG3uE5Eq-C9SysFFXPGWTtTamuKfuOXIpLuBfrnBi5T8hBeh459jBp_5khJEWJq_fn_QWuRVPEqnzJ5isMf/s1600/Arduino%253A+Driver+L293%252C+DHT+11%252C+nRF2401.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Esquema de conexiones pata Tanque XboxRC24" border="0" data-original-height="648" data-original-width="1073" height="385" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAmS_jDxO3M-HTW1UhjA2EI0dh8JFKXhcvRGpJphOddi6f-jpFNvFWHQVRuZG3uE5Eq-C9SysFFXPGWTtTamuKfuOXIpLuBfrnBi5T8hBeh459jBp_5khJEWJq_fn_QWuRVPEqnzJ5isMf/s640/Arduino%253A+Driver+L293%252C+DHT+11%252C+nRF2401.png" title="Esquema de conexiones pata Tanque XboxRC24" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Esquema de conexiones pata Tanque XboxRC24</td></tr>
</tbody></table>
<br />
<a name='more'></a><br />
<br />
<br />
El programa en si es muy parecido al que ya hice anteriormente en la entrada: <a href="http://www.infotronikblog.com/2016/01/arduino-driver-l298n-y-bluetooth-hc-06.html" target="_blank">Arduino: Driver L298N y Bluetooth HC-06</a> y adaptado al nRF2401 y el DHT11.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/-pOIGVYeIyTA/Wgja8-ro1VI/AAAAAAAAMkE/13v5a0Qp2Eo7x6oaq27oGq99xMqHzz8vgCLcBGAs/s1600/driver_l293.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Arduino L293 tabla de funciones" border="0" data-original-height="519" data-original-width="600" height="172" src="https://3.bp.blogspot.com/-pOIGVYeIyTA/Wgja8-ro1VI/AAAAAAAAMkE/13v5a0Qp2Eo7x6oaq27oGq99xMqHzz8vgCLcBGAs/s200/driver_l293.jpg" title="Arduino L293 tabla de funciones" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arduino L293 tabla de funciones</td></tr>
</tbody></table>
El driver para los motores, en este caso. es el <b><a href="http://www.infotronikblog.com/2010/10/driver-l293d.html" target="_blank">L293</a></b>, que aunque no tenga la misma potencia que el L298N es completamente valido para este proyecto.<br />
En ebay.com o Amazon.com podéis encontrar este driver en un Shield por pocos Euros. En este caso ya lo tenia del proyecto anterior y la única diferencia es que tiene puenteado los puertos <b>EN</b>.donde conectamos la linea <b>PWM</b>. Esto nos ahorra un puerto en el Arduino NANO, pero por otra parte no podemos regular cada rueda de manera independientemente.<br />
<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://2.bp.blogspot.com/-8nZMORgvpMk/WcjpfpWk6_I/AAAAAAAAMWI/Z4dLfyoT23cO1Mf-Y_RthFiSXU5dO072wCPcBGAYYCw/s1600/DHT11.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Arduino DHT11" border="0" data-original-height="723" data-original-width="459" height="174" src="https://2.bp.blogspot.com/-8nZMORgvpMk/WcjpfpWk6_I/AAAAAAAAMWI/Z4dLfyoT23cO1Mf-Y_RthFiSXU5dO072wCPcBGAYYCw/s200/DHT11.jpg" title="Arduino DHT11" width="100" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arduino DHT11</td></tr>
</tbody></table>
<div style="text-align: center;">
<br />
<div style="text-align: left;">
Para el caso del DHT11 tenéis una entrada dedicada a este accesorio en este mismo blog llamada: <a href="http://www.infotronikblog.com/2017/09/arduino-medir-temperatura-y-humedad-con.html" target="_blank">Arduino: Medir temperatura y humedad con DHT11.</a></div>
</div>
<br />
La información recibida de este sensor se enviara por radiofrecuencia al receptor mandando la variable a través de la estructura "<i>dataSend</i>" que veremos en la siguiente entrada donde expongo más detalladamente el código.<br />
<br />
<br />
<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdvsDc7rqJcHUqUU95Q4xw3QHXH7DznnkYW7pJqgTy0ZN1W8vthOOFhwTQZASunNCkchc8MdE4XH2NexKmb1b_UehpYhQceQ9s8LOtMJKqwSp4oviPpbQlFaBJU1z543RoJWc7IyvPNfs8/s1600/Arduino_tanque_RC_01.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="1600" data-original-width="1443" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdvsDc7rqJcHUqUU95Q4xw3QHXH7DznnkYW7pJqgTy0ZN1W8vthOOFhwTQZASunNCkchc8MdE4XH2NexKmb1b_UehpYhQceQ9s8LOtMJKqwSp4oviPpbQlFaBJU1z543RoJWc7IyvPNfs8/s200/Arduino_tanque_RC_01.JPG" width="180" /></a><br />
<br />
En la parte superior del tanque tiene hueco para meter un smartfone que conectaremos la cámara vía <br />
WiFi para tener siempre el máximo control sobre nuestro vehículo.<br />
<br />
Publicaré el código y más información en la siguiente entrada, próximamente.<br />
<br />
Saludos!!!Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com3tag:blogger.com,1999:blog-2710098177670558810.post-71968060040324103712017-11-10T19:46:00.002+01:002017-12-01T11:34:01.683+01:00XboxRC24 Transmitter Un mando Radio Control con corazón Arduino (Parte 2)Buenas Ardublogeros!!!<br />
<a href="https://2.bp.blogspot.com/-HqdgYBhj9FA/WgQtFHnBFiI/AAAAAAAAMg0/JXYu5pE1NAIjsPTryatj0pc2G9GoI8eiwCLcBGAs/s1600/RCXbox_NRF2401_LCD_i2C_Logo.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="553" data-original-width="300" height="180" src="https://2.bp.blogspot.com/-HqdgYBhj9FA/WgQtFHnBFiI/AAAAAAAAMg0/JXYu5pE1NAIjsPTryatj0pc2G9GoI8eiwCLcBGAs/s200/RCXbox_NRF2401_LCD_i2C_Logo.jpg" width="88" /></a>La primera versión del software ya esta lista así que en esta entrada voy a explicar el código ya que esta vez he optado por estructurar el software por pestañas como vimos en la entrada anterior: <a href="http://www.infotronikblog.com/2017/10/ejemplos-arduino-trabajando-con.html" target="_blank">Ejemplos Arduino: Trabajando con pestañas en el Sketch</a>.<br />
Es algo que ya había visto en algún proyecto y no le había hecho mucho caso, pero en programas donde hay muchas lineas creo que es algo fundamental para poder organizar el programa. Otra de las ventajas es que podemos reutilizar el código para otros proyectos solo importando el *.ino y añadiéndolo al proyecto.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-6iMl9Po0p0g/WgXz0718hkI/AAAAAAAAMho/pmgu5lNKXLg4l5qvqXP9FSQrW6knKskjgCLcBGAs/s1600/RCXbox_Programa.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="746" data-original-width="1366" height="174" src="https://3.bp.blogspot.com/-6iMl9Po0p0g/WgXz0718hkI/AAAAAAAAMho/pmgu5lNKXLg4l5qvqXP9FSQrW6knKskjgCLcBGAs/s320/RCXbox_Programa.png" width="320" /></a></div>
<span style="font-size: large;"><br /></span>
<span style="font-size: x-large;">XboxRC24 Transmitter esta estructurado en 8 pestañas, son las siguientes:</span><br />
<br />
<ol>
<li><b>XboxRC_v0.3_Infotronikblog.ino</b></li>
<li><b>Calibracion.ino</b></li>
<li><b>Caracteres.ino</b></li>
<li><b>Comunicacion.ino</b></li>
<li><b>LCD.ino</b></li>
<li><b>Memoria.ino</b></li>
<li><b>Menu.ino</b></li>
<li><b>Modo_tanque.ino</b></li>
</ol>
<div>
<b></b><br />
<a name='more'></a><b><br /></b></div>
<div>
<b><span style="font-size: x-large;">XboxRC_v0.3_Infotronikblog.ino</span> :</b></div>
<div>
<b><br /></b></div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuyq_bBxhQ9seJzdk7OUFNEKB16OdVtquR1lncOc5Xh_lMzeHZNErFhUcRezxHumadZqMCQ6XTNXE1SiTzohqhtHG0w4rvSQ6p4wIVEbwgAUpGwAHeU3RcUZ2kUfqs5HEuGjBIfNc5ItHl/s1600/RCXbox_LCD_i2C_03.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="349" data-original-width="1260" height="55" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuyq_bBxhQ9seJzdk7OUFNEKB16OdVtquR1lncOc5Xh_lMzeHZNErFhUcRezxHumadZqMCQ6XTNXE1SiTzohqhtHG0w4rvSQ6p4wIVEbwgAUpGwAHeU3RcUZ2kUfqs5HEuGjBIfNc5ItHl/s200/RCXbox_LCD_i2C_03.jpg" width="200" /></a>En este archivo se encuentra el los #include de las librerias, las variables generales, el setup y el loop. Es el archivo principal del programa.</div>
<div>
<b><br /></b></div>
<div>
<b><span style="font-size: x-large;">Calibracion.ino:</span></b></div>
<div>
<br /></div>
<div>
<a href="https://3.bp.blogspot.com/-_ovCRSOAuk8/WgWRbYPZHeI/AAAAAAAAMhQ/LBxFgspHPq4FmQTvxHOP9YmSbT-y1bxKQCLcBGAs/s1600/RCXbox_LCD_i2C_04.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="308" data-original-width="1247" height="48" src="https://3.bp.blogspot.com/-_ovCRSOAuk8/WgWRbYPZHeI/AAAAAAAAMhQ/LBxFgspHPq4FmQTvxHOP9YmSbT-y1bxKQCLcBGAs/s200/RCXbox_LCD_i2C_04.jpg" width="200" /></a><br />
Calibración es el apartado encargado de establecer los máximos y mínimos de los joysticks y gatillos.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyP4BApWvdKQf_PyMTqLlC9fke6z4a7taUdttZ-kEqm5tshXepRyIX3Hsi6j3zAfSCYekxJxk5qkcNosrozWu9coOatmcivg_QdBSmjyEl0Mmxz2Ca13fYlqELNWQI5-Af3nzZaxfCb_ws/s1600/RCXbox_LCD_i2C_06.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="326" data-original-width="1257" height="51" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyP4BApWvdKQf_PyMTqLlC9fke6z4a7taUdttZ-kEqm5tshXepRyIX3Hsi6j3zAfSCYekxJxk5qkcNosrozWu9coOatmcivg_QdBSmjyEl0Mmxz2Ca13fYlqELNWQI5-Af3nzZaxfCb_ws/s200/RCXbox_LCD_i2C_06.jpg" width="200" /></a>Guardaremos los datos en la memoria EEPROM con la instrucción EEPROM.<span style="color: orange;">update</span>()</div>
<div>
<b><span style="font-size: x-large;"><br /></span></b></div>
<div>
<b><span style="font-size: x-large;"><br /></span></b>
<b><span style="font-size: x-large;">Caracteres.ino:</span></b></div>
<div>
<br /></div>
<div>
Como la memoria del LCD solo nos permite tener 8 caracteres personalizados y para este proyecto quería tener algunos más, he creado esta pestaña con los caracteres predefinidos que se cargaran antes de entrar a la función a la que estén asignados.</div>
<div>
Creamos los caracteres con la instrucción lcd.<span style="color: orange;">createChar</span>() de la librería <span style="color: orange;">LiquidCrystal_I2C.h</span></div>
<div>
<br /></div>
<div>
<b><span style="font-size: x-large;">Comunicacion.ino:</span></b></div>
<br />
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC63LZWT07UxByzFS2I58L-6oyYaCkgdQucD_t6WknOYNBwLTb0JfXJ9CGqFnZl6GHXCFQ355LIQfwgyuUEsDnz5aPMulNVs6TZCBTi7HhKxlt9IE3jqzkGLPJm7aKm48GrwlSTLTRvP_J/s1600/RCXbox_LCD_i2C_01.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="1247" height="57" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC63LZWT07UxByzFS2I58L-6oyYaCkgdQucD_t6WknOYNBwLTb0JfXJ9CGqFnZl6GHXCFQ355LIQfwgyuUEsDnz5aPMulNVs6TZCBTi7HhKxlt9IE3jqzkGLPJm7aKm48GrwlSTLTRvP_J/s200/RCXbox_LCD_i2C_01.jpg" width="200" /></a>Esta es la pestaña mas importante, es la encargada de enviar y recibir los datos.</div>
<div>
las instrucciones radio.<span style="color: orange;">write</span>() y radio.<span style="color: orange;">read</span>() de la librería <span style="color: orange;">RF24.h</span></div>
<br />
<div>
<a href="https://1.bp.blogspot.com/-uVt1Cj3okHE/WgWRaJgIgUI/AAAAAAAAMhI/Me0nvBn3thM32zQkVZCQDbm6K_ZMB9vtACLcBGAs/s1600/RCXbox_LCD_i2C_02.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="338" data-original-width="1251" height="53" src="https://1.bp.blogspot.com/-uVt1Cj3okHE/WgWRaJgIgUI/AAAAAAAAMhI/Me0nvBn3thM32zQkVZCQDbm6K_ZMB9vtACLcBGAs/s200/RCXbox_LCD_i2C_02.jpg" width="200" /></a>radio.<span style="color: orange;">write</span>() envía un array de 12 datos, los 6 analógicos y los 6 botones.</div>
<div>
radio.<span style="color: orange;">read</span>() recibe 5 datos que aun están por definir pero que incluirán voltaje, temperatura, etc...<br />
<b><br /></b>
<b><span style="font-size: x-large;">LCD.ino:</span></b><br />
<br />
El mando cuenta con una pantalla LCD 16x2 con un módulo de control i2C y esta pestaña como su nombre indica muestra en el LCD los datos enviados y recibidos, las posiciones de los joysticks, estado de la transmisión de los datos, etc...<br />
<b><br /></b>
<b><span style="font-size: x-large;">Memoria.ino:</span></b><br />
<br />
Memoria se encarga de cargar y borrar los datos de la memoria EEPROM. Las instrucciones que utiliza son:<br />
<br />
EEPROM.<span style="color: orange;">read</span>() un bucle <b>for</b> leerá los bancos de memoria y los cargara en el array <i>varJoyMin</i> y <i>varJoyTop</i>.<br />
EEPROM.<span style="color: orange;">write</span>() con un bucle <b>for</b> pondremos a 0 los bancos de memoria.<br />
<b><br /></b>
<b><span style="font-size: x-large;">Menu.ino:</span></b><br />
<br />
Los diferentes menús están en esta pestaña por el momento son dos:<br />
<ul><div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiHKceKRv6ZRBbw8eRMIR7Fk-eJDbB7jfGTkjX_DQPIHzPjGyag3G21rlEaexpYulRe6OmKw7YXTSNcG2uORoqBxkY8OIHhFce7EqU2BZwByZ8ReOxZNwPFAP5MTKfsa-088eGruQwIJcP/s1600/RCXbox_LCD_i2C_05.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="336" data-original-width="1231" height="54" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiHKceKRv6ZRBbw8eRMIR7Fk-eJDbB7jfGTkjX_DQPIHzPjGyag3G21rlEaexpYulRe6OmKw7YXTSNcG2uORoqBxkY8OIHhFce7EqU2BZwByZ8ReOxZNwPFAP5MTKfsa-088eGruQwIJcP/s200/RCXbox_LCD_i2C_05.jpg" width="200" /></a></div>
<a href="https://3.bp.blogspot.com/-_ovCRSOAuk8/WgWRbYPZHeI/AAAAAAAAMhQ/LBxFgspHPq4FmQTvxHOP9YmSbT-y1bxKQCLcBGAs/s1600/RCXbox_LCD_i2C_04.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="308" data-original-width="1247" height="48" src="https://3.bp.blogspot.com/-_ovCRSOAuk8/WgWRbYPZHeI/AAAAAAAAMhQ/LBxFgspHPq4FmQTvxHOP9YmSbT-y1bxKQCLcBGAs/s200/RCXbox_LCD_i2C_04.jpg" width="200" /></a>
<li><span style="color: blue;">void</span> menu() Aquí tenemos los diferentes opciones que podemos controlar. Lo seleccionaremos con "<span style="color: blue;">switch case</span>" y apuntaran a las pestañas donde estarán predefinidos los diferentes vehículos.</li>
<li><span style="color: blue;">void </span>menuCal() Con este menu nos movemos entre la configuración de las diferentes entradas analógicas y a punta a las funciones almacenadas en la pestaña "<b>Calibracion.ino</b>".</li>
</ul>
<br />
<b><span style="font-size: x-large;">Modo_tanque.ino:</span></b><br />
<br />
Esta pestaña es para conducir un vehículo con tracción de oruga. Este lo controlaremos mediante el <b>gatillo derecho para acelerar</b> y el <b>joystick izquierdo para las diferentes direcciones</b>. También tenemos configurado el<b> botón A para encender y apagar luces</b> u otro dispositivo.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggbRQKTU-Xau-3pXzTuOpD6ZvZMQsexx6ppth4eGJVcN9ooRWpe4OKy5epv6Gt7EMEX7OzTt5F627WSoQIhAOG7tlyoP6CryMo155hJ8mTvr2quTuVtOPV9OV9_Jjlpd6rucguUtl7WGjg/s1600/RCXbox_NRF2401_LCD_i2C_11.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="XboxRC24 botones predefinidos para el modo tanque" border="0" data-original-height="768" data-original-width="810" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggbRQKTU-Xau-3pXzTuOpD6ZvZMQsexx6ppth4eGJVcN9ooRWpe4OKy5epv6Gt7EMEX7OzTt5F627WSoQIhAOG7tlyoP6CryMo155hJ8mTvr2quTuVtOPV9OV9_Jjlpd6rucguUtl7WGjg/s320/RCXbox_NRF2401_LCD_i2C_11.jpg" title="XboxRC24 botones predefinidos para el modo tanque" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">XboxRC24 botones predefinidos para el modo tanque</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Esta versión esta aún en desarrollo así que puede que tenga algunos bugs, pero a la misma vez que iré añadiendo vehículos, también iré puliendo el código ;) </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: x-large;"><a href="http://www.infotronikblog.com/public/descargas/downloads/files/Arduino/nRF2401/XboxRC24/XboxRC_v0.3_Infotronikblog.rar" target="_blank">Descargar XboxRC24 v0.3</a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://descargas.infotronikblog.com/files/Arduino/nRF2401/XboxRC24/XboxRC_v0.5_InfotronikBlog.rar" style="font-size: xx-large;" target="_blank">Descargar XboxRC24 v0.5</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">
<b>**V.05**</b></div>
<div class="separator" style="clear: both;">
Añadido el modo coche</div>
<div class="separator" style="clear: both;">
Añadido Debug.ino para la visualización en el monitor serial</div>
<div class="separator" style="clear: both;">
--Datos enviados/recibidos.</div>
<div class="separator" style="clear: both;">
--Estado de la memoria: valores mínimos y máximos.</div>
<div class="separator" style="clear: both;">
Mejora en la función Calibración</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Espero que os guste y que os sea de utilidad tanto el programa en si como la parte de código que podáis utilizar para vuestros proyectos, Saludos!!!</div>
</div>
Peyutronhttp://www.blogger.com/profile/08899062291064519801noreply@blogger.com0