Indholdsfortegnelse:
- Trin 1: Introduktion
- Trin 2: Modul 1 - FLAT
- Trin 3: Modul 2 - KEDEL
- Trin 4: Hvilket webinterface tilbyder?
Video: Temperatur, fugtighedsmonitor - Arduino Mega + Ethernet W5100: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
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
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
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
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?
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:
Opsæt Raspberry Pi 4 via bærbar/pc ved hjælp af Ethernet-kabel (ingen skærm, ingen Wi-Fi): 8 trin
Opsæt Raspberry Pi 4 via bærbar/pc ved hjælp af Ethernet-kabel (ingen skærm, ingen Wi-Fi): I dette skal vi arbejde med Raspberry Pi 4 Model-B på 1 GB RAM til opsætningen. Raspberry-Pi er en enkelt boardcomputer, der bruges til uddannelsesmæssige formål og DIY-projekter til en overkommelig pris, kræver en strømforsyning på 5V 3A
Sådan laver du et Ethernet -kabel: 5 trin
Sådan laver du et Ethernet -kabel: Hej! I dag lærer vi, hvordan du laver dit helt eget branchestandard ethernet-kabel! Hvilket vil kunne spare dig penge, når det kommer til brug for kabler! Så hvorfor er jeg kvalificeret til at undervise dig? Nå, jeg er en IT -professionel, jeg har brugt de sidste 2
DIY 10/100M Ethernet PoE Injector: 6 trin
DIY 10/100M Ethernet PoE Injector: Her laver vi en enkel PoE -inektor egnet til 10/100M ethernet, kan også drives direkte med batterier
MCP23017 GPIO -styring via Ethernet: 5 trin
MCP23017 GPIO Control Via Ethernet: Styr MCP23017 IO-extender via ethernet ved hjælp af Sensor Bridge og MCP23017 breakout board. Kommandoer sendt af Python -scripts, browser -URL'er eller ethvert system, der er i stand til HTTP -kommunikation. Kan integreres i Home Assistant til hjemmeautomatisering. Ledninger er
Læsefugtighed med Ethernet -sensor: 3 trin
Læsning af luftfugtighed med Ethernet -sensor: Formålet med projektet var at kunne aflæse fugtigheds- og temperaturmålinger via ethernet -netværk, så resultaterne kunne bruges til hjemmeautomatisering (Home Assistant osv.). T9602 -sensor havde den bedste formfaktor, med stor præstation på ar