Indholdsfortegnelse:
- Trin 1: Montering
- Trin 2: Konfigurer IDE'er og biblioteker
- Trin 3: Programmering af systemet
- Trin 4: Fremstilling
- Trin 5: Kode
Video: Open Source Data Logger (OPENSDL): 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Formålet med dette projekt er at designe, bygge og teste et billigt målesystem til evaluering af bygningsresultater, der omfatter mindst temperatur, relativ luftfugtighed, belysning og kan udvides til yderligere sensorer og udvikle prototypen af disse enheder.
Dette resulterer i et skræddersyet og overkommeligt system, der gør det muligt for interessenter at foretage de målinger, der kræves for at opbygge ydelsesevaluering på en effektiv og overkommelig måde ved at logge flere miljøparametre på én gang. Open Source Data Logger (OPENSDL) udviklet blev sammenlignet med en HOBO U12-012 datalogger. Dette kommercielt tilgængelige modpartssystem kan måle 3 parametre, nemlig temperatur, RH og belysningsstyrke og en ekstern kanal til andre sensortyper. En anden registreringsindretning ville være påkrævet til måling af enhver anden parameter. Egenskaberne ved parametre, der skal måles, er begrænset til den hardware og software, der begrænser systemet til at måle bestemte parametre med specifikke nøjagtigheder. En HOBO U12-012 koster omkring £ 13.000 (US $ 185), mens OPENSDL koster £ 4.605 ($ 66), hvilket er næsten en tredjedel af den kommercielle pendant.
En open source datalogger til overvågning af temperatur, RH og lysniveauer (belysning) ved hjælp af en Arduino Uno Dette er en DIY til udvikling af OPENSDL datalogger.
Påkrævet tid: 2-3 timer til lodning, 5 timer til emballering (4 timer - 3D -print og 1 time til laserskæring) Påkrævede færdigheder: Lodning, ringe eller ingen viden inden for programmering og elektronik
Nødvendige dele:
- Arduino Uno med kabel
- Datalogger skjold
- CR1220 møntcellebatteri
- BME280 temperaturfugtighedstryksensor breakout board
- TSL2561 lyssensor breakout board
- ESP01-8266 Wi-Fi-modul
- RJ-9 han- og hunstik
- Skærmstabelhoveder til Arduino
- SD -hukommelseskort (enhver kapacitet)
- Vektor bord (26 x 18 huller)
- 8 AA batterier Batteriholder
Påkrævede værktøjer:
- Loddejern (35W)
- Loddetråd
- Trådskærer
- Crimper værktøj
- Multimeter
Software påkrævet: Arduino IDE (1.0.5 eller højere)
Arduino biblioteker brugt:
- Wire bibliotek
- SparkFun TSL2561 bibliotek
- Cactus BME280 multisensor bibliotek
- SD -kort bibliotek
- SPI bibliotek
- RTC bibliotek
Bemærk: BME280 -sensoren er en meget nøjagtig temperatur-, relativ luftfugtigheds- og trykføler fra Bosch. Tilsvarende er DS1307 et nøjagtigt realtidsur fra Maxim, og TSL2561 er en præcis lyssensor. Der er billigere og mindre præcise alternativer til disse produkter, men denne vejledning var rettet mod folk, der var interesserede i at indsamle data til opbygning af evaluering af ydeevne og bygningsovervågning, der kræver høj præcision og nøjagtighed. Det betyder, at enhver specifik hardwareopsætning og softwareopsætning (biblioteker, programkode) strengt kun var beregnet til de angivne produkter.
Trin 1: Montering
Datalogger -skjoldet kan nemt stables oven på Arduino Uno -kortet. Dette skjold giver mulighed for datalogning (tidsopbevaring og datalagring). Skjoldet skulle stables. Et CR1220 møntcellebatteri skulle indsættes i den medfølgende runde slot for at holde uret kørende, selvom Arduino er slukket. SD-hukommelseskortet skal indsættes i den medfølgende kortplads. Et unikt tilpasset skjold blev udviklet ved hjælp af RJ-9 stik hunstifter og Arduino skjoldstabelhoveder. De relevante overskrifter blev loddet på de passende steder, så skjoldet passer perfekt på Arduino -kortet. Arduino har 18 ben på den ene side og 14 ben på den anden side. Overskrifterne med samme antal ben blev brugt med samme afstand (18 ben fra hinanden) som på Arduino. Den resterende ekstra plads ved siden af overskrifterne blev brugt til at placere RJ-9-stikket.
Overskrifterne var den bedste måde at bruge de nødvendige stifter, mens de stadig var tilgængelige til brug for andre komponenter. De anvendte sensorer følger I2C -kommunikationsprotokollen, som kræver 4 pins fra Arduino, nemlig: SDA (også tilgængelig som A4), SCL (også tilgængelig som A5), 3.3V & GND. De fire ledninger, der kom ud fra RJ-9-stikket, blev loddet ind i disse fire hovedstifter. Antallet af nødvendige RJ-9-stik afhænger af antallet af sensorer. I dette projekt blev der brugt 3 RJ-9 stik (to til BME280 og et til TSL2561). De fire ledninger, der kom ud af RJ-9-stikket, var farvekodede, og hver farvetråd blev betegnet som en specifik pin til alle RJ-9-stik. Det skal bemærkes, at farvekoden kan variere på forskellige RJ-9 stykker. I et sådant tilfælde skal ledningens placering på stikket noteres. RJ-9-stikket blev efter lodning sat til at sidde fast på vektortavlen ved hjælp af en Feviqwik, så det fikseres på overfladen. Disse forbindelser kan verificeres ved hjælp af kontinuitetstilstanden på multimeteret. I kontinuitetstilstand skal multimeteret vise nul modstand. Tilslut en af multimeterproberne til loddetappen, og en anden sonde til stiften inde i RJ-9-stikket. Multimeteret skal afgive en tone, hvilket betyder, at loddeledene er korrekte, og forbindelserne er foretaget korrekt. Hvis tonen ikke udsendes, skal du kontrollere loddefugerne. På samme måde loddes RJ-9-stikket med de samme ledninger, der forbinder til de samme huller på sensorens breakout boards, dvs. A4, A5, 3.3V & GND. BME280 -sensoren understøtter to I2C -adresser, hvilket betyder, at to BME280 -sensorer kan tilsluttes den samme controller på én gang. Mens du gør det, skal adressen på en af sensorerne ændres ved at bygge bro mellem loddepuderne på sensoren. En ESP-01 trådløs forbindelseschip krævede følgende forbindelser med Arduino.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Bemærk:- De flere lysdioder på Arduino Uno blev fjernet for at forbedre batteriets levetid. Strømindikatorens LED-, RX- og TX -lysdioder blev fjernet ved at opvarme loddeledene og skubbe LED'en med pincet.
Trin 2: Konfigurer IDE'er og biblioteker
Inden programmeringen foretages, skal Arduino IDE (Integrated Development Environment) downloades. Programmeringen blev udført på denne platform. Forskellige biblioteker skulle interagere med forskellige komponenter i OPENSDL. Følgende biblioteker blev brugt til de givne komponenter.
Komponent ------------------------------------------------- --------------Bibliotek
BME280 temperatur- og RH-sensor --------------------------------- Cactus_io_BME280_I2C.h
Lyssensor ------------------------------------------------ ---------------- SparkFun TSL2561.h
Realtidsur ----------------------------------------------- ------------- RTClib.h
SD-kortstik ----------------------------------------------- ------------- SD.h
I2C-forbindelse ------------------------------------------------- ------------- Wire.h
Et separat bibliotek til kommunikation med ESP01 er ikke påkrævet, da koden, der er uploadet i Arduino, har AT-kommandoer, som sendes til den serielle skærm, hvorfra ESP-01 tager instruktionerne. Så dybest set bliver de AT-kommandoer, som ESP01 kører, udskrevet i Serial Monitor, der tages som en inputkommando af ESP-01. For at installere disse biblioteker, efter at have downloadet dem, skal du åbne Arduino IDE, gå til Skitse -> Inkluder bibliotek -> Tilføj. Zip -bibliotek, og vælg de downloadede biblioteker.
Trin 3: Programmering af systemet
Inden du programmerer OPENSDL, skal du tilslutte Arduino med en bærbar computer. Efter tilslutning skal du gå til Værktøjer -> Port, og vælge den COM -port, hvor OPENSDL er tilsluttet. Sørg også for, at under Værktøjer -> Tavler er Arduino Uno valgt.
OPENSDL blev udviklet til at fungere i 2 tilstande. I den første tilstand gemmer dataene på SD -kortet på datalogger -skjoldet. I anden tilstand sender den dataene over internettet til et websted ved hjælp af en ESP-01 Wi-Fi-chip. Programmet for begge tilstande er anderledes. Disse kodelinjer kan kopieres og indsættes direkte i Arduino IDE -editoren og bruges direkte. Når vi er i koden, skal vi lave et par tilpasninger efter vores behov:
- Ændre værdien af forsinkelse (1000) manuelt i slutningen af koden for at ændre logningsintervallet. Værdien 1000 repræsenterer interval i millisekunder.
- Rediger kodelinjen, der siger mySensorData = SD.open ("Logged01.csv", FILE_WRITE); og erstat Logged01 med filnavnet for det ønskede filnavn. Filens udvidelse kan også ændres ved at ændre.csv -udvidelsen lige efter filnavnet.
- Kalibreringsligningen opnået ved at finde sammenhængen mellem Master/referencesensoren og BME280 vil variere med hver sensor. Udskift denne kodelinje med ligningen til kalibrering af sensorerne: Serial.print ((1.0533*t2) -2.2374)-for sensor med standardadresse (0x77), hvor t2 er værdien, der er aflæst fra temperatursensoren.
Der er leveret et separat program til programmering af den anden tilgængelige tilstand for OPENSDL, som er det trådløse system. ESP-01 skal tilsluttes OPENSDL i henhold til forbindelserne som forklaret i trin #2. Når forbindelserne er fuldført, skal du slutte Arduino til den bærbare computer og uploade en tom skitse i Arduino. Sæt ESP-01 i opdateringstilstanden, og opdater firmwaren til den seneste tilgængelige opdatering. Efter opdateringen skal du sørge for at forbinde nulstillingsstiften på Arduino med 3,3V -stiften, som omgår Arduino -bootloaderen
Trin 4: Fremstilling
Et kabinet til OPENSDL blev oprettet for beskyttelse og for at forbedre æstetikken. Foringsrørene blev udviklet ved 3D -print ved hjælp af PLA -materiale, og kabinettet til mikrokontrolleren blev udviklet ved laserskæring af MDF -arket og limning af stykkerne sammen. 3D -printede modeller blev udviklet ved hjælp af SketchUp software, og 2D dxf tegninger til laserskæring blev oprettet ved hjælp af AutoCAD.
Til 3D -udskrivning blev STL -filerne, der blev produceret ved hjælp af SketchUp, åbnet og kontrolleret i Ultimaker Cura 3.2.1 -softwaren. Sørg for, at der bruges PLA -materiale, og printerens dyse er til 0,4 mm udskrivning. Byggepladen til 3D -printeren kan kræve lim for at klæbe det 3D -udskrevne objekt. Men når udskrivningen er færdig, skaber limen en stærk vedhæftning mellem det trykte objekt og byggepladen.
Trin 5: Kode
Koden (.ino -filer) er lavet til at fungere i Arduino IDE -software. Her er linket til min Github -side for koden og andre detaljer.
github.com/arihant93/OPENSDL
Tøv ikke med at stille spørgsmål til projektet.
Tak.
Anbefalede:
Q -Bot - Open Source Rubiks kubeløser: 7 trin (med billeder)
Q -Bot - Open Source Rubiks kubeløser: Forestil dig, at du har en krypteret Rubiks kube, du kender det puslespil fra 80'erne, som alle har, men ingen ved virkelig, hvordan de skal løse, og du vil bringe det tilbage i sit originale mønster. Heldigvis er det i disse dage meget let at finde løsningsinstruktioner
Arduino Learner Kit (Open Source): 7 trin (med billeder)
Arduino Learner Kit (Open Source): Hvis du er nybegynder i Arduino World og vil lære Arduino at have lidt praktisk erfaring med denne Instructables og dette Kit er noget for dig. Dette kit er også et godt valg for lærere, der kan lide at lære Arduino til deres elever på en nem måde
PyonAir - en open source luftforureningsmonitor: 10 trin (med billeder)
PyonAir - en open source luftforureningsmonitor: PyonAir er et billigt system til overvågning af lokale luftforureningsniveauer - specifikt partikler. Baseret på Pycom LoPy4-kortet og Grove-kompatibel hardware kan systemet overføre data over både LoRa og WiFi. Jeg påtog mig denne p
K -Ability V2 - Open Source Accessible Keyboard for Touchscreens: 6 trin (med billeder)
K-Ability V2-Open Source Accessible Keyboard for Touchscreens: Denne prototype er den anden version af K-Ability.K-Ability er et fysisk tastatur, der tillader brug af touchscreen-enheder til personer med patologier, der resulterer i neuromuskulære lidelser. Der er mange hjælpemidler der letter brugen af computere
The 'Sup - en mus til mennesker med Quadriplegia - lave omkostninger og open source: 12 trin (med billeder)
The 'Sup - a Mouse for People With Quadriplegia - Low Cost and Open Source: I foråret 2017 spurgte min bedste vens familie mig, om jeg ville flyve til Denver og hjælpe dem med et projekt. De har en ven, Allen, der har quadriplegia som følge af en mountainbike-ulykke. Felix (min ven) og jeg lavede en hurtig undersøgelse