Giter Site home page Giter Site logo

yatan / arduino_sensors_sketch Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 231 KB

Sketch of ethernet arduino sensors project for OpenSpirulina project

Home Page: http://openspirulina.com/

License: GNU General Public License v3.0

C++ 98.08% Python 1.92%
arduino ethernet mega sensors

arduino_sensors_sketch's Introduction

  • 👋 Hi, I’m @yatan
  • 👀 I’m interested in Dev
  • 🌱 I’m currently learning All Things can be learn
  • 💞️ I’m looking to collaborate on everything
  • 📫 How to reach me Twitter: @yatan87

arduino_sensors_sketch's People

Contributors

openspirulina avatar yatan avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

openspirulina

arduino_sensors_sketch's Issues

add current sensor

the option to add current sensor.

option_current_sensor { //No sensor; ACS 712:Sensor inside; SCT013: no invasive
none,
acs712, //Invasive sensor. Source: https://naylampmechatronics.com/blog/48_tutorial-sensor-de-corriente-acs712.html
sct013 //Non invasive sensor with internal burden resistence. http://www.gonzalogalvan.es/medidor-de-consumo-lectura-de-la-corriente-con-arduino/
};

Also it should include the version of each sensor, for exemple for SCT 013 it can be: 30A/1V or 15A/1V or others.. (factor and multiplier variables)
And sensibility variable value for ACS712 sensor

repassar funcio sort_and_filter_co2

El co2 no hi ha manera que quadri...
s'haura de repassar loa funció sort_and_filter_co2 i aplicar uns altres filtres, per la LCD m'està mostrant un valor de 254ppm i ara he aplicar el codi del CO2 i hi han valors de 425ppm.

Ja ho diuen als comentaris que hi han molts pics i variacions...potser si s'agafen 15 mesures s'haurien de traure les 8 de dalt i les 3 de baix.. o alguna cosa així...

https://www.dfrobot.com/product-1549.html

Change #if for if code block

// Capture Lux ambient float capture_lux() { #if option_lux == lux_BH1750 // Return Lux value with BH1750 return lux_sensor.readLightLevel(); #elif option_lux == lux_ldr // Return Lux value with LDR return analogRead(ldr_pin); #endif }

BHT1750 + Range Lux

Mirar si es posible augmentar el rang de lux que pot agafar.
Permetre utilitzar mes de 2 sensors amb les mateixes adreces. (Multiplexor ? )
En principi per defecte ja agafa el màxim que són 11 bits per el UNO, potser per el mega es pot augmentar. Cal mirar-ho

millora conexio ethernet

Si el internet falla quan està intentant enviar després sol fallar fins que no es reiniciar l'arduino.
Sovint a la pantalla surt l'Ok però realment no envia, i ja no torno a enviar fins que no es reinicia....

La proposta seria que es reiniciï si no pot enviar a internet....
com hi ha un pin que és pel RESET (al costat del 3V3) es podria posar un pin digital que donés senyal i per tan reinciés l'aparell quan no és connecta a internet...(encara que això ho podria fer entrar en un bucle, per sol·lucionar-ho aquest botó de reiniciar podria ser un interruptor que si hi ha connexió a internet sigui on, si no hi ha connexió a internet off = no es reinicia mai).

Revisar Placa_23

  • Revisar connexió interruptor cal·libració pH
  • Soldar CO2 al pin corresponent
  • Carregar nou sketch
  • Assignar dades BD
  • Verificar SD
  • Verificar connexió internet

Mostrar dades per LCD

T1: 12,34 T2: 12,34
pH1: 11,3 pH2: 11,3
LAST: 12:12
openspirulina.com

  • Línea 1

  • Línea 2

  • Línea 3

  • Línea 4

  • Reset lcd every x loops

afegir sensor de CO2 (MG811)

Donat que el sensor de CO2 de dfrobot no funcoina bé, s'opta per canviar de sensor. Per el MG811. Avere què tal funciona.

El codi amb el que està calibrat és aquest, però estaria bé, agafar unes quantes mesures, descartar màxims i mínims...
Salut!!

#define pin_sensor A1 //Pin del sensor
float adc; //Variable para obtener los valores en el 1 paso
float voltaje; //Variable para obtener el voltaje en el 2 paso
float variable; //Variable final del sensor en el 3 paso
float rel_voltaje_variable = 1; //Relación Voltaje/Variable del sensor (en el caso del LM35 es 100)
float co2conc;
void setup()
{
Serial.begin(9600);
}

void loop()
{
//Paso 1, conversión ADC de la lectura del pin analógico
adc = analogRead(pin_sensor);
Serial.print(adc);
Serial.println(" valor sensor");
//Paso 2, obtener el voltaje
voltaje = adc * 5 / 1023;
Serial.print(voltaje);
Serial.println(" V");

co2conc=voltaje*(-3157.89)+1420;
Serial.print(co2conc);
Serial.println("ppm CO2");
//Paso 3, obtener la variable de medida del sensor
variable = voltaje * rel_voltaje_variable;
Serial.println(variable);

delay(2000);
}

Afegir tots els sensors per la SD i Internet

En cas que DO no ha obtingut dades per agitació = off --> No enviar el valor
Capçalera creada per Lux a SD, pero falta les dades
Les temperatures fa falta separar per upper o bottom

SD :

  • Temps
  • Ambient
  • pH
  • Lux
  • DO

Internet:

  • Temps
  • Ambient
  • pH
  • Lux
  • DO

w5500 library

the etherent shield used is being changed according to seeking better performance
the new shield is : w5500 ethernet shield.

It's tested and not working provably according to new library needed to use.
it's need to be fixed the library used.

add second DO

To add a second DO using the same BHT1750 lux sensor.
the second one will use the second sensor adress (using addr).

Them the lux sensor for sunlight will be max44009 in theses cases...

LDR laser sequence

4b2a402#commitcomment-27492159

  • mesurar tots els tancats (es pot fer sense delay),
  • obrir 1, esperar, mesurar amb obert, tancar
  • obrir 2, esperar, mesurar amb obert, tancar.

Ja que sinó hem d'esperar més segons cada vegada que es pren mesura del tancat...
A banda está de que cada mesura en faci 5 o 10 i faci la mitjana...

OK -FAIL

posar un ok o Fail, cada cop que es conecta a interent:
OK si s'ha enviat bé
FAIL si no s'ha enviat bé

(el del nicolás toto el rato diu OK).

Send lux pre-DO capture

Capture Lux previous capture DO value

  • Capture lux
  • Send to server
  • Preparar DB
  • Capture from server

sequencia de funcions

Tal i com hem parlat avui faltaria el loop per tal que es puguin fer les secuencies amb la funció milis()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.