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;
}
Jan 24,2026
9 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
9
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
You may also like
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
373 3 4 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
391 2 0 -
-
-
-
ESP32-C3 BLE Keyboard - Battery Powered with USB-C Charging
596 0 1 -
-
mammoth-3D SLM Voron Toolhead – Manual Drill & Tap Edition
618 0 1 -
-
AEL-2011 Power Supply Module
1260 0 2 -
AEL-2011 50W Power Amplifier
1121 0 2







