Aquaponik-Sensors

From Criticalmedia
(Redirected from Aquaponik-Senors)
Jump to: navigation, search

Project definition

Project with Dr. Roman Gunold Roman Gunold roman.gunold -a- gmx -•- de

Since January 2017 started the project at the FabLab/Science Shop in Potsdam: MACHTBAR

The Project (www.wissnet.de) is funded by the BMBF and we already did one daytime workshop on aquaponics end of April: 1st workshop

During this workshop Roman gave a lecture about global fishery problems and aquaponics as a possible alternative to common Aquasculture. After the lecture we started to build an aquaponic system. Since this workshop we meet every Tuesday afternoon with (still) interested people and continued to set up the aquaponic system outside the FabLab. Finally, this Tuesday (May 16) we added water and launched the aquaponic system (yet without fish and only some plants).

During this workshop (June 17, participants are mainly adults) I will give a lecture about Water Quality and pollution in General, then I will discuss certain water quality parameters, their relevance and how they can be measured. Those parameters (Temperature, Conductivity, pH value, Oxidation reduction potential (ORP)) we later want to include in our DIY-SenseBox based on Arduino.

After the lecture we plan to cheer up the participants and conjointly release fishes (carps) into our aquaponic system, which until this date hopefully established a healthy microbial community needed for the survival of plants and fish.

During the afternoon we want to start building our SenseBox (I have material for about 3 Kits) and maybe get some insights in Arduino-Programming with the help of you. The aim is NOT to finish the SenseBox during this Workshop, but to make the people curious that they show up again the following Tuesday afternoons.

We have a partner project in Nürnber: https://de-de.facebook.com/scienceshopnuernberg/

Where the same Workshop is conducted in parallel. Those guys also have experience with arduino and provide some scripts for the sensors and for making the data accessible via UMTS, Internet, etc.

WORKSHOP CALL OUT

Hallo, hiermit möchten wir euch ganz herzlich zu unserem Workshop Jeder kann Umweltforschung - Wassergütemessung mit DIY-Sensorik einladen. Nach einem einführenden Vortrag über die heutigen Möglichkeiten im Bereich Umweltschutz und DIY (Do it Yourself - Mach es selbst) wollen wir mit euch ein Messgerät auf Basis eines Arduino-Mikrocontrollers bauen, mit dem ihr wichtige Parameter in eurem Badegewässer, eurem Aquarium oder im Leitungswasser selbst bestimmen könnt.

Mit dem Bau des Messgerätes wollen wir auch euer Interesse für die Bereiche Mikroelektronik und Programmierung wecken. Daher haben wir mit Víctor Mazón Gardoqui aus Berlin einen ganz besonderen Experten als Kursleiter eingeladen, bei dem die Schwelle zwischen Künstler und Techniktalent nicht eindeutig auszumachen ist. Eine Übersicht über einige seiner bisherigen Arbeiten findet ihr hier: http://victormazon.com/wrks/workshops/

Wir treffen uns am 17.06.2017 von 10 - 16 Uhr in der machBar, das ist der Wissenschaftsladen im Haus 5 auf dem freiLand-Gelände in Potsdam, Friedrich-Engels-Str. 22, 14473 Potsdam. Die Teilnahme ist kostenfrei, aber um eine Anmeldung per Mail an roman.gunold@gmx.de wird gebeten. Weitere Infos: Sensorik

Kurzfristige Ankündigungen/Änderungen findet ihr auf der Homepage der machbar: MACHBAR

Wir freuen auf euren Besuch: Björn Huwe (Biologe, Potsdam) und Roman Gunold (Umweltwissenschaftler, Leipzig)


Platform

Arduino / Senosors / Actuators / Online tracking through THINKSPEAK

The Arduino board is a small microcontroller board,that contains a whole computer on a small chip.

These can be inputs or outputs, which is specified by the sketch you create in the IDE.

- 14 Digital IO pins (pins 0–13)

- 6 Analogue In pins (pins 0–5) These dedicated analogue input pins take analogue values (i.e., voltage readings from a sensor) and convert them into a number between 0 and 1023.

- 6 Analogue Out pins (pins 3, 5, 6, 9, 10, and 11)

The Software (IDE)

The IDE (Integrated Development Environment) is a special program running on your computer that allows you to write sketches for the Arduino board in a simple language

Anatomy of an Interactive Device

All of the objects we will build using Arduino follow a very simple pattern that we call the “Interactive Device”.

