Professional Documents
Culture Documents
1
LỜI NÓI ĐẦU
2
MỤC LỤC
3
PHẦN I: GIỚI THIỆU ĐỀ TÀI
Hình 1: Mô hình
4
2. Ý tưởng
Đồ án tập trung nghiên cứu về các cảm biến để đo nhiệt độ, ph,...giám sát mực
nước bằng cảm biến siêu âm và điều khiển. Mô hình này sẽ giúp người nông dân
quan sát được một số thông tin quan trọng để đưa ra hướng giải quyết phù hợp.
3. Ứng dụng
Có thể ứng dụng rộng rãi vào các nông trại nuôi thủy sản để nuôi thủy hải sản 1
cách tối ưu và hiệu quả nhất
Hình 2: Ví dụ
5
PHẦN II:THIẾT KẾ
Hình 3: PIC16F877A
PIC16F877A là một loại vi điều khiển (microcontroller) thuộc dòng sản phẩm PIC
(Peripheral Interface Controller) của hãng Microchip Technology. PIC16F877A
được thiết kế để thực hiện nhiều chức năng khác nhau, bao gồm việc điều khiển
các thiết bị ngoại vi như đèn LED, cảm biến, màn hình LCD, máy in, máy quét,
động cơ, và nhiều ứng dụng khác. PIC16F877A có kiến trúc RISC (Reduced
Instruction Set Computing), bao gồm 35 thanh ghi (registers) 8-bit, bộ nhớ chương
trình (Program Memory) 14 KB, bộ nhớ dữ liệu (Data Memory) và các tính năng
nâng cao như bộ chuyển đổi AD (Analog-to-Digital Converter), bộ đếm (Timer) và
các giao tiếp ngoại vi như I2C, SPI và USART.
6
b. Max 232:
Hình 4: Max232
MAX232 là một IC (Integrated Circuit) chuyên dùng để biến đổi tín hiệu logic từ
TTL (Transistor-Transistor Logic) sang RS232 (Recommended Standard 232).
RS232 là một giao thức truyền thông chuẩn dành cho các thiết bị truyền thông như
modem, máy tính, máy in, các thiết bị đo đạc, điều khiển... MAX232 được sử dụng
phổ biến trong các ứng dụng điện tử như vi điều khiển, điện tử công suất, đồng hồ
điện tử và các thiết bị truyền thông khác. IC này bao gồm bốn bộ chuyển đổi tín
hiệu, mỗi bộ chuyển đổi tín hiệu bao gồm một đầu vào và một đầu ra.
c. Màn LCD
Màn hình LCD (Liquid Crystal Display) là một loại màn hình hiển thị được sử
dụng phổ biến trong các thiết bị điện tử như điện thoại di động, máy tính, máy tính
xách tay, đồng hồ điện tử, tivi, máy chơi game và các thiết bị điện tử khác. Màn
hình LCD là một loại màn hình hiển thị sử dụng chất lỏng để hiển thị hình ảnh.
LCD được tạo ra bằng cách sử dụng hai lớp kính mỏng chứa một lượng lớn các
phân tử chất lỏng. Các phân tử này có thể được điều khiển bởi một mạch điện để
hiển thị hình ảnh trên màn hình.
7
Hình 5: Màn LCD
d. Relay
Hình 6: Relay
8
Relay là một thiết bị điện tử được sử dụng để kiểm soát hoạt động của các thiết bị
điện, đặc biệt là trong các ứng dụng điện tử công nghiệp và gia đình. Nó hoạt động
bằng cách sử dụng một điện trở và một solenoid để điều khiển chuyển động của
các contactor bên trong relay. Các contactor trong relay có thể được sử dụng để
ngắt hoặc mở một mạch điện khi có tín hiệu kích hoạt từ solenoid. Relay có thể
được sử dụng để kiểm soát một số thiết bị điện như động cơ, đèn, máy lạnh, máy
tính, các thiết bị gia dụng và nhiều thiết bị điện khác.
e. LM7805
LM7805 là một IC (Integrated Circuit) linear voltage regulator, được sử dụng rộng
rãi trong các ứng dụng điện tử để cung cấp nguồn DC ổn định với điện áp đầu ra là
+5VDC. IC này là một trong những loại linh kiện điện tử phổ biến nhất trong các
mạch điện nhỏ và đơn giản.
LM7805 có thể được sử dụng để cung cấp nguồn cho nhiều thiết bị điện tử, như vi
điều khiển, các mạch đèn LED, các mạch âm thanh, và các thiết bị gia dụng khác.
Với sự tiện lợi và độ tin cậy cao, LM7805 được xem là một trong những linh kiện
cơ bản và quan trọng nhất trong các ứng dụng điện tử.
Hình 7: LM7805
9
i. B688
BJT B688 là một loại transistor bipolar PNP (Positive-Negative-Positive) được
sử dụng rộng rãi trong các ứng dụng điện tử công suất. Nó được thiết kế để có
thể chịu được dòng điện và áp suất lớn, và được sử dụng trong các mạch khuếch
đại và công suất.
Hình 8: B688
g. BJT C1815
BJT C1815 là một transistor NPN thông dụng, được thiết kế để sử dụng trong
các mạch khuếch đại, chuyển đổi và các ứng dụng điều khiển khác.
Đặc điểm chính của BJT C1815: Với những đặc tính trên, BJT C1815 có thể
được sử dụng trong nhiều ứng dụng khác nhau trong các mạch điện tử, đặc biệt
là trong các mạch khuếch đại tín hiệu âm thanh, các mạch điều khiển và các
mạch chuyển đổi tín hiệu.
Loại transistor: NPN
Điện áp cực đại giữa cực nguồn và cực thu là 50V
Dòng điện tối đa giữa cực thu và cực nguồn là 150mA Có hệ số khuếch đại
DC (hFE) tương đối cao, trong khoảng từ 70 đến 700.
Có thể làm việc ở nhiệt độ cao, tối đa lên đến 150 độ C.
10
Hình 9: C1815
h. Thạch anh
11
k. Mốt số linh kiện khác
Diode: là một thành phần điện tử hai cực, với hai đầu dương và âm. Diode cho
phép dòng điện chảy qua nó chỉ theo một hướng, gọi là hướng dẫn. Diode được
sử dụng rộng rãi trong các mạch điện tử để điều chỉnh dòng điện, biến đổi tín
hiệu và chuyển đổi điện năng.
Tụ điện: Tụ điện (capacitor) là một thành phần điện tử cơ bản trong các mạch
điện tử. Tụ điện có khả năng lưu trữ năng lượng điện trong một điện trường và
giải phóng nó khi được kết nối với một mạch điện khác. Tụ điện được sử dụng
rộng rãi trong các mạch điện tử để lọc nhiễu, lưu trữ năng lượng, điều chỉnh độ
chính xác của tín hiệu và cung cấp các hệ số thời gian.
Điện trở: là một loại thành phần điện tử có khả năng giới hạn dòng điện đi qua
nó. Điện trở thường được sử dụng để giảm mức độ điện áp hoặc điều chỉnh
dòng điện trong các mạch điện tử.
12
2. Mạch nguyên lí
a. Mạch nguồn
13
b. PIC16F877A
14
c. Mạch Reset
15
Hình 14: Mạch nạp
e. Mạch động cơ
16
Mạch động cơ sử dụng Relay:
Ở đây Relay được coi như công tắc đóng mở nhờ vào BJT C1815 hoạt động như
khóa điện tử. Đó là chế độ khuếch đại và chế độ ngưng dẫn.
Diode có chức năng bảo vệ mạch là do khi relay ngắt mạch, dòng điện sẽ dư và
tạo ra điện trường ngược hướng so với hướng dòng khi Relay kết nối mạch, gây ra
hiện tượng dao động điện từ do dòng ngược tác động lên mạch điện, ảnh hưởng
đến sự ổn định và tuổi thọ của các linh kiện trong mạch.
i. Mạch Test
17
g. Màn LCD
Sử dụng biến trở 10k để thay đổi độ sáng nền của LCD
18
h. Mạch giao tiếp
Mạch giao tiếp sử dụng MAX232 là một mạch chuyển đổi tín hiệu từ cổng nối
tiếp của máy tính thành tín hiệu RS232.
19
k. Các cổng I_O
20
l. Mạch nút nhấn
21
3.Vẽ mạch bằng Altium
22
Hình 21: Mạch sau khi đi dây và phủ Mass
23
Hình 22: 3D
24
Hình 23: Mạch in
25
PHẦN III: GIỚI THIỆU CẢM BIẾN
Các cảm biến được sử dụng trong đồ án này: cảm biến đo khoảng cách HC_SR04,
cảm biến nhiệt độ LM35, cảm biến đo Ph.
1. Cảm biến đo khoảng cách HC_SR04
26
Hình 25: Nguyên lí truyền sóng
27
Hình 26: Cảm biến nhiệt độ
LM35 là một cảm biến nhiệt độ tương tự, điện áp ở đầu ra của cảm biến tỷ lệ với
nhiệt độ tức thời và có thể dễ dàng được xử lý để có được giá trị nhiệt độ bằng oC.
28
3.Cảm biến đo Ph
Mô_đun này sử dụng cảm biến pH BNC để đo độ pH của dung dịch, và nó có thể
được kết nối với vi điều khiển.
Một số tính năng của mô_đun pH:
Nguồn cấp là 5v
Khoảng đo độ pH từ 0 đến 14
Được sử dụng trong phòng thì nghiệm là chủ yếu.
29
PHẦN IV: CHƯƠNG TRÌNH HỆ THỐNG
Code CCS:
#include <16F877A.h>
#fuses NOWDT, HS, NOPROTECT, NOLVP, NOBROWNOUT
#device ADC = 10
#use delay(clock = 4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#define LCD_ENABLE_PIN PIN_C4
#define LCD_RS_PIN PIN_D2
#define LCD_RW_PIN PIN_D3
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
#define trig PIN_E0
#define echo PIN_E1
#include<string.h>
int pumb1, pumb2;
float distance,time;
void Init_ADC()
{
setup_adc_ports(AN0_AN1_AN3);
delay_us(100);
30
}
float PH_value()
{
setup_adc(ADC_CLOCK_DIV_32);
set_adc_channel(1);
delay_us(100);
float PH_value = 0;
PH_value = read_adc();
PH_value = 7+(2,5-(PH_value*5/1023))*0.167;
return PH_value;
}
float Read_Temp()
{
set_adc_channel(0);
delay_us(100);
float TempValue = 0;
TempValue = read_adc();
TempValue = TempValue/2.048;
return TempValue;
}
void DC()
{
if(!input(PIN_B1)){
output_high(PIN_C2);
pumb1 = 1;
31
delay_ms(100);}
else{
output_low(PIN_C2);
pumb1 = 0;
delay_ms(100);
}
}
void main()
{
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
set_tris_b(0xFF);
port_b_pullups(1);
set_tris_a(0xFF);
set_tris_e(0b00000010);
set_tris_c(0x00);
set_tris_d(0x00);
output_low(PIN_C2);
output_low(PIN_C3);
lcd_init();
lcd_gotoxy(1,1);
lcd_putc(" Hello ");
lcd_gotoxy(1,2);
lcd_putc("V.THANH-C.THANH");
delay_ms(500);
lcd_putc('\f');
32
lcd_gotoxy(1,1);
lcd_putc("HE THONG THUY SAN ");
lcd_gotoxy(1,2);
lcd_putc(" 20CDT2 ");
while(true)
{
DC();
Init_ADC();
output_high(trig);
delay_us(10);
output_low(trig);
while(input(echo)!=1);
set_timer1(0);
while(input(echo)!=0);
time=get_timer1();
distance=time*0.017;
if(distance>10)
{
output_high(PIN_C3);
pumb2 = 1;
delay_ms(100);
}
else
{
output_low(PIN_C3);
33
pumb2 = 0;
delay_ms(100);
}
lcd_init();
lcd_gotoxy(1,1);
lcd_putc("D :");
lcd_gotoxy(4,1);
printf(LCD_PUTC,"%.1lf cm",distance);
lcd_gotoxy(8,2);
lcd_putc("T:");
printf(LCD_PUTC,"%.0lf",Read_Temp());
lcd_putc(223);
lcd_putc("C");
lcd_gotoxy(1,2);
lcd_putc("PH:");
lcd_gotoxy(4,2);
printf(lcd_putc,"%.1lf",PH_value());
delay_ms(1000);
printf("%.1lf cm" "%.0lf C" "%.1lf #" "%d@" "%d&", distance, Read_Temp(),
PH_value(), pumb1, pumb2);
delay_ms(100);
}
}
34
PHẦN V: GIAO TIẾP MÁY TÍNH
1.Giao diện
2.Code C#
using System;
35
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
using System.Data.OleDb;
namespace giaotiepmaytinh
{
public partial class Form1 : Form
{
#region From
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
cbxTenCom.DataSource = SerialPort.GetPortNames();
if (cbxTenCom.Items.Count > 0)
{
cbxTenCom.SelectedIndex = 0;
}
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
}
#endregion
private void UART_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
36
}
private void btnConnect_Click(object sender, EventArgs e)
{
if (UART.IsOpen == false)
{
UART.Open();
btnConnect.Text = "DISCONNECT";
}
else
{
MessageBox.Show("CỔNG COM ĐANG MỞ");
}
timer1.Start();
timer2.Start();
}
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
37
string temp = UART.ReadTo("C");
temp = temp.Replace("C", "");
if (temp != "") lb_temp.Text = temp;
string ph = UART.ReadTo("#");
ph = ph.Replace("#", "");
if (ph != "") lb_ph.Text = ph;
chart1.Series["DISTANCE"].Points.Add(float.Parse(distance), 0, 0);
chart1.Series["TEMP"].Points.Add(float.Parse(temp), 0, 0);
38
}
}
}
}
39
1: Mô hình
40
2: Ý nghĩa và mong muốn của sinh viên về hệ thống có thể ứng dụng cho thực
tế.
Với mong muốn ứng dụng các hệ thống thông mình vào nông nghiệp để muốn
người nông dân đỡ vất vã, lại có năng suất cao. Nhóm sinh viên chúng em đã làm
ra hệ thống có thể ứng dụng cho thực tế mô hình nuôi thủy sản thông minh trong
lĩnh vực thủy sản. Với sự phát triển của công nghệ IoT và các cảm biến thông
minh, hệ thống nuôi thủy sản có thể được giám sát và điều khiển một cách tự động,
tăng năng suất, giảm chi phí và rủi ro. Mặc dù hệ thống còn nhiều sai sót và chưa
được tối ưa nhất có thể, nhưng nhóm em vẫn mong muốn có thể sớm phát triển và
ứng dụng vào thực tế, và sau đây là một mong muốn mà nhóm chúng em vào
tương lai:
1. Giúp nông dân theo dõi và quản lý dịch bệnh, nước và thức ăn một cách chính
xác và hiệu quả hơn.
2. Tăng năng suất của mô hình nuôi thủy sản thông minh bằng cách sử dụng dữ
liệu để tối ưu hóa quá trình nuôi và giảm thiểu tỷ lệ chết và bệnh tật.
3. Giảm chi phí bằng cách tự động hóa các quy trình nuôi thủy sản, giảm thiểu sự
phụ thuộc vào lao động và tối đa hóa hiệu suất lao động.
4. Tăng tính cạnh tranh của mô hình nuôi thủy sản thông minh trên thị trường bằng
cách cải thiện chất lượng sản phẩm, tăng năng suất và giảm chi phí sản xuất. Với
những lợi ích và tiềm năng của hệ thống nuôi thủy sản thông minh.
41
TÀI LIỆU THAM KHẢO
1. https://project.haophuong.com/giai-phap/trang-trai-thong-minh-cho-trai-
giong-thuy-san/
2. https://thuysanvietnam.com.vn/ung-dung-iot-trong-nuoi-tom/
3. https://www.google.com/search?q=c%E1%BA%A3m+bi%E1%BA
%BFn+si%C3%AAu+%C3%A2m+hc-
sr04&sxsrf=APwXEdcTQQpQxX6hun1tYHncTa3BWiDIeg:168355847316
7&source=lnms&tbm=isch&sa=X&ved=2ahUKEwicuYGGgOb-
AhUBB4gKHYg9BRgQ_AUoAXoECAEQAw&biw=1536&bih=656&dpr=
1.25#imgrc=ehtBwgaDrK6Q9M
42