El compañero de planta (5 / 7 paso)

Paso 5: Programación Arduino

El código para este proyecto fue hacia adelante. El primer paso fue conseguir todos los diferentes sensores trabajando. El código SIK fue utilizado para ayudar en este proceso. Una vez que los sensores estaban trabajando correctamente, entonces empezamos a crear funciones específicas. Haciendo la fotorresistencia y RGB LED trabajar juntos era simple. Para fines de demostración, el día fue fijado a 40 y sería retroceder a cero cada vez que llegó a 40. Otro valor contará hasta cada segundo si la fotorresistencia es en un cierto valor. Es también poner a cero una vez que se establece la variable día a 40. La siguiente y más difícil parte hacía el potenciómetro, de LED, sensor de humedad y servo trabajo juntos. La solución que encontramos fue la pila si declaraciones. La primera sería leer el valor del potenciómetro y visualmente se encenderá un LED. Cada LED sería una señal al usuario de la cantidad de agua la planta va a recibir, y no LED significó que no estaban usando agua. Una vez que era distinguido, era leer el sensor de humedad, y dependiendo de ese valor, el servo desencadenaría un agua. Decidimos que sería bueno tener un período de tiempo, por lo que el agua tendría tiempo para difundir.

* Tenga en cuenta que algunas variables de humedad y la luz del sol serán necesario cambiar a la suite de la aplicación

#include #include / / biblioteca de servo int potPin = A2; const int lightValue = A0; int moistValue = A3; const int RED_PIN = 11; const int GREEN_PIN = 10; const int BLUE_PIN = 9; int lightLevel = 0; int moistLevel = 0; exposición int = 0; Día int = 0; int LedPin8 = 8; int LedPin12 = 12; int LedPin13 = 13; int waterCount = 0; Servo1 servo; objeto de control de servo

void setup() {pinMode (RED_PIN, salida) pinMode (GREEN_PIN, salida) pinMode (BLUE_PIN, salida); pinMode (LedPin8, salida); pinMode (LedPin12, salida); pinMode (LedPin13, salida); servo1.attach(6);

mainColors(); Serial.Begin(9600);

}

void loop() / / esta función se ejecuta repetidamente termine el setup() {lightLevel = analogRead(lightValue); mainColors(); waterLevel(); waterCount ++;

Serial.println(moistLevel); Serial.println("Moisture"); Serial.println(waterCount); Serial.println("waterCount"); } void waterLevel() {int potValue; potValue = analogRead(potPin); si (potValue < 255) {digitalWrite (LedPin8, LOW); digitalWrite (LedPin12, LOW); digitalWrite (LedPin13, bajo); si (waterCount == 10) {waterCount = 0;}} si (potValue > 255 & & potValue < 510) {digitalWrite (LedPin8, alto); digitalWrite (LedPin12, LOW); digitalWrite (LedPin13, LOW); moistLevel = analogRead(moistValue); si (waterCount == 10 & & moistLevel < 600) {waterer1(); waterCount = 0;} else if (waterCount == 10) {waterCount = 0;}} si (potValue > 510 & & potValue < 765) {digitalWrite (LedPin8 ALTO); digitalWrite (LedPin12, alto); digitalWrite (LedPin13, bajo); moistLevel = analogRead(moistValue); Si (waterCount == 10 & & moistLevel < 625) {waterer2(); waterCount = 0;} else if (waterCount == 10) {waterCount = 0;}} Si (potValue > 765) {digitalWrite (LedPin8, alto); digitalWrite (LedPin12, alto); digitalWrite (LedPin13, alto); moistLevel = analogRead(moistValue); if (waterCount == 10 & & moistLevel < 650) {waterer3(); waterCount = 0;} else if (waterCount == 10) {waterCount = 0;}}

} void waterer1() {servo1.write(15); / / enviar a servo a 90 grados delay(1000); / / tiempo de pausa para conseguirlo para mover servo1.write(90); / / enviar a servo para ir a 0 grados} void waterer2() {}

