Registro de control/proyecto de riego lógica (6 / 12 paso)

Paso 6: Fase de programación

Ahora que tenía una lista de verificación para lanzarte desde que rápidamente voy a escribir un guión en mi Arduino IDE (entorno de desarrollo integrado) de trabajo. No voy a aburrir con todo lo que pasa en mi script, hay también innumerables videos en YouTube ahi muestran cómo escribir un guión, pero voy a explicar lo que sucede en la secuencia de comandos.

Yo uso mi Arduino Uno para mi Chip de Atmel 328 del programa.

Mis entradas y salidas

Salida = const int pivotoneerror = 7; Se trata de un LED rojo para indicar un error de pivote

Salida = const int pivottwoerror = 8; Se trata de un LED rojo para indicar error dos pivote

Salida = const int runled = 9; Se trata de un LED ámbar para indicar que sistema está en un estado de funcionamiento

Salida = const int startbutton = 10; Este es el botón de Start para iniciar el sistema

Entrada = const int engineRly = 11; Ésta es la salida para relé, conectado al conmutador de murphy

Salida = const int testlight = 13; Esta es una prueba de comunicación claro, cuando el botón de prueba es a radio control remoto esta luz pulsado será lite

Las bibliotecas que utiliza

#include //Xbee biblioteca. Fuente: http://code.google.com/p/xbee-arduino/

En el script de configuración de inicio Xbee serie puerto con:

XBee.Begin(9600);

Ahora, para el bucle principal de mi programa de Arduino, se ve algo como esto...

void loop() {}

leer el estado del botón de inicio en una variable local:

StartButtonRead = digitalRead(startbutton);

StartButtonState = StartButtonRead;

Si se presiona el botón de inicio y el estado del botón no es lo mismo como lo era anteriormente, cambiar el estado de inicio

Si (StartButtonState == alto & & StartButtonState! = StartButtonLastState) {}

START =! INICIO;

}

Asegúrese de que la próxima vez a través del lazo StartButtonLastState es igual al estado del botón de inicio

StartButtonLastState = StartButtonRead;

Si de inicio está establecido en alto, energizar el relé del motor y funcionamiento LED

Si (Inicio == true) {}

digitalWrite (engineRly, HIGH);

digitalWrite (runled, HIGH);

}

Si START se establece en baja, desenergizar el relé del motor y funcionamiento LED

Si (Inicio == false) {}

digitalWrite (engineRly, bajo);

digitalWrite (runled, LOW);

}

intento leer un paquete de Xbee

xbee.readPacket();

Si (xbee.getResponse().isAvailable()) {}

tienes algo

Si (xbee.getResponse().getApiId() == ZB_IO_SAMPLE_RESPONSE) {}

xbee.getResponse().getZBRxIoSampleResponse(ioSample);

Verifique si está protegiendo de xbee comparando ioSample Xbee dirección con dirección de Xbee en programación

Si (ioSample.getRemoteAddress64().getLsb() == pivotoneaddressLSB) {}

pivotonecheckin = millis(); marcas del pivote un xbee como en

}

else if (ioSample.getRemoteAddress64().getLsb() == pivottwoaddressLSB) {}

pivottwocheckin = millis(); marcas del pivote dos xbee como en

}

ver si el pin que queremos es baja

Si (! {ioSample.isDigitalOn(1))}

hay un error apaga motor

START = false;

permite comprobar qué radio es a partir de y enviar a la pantalla.

Si (ioSample.getRemoteAddress64().getLsb() == pivotoneaddressLSB) {}

digitalWrite (pivotoneerror, HIGH); enciende LED 1 error

}

else if (ioSample.getRemoteAddress64().getLsb() == pivottwoaddressLSB) {}

digitalWrite (pivottwoerror, HIGH); LED2 se encienda por error

}

}

Si (! {ioSample.isDigitalOn(2))}

ciclo completo, apague el motor

START = false;

}

{if(!ioSample.isDigitalOn(3))}

forma de nodo de prueba encendiendo un LED

digitalWrite (testlight, HIGH);

}

Else {}

digitalWrite(testlight,LOW);

}

}

}

comprueba si xbees ha facturado, en el último 1 minuto si no lo han hecho; cerrado (xbees son

programado para registrar cada 20 seg.) Si no ha comprobado los Xbee de apaga sistema y encienda

appropreat LED para mostrar el error

Si (millis() - pivotonecheckin > = 60000) {}

START = false;

digitalWrite (pivotoneerror, HIGH); enciende LED 1 error

}

Si (millis() - pivottwocheckin > = 60000) {}

START = false;

digitalWrite (pivottwoerror, HIGH); LED2 se encienda por error

}

} / / fin del bucle

Artículos Relacionados

Bluetooth control LED con entrada analógica de LDR para TfCD

Bluetooth control LED con entrada analógica de LDR para TfCD

