Inicio de automatización (o Robot mayordomo llamado Geoffrey) - controlado por iPhone, basado en arduino (11 / 12 paso)

Paso 11: Modifica el código de arduino para su equipo – nuevo código de

Este paso ocupará de nuevo, aún no comprobado, código:

En la parte inferior del código encontrará métodos individuales para cada interruptor o luz (por ejemplo cocina, mesita de noche, etc.). Cuando se agrega un elemento nuevo o si desea cambiar las que ya existen que esta es la sección que usted tendrá que editar primero. La estructura de un individuo método de encendido es:

void switchName (boolean en, multioff boolean) {}

Los dos valores booleanos son si el interruptor debe ser activada (true) o apagado (falso) y la segunda es si debe apagar cualquier tiempo tiempos de funcionamiento (para asegurarse de que las cosas al azar no activar o desactivar si terminas que requieren un tiempo de ejecución antes de que espera que esté terminado).

El si la instrucción en el método determina si el interruptor del encendido o apagado mediante una línea de código que es similar a esto:

setOnOff (x, x, a);

Esto llama a un método llamado "setOnOff". El código para esto se puede ver hacia el fondo del boceto. Este se encarga del rodaje y de los dispositivos y para la retroalimentación a través del puerto serial. La disposición del código es:

setOnOff (grupo de int, enchufe int, boolean en)

El valor booleano "en" método de cada dispositivo ya dice si quieres activar o desactivar, por lo que sólo necesitará cambiar el grupo y conecte los valores para cada dispositivo. Por ejemplo si quería encender el enchufe 4 en el grupo 3, entonces debería escribir:

setOnOff (3, 4, a);

Desplazamiento hacia abajo aproximadamente mitad de camino, hay una sección de encabezado
"/ / En la siguiente sección es para dar vuelta encendido y apagado de dispositivos individuales / /"

Esta es la sección siguiente que tendrá que abordarse.

A continuación 12 líneas de código de aspecto muy similar para las diferentes aparatos y luces.

La primera línea de cada uno sigue la misma estructura:
else if (packBuff [0] = 'P' & & packBuff [1] == 'x' & & packBuff [2] == 'x')

Esta es la sección en la que especifique que selector de teléfono son arbitraje a. Por ejemplo, si desea especificar qué se debe hacer al pulsar un botón que está configurado para enviar el mensaje P04 cambiaría el código anterior para:

else if (packBuff [0] = 'P' & & packBuff [1] == '0' & & packBuff [2] == '4')

Porque cambia todas tiene dos mensajes que pueden ser enviados (siguiendo con el ejemplo de P04 puede ser P04H o P04L dependiendo del estado la palanca ha sido cambiado a) tiene que haber alguna lógica para procesar los dos por separado. Como empiezan con P04 poco tiene sentido tener un segundo ubicado si declaración.

Si (packBuff [3] == 'H') {}

Esto dice el código, qué hacer si se enciende. Las líneas de declaración dos menores:

Else {}

Dice el código qué hacer si la última letra no es H (es decir, L) que significa que puede especificar lo que usted quiere hacer cuando está apagada.

Si usted está usando un botón en lugar de un palanca puede conseguir eliminar el ubicado si función ya que no será un adicional H o L en el mensaje.

La línea de código justo debajo del if "(packBuff [3] == 'H') {" es la acción a tomar cuando está encendido. Por ejemplo si desea que la lámpara de escritorio para activar llamar al método de "escritorio" y Dile que quieres que sea en y que quieres que Apague cualquier tiempos de ejecución que actualmente:

escritorio (true, true);

En la sentencia "else" desea activar el interruptor mismo y otra vez para cancelar cualquier tiempos de funcionamiento que están actualmente en acción:

escritorio (false, true);

Si desea que este botón particular no Apague cualquier tiempos de funcionamiento entonces la segunda variable debe establecerse en false (es decir (true, false); y escritorio (false, false);)

