Paso 6: Software
Ahora para la diversión parte. Ejecuto la web partícula IDE y siga los pasos de registro para el fotón. Los pasos se pueden encontrar aquí: https://docs.particle.io/guide/getting-started/sta...
Asumiremos que el fotón ahora está conectado a la nube a través de punto de acceso Wi-Fi.
Necesitamos saber cómo hacer varias cosas para este proyecto:
1. lectura de un interruptor o pulsador
El mecanismo para la lectura de los interruptores de botón o el estado de los interruptores magnéticos reed es el mismo que todos ellos se comportan como interruptores momentáneos de cerca.
El código para detectar un botón es muy sencillo (igual leyendo la puerta abierta cierre):
pinMode (D5, INPUT_PULLUP); configurar pin como entrada y activar la resistencia de pullup
¿ si (digitalRead(D5) == Low) / / el usuario presiona el interruptor de "cerrar la puerta"?
Sin embargo, existe una otra forma: en lugar de la interrogación para cambios a un pin, vamos a utilizar interrupciones. Cuando uno de los cuatro interruptores está cerrado, la ejecución de código se interrumpirá y saltar a la correspondiente Rutina de servicio de interrupción (ISR). Porque el tiempo invertido en un ISR debe mantenerse a un mínimo, y porque varias funciones y las bibliotecas no pueden usarse con seguridad dentro de un ISR, vamos a sistema y variable y retorno. Luego en el bucle principal, verificar el estado de esta variable y actuar de acuerdo a su valor.
Aquí está cómo configurarlo:
onCloseDoor es el ISR CAÍDA detecta alta a las transiciones de baja
attachInterrupt (D5, onD5Close, caer);
Y aquí está un ejemplo de un ISR:
void onCloseDoor()
{
bDoorIsOpen = 0;
}
2. encendido de un LED
Para encender un LED, tenemos que conectar a una clavija declarados como salida y establézcalo en alta:
pinMode (D5, salida);
digitalWrite (D5, alto);
3. cada vez
Según documentación del fotón, el dispositivo "Sincroniza tiempo con la nube de partículas durante el apretón de manos. Desde entonces, el tiempo se actualiza constantemente en el dispositivo".
Para leer el tiempo, podemos usar las siguientes llamadas de biblioteca:
Time.hour(); horas desde la medianoche (0-23). Nota: esta es la hora UTC.
Time.minute(); minutos (0-59)
4. control de un Servo
El código para manejar un servo es muy simple (no necesita incluir la librería servo.h cuando usando el fotón):
myservo.Attach(d0); cable amarillo (pulso) del servo se une a D0
myservo.Write(0); Dile el servo a la posición 0 (cerrado)
Se adjunta el archivo de origen. He utilizado el entorno de desarrollo web Construir partículas y no se encontró la necesidad de utilizar su stand solo IDE. Con el IDE de la web, puede iniciar desarrollo en una sola máquina y recogerlo en otro. Una de las ventajas de los fotones es que usted puede descargar su código (e incluso actualizar el firmware del sistema) sobre tu conexión WiFi (sin conexión mediante un cable USB), lo que significa que ya no necesita quitar el procesador de su ubicación instalada para actualizarlo.