Pablo Bosch - 4154746Duygu Guroglu - 4519191Este proyecto es una variante de la prueba de RFduino y Android App muestra de Iann (Iann RFDuino prueba App)Reescribió el existente programa de prueba para la RFduino y la aplicación de prueba para Android
Arduino Joystick escudo Nrf24l01 Wireless 2 Dc Motor Control - proyecto de coche RC parte 1

Arduino Joystick escudo Nrf24l01 Wireless 2 Dc Motor Control - proyecto de coche RC parte 1

Control de motor dc Arduino Joystick escudo Nrf24l01 Wireless 2--RC coche proyecto parte 1Videos de YouTubeDocumentosParte 2 muy pronto
El registro del cambio del 74HC164 y su Arduino

El registro del cambio del 74HC164 y su Arduino

registros de desplazamiento son una parte muy importante de la lógica digital, actúan como pegamento entre los mundos paralelos y en serie. Reducir cuentas de alambre, perno uso e incluso ayudar a tomar la carga de tu cpu por ser capaces de almacenar
ATTiny USI I2C introducción - una interfaz de comunicación de gran alcance, rápido y conveniente para sus proyectos ATTiny!

ATTiny USI I2C introducción - una interfaz de comunicación de gran alcance, rápido y conveniente para sus proyectos ATTiny!

I2C, es un estándar que ha sido de alrededor de alrededor de 20 años y ha encontrado aplicaciones en casi todos los rincones del universo de la electrónica.  Es una tecnología muy útil para nosotros aficionados del microcontrolador, pero puede parece
Control de humedad CoPiino - unirse a arduino y frambuesa pi

Control de humedad CoPiino - unirse a arduino y frambuesa pi

Recientemente me encontré con un amigo mío. Hablamos de nuestros proyectos recientes donde finalmente me dijo acerca de su sótano que tiene humedad muy alta y no está ese lugar bueno donde quieres ejecutar proyectos.Esto nos hizo pensar en una nueva
Control de retroalimentación de la carga de un actuador

Control de retroalimentación de la carga de un actuador

En este Instructable, a aprender cómo controlar la cantidad de corriente que está utilizando un actuador, por lo que se puede saber cuanta fuerza está aplicando. Este es un proyecto más avanzado, que requieren codificación de fondo y calibración.La p
Viven con el Arduino y el L298N puente H para Control de Motor bipolar paso a paso

Viven con el Arduino y el L298N puente H para Control de Motor bipolar paso a paso

El módulo de arriba es un L298N hija que he comprado de Amazon hace una semana, y conseguir que trabajo ha sido un viaje bastante frustrante que finalmente está viendo algunos resolución hoy. Esta fue una razón importante que pensé que pondría juntos
Control De Un Servo Con Niple

Control De Un Servo Con Niple

Niple es un entorno de programación para microcontroladores PIC de Microchip permite programar los mismos mediante diagrama de flujo. Es muy intuitivo y sencillo de utilizar, lo nos va a permitir realizar cosas complejas en poco tiempo.En este instru
Caja de auto riego jardín

Caja de auto riego jardín

cada año los ciervos y conejos han cosechado el jardín después de todo de nuestro arduo trabajo todos de verano así que este es el año finalmente solucionar el problema. El proyecto es un jardín de cerrado de riego uno mismo. Este primer instructable
Proyecto de la casa de verde

Proyecto de la casa de verde

El proyecto casa verde era un plan que mi esposa y yo surgió el año pasado debido a la helada que tuvimos en febrero de 2015 que mató a algunos de nuestros árboles y plantas. Decidimos comprar el Palram modelo # 702422 Internet # 204471274 victoria i
Tazones de fuente registro de vinilo

Tazones de fuente registro de vinilo

El expediente del LP (Long Play) fue publicado en 1948 por Columbia Records. Los registros anteriores se hicieron de goma laca, que surcos más amplios para jugar. Estos registros girar a 78 rpm, que permite 5 minutos de juego a ambos lados de un está
Utilizando Unity3D y Vuforia para Control de movimiento de dinosaurio con las teclas de flecha de realidad aumentada

Utilizando Unity3D y Vuforia para Control de movimiento de dinosaurio con las teclas de flecha de realidad aumentada

Para más tutoriales de realidad aumentada, visitan aquí:1.2.3.4.5.6.7.8.9.10.11.12.13.14.Paso 1: Descargar todo abajo y siga las instrucciones en el videoDescargar # Unity3D (descargar e instalar, si no lo tienes ya) (archivo *.exe)Unity3D también es
Proyecto de Logger de datos

Proyecto de Logger de datos

es un registrador de datos que hice para mi clase. No pude encontrar las instrucciones que podría utilizar para hacer el Arduino grabar el brillo de la luz y la temperatura. Mostrar la temperatura y el valor de la luz en la pantalla a continuación gu
Cómo construir un refugio de registro

Cómo construir un refugio de registro

aquí es cómo construir un refugio de registro.  Este proyecto fue la reconstrucción de un edificio originalmente construido por el cuerpo de conservación civil en los años 40 tempranos.Se utilizaron registros de Sitka spruce localmente cosechados com