Skip to content

Instantly share code, notes, and snippets.

@MiguelAzores
Created April 13, 2016 18:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MiguelAzores/e89cf8cff195daa6c89a1b416d0cb95d to your computer and use it in GitHub Desktop.
Save MiguelAzores/e89cf8cff195daa6c89a1b416d0cb95d to your computer and use it in GitHub Desktop.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DallasTemperature.h>
#include <OneWire.h>
#define ONE_WIRE_BUS 2
const int lucesCasa = 3; // iluminación general de la casa
const int pir = 5; // sensor de movimiento
const int ventilador = 6; // ventilador
const int ledGeneral = 8; // luz de emergencia y avisos
const int buzzerGeneral = 9; // buzzer de emergencia y avisos
// A0 sensor de llama
// A1 sensor de gas
// A2 -------------
// A3 -------------
// A4 Pantalla lcd
// A5 pantalla lcd
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x27,16,2);
int luminosidad;
int movimiento;
int gas;
int llama;
int alarma;
void setup(){
// inicializamos todo
Serial.begin(19200);
sensors.begin();
pinMode(ledGeneral, OUTPUT);
pinMode(buzzerGeneral, OUTPUT);
pinMode(lucesCasa, OUTPUT);
pinMode(pir, INPUT);
lcd.init();
lcd.backlight();
}
void loop() {
alarma = 0;
digitalWrite(ledGeneral, LOW);
//iluminación interior
if (Serial.available() > 0){
luminosidad = Serial.read();
analogWrite (lucesCasa, luminosidad);
}
//sensor de llama
llama = analogRead(A0) ; // lectura del sensor de llama
if (llama > 200){
alarma = 1;
}
//sensor de gas
gas = analogRead(A1);
if (gas > 400){
alarma = 1;
}
// Sensor movimiennto
movimiento = digitalRead(pir);
if (movimiento == 1){
alarma = 1;
}
// temperatura
sensors.requestTemperatures();
int temperatura = sensors.getTempCByIndex(0);
if (temperatura > 25){
digitalWrite(ventilador, HIGH);}
else{
digitalWrite(ventilador, LOW);}
if (alarma == 1){
digitalWrite(ledGeneral, HIGH);
delay(200);
lcd.setCursor(3,1);
lcd.print("PELIGRO");
}
{
digitalWrite(ledGeneral, LOW);
lcd.setCursor(3,0);
lcd.print(temperatura);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment