Bluetooth kontrollerad LED med analoga LDR ingång för TfCD (4 / 6 steg)
Steg 4: Koder för ARDUINO
/*
Baserat på en kod från OpenSourceRF.com.
Detta bibliotek är fri programvara; Du kan vidaredistribuera det och/eller ändra det enligt villkoren i GNU Lesser General Public License som Publicerad av Free Software Foundation; antingen version 2.1 av licensen, eller (vid ditt alternativ) någon senare version.
Detta bibliotek distribueras i med förhoppning att det kommer att vara användbart men helt utan garantier; utan att ens underförstådd garanti om SÄLJBARHET eller lämplighet för ett visst ändamål. Se GNU Lesser General Public License för mer detaljer.
Du bör ha fått en kopia av GNU Lesser General Public License tillsammans med detta bibliotek; om inte, skriv till Free Software Foundation, Inc., 51 Franklin St, femte våningen, Boston, MA 02110-1301 USA
PROGRAMVARAN ÄR "BEFINTLIGT SKICK", UTAN GARANTIER AV NÅGOT SLAG, UTTRYCKLIGA ELLER UNDERFÖRSTÅDDA, INKLUSIVE MEN INTE BEGRÄNSAT TILL GARANTIER OM SÄLJBARHET, LÄMPLIGHET FÖR ETT VISST ÄNDAMÅL OCH ICKE-INTRÅNG. FÖRFATTARE ELLER UPPHOVSRÄTTSINNEHAVARE SKALL UNDER INGA OMSTÄNDIGHETER HÅLLAS ANSVARIG FÖR EVENTUELLA ANSPRÅK, SKADOR ELLER ANNAT ANSVAR, VARE SIG I KONTRAKT, KRÄNKNING ELLER ANNAT, SOM UPPSTÅR FRÅN, AV ELLER I SAMBAND MED PROGRAMVARAN ELLER ANVÄNDNING ELLER ANDRA KONTAKTER I PROGRAMVARAN. */
#include < RFduinoBLE.h >
int ledde = 3; GPIO 3 används här
int sensor = 5; GPIO 5 används här
int tröskel = 900; Kolla seriell monitor för korrekt tröskeln
void setup() {
Serial.BEGIN(9600);
pinMode ledde (, OUTPUT);
pinMode (sensor, ingång);
Detta är den data som vi vill ska visas i annonsen
(om enhetsnamn och advertisementData är för lång tid att fixa till den 31 byten
ble annons packet, då advertisementData är stympad först ner till
en enda byte, då det kommer att ta bort enhetsnamn)
RFduinoBLE.advertisementData = "ledbtn";
börja annonsera så våra smartphone kan skanna och hitta enheten
RFduinoBLE.begin();
}
void loop() {
läsa av värdet av LDR
int sensorValue = analogRead(sensor);
LDR skickar data till smartphone ansökan
Om det uppmätta värdet är lägre än tröskelvärdet, att Arduino skicka "1" till App
App kommer sedan att skicka "1" till den RFduino orsakar lampan att lysa upp
om (sensorValue > tröskel) {
RFduinoBLE.send(0);
Delay(1000);
} annat {
RFduinoBLE.send(1);
Delay(1000);
}
Serial.println(sensorValue);
Delay(10);
}
void RFduinoBLE_onDisconnect() {
lämna inte led på om de koppla
digitalWrite (ledde, låg);
}
void RFduinoBLE_onReceive (char * data, int len) {
om den första byten är 0x01 / på / sanna
om (data[0])
digitalWrite (ledde, högt);
annat
digitalWrite (ledde, låg);
}