The Interactive Device is an electronic circuit that is able to sense the environment using sensors (electronic components that convert real-world measurements into electrical signals). The device processes the information it gets from the sensors with behaviour that’s implemented as software. The device will then be able to interact with the world using actuators, electronic components that can convert an electric signal into a physical action.


Sensors and Actuators

Sensors and actuators are electronic components that allow a piece of electronics to interact with the world.

As the microcontroller is a very simple computer, it can process only electric signals (a bit like the electric pulses that are sent between neurons in our brains). For it to sense light, temperature, or other physical quantities, it needs something that can convert them into electricity. In our body, for example, the eye converts light into signals that get sent to the brain using nerves. In electronics, we can use a simple device called a light-dependent resistor (an LDR or photoresistor) that can measure the amount of light that hits it and report it as a signal that can be understood by the micro- controller.

Once the sensors have been read, the device has the information needed to decide how to react. The decision-making process is handled by the microcontroller, and the reaction is performed by actuators. In our bodies, for example, muscles receive electric signals from the brain and convert them into a movement. In the electronic world, these functions could be performed by a light or an electric motor.

WORKSHOP SCHEDULE FREILAND

17.06.2017 from 10-17h ~ 15 participants

We use the presentation as a start up-break ice

Presentation with specific attention to the sensors

Presentation of participants

Demonstration of real sensors —> commercial expensive and the china version —> Go to the tanks

Demostration of each sensor on serial monitor


• Meeting video chat Nunberg


Group split:

- Hands on arduino language - krasskurs

- Hands on sensors

- Hands on programming

- Make the box holes


• Meeting video chat Nunberg

Group meeting and collective records

Go to the tanks with the experiments if possible

Discussion about next meet ups.


1st meeting

Needed:

- GSM SIM card and unlock pin. Needed a 2A power (then a lithium and regulator) and 2.1mm connector for powering up the micro.

- Multimeter

- https://github.com/vshymanskyy/TinyGSM/wiki/Powering-GSM-module


Ideas meeting & inspiration

https://smartcitizen.me/

https://www.opensensemap.org/interpolation

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4813948/#app1-sensors-16-00373

https://www.ncbi.nlm.nih.gov/pubmed/24759114/

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4813948/

http://www.citclops.eu/techniques/use-of-optical-sensor

http://marduino-project.icm.csic.es/

https://es.wikipedia.org/wiki/Disco_Secchi

https://thingspeak.com/pages/learn_more

https://processing.org/

http://marduino-project.icm.csic.es/el-proyecto

https://es.wikipedia.org/wiki/Disco_Secchi

http://www.citclops.eu/

http://luz.marinamellado.com/

http://berlin.terrapattern.com/

https://www.mueritzfischer.de/aquaponik-anlage/

http://www.fao.org/3/a-i4021e.pdf

http://aquaponisten.org/aquaponik/

https://www.uradmonitor.com/

http://greenlab.org/

https://www.sparkyswidgets.com/portfolio-item/open-water-quality-sensors/

SENSORS

Sensors to be attached to the microcontroller

- DALLAS DS18B20 waterproof temperature sensor

- DIY-conductivity meter

- pH electrode

- ORP electrode


DALLAS DS18B20 waterproof temperature sensor

https://es.aliexpress.com/w/wholesale-DS18B20.html?initiative_id=SB_20170616124422&site=esp&groupsort=1&SortType=price_asc&SearchText=DS18B20 this is missing! https://es.aliexpress.com/store/product/Stainless-steel-package-Waterproof-DS18b20-temperature-probe-temperature-sensor-18B20-For-Arduino/1738188_32321825026.html?ws_ab_test=searchweb0_0,searchweb201602_4_10152_10208_10065_10151_10068_10194_10304_10301_10136_10137_10060_10155_10062_437_10154_10056_10055_10054_10059_303_100031_10099_10103_10102_10101_10096_10109_10052_10053_10107_10050_10142_10051_10084_10083_10080_10082_10081_10177_10110_519_10111_10112_10113_10114_10180_10182_10184_10078_10079_10073_10186_10123_10189_142,searchweb201603_2,ppcSwitch_7&btsid=83302af2-694b-4295-a78f-32e9d4b464cd&algo_expid=c0b564d4-7a40-4203-a1c7-370682dfbd0f-0&algo_pvid=c0b564d4-7a40-4203-a1c7-370682dfbd0f

DIY-conductivity meter

pH electrode

ORP electrode

ASR2083

ASR2083 documentation

MANUAL ORP

MEASURING ORP

phidget-ph-orp-adapter


ALTERNATIVE ORP/PH: ATLAS SCIENTIFIC

