Rutan sovrum Automation (24 / 26 steg)

Steg 24: Överför koden



Ta bort arduino shield eller ta bort rx och tx trådarna från bluetooth-modulen. Kopiera koden nedan och klistra in den till din arduino ide. Ladda upp koden till din arduino.

/ * Rutan sovrum automation
Gjord av Saiaym Agrawal
*/
#include "DHT.h" / / Lägg till alla bibliotek
#include < LiquidCrystal.h >< br > #include < NewPing.h >

Sträng state = "OFF"; initiera alla värden
int temppin = A0;
int pir = A1;
int mic = A5;
int ldr = A6;
int inkommande = 0;
int count = 1;
int thres1 = 0;
int thres2 = 0;
int thres3 = 0;
int thres4 = 0;
int thres5 = 0;
int state1 = 0;
int state2 = 0;
int state3 = 0;
int ljus = 0;
int avstånd = 0;
int ljud = 0;
int minut = 0;
int timme = 0;
float temp = 1;
flyta fuktighet = 0;
DHT dht (A4, DHT11); tala om dht PIN-koden och typ av sensor
LiquidCrystal lcd (8, 7, 6, 5, 4, 3); berätta för lc stiften
NewPing sonar (A2, A3, 400); berätta sensorn stift och det maximala avståndet < /p >< p > void setup()
{
pinMode (13, OUTPUT); Ange stift
pinMode (12, OUTPUT);
LCD.BEGIN(16,2); starta upp lcd
DHT.BEGIN();
Serial.BEGIN(9600);
Serial.println ("sovrum hem Automation");
LCD.Clear();
LCD.Print ("sovrum hem");
lcd.setCursor(0,1);
LCD.Print ("Automation");
Delay(3000);
} < /p >< p > void loop()
{
LCD.Clear();
LCD.Print ("Välj en läge");
Serial.println ("Välj en mode genom knappar");
Delay(2000);

While(digitalRead(11) == låg) / / avsluta loopen när andra knappen trycks
{
IF(digitalRead(10) == hög)
{
Delay(500);
greve ++; räkna hur många gånger på knappen trycks
}
LCD.Clear();
LCD.Print("Choice:");
LCD.Print(Count);
Delay(100);
} < /p >< p > switch(count) / / ange läge efter antalet valdes tidigare
{< /p >< p > fall 1: / / växla läge
{
Delay(1000);
Serial.println ("växla läge markerat");
Serial.println ("Tryck på knappen Växla utlopp on/off");
int a8 = 0;
While(A8 == 0)
{
LCD.Clear();
LCD.Print ("Curr. Tillstånd: ");
LCD.Print(State);
lcd.setCursor(0,1);
LCD.Print ("Tryck på knappen");
IF(digitalRead(10) == hög & & state3 == 0) / / om knappen nedtryckt och utlopp är avstängd, slå på den
{
digitalWrite 13, hög.
State = "ON";
state3 ++;
Serial.println ("påslagen");
Delay(1000);
}
IF(digitalRead(10) == hög & & state3 == 1) / / om knappen nedtryckt och utlopp är på, stänga av
{
digitalWrite 13, låg.
State = "OFF";
state3--;
Serial.println ("Switched off");
Delay(1000);
}
Delay(100);
}
}

fall 2: / / temperatur sensor läge
{
Delay(1000);
Serial.println ("temperatur läge markerat");
Serial.println ("Ange tröskelvärde");
LCD.Clear();
LCD.Print ("Ange tröskelvärde");
Delay(2000);
While(digitalRead(11) == låg) / / Ställ tröskel genom knappar
{
IF(digitalRead(10) == hög)
{
Delay(500);
thres1 ++;
}
LCD.Clear();
LCD.Print("Threshold:");
LCD.Print(thres1);
Delay(100);
}
Serial.Print ("tröskel temperatur:");
Serial.Print(thres1);
int en = 0;
While(a == 0)
{

Temp = analogRead(temppin);
Temp = temp * 0.48828125;
LCD.Clear();
LCD.Print ("Curr. Tillstånd: ");
LCD.Print(State);
lcd.setCursor(0,1);
LCD.Print("Temp:");
LCD.Print(temp);
LCD.Print("*C");
om (temp > = thres1)
{
digitalWrite 13, hög.
State = "ON";
}
IF(temp < thres1)
{
digitalWrite 13, låg.
State = "OFF";
}
Delay(1000);
}
}
bryta;

fall 3: / / luftfuktighet sensor läge
Delay(1000);
Serial.println ("luftfuktighet sensor läge markerat");
Serial.println ("Ange tröskelvärde");
LCD.Clear();
LCD.Print ("Ange tröskelvärde");
{
While(digitalRead(11) == låg)
{

IF(digitalRead(10) == hög)
{
Delay(500);
thres2 ++;
}
LCD.Clear();
LCD.Print("Threshold:");
LCD.Print(thres2);
Delay(100);
}
Serial.Print ("tröskel luftfuktighet %:");
Serial.Print(thres2);
Serial.Print("%");
int a1 = 0;
While(a1 == 0)
{
fukt = dht.readHumidity();
LCD.Clear();
LCD.Print ("Curr. Tillstånd: ");
LCD.Print(State);
lcd.setCursor(0,1);
LCD.Print("humid:");
LCD.Print(humidity);
LCD.Print("%");
om (luftfuktighet < = thres2)
{
digitalWrite 13, hög.
State = "ON";
}
IF(humidity > thres2)
{
digitalWrite 13, låg.
State = "OFF";
}
Delay(1000);
}
}
bryta;

fall 4: / / ljus sensor läge
{
Delay(1000);
Serial.println ("ljussensor valt");
Serial.println ("Ange tröskelvärde");
LCD.Clear();
LCD.Print ("Ange tröskelvärde");
While(digitalRead(11) == låg)
{

IF(digitalRead(10) == hög)
{
Delay(500);
thres3 += 10.
}
LCD.Clear();
LCD.Print("Threshold:");
LCD.Print(thres3);
Delay(100);
}
Serial.Print ("tröskel intensitet:");
Serial.Print(thres3);
Serial.Print ("enheter av 999");
int a2 = 0;
While(a2 == 0)
{
ljus = analogRead(ldr);
ljus = karta (ljus, 0, 1023, 999, 0);
LCD.Clear();
LCD.Print ("Curr. Tillstånd: ");
LCD.Print(State);
lcd.setCursor(0,1);
LCD.Print("Light:");
LCD.Print(Light);
LCD.Print("UN.");
om (ljus < = thres3)
{
digitalWrite 13, hög.
State = "ON";
}
IF(Light > thres3)
{
digitalWrite 13, låg.
State = "OFF";
}
Delay(1000);
}
}
Break; < /p >< p > ärende 5: / / klappa sensor läge
{
Serial.println ("klappa sensor läge markerat");
Serial.println ("Clap att slå på/av");
int a3 = 0;
While(a3 == 0)
{
LCD.Clear();
LCD.Print ("Curr. Tillstånd: ");
LCD.Print(State);
lcd.setCursor(0,1);
LCD.Print ("Clap Clap!");
IF(analogRead(MIC) > 5 & & state1 == 0)
{
digitalWrite 13, hög.
State = "ON";
state1 ++;
Delay(1000);
}

IF(analogRead(MIC) > 5 & & state1 == 1)
{
digitalWrite 13, låg.
State = "OFF";
state1--;
Delay(1000);
}
Delay(100);
}
}
bryta;

mål 6: / / motion sensor läge
{
Serial.println ("Motion sensor läge markerat");
för (int b = 30, b > 0, b--)
{
Serial.println ("förbereda Sensor...");
LCD.Clear();
LCD.Print("Preparing");
lcd.setCursor(0,1);
LCD.Print("sensor...");
LCD.Print(b);
Delay(1000);
}

int a4 = 0;
While(A4 == 0)
{
LCD.Clear();
LCD.Print ("Curr. Tillstånd: ");
LCD.Print(State);
lcd.setCursor(0,1);
LCD.Print ("Motion Sensor");
IF(digitalRead(PIR) == hög & & state2 == 0)
{
digitalWrite 13, hög.
State = "ON";
state2 ++;
Delay(4100);
}

IF(digitalRead(PIR) == hög & & state2 == 1)
{
digitalWrite 13, låg.
State = "OFF";
state2--;
Delay(4100);
}
Delay(100);
}

}
Break; < /p >< p > ärende 7: / / närvaro sensor läge
{
Delay(1000);
Serial.println ("närvaro sensor läge markerat");
Serial.println ("Ange tröskelvärde");
LCD.Clear();
LCD.Print ("Ange tröskelvärde");
While(digitalRead(11) == låg)
{

IF(digitalRead(10) == hög)
{
Delay(500);
thres4 += 10.
}
LCD.Clear();
LCD.Print("Threshold:");
LCD.Print(thres4);
Delay(100);
}
int a5 = 0;
While(A5 == 0)
{
Delay(50);
avståndet = sonar.ping();
avståndet = avstånd / US_ROUNDTRIP_CM;
LCD.Clear();
LCD.Print ("Curr. Tillstånd: ");
LCD.Print(State);
lcd.setCursor(0,1);
LCD.Print("dist.");
LCD.Print(Distance);
LCD.Print("cm");
om (avstånd < = thres4)
{
digitalWrite 13, hög.
State = "ON";
}
IF(Distance > thres4)
{
digitalWrite 13, låg.
State = "OFF";
}
Delay(1000);
}
}
Break; < /p >< p > ärende 8: / / säkerhetsläge
{
Serial.println ("säkerhetsläge markerat");
Serial.println ("förberedelser sensor...");
Delay(1000);
för (int d = 30; d > 0; d--)
{
LCD.Clear();
LCD.Print("Preparing");
lcd.setCursor(0,1);
LCD.Print("sensor...");
LCD.Print(d);
Delay(1000);
}
LCD.Clear();
LCD.Print ("Security Mode");
Delay(10000);
int a6 = 0;
While(A6 == 0)
{
IF(digitalRead(PIR) == hög)
{
digitalWrite 13, hög.
Serial.println ("tjuv upptäcktes");
LCD.Clear();
LCD.Print ("tjuv upptäckta");
lcd.setCursor(0,1);
LCD.Print("!!!");
int c = 0;
While(c == 0)
{
digitalWrite 12, hög.
Delay(1000);
digitalWrite 12, låg.
Delay(1000);
}
}
Delay(1000);
}
}
bryta; < /p >< p > ärende 9: / / timerläge
{
Delay(1000);
Serial.println ("timerläge valt");
LCD.Clear();
LCD.Print ("Enter timmar");
Delay(2000);
While(digitalRead(11) == låg)
{
IF(digitalRead(10) == hög)
{
Delay(500);
timme ++;
}
LCD.Clear();
LCD.Print(Hour);
Delay(100);
}
LCD.Clear();
LCD.Print ("Enter minuter");
Delay(2000);
While(digitalRead(11) == låg)
{
IF(digitalRead(10) == hög)
{
Delay(500);
minut ++;
}
LCD.Clear();
LCD.Print(Minute);
Delay(100);
}
Delay(1000);
int e2 = minut.
int e3 = 0;
för (int e1 = timme; e1 > = 0; e1--)
{
för (e2; e2 > = 0; e2--)
{
för (e3, e3 > = 0; e3--)
{
digitalWrite 13, hög.
LCD.Clear();
LCD.Print ("tid:");
lcd.setCursor(0,1);
LCD.Print(E1);
LCD.Print(":");
LCD.Print(E2);
LCD.Print(":");
LCD.Print(E3);
Delay(1000);
}
E3 = 59.
}
E2 = 59.
}
int a9 = 0;
While(A9 == 0)
{
digitalWrite 13, låg.
LCD.Print ("tid avslutad");
LCD.Clear();
Delay(100);
}
}
bryta;

mål 10: / / väder visningsläge
{
int a7 = 0;
While(A7 == 0)
{
flyta t = dht.readTemperature();
flyta f = dht.readTemperature(true);
fukt = dht.readHumidity();
Serial.Print ("temperatur:");
Serial.Print(t);
Serial.Print("*C");
Serial.Print("");
Serial.Print(f);
Serial.Print("*F");

Serial.println();
Serial.Print ("luftfuktighet:");
Serial.Print(humidity);
Serial.Print("%");
Serial.println();
LCD.Clear();
LCD.Print("T:");
LCD.Print(t);
LCD.Print ("C").
LCD.Print(f);
LCD.Print("F");
lcd.setCursor(0,1);
LCD.Print("H:");
LCD.Print(humidity);
LCD.Print("%");
Delay(1000);
}
}
bryta;
}
} < /p >