servo1.Write(7); Dile servo a 90 grados

Delay(1100); Pausa para conseguir tiempo para mover

servo1.Write(90); Dile el servo a 0 grados} void waterer3() {}

servo1.Write(0); Dile servo a 90 grados

Delay(1200); Pausa para conseguir tiempo para mover

servo1.Write(90); Dile el servo a 0 grados}

void mainColors() {día ++; delay(1000); si (durante el día > 45) {exposición = 0; diurna = 0; digitalWrite (RED_PIN, LOW); digitalWrite (GREEN_PIN, LOW); digitalWrite (BLUE_PIN, LOW);} si (lightLevel < 300) {exposición ++; Serial.println(Exposure); } / / pasando (enciende LED rojo y verde): Si (exposición > 29) {digitalWrite (RED_PIN, alto); digitalWrite (GREEN_PIN, alto); digitalWrite (BLUE_PIN, LOW);} / / rojo (girar en rojo): Si (exposición > 19 & & exposición < = 29) {digitalWrite (RED_PIN, LOW); digitalWrite (GREEN_PIN, alto); digitalWrite (BLUE_PIN, LOW);} / / Purple (vuelta rojo y azul en): Si (exposición > 10 & & exposición < = 19) {digitalWrite (RED_PIN BAJA); digitalWrite (GREEN_PIN, alto); digitalWrite (BLUE_PIN, alto); }} void showRGB(int color) {int redIntensity; int greenIntensity; int blueIntensity;

Si (color < = 255) / zona 1 {redIntensity = 255 - color; / / rojo sale de a greenIntensity = color; / / verde pasa de off a en blueIntensity = 0; / azul siempre esta apagado} else if (color < = 511) / zona 2 {redIntensity = 0; / / rojo está siempre en off greenIntensity = 255 - (color - 256); / / verde a de blueIntensity = (color - 256); / / azul a} más / color > = 512 / zona 3 {redIntensity = (color - 512); / / rojo apagado a en greenIntensity = 0; / / verde está siempre en off blueIntensity = 255 - (color - 512); / / azul en OFF}

analogWrite (RED_PIN, redIntensity); analogWrite (BLUE_PIN, blueIntensity); analogWrite (GREEN_PIN, greenIntensity); }

Artículos Relacionados

Hacer un 'compañero de trabajo reconocimiento pecera' con una expresión Cricut

Hacer un 'compañero de trabajo reconocimiento pecera' con una expresión Cricut

recientemente, en mi lugar de trabajo, las exigencias en productividad fueron alto compromiso moral y empleado fueron bajos y nos faltaba una forma de reconocer el arduo trabajo y esfuerzos realizados por nuestros compañeros de trabajo. Así que decid
El compañero de cabecera de tubo Steampunk Nixie de Stephanotis.

El compañero de cabecera de tubo Steampunk Nixie de Stephanotis.

Yo quería dar a mi hija algo totalmente diferente para su cumpleaños en abril de 2015 y finalmente decidió hacer algo en un tema de Steampunk. Comenzó como a la lámpara pero parecía un poco pelado en el medio por lo que le añadió un reloj de tubo Nix
Compañero de cama Robot cama

Compañero de cama Robot cama

Compañero de cama es una cama de robot autónomo que busca nuevos contratos. En otras palabras, he robotizado mi cama personal para socializar y compartir de sí mismo con otros.Tal vez un poco más de una explicación está en orden. Un acompañante puede
Compañeros de entrenamiento: hacer ejercicio físico agradable para los niños

Compañeros de entrenamiento: hacer ejercicio físico agradable para los niños

Demo entrenamiento Video amigosEn esta guía detallaremos cómo hemos creado un ejercicio inteligente agente o robot, para la IoT de Intel Roadshow Amsterdam 2016. Nuestra idea era:Compañeros de entrenamiento involucra niños en ejercicio físico de form
Cómo hacer que un compañero de la soldadura (de plástico de la hoja)

Cómo hacer que un compañero de la soldadura (de plástico de la hoja)

[actualización - gracias a todos los que votaron en la! concurso de impresora 3D - tuve la suerte de ganar una! Más, así que ahora puedo proceder con soldadura Buddy Mark III (Mark II está mejorando Mark I con usted sugerencias abajo) y suelte los ar
Llenar una oficina compañeros de trabajo con cacahuetes del embalaje

Llenar una oficina compañeros de trabajo con cacahuetes del embalaje

¿Tienes un compañero de trabajo que merece tener su oficina entera llena de espuma de poliestireno cacahuetes del embalaje? ¿O, tal vez hay un compañero de trabajo que se pranked en el pasado y necesita ir grande en su venganza? Bien, usted ha venido
Hacer una tarjeta del corte del Laser "Llegar bien pronto" para un compañero de trabajo

Hacer una tarjeta del corte del Laser "Llegar bien pronto" para un compañero de trabajo

uno de mis compañeros de trabajo acaban en el hospital y tenía que tener una apendicectomía.  ¿Queríamos enviarle amor "Conseguir bien pronto", y supongo que podríamos acaba de adquirir una tarjeta en la tienda, pero Dónde está la diversión en e
Receptor de radio FM RTL-SDR con compañero de la Radio de GNU

Receptor de radio FM RTL-SDR con compañero de la Radio de GNU

RTL-DEG es actualmente muy popular tema en la red. También hay muchas guías sobre cómo utilizar Windows y Linux también. Pero empezar a usar yo no he encontrado a ninguna guía que explica todo el proceso de instalación de software y controladores nec
3D impreso Portal compañero cubo del LED

3D impreso Portal compañero cubo del LED

Decidí hacer mi novio un cubo de compañero para Navidad, así que pensé que compartir como lo hice. Mensaje me si quieres archivos .stl.Paso 1: 3D modeling & impresión Dividir el cubo de compañero en dos piezas para fácil impresión (imagen 1) y había
Portal de compañero de cubo

Portal de compañero de cubo

Hola, soy nuevo en esto y nueva a tomar fotos de una acumulación y mediciones para mostrar a otras personas, normalmente hago la mayor parte de ella en mi cabeza o en pedacitos de chatarra etc, etc, luego se pierde en la traducción, pero quería docum
Cómo despertar su compañero de piso para el gimnasio

Cómo despertar su compañero de piso para el gimnasio

cuando su compañero de cuarto es perezoso y cansado y necesita un poco de motivación "extra" para despertarlo, es necesario incorporar medidas drásticas.Por ejemplo:-pegarle con un palo-escupir el agua en la cara-muebles de la viruta en su cama-
Compañero de piso Blocker 1.0

Compañero de piso Blocker 1.0

esto demostrará cómo convertir un dormitorio universitario doble en dos singles. Para aquellos que no están familiarizados con el término doble, esto se refiere a una sola habitación ocupada por dos personas. Si odio a su compañero de cuarto o simple
Compañero de bolsillo de Spider-man

Compañero de bolsillo de Spider-man

Para un proyecto de la escuela mis compañeros y yo nos asignó un proyecto amigo de bolsillo. Todos decidimos dibujar varios superhéroes y elegí a Spider-man. Que utiliza AutoDesk AutoCAD 2016 para dibujar el fenómeno de Marvel y lo hizo utilizando un
Hacer sus compañeros de trabajo más tranquilo

Hacer sus compañeros de trabajo más tranquilo

¿Ha deseado siempre que sus compañeros sólo calmaría? Con pocos pasos, puede activar el comportamiento de su lugar de trabajo de renuncias a amable!Paso 1: Localice la máquina de caféSi tienes un trabajo extenuado, lo más probable es que usted tiene