Paso 4: Códigos para ARDUINO
/*
Basado en un código de OpenSourceRF.com.
Esta biblioteca es software libre; Usted puede redistribuirlo y/o modificarlo bajo los términos de la GNU Lesser General Public License publicada por la Free Software Foundation; ya sea la versión 2.1 de la licencia o (a su opción) cualquier versión posterior.
Esta biblioteca se distribuye con la esperanza de que sea útil, pero sin ninguna garantía; ni siquiera la garantía implícita de comerciabilidad o idoneidad para un propósito PARTICULAR. Consulte la GNU Lesser General Public License para más detalles.
Usted debe han recibido una copia de la GNU Lesser General Public License junto con esta biblioteca; Si no, escriba a la Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
EL SOFTWARE ES PROPORCIONADO "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O LOS TITULARES DEL COPYRIGHT SERÁ RESPONSABLE DE CUALQUIER RECLAMACIÓN, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE RESPONSABILIDAD CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SE PRESENTA, SOBRE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS OPERACIONES EN EL SOFTWARE. */
#include < RFduinoBLE.h >
int led = 3; GPIO 3 se utiliza aquí
sensor int = 5; Aquí se utiliza 5 GPIO
umbral de int = 900; Cheque serial monitor para el umbral correcto
void setup() {}
Serial.Begin(9600);
pinMode (led, salida);
pinMode (sensor de entrada);
se trata de los datos que desea que aparezca en el anuncio
(si el nombre de dispositivo y advertisementData son demasiado largos para fijar en el byte 31
paquetes de anuncio de ble, la advertisementData es truncado primera de abajo a
un solo byte, luego se truncará el nombre de dispositivo)
RFduinoBLE.advertisementData = "ledbtn";
Inicio publicidad para que nuestro smartphone puede escanear y encontrar el dispositivo
RFduinoBLE.begin();
}
void loop() {}
Lea el valor de la LDR
int sensorValue = analogRead(sensor);
La LDR enviará datos al smartphone aplicación
Si el valor medido es menor que el umbral, el Arduino enviará un "1" a la aplicación
La aplicación enviará un "1" a la RFduino haciendo que el LED se encenderá
Si (sensorValue > umbral) {}
RFduinoBLE.send(0);
Delay(1000);
} else {}
RFduinoBLE.send(1);
Delay(1000);
}
Serial.println(sensorValue);
Delay(10);
}
void RFduinoBLE_onDisconnect() {}
No deje el led en si desconecta
digitalWrite (led, baja);
}
void RFduinoBLE_onReceive (char * datos, int len) {}
Si el primer byte es 0 x 01 / / true
Si (data[0])
digitalWrite (led, alto);
otra cosa
digitalWrite (led, baja);
}