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

Paso 10: Modificando el código de arduino para su equipo – el viejo código

Hay dos versiones del código (en el paso 8). La versión antigua es probada y comprobada, pero no es muy fácil de entender y modificar. La nueva versión es mucho más fácil de entender y modificar pero no he tenido oportunidad de probarlo todavía. Voy a actualizar en cuanto me sale la oportunidad de probar adecuadamente pero hasta entonces voy a dejar instrucciones acerca de la modificación de ambos conjuntos de código.

Este paso se ocupará con el viejo código:

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 que tendrá que abordarse primero.

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 frase si 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 te refieres. 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 todo cambia tiene dos mensajes que pueden ser enviados (siguiendo con el ejemplo de P04 puede ser P04H o P04L dependiendo del estado que se ha cambiado la palanca) tiene que haber alguna lógica para procesar los dos por separado. Como empiezan con P04 tiene sentido tener una segunda instrucción ubicado si .

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 que puede deshacerse de la declaración ubicado si no habrá 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.

setOnOff (3, 1, true);

Esto llama a un método llamado "setOnOff". El código para esto se puede ver en la parte inferior del boceto. Se encarga de encender los dispositivos y apagado 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)

Así que, si quería el enchufe que se configuración como grupo 3, canal 4 para activar que escribiría:

setOnOff (3, 4, true)

Si quería apagar el enchufe mismo escribiría:

setOnOff (3, 4, false);

Para modificar el simple encendido de dispositivos individuales, necesitará rellenar los mensajes correctos a leer (por ejemplo el P04 en el ejemplo anterior) y rellene el interruptor correcto ser afectado y si desea encender o apagar (por ejemplo, el switchOnOff (3, 4, verdadero) en el ejemplo anterior).

Al final de cada turno de encendido/apagado de cada aparato individual hay otra línea de código:

multiOff = 1

Esta línea significa que, cuando se presiona el botón, se detendrá cualquier tiempo de ejecución que implica retrasado en / offs. Su propósito es dejar nada al azar se convirtió o apagado cuando haya terminado la actividad antes de lo que el plazo estaba esperando tiempo. Si no desea que un determinado botón Cancelar tiempos actuales entonces comentar o borrar este bit del código.

La siguiente etapa se ocupa de 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). Para estos usted sencillamente han más de un "switchOnOff" del término (ver ejemplos de esto ya en el código).

La sección siguiente, 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 sin firmar largo que va a almacenar el tiempo actual.

Cuando se pulsa un botón de tiempo de ejecució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. Se debe especificar el tiempo de ejecución antes de la sección en que estado lo que ocurre cuando se pulsa cada botón. Comience con una instrucción if 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. Establecer si las declaraciones que implican consultas de tiempo puede establecer 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 dos 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 plus 120 segundos.

Al final de una instrucción de 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 que no más de un tiempo de ejecución puede estar activo 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 el resultado es mayor que 1, tiempo de ejecución más de una 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 (el uno que empezó pasado) se mantiene activado. Usted tendrá que añadir cualquier tiempos de funcionamiento adicionales a esta sección pero mirando el código que existe ya debe ser bastante autoexplicativo.

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