Taula de continguts:
- Pas 1: Muntatge
- Pas 2: configureu IDE i biblioteques
- Pas 3: Programació del sistema
- Pas 4: fabricació
- Pas 5: Codi
Vídeo: Registrador de dades de codi obert (OPENSDL): 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
L’objectiu d’aquest projecte és dissenyar, construir i provar un sistema de mesura de baix cost per als estudis d’avaluació del rendiment de l’edifici que inclogui almenys temperatura, humitat relativa, il·luminació i sigui extensible a sensors addicionals, i desenvolupar el prototip d’aquests dispositius..
Això es tradueix en un sistema personalitzat i assequible que permet als grups d'interès dur a terme les mesures necessàries per a l'avaluació del rendiment de l'edifici d'una manera eficaç i assequible registrant múltiples paràmetres ambientals alhora. El registre de dades de codi obert (OPENSDL) desenvolupat es va comparar amb un registrador de dades HOBO U12-012. Aquest sistema de contrapartida disponible al mercat pot mesurar 3 paràmetres, a saber: temperatura, HR i il·luminació, i un canal extern per a altres tipus de sensors. Es necessitaria un dispositiu de detecció diferent per mesurar qualsevol altre paràmetre. Les característiques dels paràmetres a mesurar es limiten al maquinari i al programari propietaris, que restringeixen el sistema a la mesura de certs paràmetres amb precisions específiques. Un HOBO U12-012 costa al voltant de 13.000 euros (185 dòlars EUA), mentre que l’OPENSDL costa 4.660 ₹ (66 dòlars EUA), que és gairebé un terç de la contrapart comercial.
Un registre de dades de codi obert per controlar la temperatura, l'HR i els nivells de llum (il·luminació) amb l'ajut d'un Arduino Uno. Aquest és un bricolatge per desenvolupar el registre de dades OPENSDL.
Temps requerit: 2-3 hores per soldar, 5 hores per embalar (4 hores - impressió 3D i 1 hora per tall per làser) Habilitats necessàries: soldadura, poc o cap coneixement en programació i electrònica
Peces necessàries:
- Arduino Uno amb cable
- Escut de registre de dades
- Bateria mòbil CR1220
- Tauler de trencament del sensor de pressió d’humitat de temperatura BME280
- Tauler de sortida de sensor de llum TSL2561
- Mòdul Wi-Fi ESP01-8266
- Connector RJ-9 mascle i femella
- Capçaleres d'apilament d'escuts per a Arduino
- Targeta de memòria SD (qualsevol capacitat)
- Tauler vectorial (forats de 26 x 18)
- 8 bateries AA Suport de bateria
Eines necessàries:
- Soldador (35W)
- Filferro de soldadura
- Tallador de filferro
- Eina de premsat
- Multímetre
Cal programari: Arduino IDE (1.0.5 o superior)
Biblioteques Arduino utilitzades:
- Biblioteca de cables
- Biblioteca SparkFun TSL2561
- Biblioteca multisensor Cactus BME280
- Biblioteca de targetes SD
- Biblioteca SPI
- Biblioteca RTC
Nota: El sensor BME280 és un sensor de temperatura, humitat relativa i pressió molt precís de Bosch. De la mateixa manera, el DS1307 és un rellotge precís en temps real de Maxim i el TSL2561 és un sensor de llum precís. Hi ha alternatives menys costoses i menys precises per a aquests productes, però aquest tutorial va dirigit a persones que estaven interessades en recopilar dades per avaluar el rendiment de l'edifici i aplicar aplicacions de control de l'edifici que requereixin una alta precisió i precisió. Això significa que la configuració de programari i de maquinari específica (biblioteques, codi de programa) es va fer exclusivament per als productes especificats.
Pas 1: Muntatge
El blindatge del registre de dades es pot apilar fàcilment a la part superior de la placa Arduino Uno. Aquest escut proporciona les capacitats de registre de dades (temps i emmagatzematge de dades). L’escut s’havia d’apilar. S'havia d'inserir una bateria de cèl·lula de moneda CR1220 a la ranura rodona proporcionada per mantenir el rellotge en funcionament fins i tot quan l'Arduino està apagat. La targeta de memòria SD s'ha d'inserir a la ranura de targeta incorporada que es proporciona. Es va desenvolupar un blindatge personalitzat únic mitjançant l'ús de pins femelles del connector RJ-9 i capçaleres d'apilament de blindatge Arduino. Les capçaleres adequades es van soldar als llocs adequats perquè l’escut encaixi perfectament a la placa Arduino. L'Arduino té 18 pins a un costat i 14 pins a l'altre costat. Les capçaleres amb el mateix nombre de pins es van utilitzar al mateix espai (18 pins separats) que a Arduino. L’espai addicional restant adjacent a les capçaleres es va utilitzar per col·locar el connector RJ-9.
Les capçaleres eren la millor manera d’utilitzar els pins necessaris, mentre que els feien encara disponibles per a l’ús d’altres components. Els sensors utilitzats segueixen el protocol de comunicació I2C, que requereix 4 pins d'Arduino, a saber: SDA (també disponible com a A4), SCL (també disponible com a A5), 3,3 V i GND. Els quatre cables que sortien del connector RJ-9 es van soldar en aquests quatre pins de capçalera. El nombre de connectors RJ-9 necessaris depèn del nombre de sensors. En aquest projecte, es van utilitzar 3 connectors RJ-9 (dos per a BME280 i un per a TSL2561). Els quatre cables que sortien del connector RJ-9 tenien un codi de colors i cada cable de color es designava com un pin específic per a tots els connectors RJ-9. Cal tenir en compte que el codi de color pot variar en diferents peces RJ-9. En aquest cas, cal tenir en compte la ubicació del cable al connector. Després de soldar, el connector RJ-9 es va enganxar a la placa vectorial mitjançant un Feviqwik, de manera que es fixés a la superfície. Aquestes connexions es poden verificar mitjançant el mode de continuïtat al multímetre. Quan es troba en mode de continuïtat, el multímetre hauria de mostrar resistència nul·la. Connecteu una de les sondes del multímetre al pin soldat i una altra sonda al pin dins del connector RJ-9. El multímetre hauria d’emetre un to, cosa que significa que les juntes de soldadura són adequades i que les connexions s’han fet correctament. Si no s’emet el to, comproveu les juntes de soldadura. De la mateixa manera, soldeu el connector RJ-9 amb els mateixos cables que es connecten als mateixos forats a les plaques de ruptura del sensor, és a dir, A4, A5, 3.3V i GND. El sensor BME280 admet dues adreces I2C, és a dir, que es poden connectar dos sensors BME280 al mateix controlador alhora. En fer-ho, s’ha de canviar l’adreça d’un dels sensors mitjançant el pont de les pastilles de soldadura del sensor. Un xip de connexió sense fils ESP-01 requeria les següents connexions amb l'Arduino.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Nota: - S'han eliminat els múltiples LEDs d'Arduino Uno per millorar la durada de la bateria. Els LED indicadors d’alimentació, els LED RX i TX s’han eliminat escalfant les juntes de soldadura i empenyent el LED amb pinces.
Pas 2: configureu IDE i biblioteques
Abans de fer cap programació, cal descarregar Arduino IDE (Integrated Development Environment). La programació es va fer en aquesta plataforma. Calia que diferents biblioteques interactuessin amb diferents components d’OPENSDL. Es van utilitzar les biblioteques següents per als components donats.
Component ------------------------------------------------- -------------- Biblioteca
Sensor de temperatura i HR BME280 --------------------------------- Cactus_io_BME280_I2C.h
Sensor de llum ------------------------------------------------ ---------------- SparkFun TSL2561.h
Rellotge en temps real ----------------------------------------------- ------------- RTClib.h
Presa de la targeta SD ----------------------------------------------- ------------- SD.h
Connexió I2C ------------------------------------------------ ------------- Wire.h
No cal una biblioteca independent per comunicar-se amb l’ESP01, ja que el codi penjat a l’Arduino té comandes AT, que s’envien al monitor sèrie, des d’on l’ESP-01 pren les instruccions. Així doncs, bàsicament, les ordres AT mitjançant les quals s’executa ESP01 s’imprimeixen al Serial Monitor, que l’ESP-01 pren com a ordre d’entrada. Per instal·lar aquestes biblioteques, després de descarregar-les, obriu l'IDE Arduino, aneu a Sketch -> Inclou biblioteca -> Afegeix biblioteca. Zip i seleccioneu les biblioteques descarregades.
Pas 3: Programació del sistema
Abans de programar l’OPENSDL, connecteu l’Arduino amb un ordinador portàtil. Després de connectar-vos, aneu a Eines -> Port i seleccioneu el port COM al qual està connectat l’OPENSDL. A més, assegureu-vos que a Eines -> Taulers, estigui seleccionat Arduino Uno.
L'OPENSDL va ser desenvolupat per funcionar en 2 modes. En el primer mode, emmagatzema les dades a la targeta SD a la pantalla del registrador de dades. En segon mode, envia les dades per Internet a un lloc web mitjançant un xip Wi-Fi ESP-01. El programa per als dos modes és diferent. Aquestes línies de codi es poden copiar i enganxar directament a l'editor IDE d'Arduino i utilitzar-les directament. Un cop al codi, hem de fer algunes personalitzacions segons les nostres necessitats:
- Canvieu manualment el valor de delay (1000) al final del codi per canviar l'interval de registre. El valor 1000 representa l'interval en mil·lisegons.
- Editeu la línia de codi que diu mySensorData = SD.open ("Logged01.csv", FILE_WRITE); i substituïu Logged01 pel nom del fitxer que desitgeu. L'extensió del fitxer també es pot canviar modificant l'extensió.csv just després del nom del fitxer.
- L'equació de calibratge aconseguida en trobar la correlació entre el sensor mestre / referència i el BME280 variarà segons cada sensor. Substituïu aquesta línia de codi per l'equació per calibrar els sensors: Serial.print ((1.0533 * t2) -2.2374) - per al sensor amb adreça predeterminada (0x77), on t2 és el valor llegit del sensor de temperatura.
S'ha proporcionat un programa independent per programar el segon mode disponible d'OPENSDL, que és el sistema sense fils. L'ESP-01 s'ha de connectar a l'OPENSDL d'acord amb les connexions tal com s'explica al pas núm. 2. Després de completar les connexions, connecteu l'Arduino a l'ordinador portàtil i pengeu un esbós en blanc a l'Arduino. Poseu l’ESP-01 en mode d’actualització i actualitzeu el firmware a la darrera actualització disponible. Després de l’actualització, assegureu-vos de connectar el pin de restabliment d’Arduino amb el pin de 3,3 V, que evita el carregador d’arrencada d’Arduino.
Pas 4: fabricació
Es va crear un recinte per a OPENSDL per protegir-lo i millorar-ne l’estètica. Les carcasses es van desenvolupar mitjançant la impressió 3D amb material PLA i la carcassa del microcontrolador es va desenvolupar mitjançant el tall làser de la làmina de MDF i l’encolat de les peces. Els models impresos en 3D es van desenvolupar mitjançant el programari SketchUp i els dibuixos 2D dxf per al tall amb làser es van crear mitjançant AutoCAD.
Per a la impressió 3D, els fitxers STL produïts mitjançant SketchUp es van obrir i comprovar al programari Ultimaker Cura 3.2.1. Assegureu-vos que s’utilitza material PLA i que el broquet de la impressora utilitzat serveix per imprimir 0,4 mm. És possible que la placa de construcció de la impressora 3D requereixi cola per enganxar l’objecte imprès en 3D. Però quan es completa la impressió, la cola crea una forta adhesió entre l’objecte imprès i la placa de construcció.
Pas 5: Codi
El codi (fitxers.ino) està fet per funcionar amb el programari IDE Arduino. Aquí teniu l’enllaç a la meva pàgina de Github per obtenir el codi i altres detalls.
github.com/arihant93/OPENSDL
No dubteu a fer preguntes sobre el projecte.
Gràcies.
Recomanat:
Q-Bot: el solucionador de cubs de codi obert de Rubik: 7 passos (amb imatges)
Q-Bot: el solucionador de cubs de codi obert de Rubik: imagineu-vos que teniu un cub de Rubik remenat, ja sabeu que el trencaclosques dels anys 80 té tothom, però ningú no sap resoldre-ho i voleu tornar-lo al patró original. Per sort, avui en dia és molt fàcil trobar instruccions per resoldre
Kit d'Arduino Learner (codi obert): 7 passos (amb imatges)
Kit d'aprenentatge d'Arduino (codi obert): si sou un principiant a Arduino World i aneu a aprendre Arduino, teniu experiència pràctica en aquest manual i aquest kit és per a vosaltres. Aquest kit també és una bona opció per als professors que els agrada ensenyar Arduino als seus estudiants d'una manera senzilla
PyonAir: un monitor de contaminació atmosfèrica de codi obert: 10 passos (amb imatges)
PyonAir: un monitor de contaminació atmosfèrica de codi obert: el PyonAir és un sistema de baix cost per controlar els nivells locals de contaminació atmosfèrica, concretament les partícules. Basat en la placa Pycom LoPy4 i el maquinari compatible amb Grove, el sistema pot transmetre dades tant per LoRa com per WiFi. Vaig emprendre aquesta p
OpenLogger: un registrador de dades portàtil d’alta resolució, Wi-Fi, de codi obert i portàtil: 7 passos
OpenLogger: un registre de dades portàtil d’alta resolució, habilitat per Wi-Fi, de codi obert i portàtil: OpenLogger és un registrador de dades portàtil, de codi obert, de baix cost i d’alta resolució dissenyat per proporcionar mesures d’alta qualitat sense necessitat de programes ni programes d’escriptura costosos. des de zero. Si sou enginyer, científic o entusiasta que no
El 'Sup: un ratolí per a persones amb tetraplegia: de baix cost i de codi obert: 12 passos (amb imatges)
The Sup: un ratolí per a persones amb tetraplegia: de baix cost i de codi obert: a la primavera del 2017, la família del meu millor amic em va preguntar si volia volar a Denver i ajudar-los amb un projecte. Tenen un amic, Allen, que té quadriplegia com a conseqüència d’un accident de bicicleta de muntanya. Fèlix (el meu amic) i jo vam fer una investigació ràpida