3d printed holder thinkinverse orp/ph

FURTHER COMPONENTS

Real-time clock (RTC DS3231)

http://www.segor.de/#Q=RealTimeClock-Modul%252F3231&M=1

MicroSD Card module (SPI Reader Micro SD)

https://www.amazon.de/Reader-Speicher-Memory-Shield-Arduino/dp/B00QIKJP5W/ref=sr_1_1?ie=UTF8&qid=1489516439&sr=8-1&keywords=Arduino+Sd+Card+Shield Writing the data directly to a file in CSV format which any spreadsheet and most databases can open directly.

By swapping SD cards bi-weekelly rather than messing around trying to get USB access to the SD card in the logger working.

Use a push button to request SD card removal (so your sketch can close files etc.) and add an indicator LED for 'Safe to remove card'.

You can probably buffer a minute's or half a minute's data in RAM (which is a good idea anyway to reduce the number of SD card writes and reduce the risk of card corruption) so provided you swap cards promptly, you wouldn't even loose any data.

I would suggest rotating log files on an hourly basis, it reduces the risk of data loss and makes file sizes more managgeable for post-processing.

Maths

Each 10 bit ADC reading needs four decimal digits.

Each unsigned long int needs ten decimal digits.

Each value except the last needs a comma after it.

A <CR><LF> end of line code.

Which its equal to 5*4+11*2+1 which equals 43 bytes per record, and, logging once per second is 3600 records per hour, or 154800 bytes.

One 2GB SD card —> good for over 18 months worth of data

Would still be a good idea to swap cards at least every 2 weeks to reduce the risk of data loss.

Arduino's MCU has limited RAM so convert to decimal ASCII when you write to the file rather than when the sensor readings are buffered in RAM.

However, if the logger software is properly designed there will be very few things that can crash it short of hardware failure or external EMI. The hourly log file rotation keeps file sizes manageable so you aren't likely to run into any filesystem bugs there. It would be advisable to either rotate log file folders on a weekly basis so you don't run into problems with the number of files per folder, or quick format the card that is being swapped into the logger to wipe previous logs.

Software testing may need to include manipulating the RTC and SD card filesystem to artificially advance the system state to where it would be after days or months of continuous logging.

One hack to the Adafruit sketch that would be worth looking at would be to lift the EN pin (3) of the 3.3V regulator for the SD card, and wire it to an Arduino I/O pin so SD card power is under software control. Being able to cycle power to the SD card increases the chances of recovering from a 'hung' card if it fails on write.

Log any fatal errors to internal EEPROM so you can attempt a post-mortem analysis in more detail than "Its dead, Roman ...".

LCD-Display (LCD 1602 Blau HD44780 I2C Interface)

http://www.ebay.de/itm/162452854154?var=461472352975

SIM800L GSM module

The use of the SIM800L GSM-module was intended for data processing using Thingspeak. First testing yielded no stable operation of the module, hence this device was yet not included to the prototypes 1 & 2. Further investigations are needed to obtain data transmission via GSM needed for data processing via Thingspeak. This is scheduled for prototype 3.

https://github.com/vshymanskyy/TinyGSM

https://github.com/vshymanskyy/TinyGSM/wiki/Powering-GSM-module

http://www.minitronica.com/blog/enviando-sms-arduino-sim800l/

http://www.raviyp.com/embedded/188-difference-between-sim800-and-sim900-gsm-modules

https://electronics.stackexchange.com/questions/95791/what-is-the-difference-between-sim300-sim900-and-sim900a

http://www.prometec.net/gprs-recibir-llamadas-sms/


WIRING OF THE SENSORKIT

1st prototype (using breadboard)

Coding of the Arduino script involved a laboratory setup of all parts explained above. Hence, sensors and other devices were connected with the Arduino Uno Microcontroller using a common breadbord and prototyping wires.

[1]

2nd prototype (using Sensor Shield V5.0)

[2]

ARDUINO CODE

You may find the entire code for our project on GitHub:

https://github.com/Roman110/Aquino

FUTURE TASKS (PROTOTYPE 3)

Additional sensors

- water flow - oxygene electrode - turbidity meter

Additional actuators

- regulation of water pump via relais module (for stationary use in an aquaponic system)

Data processing via Internet of Things (IoT)

Future development of the sensing system is intended to involve data transmission using the SIM800L GSM module. This is needed to directly transfer data from field measurements to the Internet of Things (IoT). A promising platform for this task is Thingsspeak

THINKSPEAK

http://support.sodaq.com/sodaq-one/adding-a-gprs-connection-to-upload-data/