Archivo del sitio

Escudo de Ethernet W5100 – I

Vamos a conectar un arduino duemilanove con un escudo Ethernet W5100 y realizaremos un servidor Web.

Cuando conectamos un Arduino Ethernet Shield en un Router, éste le asigna una dirección IP dentro de tu propia Red que se encuentre libre, es decir, una identificación que le permite diferenciar a tu Arduino del resto de ordenadores y demás elementos que tengas conectados a la red local de tu casa. Si no conocemos esa IP, el sistema dejará de funcionar. Para solucionar esto, lo que realizamos es asignarle mediante programación un IP conocida que se encuentre libre en nuestra Red Local con los siguientes pasos:

  1. Pulsa el botón de inicio.
  2. En la barra de búsquedas, escribe “cmd” y ejecuta el programa encontrado.
  3. Te habrá salido otra ventana de fondo negro.
  4. Escribe en ella “ipconfig”.
  5. Vamos a mirar si la dirección IP 192.168.1.177 se encuentra libre
  6. Escribe ping 192.168.1.177

ip_sin_ocupada

IP Libre

ip_ocupada

IP Ocupada

Todas los dispositivos que conectas a tu red poseen un número identificativo “MAC”, de cara a la red, es como su DNI. Al igual que la IP, no debe haber otro dispositivo con el mismo MAC. El MAC de tu Arduino puede ser fijado por ti, por defecto puede ser: byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }, salvo que tengas especial interés por utilizar otra.

Vamos a crear un página Web con seis enlaces, tres enlaces encenderán un LED, o otros tres lo apagarán de la siguiente forma:

  1. Cargamos las librerías y realizamos la asignaciones de la dirección IP, MAC y puerto del servidor.codigo_libreria_ip_mac
  2. Establecemos los pines de Salida para los LED
  3. Inicializamos la conexión Ethernet
  4. Creamos una conexión Cliente
  5. Creamos la página Web
  6. Y por último evaluamos si ha sido pulsado algún enlace

Esquema de los LED

semaforo_ethernet

Circuito teórico

semaforo_ethernert_bb

 

Circuito Práctico.

vista_general_02

Programa Arduino

codigo_ethernet

Página Web

pagina_web_led

Códigos Fuente  Arduino

ConexionEthernet.ino

Vídeo resumen:

 

Anuncios

ArduRover VI Sigue Luz

Sigue Luz

Esta parte del proyecto es una continuación del proyecto anterior (ArduRover III Luz), se trata de seguir incorporando funcionalidades al Rover, en este caso he incorporado un programa que sigue una luz.

El árbol de decisión es muy simple y se basa en el diagrama de flujo que más abajo reflejo. En resumen se trata de avanzar mientras los dos sensores luminosos(LDR) tienen una iluminación parecida, si uno de ellos percibe un incremento de luminosidad preestablecido como parámetro, gira hacia este lado y prosigue avanzando.

Diagrama de Flujo 

Diagrama_de_Flujo_Sigue_Luz

 

He realizado una modificación con el programa anterior, diseñando una nueva pantalla que reunirá todos los programas o funciones que se irán incorporando al proyecto, de tal manera que en la primera pantalla se podrá realizar el control manual del Rover y en la pantalla de “Programas” se podrá invocar los programas desarrollados.

 SCREEN

Screen_ArduRover_1.5

Código de la Función Sigue Luz de Arduino

Programa_Sigue_Luz

Bloque del Evento Sigue Luz

Modulo_Sigue_Luz

Esquema Teórico Parcial:

Circuito_Sensores

Esquema Práctico:

Placa_1_ArduRover_4_bb

Código Parcial del Programa Arduino:

Codigo_Sigue_Luz

Fotos:

2

Vista de Perfil

Frente

Detalle de la LDR

Código fuente

ArduRover_Sigue_Luz.ino

APP de Proyecto:

APP ArduRover_VI.apk

Ficha del Proyecto:

ArduRover_VI_Ficha_33

Vídeo resumen:

 

 

 

ArduRover III (Luz)

Encender una Luz y Realizar Medidas de Luminosidad.

La implementación de esta parte del proyecto es una continuación del proyecto anterior (ArduRover II Bluetooth).

Se trata de seguir incorporando funcionalidades al Rover, en este caso he incorporado una luz delantera y la medición de la luz ambiente con dos LDR incorporadas en la delantera del Rover.

He modificado el Screen de programa y he implementado dos bloques más.

SCREEN

Screen_1.2

Bloque del Evento Clock

Bloque_Clock

El bloque se ejecuta coda segundo y realiza lo siguiente:

Comprueba si está conectado y si es así

Envía una “M” por Bluetooth.

Recoge los datos suministrado por el Arduino (He tenido que realizarlo dos veces, por que con una solo captaba parte de los datos enviados. Seguiré investigando)

Si no está conectado, no realiza nada

Bloque del Evento Pulsar el Botón Luces

Boton_Luces

Creo una variable global que dice como se encuentra la luz.

El Bloque se ejecuta cada vez que pulsamos el botón de la Luz, y realiza lo siguiente:

Comprueba si está conectado y si es así

Comprueba si la variable global es “true” y si es así

Envía  “LOOF” por Bluetooth.