La siguiente etapa es botones que, cuando se presiona, afectará a más de un zócalo del enchufe (por ejemplo, encender o apagar la TV, Xbox y sistema de sonido o las luces de encendido/apagado de entretenimiento). Estos simplemente tienes más de uno que se llama al método dispositivo individual (ver ejemplos de esto ya en el código).

La sección un poco más involucrada es la sección de "run-time". Configuración de automatizaciones de sincronización requiere algunos cambios más.

La primera cosa a hacer es declarar dos variables antes de void(setup). Uno int que actuará como un valor booleano y uno sin firmar largo que va a almacenar el tiempo actual.

Cuando se presiona el botón que desea para activar o desactivar la que quieras hacer algo al principio. Será necesario establecer el signo a la hora actual (en segundos desde el 01 de enero de 1970) y, a continuación, el int a 1 (e.g. teethStart = now.unixtime(); y teethActive = 1;).

Cuando el int == 1 comenzará el tiempo de ejecución. Antes de la sección donde se especifica lo que sucede cuando se pulsa cada botón el tiempo de ejecución debe especificarse. Comienzo con un if instrucción que comprueba si la int == 1. Si es así, entonces iniciar el tiempo de ejecución (por ejemplo, si (teethActive == 1) {}).

La siguiente sección será la primera con los elementos de sincronización. Estableciendo si declaraciones implica tiempo consultas te pueden fijar cosas para encender y apagar en un número dado de segundos después de que inicialmente se presionó el botón.

Por ejemplo, si quieres algo para encender/apagar después de tres minutos luego la sintaxis es:

Si (teethStart + 120 == {} now.unixtime())

Básicamente esto es comprobar si el momento actual es el mismo que el tiempo que se presionó el botón Agregar 120 segundos.

Al final de la declaración en un tiempo de ejecución el int de activación debe establecerse en 0 para que el tiempo de ejecución ya no se comprueba a través de (lo que todo el sistema más eficiente).

La variable int activo (por ejemplo, teethActive) debe añadirse a la declaración de multiOff.

Hay otra sección, que se cerciora de, no más de un tiempo de ejecución puede ejecutarse en cualquier momento. Se mantiene el último de ellos que se convirtió funcionamiento.

En esta sección se suman todos los ints de activación y si la respuesta es mayor que 1 entonces más de uno está activo al mismo tiempo. Si este es el caso entonces se comparan los tiempos en que se iniciaron los tiempos de ejecución y el tiempo de ejecución con el mayor número se mantiene activo. Usted tendrá que añadir cualquier tiempos adicionales a esta sección pero mirando el código que existe ya se debe venir bastante auto explicativo.

Artículos Relacionados

Cómo hacer un Robot de 2 ruedas, controlado por infrarrojos, compatible con Arduino

Cómo hacer un Robot de 2 ruedas, controlado por infrarrojos, compatible con Arduino

Es este instructable sobre cómo usted puede hacer su propio robot para que:-Es controlado por un control remoto IR-Son capaces de acceder y modificar el código para el contenido de su corazón-Usted puede cambiar el robot chassy a cualquier tamaño o f
Robot aspiradora de piso - controlado por Arduino con el escudo del motor

Robot aspiradora de piso - controlado por Arduino con el escudo del motor

robot aspiradora de piso. Versión #16.Este positivo acumulado versión de experiencia de las versiones anteriores.Materiales y componentes:1. Arduino board;2. protector de Motor Arduino;3. dos motores con cajas de cambios (3 voltios, ~ 100 RPM);4. dos
Hacer un Robot controlado por voz

Hacer un Robot controlado por voz

(solicitado en el concurso, 18 años edad categoría)Este tutorial mostrará cómo construir un robot simple voz controlada que es bastante fácil para los principiantes a hacer en unas pocas horas. Muestro cómo se puede hacer en dos idiomas, Inglés y tai
Basados en Arduino robot radar IR

Basados en Arduino robot radar IR