Se Steg
Relaterade Ämnen

Sovrum automation

i detta Instructable jag ska visa dig hur jag konstruerade ett system för att låta mig köra mitt sovrum med min dator.Steg 1: delar av odjuret här är de delar som jag brukade bygga systemet:USB-interface board (jag använde ett gränssnittskort för K80...

My Workspace 2014

Hej stötarna! Välkommen till min arbetsyta. Det har varit ett tag sedan jag senast postat en uppdatering av den. Här är vad det ser ut just nu (6, 12 och 14). Mycket har förändrats sedan 2012. Jag antar att detta är mer av en Visa och berätta än en h...

Remote Home Automation

jag har velat skicka detta projekt för ca 3 år nu men aldrig kunde hitta tid. Åh bra behov måste som djävulen enheterna som de säger och det är här för dig nu. Jag hoppas det kommer över klara, om inte låta mig veta och jag ska fixa det. Med det sagt...

Installation och konfiguration av OpenHAB. Del 6: Sakernas Internet, Home Automation

FörordSå, om du har följt de tidigare delarna (IoT - "Intranät" saker: Home Automation. Del1: IoT, introduktion och framåt) du kommer att ha dig en IoT nätverk liknar den som visas ovan (bild 2 och 3). I denna del kommer vi lägga sista touch. An...

Att inrätta en MQTT mäklare. Del 2: Sakernas Internet, Home Automation

FörordOkej i "Del1: Sakernas Internet, Home Automation", du har skapat och konfigurerat din "Vanilj" Raspberry Pi (ursäkta ordvitsen) och kan fjärransluta till det med kitt. Nu ställer vi in en server som kommer att upprätta din huvuds...

Ett snabbt & enkel dörrklocka för ditt sovrum

detta är min första instructable och jag är ledsen för min brist på riktiga bilder.Jag blev inspirerad att göra en Ringklocka för mitt sovrum bara på kul och nu jag lägga ut den på instructables för världen att se.Hoppas ni gillar det! : DFör att gör...

7 - årig flicka konverterar en filt till-rutan i sitt hem att göra göra hennes lättare sysslor.

Så ville min 7-årig flicka göra sina sysslor lättare och konvertera här filt du till en automatiserad filt ruta genom att bara lägga en fjärrkontroll linjärt ställdon. Det var ett litet projekt som skulle vara häftigt att göra och jag får spendera li...

DIY Home Automation för nybörjare. Absolut ingen kodning eller lödning behövs. Android/Arduino för att växla saker på och av

Denna instructiable är att den absoluta nybörjaren. Om du kan hantera en vass kniv utan att skära kan fingrarna av dig göra och anpassa denna hemautomation controller.Dessa instruktioner är också on-line på www.pfod.com.au under Android / Arduino för...

1/2 sovrum

vanligtvis ett sovrum finns inuti en sluten rutan i avsnittet liguster av hemmet. Detta projekt inverterar sovrummet och travar dess huvudfunktioner. Den resulterande konfigurationen möjliggör en multi-purpose abborre som fungerar som en gäst sovrum,...

Hem energihushållning och Automation med Z-Wave

Energibesparing är ett stort ämne, det finns många sätt att spara energi, från stänga av dina lampor när du lämnar ett rum hela vägen till att sätta i gummilister att säkerställa din inte låta ut varm eller kall luft från ditt hem. Dessa är absolut h...

Bygga din egen Home Automation och Monitoring System

I detta Instructable, kommer jag gå igenom stegen för att bygga ett ED-E (EDison-Esp8266, uttalas Eddie). ED-E är en Home Automation och övervakning System byggt med Intel Edison och Esp8266. ED-E består av två delar:BasenhetenWiFi enheterBase enhete...

Hem Automation med Amazon Echo röststyrning

Förra månaden, släppt Amazon eko - en liten cylinder kan kraftfulla röst erkännanden.Eko själv är stängd källkod. Men när du räkna ut ECHO: s hemligheter, blir det ett otroligt kraftfullt verktyg för röststyrning, så att du kan styra allt i ditt hem...

Arduino Home automation

detta är en relativt enkel styrenhet för styrning av utrustning i ditt hem.Just nu styr jag min centralvärme, säkerhet och belysning.Genom att skicka kommandon från min hemdator.Min homeeasy centralvärme controller hacka.Jag kan också logga in distan...

Multifunktions Box Automation

Jag gillar att jobba på mindre projekt med elektronik, och jag vill alltid ha min egen verkstad, men mina föräldrar kommer inte att ge upp förråd på vinden för att min verkstad. Så de flesta av mitt arbete händer i mitt sovrum, och oftast arbetade ja...

Uber Home Automation med Arduino & Pi

[REDIGERA] Jag skapade ett forum för att samarbeta på gateway kod.http://homeautomation.proboards.com/Board/2/openha...För några år sedan, blev jag en hundägare för första gången. Kändes inte som lämnar Cody i kenneln ensam hela dagen. Jag hade en we...

Fysisk Home Automation-gränssnittet

Följande två videos förklara vad detta projekt är tänkt för att göra.Ett gränssnitt ger information och tillåter användaren att kontrollera saker. De flesta hemautomation plattformar förlita sig på ett "virtuellt gränssnitt". Du dra ut en smart...

Linkit en - hem Automation med Bluetooth ledaren Android App

Alla alternativ är kommer med smarta telefoner. Smarta telefoner gör vårt arbete mycket lätt och gör oss lata. Slå på och av hushållsmaskiner med smart telefon med blå tand är i marknaden, men kostnaden hög. Så DIY Blue tooth hem koppla Automation me...

Små Home Automation med Intel Edison och Microsoft Azure

Sakernas Internet står för "Sakernas Internet" som är en utveckling av Internet där det planeras för varje enhet ha nätverksåtkomst, så att de kan skicka och ta emot data. Och ännu viktigare, att identifiera themselvesto andra enheter.Detta kan...

GROWMAT home automation

GROWMATär automation enhet för bostäder, växthus, fält för växande frukter, grönsaker och blommor. Kan användas som fristående automation enhet, fjärrkontrollen eller övervakning och säkerhetssystem och kan spara tid, eftersom kan verk nästan utan ti...