Regulador casero elegante con Sensorflare y base de partículas de chispa: leer los valores del sensor en Sensorflare (7 / 12 paso)

Paso 7: Descripción del código

Declaración de variables:

En primer lugar se incluye la biblioteca de la manera que se ha descrito antes. Como resultado la siguiente línea se incluyen en el código.

 #include "sensorflare/sensorflare.h" 

Para cada pin que queremos declarar un PWM, salida y control remoto a través de Sensorflare se dará un "PWMout" objeto y asociados el pin específico. En el ejemplo que se conecta un led en A0, entonces el objeto llamado pwm recibe como parámetro A0. La intensidad de luz es controlada remotamente por una generación de una señal PWM con el ciclo de trabajo entre 0 y 255.

 SensorFlare::PWMOut pwm(A0); 

Ahora es necesario declarar un objeto para cada variable que valor queremos poder acceder a través de la plataforma Sensorflare. Las variables pueden ser publicadas en la nube del núcleo de la chispa como privado (sólo usted podrá acceder a sus valores) o público (todos los usuarios de chispa pueden acceder a sus valores desde la nube). Entonces en el ejemplo se declara 2 varTem objeto y varPin que hacen referencia a 2 variables que se publicarán como público de chispa y acceso de su cuenta de Sensorflare por la temperatura de nombres y pir respectivamente. Otro varLight de un objeto que hará referencia a una variable privada en la nube de la chispa y se accede desde tu cuenta de Sensorflare por el nombre de luz.

 //Both methods initialized the variable that will be published as PUBLIC <br>SensorFlare::VarPublish varTem("temperature"); SensorFlare::VarPublish varPir("pir","PUBLIC"); //Initialized the variable that will be published as PRIVATE SensorFlare::VarPublish varLight("light","PRIVATE"); 

Debe declarar las variables que se publicarán más adelante.

 float temperature; float light; int status; 

Finalmente debe ser declarar cualquier otra variable que quería utilizar en el programa.

 int tem_pin=A3; int light_pin=A4; int pir_pin=D0; int new_status; bool change; 

Setup():

La función de configuración sólo ejecuta uno y generalmente se utiliza para inicializar variables, funciones y modos de pin. Es necesario llamar al método "begin()" de cada objeto que se ha definido antes.

 pwm.begin(); varTem.begin(temperature); varLight.begin(light); varPir.begin(status); 

Eje suplementario que no es control remoto y será el Pin de entrada digital para el sensor de PIR.

 pinMode(pir_pin,INPUT); 

Loop()

La función loop() bucles consecutivamente, lo que permite el programa cambiar y responder.

El sensor analógico incluido (temperatura y foto resistor) ofrece, en sus respectivas entradas analógicas de un núcleo, un voltaje entre 0 a 3, 3V que es proporcional a la variación de la temperatura y la luz en el medio ambiente. La base utiliza un convertidor analógico digital de 12 pedacitos que una señal de 0 a 3, 3V en valores de 0 a 4095 cuando se llama a la función "analodRead()". En primer lugar, se debe calcular la tensión que corresponde al valor de la lectura.

El sensor de temperatura LM335 específico da una tensión proporcional a la temperatura en grados Kelvin con una sensibilidad de 10mV/K. Entonces la temperatura en Kelvin se logrará convertir el voltaje a las unidades de mV y dividido entre la sensibilidad. Para la expresión final de la temperatura en la esperada unidad (° C) realiza la conversión de Kelvin restar 273.15 (el 0 correspondiente en grados Kelvin).

