Engineer
ALGERIA • + Follow
Edit Project
Components
|
ATMEGA3290-16AUMicrochip Technology / Atmel
|
x 1 | |
|
|
MS580305BA01-00 |
x 1 | |
|
|
AD8495ARMZAnalog
|
x 1 | |
|
|
LM2574HVN-5ti
|
x 1 |
Tools, APP Software Used etc.
|
|
kicadkicad
|
|
|
Arduino Lab for MicroPythonArduino
|
Description
sea monitoring for fishe farming
the project is about helping the fishe farmer who rise the fishes inthe ocean or seas to monitor the state of the water like temperature ph , oxigen , that can even dive by letting the water go in the ball to monitor the under waterstate also and is use solar cell and bettery to stay in working and using gsm to message the state to keep real monitorin time function and this is the advantage of it
Code
i didnt finish the code yet
Arduino
#include <Wire.h>
#include <MS5803_05.h>
#include <SoftwareSerial.h>
#define INLET_VALVE_RELAY 5
#define OUTLET_PUMP_RELAY 6
#define PH_PIN A0
#define O2_PIN A1
#define TEMP_PIN A2
#define GSM_TX 7
#define GSM_RX 8
#define MAX_DEPTH 4.0
SoftwareSerial gsm(GSM_TX, GSM_RX);
MS5803 sensor(ADDRESS_HIGH);
float lastTemp, lastPH, lastO2, lastDepth;
enum State {SURFACE, DESCENDING, SAMPLING, ASCENDING, DONE};
State deviceState = SURFACE;
void setup() {
Serial.begin(9600);
gsm.begin(9600);
pinMode(INLET_VALVE_RELAY, OUTPUT);
pinMode(OUTLET_PUMP_RELAY, OUTPUT);
digitalWrite(INLET_VALVE_RELAY, LOW);
digitalWrite(OUTLET_PUMP_RELAY, LOW);
sensor.reset();
sensor.begin();
// Init GSM
delay(1000);
gsm.println("AT+CMGF=1");
delay(100);
gsm.println("AT+CNMI=1,2,0,0,0");
Serial.println("System Initialized. Awaiting Monitoring");
deviceState = DESCENDING;
}
void loop() {
float currentDepth = getDepth();
checkSMS();
switch (deviceState) {
case DESCENDING:
digitalWrite(INLET_VALVE_RELAY, HIGH);
if (currentDepth >= MAX_DEPTH) {
digitalWrite(INLET_VALVE_RELAY, LOW);
deviceState = SAMPLING;
}
break;
case SAMPLING:
readData();
delay(5000);
deviceState = ASCENDING;
break;
case ASCENDING:
digitalWrite(OUTLET_PUMP_RELAY, HIGH);
if (currentDepth <= 0.2) {
digitalWrite(OUTLET_PUMP_RELAY, LOW);
deviceState = DONE;
}
break;
case DONE:
digitalWrite(INLET_VALVE_RELAY, LOW);
digitalWrite(OUTLET_PUMP_RELAY, LOW);
break;
}
delay(500);
}
void readData() {
float vPH = analogRead(PH_PIN) * (5.0 / 1023.0);
float vO2 = analogRead(O2_PIN) * (5.0 / 1023.0);
float vTmp = analogRead(TEMP_PIN) * (5.0 / 1023.0);
lastPH = 7.0 + ((2.5 - vPH) / 0.185);
lastO2 = vO2 * 4.0;
lastTemp = vTmp * 200.0;
Serial.print("--- NEW DATA ---");
Serial.print(" Temp: "); Serial.print(lastTemp);
Serial.print("C | pH: "); Serial.print(lastPH);
Serial.print(" | O2: "); Serial.print(lastO2);
Serial.println("mg/L");
}
void checkSMS() {
if (gsm.available() > 0) {
String message = gsm.readString();
if (message.indexOf("STATUS") > -1) {
sendReply();
}
}
}
void sendReply() {
gsm.println("phone=\"+213540680689\"");
delay(100);
gsm.print("Marine Log: Depth:"); gsm.print(lastDepth);
gsm.print("m, Temp:"); gsm.print(lastTemp);
gsm.print("C, pH:"); gsm.print(lastPH);
gsm.print(", O2:"); gsm.print(lastO2);
gsm.write(26);
delay(1000);
}
float getDepth() {
float pressure_abs = sensor.getPressure(ADC_4096);
float depth = (pressure_abs - 1013.25) / 100.0;
lastDepth = (depth < 0) ? 0 : depth;
return lastDepth;
}
Schematic and Layout
Jan 24,2026
152 views
sea monitoring for fishe farming
monitoring the state of the ocean or sea for fishe farming with this device we can continuasly monitoring and acess to data in real time
152
0
1
Published: Jan 24,2026
Standard PCB
Purchase
Donation Received ($)
PCBWay Donate 10% cost To Author
Copy this HTML into your page to embed a link to order this shared project
Copy
Under the
Attribution-ShareAlike (CC BY-SA)
License.
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW
Topic
- Comments(1)
- Likes(0)
Upload photo
You can only upload 5 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
0 / 10000
It looks like you have not written anything. Please add a comment and try again.
You can upload up to 5 images!
Image size should not exceed 2MB!
File format not supported!
View More
View More
VOTING
0 votes
- 0 USER VOTES
0.00
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Design
1/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Usability
2/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Creativity
3/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Content
4/4
More by Engineer
-
predective maintenance using machine learning
maintenace play major role in factory , it can make us gain money or lose it , so this why we need t...
-
motor starting using star delta device
my project is about making device that can be star 3 phase ac induction motor with high power using ...
-
sea monitoring for fishe farming
the project is about helping the fishe farmer who rise the fishes inthe ocean or seas to monitor th...
You may also like
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
817 0 2 -
A Compact Charging Breakout Board For Waveshare ESP32-C3
1368 3 6 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
1299 2 0 -
-
-
-
ESP32-C3 BLE Keyboard - Battery Powered with USB-C Charging
1498 0 1 -
-
mammoth-3D SLM Voron Toolhead – Manual Drill & Tap Edition
1166 0 1 -







