Arduino ¿Usar delays o evitarlos?

Últimamente he visto mucha confusión sobre lo que hace realmente la función delay(ms)[1] de arduino, y he recibido muchas preguntas sobre si debe usarse o no en ciertas ocasiones. En este tema intentaré despejar todas estas dudas.

¿Debo usar la función delay en mi código?

La respuesta a esta pregunta es: depende. Esta función esta definida en la librería estándar de arduino y lo que hace es bloquear el bucle principal de ejecución del programa. A mayores esta función devuelve el control al planificador de tareas, pero si no estar usando el planificador o no sabes lo que es puedes obviar esta parte.

Para verlo más claro vamos a analizar la definición de la función que se encuentra Sigue leyendo

Tutorial para crear tu propio robot siguelíneas

Materiales

1 Arduino (en el ejemplo se usa Arduino UNO)
2 servos de rotación continua (ver instrucciones)
1 TetraBrik
2 tapones de botella
2 LEDs (preferentemente rojos de alta luminosidad)
2 resistencias  100ohm para los LEDs
2 fotoresistencias (LDR)
2 resistencias 3.3k para las LDR
4 pilas AA
Un portapilas
Cables para conectarlo todo
Pegamento líquido o cola

Instrucciones

Como sabéis los servos por regla general tienen un ángulo de giro de 180º, pero para este ejemplo necesitamos que gire de forma continua; para ello podemos comprar un servo de rotación continua o bien trucar uno normal.

En nuestro caso hemos elegido la opción de trucar 2 servos que ya teníamos en casa. Para ello lo único que hay que hacer es sustituir el potenciómetro que traen por 2 resistencias del mismo valor como vemos en la imagen.

Servo hackeadoDetalle resistencias de sevo hackeado

Sigue leyendo

Tutorial Git gestión de versiones (Introducción)

Un programa de gestión de versiones permite organizar y documentar los cambios realizados en un proyecto (habitualmente código de programación). Además también nos permite deshacer cambios, exportarlos e importarlos en otros proyectos.

Es una herramienta fundamental en todo proyecto de software, sobre todo si este esta siendo desarrollado por varios programadores simultáneamente ya que esta herramienta nos permite saber en todo momento, muy fácilmente, que ha modificado otro desarrollador así como resolver conflictos entre los cambios que realiza cada uno. Después profundizaremos más sobre esto. Sigue leyendo

Restaurar y restear paneles de Gnome 2 (Ubuntu)

Esta es una guía para restaurar los paneles del escritorio de gnome 2 (la versión 3 ya no presenta estos problemas) en caso de que por algún error hayan desaparecido.

Por desgracia el sistema de paneles o barras de estado y aplicaciones de Gnome siempre ha dado bastantes problemas, si estas leyendo este articulo es posible que modificando dichos paneles te hayas hecho un lío y hayan acabado por desaparecer o quedar inservibles, con esta guía podrás restaurar la configuración de los paneles a sus estado original. Sigue leyendo

Lenguaje batch tutorial y comandos básicos .bat

Este es un tutorial sencillo para principiantes en el que se intenta explicar de la forma mas simple los principales comandos.
El lenguaje batch no es muy difícil pero para personas que se estén iniciando puede resultar un poco complicado así que intentare explicarlo de la forma mas sencilla posible.

¿Qué es batch?
Un archivo batch es un archivo de texto sin formato guardado con la extensión bat y que contiene un conjunto de ordenes llamadas comandos de DOS.
en resumen un archivo batch es un archivo de texto en el que se a escrito un conjunto de códigos que van a ser ejecutados de forma lineal (ya lo irán entendiendo con ejemplos mas adelante) y ese archivo de texto debe ser guardado con la extensión .bat, es decir un nombre cualquiera.bat ej: nombredelarchivo.bat

Es muy útil para automatizar tareas, por ejemplo un programa que nos abra todas las herramientas que necesitamos para trabajar en un determinado proyecto, de esta forma cada vez que queramos trabajar solo tendremos que pulsar un botón y no hará falta abrir una a una todas las aplicaciones necesarias, pero su utilidad no se queda en esto, todo hacker debe conocerlo, especialmente su equivalente en linux: los scripts de bash.

Sigue leyendo