La luminosidad, la intensidad de la luz, se puede calcular mediante las relaciones del sensor que ha sido proporcionado en el antes de la sección del manual. En primer lugar el foto resistor valor en KΩ y luego la equivalente luminosidad en Lux.

 // Temperature sensor float tem= analogRead(tem_pin); // read the value from the sensor // The returned value from the Core is going to be in the range from 0 to 4095 // Calculate the voltage from the sensor reading float voltage = (tem * 3.3) / 4095; float deg =voltage* 100; // multiply by 100 to get degrees in K temperature = deg - 273.15; // subtract absolute zero to get degrees Celsius //Luminosity float photocell= analogRead(light_pin); // read the value from the sensor // The returned value from the Core is going to be in the range from 0 to 4095 // Calculate the voltage from the sensor reading float Vphotocell = ((photocell * 3.3) / 4095); float rl=(Vphotocell*10)/(3.3-Vphotocell);//Photoresistor value in KΩ float value=500/rl;//luminosity light= (int) value; 

El PIR proporciona una señal digital (1 cuando se detecta un movimiento y 0 si no se mueve actualmente) que se lee a través de la entrada digital correspondiente de la base. El evento de interés en este caso es cuando el sensor detecta un movimiento, representan por una transición de 0 a 1 (el estado de la variable va a cambiar su valor a 1) en la entrada respectiva cuando comienza el movimiento y una transición de 1 a 0 cuando la parada (el estado de la variable será 0). Entonces un evento se publicará cada vez que una transición en el pin específico. El código detecta la transición de PIR y publicar cada vez que eso sucedió. Para esto se ha utilizado el método "Publish(Variable,period)" en el que la variable a publicar es el estado y se publica inmediatamente cuando el método es llamado por seleccionar un período de 0.

 //Find the change of state of the PIR sensor. Recognize move new_status=digitalRead(pir_pin); if (status!=new_status){ status=new_status; change=TRUE; } //Publish every time that exist a change in the pin on which is connect the PIR output if (change==TRUE) { varPir.Publish(status,0);//Publish the variable at the called method time change=FALSE; } 

La temperatura y la luminosidad deben publicarse periódicamente - en este caso cada 15 segundos es suficiente. El "Publish(Variable,period)" se llamará método para todos los objetos que representan cada variable que quieres que sea publicado por asociada la Variable respectiva para publicar y un período de 15 segundos.

 varTem.Publish(temperature,15); varLight.Publish(light,15); 

Artículos Relacionados

Regulador casero elegante con Sensorflare y base de partículas de chispa: controlar los dispositivos de potencia con Sensorflare

Regulador casero elegante con Sensorflare y base de partículas de chispa: controlar los dispositivos de potencia con Sensorflare

Hola todo el mundo! Este instructable muestra cómo puede controlar sus dispositivos inteligentes usando Sensorflare y partículas. Las posibilidades son muchas... Puede usar core de la partícula - una pequeña Junta de desarrollo de Wi-Fi para conectar
Cómo conectar una escala o balanza electrónica con una PC y leer los valores del peso directamente en Excel

Cómo conectar una escala o balanza electrónica con una PC y leer los valores del peso directamente en Excel

mayoría de balanzas electrónicas y Balanzas de laboratorio tienen un RS232 (Serial) o USB de puerto sin embargo ningunas instrucciones normalmente se proporcionan para mostrarle cómo conectarse correctamente a su PC o ingresar valores de peso directa
Procesamiento de datos con RasPi y partícula (anteriormente chispa)

Procesamiento de datos con RasPi y partícula (anteriormente chispa)

¡ Saludos! Bienvenidos a otro Instructable del NextFab. En este Instructable nos va ser cambiar engranajes un poco y haciendo un Instructable que es fundamentos mucho más base que cualquiera puede recoger y ampliar.El Raspberry Pi 2 B es un ordenador
Imagen de cometa con un imán, finas partículas metálicas y resplandor en la pintura oscura

Imagen de cometa con un imán, finas partículas metálicas y resplandor en la pintura oscura

Un cometa es un cuerpo del sistema solar con una atmósfera visible o coma y una cola.Quería crear una imagen brillante del cometa sobre una camiseta con una técnica única de la capa física.Puesto que los cometas son conocidos por pequeñas partículas
Página de Facebook le gusta pantalla del contador (con partículas de fotón)

Página de Facebook le gusta pantalla del contador (con partículas de fotón)

Yo quería hacer un pequeño soporte que podría mostrar en tiempo real el Conde le gusta de la página de Facebook de Pizza restaurante de un amigo, con el fin de ofrecerle una manera de invitar a sus clientes para promover la localización y, por supues
Sensores de Grove con un núcleo de la partícula - Sensor salas

Sensores de Grove con un núcleo de la partícula - Sensor salas

Hace poco conseguí unos Senors Grovey traté de correr con un Arduino y el siguiente paso para mí es tomar a la internet y qué mejor manera que hacerlo con un Núcleo de partículas. Para empezar de con que voy a mostrarte cómo montar un sensor Hall de
Usando los botones y sensores para hacer música con el Edison de Intel

Usando los botones y sensores para hacer música con el Edison de Intel

ObjetivosSentirse cómodo con el Edison al prototipo de un proyecto de hardwareConstruir una sencilla aplicación de Node.jsJugar con el poder de WebSockets y redes de tiempo realAprovechar de Cylon.js fácil de usar interfaz con botones y sensoresExplo
Enviar datos del sensor (DHT11 & BMP180) a ThingSpeak con un Arduino, utilizando ENC28J60 Ethercard

Enviar datos del sensor (DHT11 & BMP180) a ThingSpeak con un Arduino, utilizando ENC28J60 Ethercard

Nota: Este instructivo es para el viejo ENC26J60 Ethershield y ethercard. Si tienes el WIZ5100 moderno basado en Ethernetshield o un ESP8266 ir a visitar mi instructable que menciono a continuaciónSobre un año y medio atrás publiqué un instructivo qu
Basados en Arduino casero elegante IOT sistema

Basados en Arduino casero elegante IOT sistema

Hola, soy Michalis Vasilakis de Ardumotive.com y en esta guía de Instructables te mostraré cómo usted puede hacer fácilmente su propio sistema de casa inteligente basado en Arduino uno y un módulo de Ethernet (o protector).Usted podrá utilizar este s
Arduino casero elegante árbol medio ambiente

Arduino casero elegante árbol medio ambiente

Hay un árbol de estrella en nuestra empresa llamada árbol Facai, el significado de hacerse rico. Este árbol está parado junto a nosotros a través de gruesas y delgadas varios años desde nuestra empresa creada. Ve el desarrollo de nosotros y su veloci
Casero galletas con glaseado de Chocolate blanco

Casero galletas con glaseado de Chocolate blanco

Sabía vagamente que por alguna razón que galletas estaban destinadas a ser un alimento "saludable". No sé si algo que me dijeron de mi infancia o una creencia sostenida por la sociedad o lo que es. Esto siempre ha confundido me porque la galleta
Termostato casero elegante

Termostato casero elegante

Estos días que escuchamos mucho sobre la Internet de las cosas y cómo serán los dispositivos inteligentes Internet capaces de enfriar las cosas y hacer nuestra vida mejor. Termostatos inteligentes tienen la capacidad de ahorrar mucha energía mantenie
Colores caseros tallarines con espárragos y hierbas frescas

Colores caseros tallarines con espárragos y hierbas frescas

con la abundancia de la cosecha de primavera me siento como comidas ligeras y frescas, ricos aromas de la nueva temporada de es tan tarde este año. Espárrago es ahora casi fuera de temporada pero que aún puede encontrar buenos racimos en los puestos
El control de reguladores de velocidad con Arduino.

El control de reguladores de velocidad con Arduino.

Hola chicos, estoy con otro instructivo. Esto es sobre variadores RC. Lo que esto hará es permitirle probar el controlador de velocidad en el mundo de Arduino usando serie, entonces usted anote los valores y puede utilizarlos para sus proyectos.Envia