#include <SoftwareSerial.h> #include <MsTimer2.h> #include <OneWire.h> #include <DallasTemperature.h> #define RX_PIN 5 #define TX_PIN 8 #define LIGHT_PIN A0 #define IR_PIN 6 #define TEMP_PIN 7 #define LED1_PIN 9 #define LED2_PIN 4 SoftwareSerial BT(RX_PIN, TX_PIN); OneWire oneWire(TEMP_PIN); DallasTemperature temp(&oneWire); int value_ir; int value_light; int value_temp; void setup() { BT.begin(9600); pinMode(LED1_PIN, OUTPUT); pinMode(LED2_PIN, OUTPUT); pinMode(IR_PIN, INPUT); pinMode(TEMP_PIN, INPUT); temp.begin(); MsTimer2::set(1000, send_value); MsTimer2::start(); } void loop() { if(BT.available() > 0) { char input = BT.read(); if(input == 'A') TV_ON(); else if(input == 'B') TV_OFF(); else if(input == 'C') LED_ON(); else if(input == 'D') LED_OFF(); } } void send_value() { value_ir = digitalRead(IR_PIN); value_light = analogRead(LIGHT_PIN); temp.requestTemperatures(); value_temp = temp.getTempCByIndex(0); BT.print(value_ir); BT.print("$"); BT.print(value_light); BT.print("$"); BT.print(value_temp); } void TV_ON() { digitalWrite(LED1_PIN, HIGH); } void TV_OFF() { digitalWrite(LED1_PIN, LOW); } void LED_ON() { digitalWrite(LED2_PIN, HIGH); } void LED_OFF() { digitalWrite(LED2_PIN, LOW); } |