el prototipo de robot en este Instructable es mi segunda basados en Arduino "slumbot" que es un robot autónomo. Se adjunta junto con restos y artículos para el hogar. El robot "ve" con un IR análisis detector girada por un servo. Ve iz
Construir tu propio Robot mayordomo!!!!!!  -Tutorial, fotos y Video

Construir tu propio Robot mayordomo!!!!!! -Tutorial, fotos y Video

EDIT: más información sobre mis proyectos revisa mi nTambién hago consultoría de robótica, Mecatrónica y proyectos/productos de efectos especiales. Revisa mi página web - narobo.com para más detalles.¿Alguna vez has querido un robot mayordomo que te
Hércules: El movimiento controlado por Android Robot

Hércules: El movimiento controlado por Android Robot

cuando estaba en el 8º grado, estaba intrigado mientras se reproduce el movimiento de lo juegos en Nokia 5800. Me emocionó, cómo puedo controlar el coche de carreras sólo inclinando el teléfono. Solía soñar que este mismo coche en el mundo real.Ahora
Con Bluetooth Robot controlado por Arduino mediante aplicación Android

Con Bluetooth Robot controlado por Arduino mediante aplicación Android

Después de intentar robot seguimiento remoto por mando a distancia IR. He proceder para controlar la misma plataforma del robot por BluetoothControlador Arduino a través de la aplicación para Android. Este método es más confiable, más distancia, mejo
Robot de telepresencia controlado por Internet

Robot de telepresencia controlado por Internet

En este tutorial le mostrará cómo construir un Robot de telepresencia controlado por Internet con un brazo robótico para menos de $100.Paso 1: Materiales básicos Para este tutorial, hay algunas imprescindibles:1. una placa Arduino (estoy usando la Ar
PC controlado por Bluetooth Robot (con una interfaz gráfica de usuario!)

PC controlado por Bluetooth Robot (con una interfaz gráfica de usuario!)

En este Instructable le mostrará cómo construir un robot que se controla vía Bluetooth con un teclado, tiene una interfaz gráfica de usuario construida con el proceso que muestra la entrada del teclado y realmente convierte la opción todo en una gran
Robot de manual controlado por cable

Robot de manual controlado por cable

¡ Hola chicos! En este tutorial os presentamos el robot controlado por cable muy básico (a menudo llamado robot manual). Espero que todos y cada uno de nosotros habría jugado con coches de juguete en nuestra infancia. vamos a construir uno de ellos e
ROBOT controlado por humanos dedos

ROBOT controlado por humanos dedos

Esta innovación viene de los movimientos de mano que pueden controlar un robot. En este proyecto utilizo flex sensor y estoy tomando el sensor flex leyendo y poniendo esta lectura a la intel edison. como un valor analógico y manipular estos valores y
Robot controlado por teléfono móvil

Robot controlado por teléfono móvil

HolaHoy voy a hacer un robot que puede ser controlado a través de señales de móvil. Este robot puede controlarse por mundo por simplemente hacer llamadas entre 2 móviles.deja comienzo...Paso 1: Lo que se necesitaUn chasis o un robot.Un regulador de 5
Robot controlado por Bluetooth usando Arduino

Robot controlado por Bluetooth usando Arduino

Bluetooth coche controlada mediante el uso de Arduino uno de teléfono móvil con AndroidPaso 1: Aparato requerido:1 X Arduino Atmega3281 módulo X Bluetooth (HC-06)1 compatible con chasis de X 4 X (o) 2 x ruedas al chasisSoporta 4 x motores (o) x 2 mot
Frambuesa de Pi de Robot controlado por Bluetooth

Frambuesa de Pi de Robot controlado por Bluetooth

este tutorial se basa en un Instructable anterior -Robustezas del edificio con Raspberry Pi y PythonEl objetivo es presentar un ejemplo de cómo configurar una conexión Bluetooth en serie con Arduino para controlar un robot de Raspberry Pi. Pero permi