Multiplexer sensor updated

master
Orion Stark 4 years ago
parent 2aa0f2df17
commit b8e58bf24e
  1. BIN
      .DS_Store
  2. 4
      DHT11OrionScript.ino
  3. 6
      OrionWebServerControllerScript.ino
  4. 71
      orion_sensor.ino

BIN
.DS_Store vendored

Binary file not shown.

@ -27,8 +27,8 @@
DHT dht(dht_dpin, DHTTYPE);
const char* ssid = "Robby";
const char* password = "0l30l4ng";
const char* ssid = "******";
const char* password = "******";
void setup() {
Serial.begin(115200);

@ -25,8 +25,8 @@
#define RED_LED_PIN 13
#define GREEN_LED_PIN 14
const char* ssid = "Robby";
const char* password = "0l30l4ng";
const char* ssid = "****";
const char* password = "****";
uint8_t serverStatusState = 0;
ESP8266WebServer server(80);
@ -40,11 +40,13 @@ void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
/* Initiate pin mode */
pinMode(BLUE_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(RED_LED_PIN, OUTPUT);
/* Starting initial led start up */
delay(700);
digitalWrite(GREEN_LED_PIN, HIGH);
delay(700);
digitalWrite(GREEN_LED_PIN, LOW);

@ -0,0 +1,71 @@
#include <dht11.h>
dht11 DHT11;
int digitalPIN = 4;
int blue_light = 9;
int red_light = 8;
int green_light = 10;
int pinSelectable[3] = {7, 6, 5}; // [s0, s1, s2]
int outputMap[8][3] = {
{LOW, LOW, LOW}, // y0 DHT Sensor
{LOW, LOW, HIGH}, // y1 Raindrop Sensor
{LOW, HIGH, LOW}, // y2
{LOW, HIGH, HIGH}, // y3
{HIGH, LOW, LOW}, // y4
{HIGH, LOW, HIGH}, // y5
{HIGH, HIGH, LOW}, // y6
{HIGH, HIGH, HIGH} // y7
};
void setup() {
pinMode(pinSelectable[0], OUTPUT);
pinMode(pinSelectable[1], OUTPUT);
pinMode(pinSelectable[2], OUTPUT);
pinMode(red_light, OUTPUT);
pinMode(green_light, OUTPUT);
pinMode(blue_light, OUTPUT);
pinMode(digitalPIN, INPUT);
Serial.begin(9600);
}
void loop() {
setInputMap(0);
int chk = DHT11.read(digitalPIN);
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Temperature (C): ");
Serial.println((float)DHT11.temperature, 2);
setInputMap(1);
int resultRain = digitalRead(digitalPIN);
if ( resultRain == 0 ) {
turnRGBLight(LOW, LOW, LOW);
Serial.println("Rain detected");
} else {
turnRGBLight(LOW, HIGH, LOW);
delay(500);
turnRGBLight(LOW, LOW, HIGH);
}
delay(1000);
}
void turnRGBLight(int red, int green, int blue) {
digitalWrite(red_light, red);
digitalWrite(green_light, green);
digitalWrite(blue_light, blue);
}
void setInputMap(int index) {
int pinMap[3] = {outputMap[index]};
for ( int i = 0; i < (sizeof(pinMap) / sizeof(*pinMap)); i++ ) {
digitalWrite(pinSelectable[i], pinMap[i]);
}
}
Loading…
Cancel
Save