Establece la variable global a “false”

Pone la etiqueta del botón de luz en “OOF”

Si la variable global es “false”

Envía  “LON” por Bluetooth.

Establece la variable global a “true”

Pone la etiqueta del botón de luz en “ON”

Si no está conectado, informa de que no puede realizar la operación dada por encontrase desconectado.

Esquema Teórico Parcial:

Esquema_Practico_LDR

 

Esquema Práctico:

Placa_1_ArduRover_3_bb

Código del Programa:

Codigo_ArduRover_1.2

Fotos:

Vista_Lateral

Vista de perfil

Superior

Vista Superior

Tablet

Funcionamiento en una Tablet

Detalle_de_Conexion

Detalle de las conexiones

Código fuente:

ArduRover_Traccion_Bluetooth_Luz.ino

APP de Proyecto:

ArduRover_IV.apk

Ficha del Proyecto:

ArduRover_III_Ficha_30

Vídeo resumen:

LED RGB

Un poco de teoría

El color es un atributo que percibimos de los objetos cuando hay luz. La luz es constituida por ondas electromagnéticas que se propagan a unos 300.000 Km/s, las ondas forman distintos tipos de luz, como infrarroja, visible, ultravioleta o blanca. Las ondas visibles son aquellas cuya longitud de onda está comprendida entre los 380 y 770 nanómetros.

Espectro_del_Color

Los objetos devuelven la luz que no absorben hacia su entorno. Nuestro campo visual interpreta estas radiaciones electromagnéticas que el entorno emite o refleja, esto significa que lo que vemos es la incidencia de la energía en nuestra retina y no a la materia en sí.

Lo que denominamos color no es algo físico sino que es una sensación que se produce en nuestro cerebro, por acción de la luz sobre los cuerpos. Por ello, nuestra percepción del color cambia cuando la luz se modifica, o cuando el rayo luminoso se refleja sobre superficies distintas.

Las tres variables principales del color usadas por los físicos para describirlo son las siguientes:

1) Tono (matiz o tinte)

2) Saturación (dureza o croma)

3) Luminancia (brillo)

Para obtener la gama completa teórica de colores se deben mezclar tres colores primarios, esta mezclar de colores se puede realizar de dos maneras, con luces o con pinturas.

La mezcla con luces, se llama mezcla aditiva. Cuantos más colores se añadan, más claro será el resultado. Todos los colores juntos forman luz blanca. Los colores primarios de este tipo de mezcla son:

* Luz Verde

* Luz Roja

* Luz Azul

Mezcla_aditiva

La mezclar con pinturas, se llama mezcla sustractiva. El color mezclado es siempre más oscuro que el más claro de los colores que se han mezclado. Los colores primarios de este tipo de mezcla son:

* Pintura Magenta

* Pintura Amarilla

* Pintura Azul

Mezcla_sustractiva

Basta de teoría, lo que vamos a realizar es un ejemplo básico de funcionamiento de un Led RGB.

Un Led RGB no es más que en un mismo encapsulado tres Led de los colores rojo, azul y verde. En mi caso el Led que he utilizado es de cátodo común, o lo que es lo mismo tres diodos con el cátodo unido.

Led_RGB_Patillas

Como podéis ver cuando alimento solo uno de los Led, cada uno ocupa un espacio físico distinto.

He introducido el Led en una pelota de Pin-Pon para que el efecto del color se pueda apreciar mejor

Tricolor

Los alimento con una señal PWM, y dependiendo del valor tenemos una luminosidad distinta.

Esquema Eléctrico:

LED_RGB_Esquema

Esquema Práctico:

Led_RGB_bb

Código del Programa:

Led_RGB_Codigo

Fotos:

Vista_1

Vista General

Led_Rojo

Led Rojo

Led_Verde

Led Verde

Led_Azul

Led Azul

Código fuente:

Led_RGB_Color.ino

Ficha del Proyecto:

Led_RGB_Ficha_24

Vídeo resumen:

 

Sigue Luz

 Vehículo que avanza hacia donde haya más luz

Este proyecto corresponde a la construcción de un vehículo autónomo  seguidor de luz. Su tarea es encontrar un punto de luz dentro de un ángulo de detección de las Foto-resistencias y girar hacia tal fuente de luz.

El funcionamiento del este robot es muy sencillo, para que el robot pueda detectar la luz utilizamos unos sensores LDR (Resistencia dependiente de la luz), que varía su valor de la resistencia dependiendo de la cantidad de luz que incide sobre él. Realizamos un divisor de tensión con el LDR y comparamos en cual de los dos sensores incide más luz, establecemos un umbral de comparación y si se sobrepasa giramos en e sentido que haya más luz, si no se supera el umbral diferencial entre los dos sensores avanzamos.

Continuamente estamos tomando medidas de los sensores, comparándolos y tomando decisiones de sentido de giro o avance.

Esquema Eléctrico:

Coche_Sigue_LuzEsquema Práctico

Sigue_Luz_bbCódigo del Programa:

codigo_Sigue_luz

Código fuente:

Coche_Seguidor_de_Luz.ino

Fotos

vista1

LDR vista0 vista2

 

Ficha del Proyecto:

Coche_Sigue_Luz_Ficha_12

Vídeo resumen: