Indholdsfortegnelse:

Temperatur, fugtighedsmonitor - Arduino Mega + Ethernet W5100: 5 trin
Temperatur, fugtighedsmonitor - Arduino Mega + Ethernet W5100: 5 trin

Video: Temperatur, fugtighedsmonitor - Arduino Mega + Ethernet W5100: 5 trin

Video: Temperatur, fugtighedsmonitor - Arduino Mega + Ethernet W5100: 5 trin
Video: Ecobee Room Sensors How Do They Work to Maximize Comfort & Minimize Energy-Bill USA 2024, November
Anonim
Temperatur, fugtighedsmonitor - Arduino Mega + Ethernet W5100
Temperatur, fugtighedsmonitor - Arduino Mega + Ethernet W5100

Modul 1 - FLAT - hardware:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet -skærm
  • 8x DS18B20 temperatursensor på OneWire -bus - opdelt i 4 OneWire -busser (2, 4, 1, 1)
  • 2x digital temperatur- og luftfugtighedsføler DHT22 (AM2302)
  • 1x temperatur- og luftfugtighedsføler SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 temperatur og luftfugtighed (og lufttryk) sensor
  • Sender data fra alle sensorer på én gang om flere minutter (kan ændres)

Modul 2 - KEDEL - hardware:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet -skærm
  • 16x DS18B20 temperatursensor på OneWire -bus - opdelt i 7 OneWire -busser (2, 2, 2, 2, 2, 2, 4)
  • 8x digital indgang
  • 8x digital udgang - til magnetventil / relæ
  • Sender data fra alle sensorer på én gang om flere minutter (kan ændres)
  • Den læser tilstande for individuelle output fra webgrænsefladen, anvender dem Sender digitale inputtilstande

Trin 1: Introduktion

Introduktion
Introduktion
Introduktion
Introduktion
Introduktion
Introduktion

I dag vil jeg i detaljer præsentere det sidste realiserede projekt, som er ret komplekst med hensyn til funktionalitet, antal anvendte sensorer, Arduino -tavler, brugte databusser. Projektet består af to moduler. Fysisk består hvert modul af en separat Arduino Mega 2560, Ethernet -skærm W5100 (R3 -kompatibel) og de sensorer, den bruger.

Hvert modul kommunikerer med webgrænsefladen på Internettet ved hjælp af HTTP POST -anmodninger, hvorved webserveren sælger data eller anmoder om nogle data, f.eks. Via POST -anmodning (kun modul 2). Webgrænsefladen er afsluttet med et loginsystem, mens hele familien kan registrere sig til systemet, hver med sit navn og adgangskode. Det er derfor en flerbrugerapplikation, hvor hvert familiemedlem har overblik over begge moduler og kan udføre forskellige handlinger - indstilling af referenstemperatur, kontroltermometer osv. Webgrænseflade er programmeret i PHP, data gemmes i MySQL -database. Hvert af modulerne har en separat tabel i databasen for data. Overvej de enkelte moduler mere detaljeret.

Trin 2: Modul 1 - FLAT

Modul 1 - FLAD
Modul 1 - FLAD
Modul 1 - FLAD
Modul 1 - FLAD

Hele modulet 1- FLAT fungerer kun som temperaturovervågning i individuelle rum, det har ingen anden rolle. DHT22 -sensorer blev brugt over en lang afstand ved hjælp af en passende 10kohm pullup -modstand til at registrere luftfugtighed i badeværelserne. Da BME280 og SHT21 kommunikerer over I2C -bussen, og dette er betydeligt begrænset med hensyn til buschaufførlængder, bruges sensorer i nærheden af Arduino i lokaler.

DS18B20 temperatursensorer er blevet opdelt i 4 busser, da der bruges to eksterne sensorer, hvilket gør det lettere at tilslutte dem til separate Arduino -udtag, og i tilfælde af et sensorfald er det lettere at udskifte, da det ikke lammer funktionaliteten af systemet.

For eksempel i tilfælde af en af disse OneWire -busser, hvorpå 4 sensorer er indekseret. Indekset er forbundet med termometrenes fysiske adresse, så hvis en af sensorerne udveksles, vises den nye sensor muligvis på indekset 0 - initial eller endda 2, 3 eller sidste. Ved at reducere antallet af sensorer på busserne kan vi således undgå en sådan komplikation, der kan opstå, når sensoren udskiftes.

Trin 3: Modul 2 - KEDEL

Modul 2 - KEDEL
Modul 2 - KEDEL
Modul 2 - KEDEL
Modul 2 - KEDEL
Modul 2 - KEDEL
Modul 2 - KEDEL

Ud over monitorfunktionen har modul 2 - BOILER også en vigtigere rolle, nemlig styring af solenoider eller relæer til styring af radiatorventiler. Modulet fungerer uafhængigt af husopvarmning. Modulet skifter ikke varme eller kedel. Modulet sørger kun for at åbne, lukke radiatorventilen, hvis rumtemperaturen er lavere / højere end det indstillede - såkaldt. referencetemperatur. Hvert rum, hvor radiatorventilen styres, kan tildeles et specifikt termometer fra modul 2. Ud over dette - automatisk tilstand, er der også en manuel tilstand, hvor ventilen kan åbnes / lukkes manuelt fra webgrænsefladen på ubestemt tid - hårdt. De digitale indgange kan bruges til at kontrollere, at magnetventilen / relæet / ventilen er blevet åbnet / lukket efter anmodning med Arduina - muligheden for at sammenligne, om udgangen er lig med input.

Trin 4: Hvilket webinterface tilbyder?

Hvilke webgrænseflader tilbyder?
Hvilke webgrænseflader tilbyder?
Hvilke webgrænseflader tilbyder?
Hvilke webgrænseflader tilbyder?

For begge moduler er der også en grafisk fremstilling af et stregdiagram til udvikling af individuelle variabler - temperatur, fugtighed på 24 timer, 7 dage. Webgrænsefladen tilbyder også visning af maksimum / minimum, gennemsnitsværdi på 24 timer, 7 dage for hvert termometer / hygrometer. I modul 1 blev der først overvejet et par SHT21 -sensorer, men da de ikke har mulighed for at ændre I2C -adressen, ville det være nødvendigt at bruge en multiplexer til en buskommunikation fra to sensorer med den samme I2C -adresse. I tilfælde af defekte sensordata gemmes sensornavnet i en log, som systemadministratoren til enhver tid kan åbne for at servicere OneWire -bussen og f.eks. Udskifte den defekte sensor.

Watchdog er blevet implementeret i Arduino -programmer, som i tilfælde af forkert initialisering, "frysning", en anden fejl genstarter sikkert og i starten af programmet slukker alle output, indtil forbindelsen til webgrænsefladen er etableret, hvor den er fuldt synkroniseret i betingelser for output, som det efterfølgende anvender.

Flere projekter kan du finde på: https://arduino.php5.sk?lang=da Doner for flere eksempler:

Anbefalede: