Tải bản đầy đủ
Nhu cầu 3: Giá thành các hệ thống tưới này khá cao từ 3 đến 5 triệu đồng cho một dự án .Những người nông dân, hô gia đình có thu nhập trung bình, hoặc quy mô canh tác nhỏ vẫn còn rất e ngại trong việc đầu tư ,bên cạnh đó phương hướng thiết kế cố định từ t

Nhu cầu 3: Giá thành các hệ thống tưới này khá cao từ 3 đến 5 triệu đồng cho một dự án .Những người nông dân, hô gia đình có thu nhập trung bình, hoặc quy mô canh tác nhỏ vẫn còn rất e ngại trong việc đầu tư ,bên cạnh đó phương hướng thiết kế cố định từ t

Tải bản đầy đủ

Trang 11
-

Nhu cầu 4 : Những chủ nhà vườn, nhân công thậm chí hộ gia
đình đều có thể tự thiết kế phần phun và tưới nước cho khu
vườn của mình một cách thủ công bằng một van nước đóng
mở ở đầu nguồn. Họ có thể chạy đường ống theo ý thích để
có được vị trí tưới thuận lợi và linh hoạt. Chỉ riêng phần điều
khiển “Van Tưới Đầu Nguồn Tự Động” thì họ chưa có phương

-

hướng để xây dựng.
Nhu cầu 5 : Người nông dân, hộ gia đình muốn thay thế và
đổi mới hệ thống tưới của mình một cách đơn giản hiệu quả

khi có hư hỏng xảy ra.
IV.1.2. Tổng quan:
- Tạo ra một chiếc “hộp tưới thông minh” có một màn hình
và các nút điều khiển thời gian tưới theo ý muốn của nhà
vườn, hộ gia đình. Bên trong chứa một van điện từ có thể đóng
hoặc mở nước đầu nguồn. Cung cấp giải pháp tưới tiện lợi và
-

đơn giản cho những người nông dân, hộ gia đình nhỏ lẻ.
Hướng cho ra một sản phẩm mức giá rẻ, thương mại phù hợp
với túi tiền của mọi người, giúp họ có thể tự phát triển mô hình

-

của mình tiết kiệm và linh hoạt .
Mở rộng phiên bản điều khiển qua tin nhắn điện thoại giúp
nhà vườn có thể điều khiển được việc tưới tiêu từ xa, hoặc kèm
theo đó là một vài cảm biến thời tiết giúp điều hòa quá trình

tưới được tốt hơn .
IV.1.3. Vấn đề :
-

Sơ đồ tổng quan của hệ thống tưới gồm những gì ?

-

Chi phí đầu tư cho một sản phẩm ?

IV.1.4. Giải pháp :
a) Sơ đồ tổng quan của hệ thống tưới ?

BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd

Trang 12

Đồng hồ
Thời gian thực

GPI
O

: Output
: Input
Hình 1. Sơ đồ tổng quan hệ thống tưới
Người sử dụng sẽ nhập dữ liệu cấu hình từ bàn phím hoặc điện
thoại. Sau đó dữ liệu này lưu trữ lại. Khối dữ liệu này sẽ liên tục được
so sánh với đồng hồ thời gian thực. Khi thời gian đúng với dữ liệu
người sử dụng đã cấu hình. Van nước sẽ được mở phục vụ việc tưới
tiêu cho cây trồng.
b)

Chi phí đầu tư ?
Để giảm chi phí đầu tư trong quá trình phát triển và đảm bảo
chất lượng sản phẩm chúng ta sẽ nhập hàng loạt các linh kiện về
với số lượng lớn để tiện việc thiết kế hàng loạt và lợi được giá
thành chiết khấu trên mỗi thiết bị.

BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd

Trang 13

Hình 2. Bảng giá chiết khấu trên các thiết bị.
-

Chi phí đầu tư sản phẩm ước tính cho một sản phẩm:
Tên thiết bị
LCD 1602 :
ATMEGA328P_PU
Nguồn 12V – 2A
1 Relay
DS1307 (Đồng hồ)
Bàn phím 4x4
Van điện từ
Sim 900a

Giá thiết
bị
30.000 đ
40.000 đ
38,000 đ
16,000 đ
20.000 đ
16.000 đ
90.000 đ
280.000 đ

Tổng : 530.000
đ
Hình 3. Chi phí ước tính cho sản phẩm

IV.2. Tìm hiểu cách giao tiếp giữa các ngoại vi với vi xử lý trung

tâm và phương pháp lưu trữ dữ liệu cho người sử dụng.
IV.2.1. Tổng quan:

Cần hiểu được và lựa chọn các cách cách giao tiếp giữa ngoại vi
LCD, Keypad , RTC, SIM900a với vi điều khiển sau cho tối ưu và hiệu
quả.

IV.2.2. Vấn đề :
-

Tìm hiểu Giao tiếp giữa LCD và Kit trung tâm Arduino Nano ?
BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd

Trang 14
-

-

Tìm hiểu Giao tiếp giữa Keypad và Kit trung tâm Arduino Nano ? .
Tìm hiểu Giao tiếp giữa Đồng hồ thời gian thực và Kit trung tâm
Arduino Nano ? .
Tìm hiểu Giao Sim900a và Kit trung tâm Arduino Nano ? .
Tìm hiểu Giao các lưu trữ dữ liệu trên Kit trung tâm Arduino Nano ?
IV.2.3. Giải pháp:
Hiểu được chức năng của từng loại giao tiếp, nguyên lý hoạt động
như thế nào để tiến hành thiết kế các giải thuật khiển cho phù hợp
sau này.
a) Tìm hiểu

Giao tiếp giữa LCD và Kit trung tâm Arduino

Nano :
- LCD giao tiếp với kit Arduino Nano thông qua thư viện
LiquidCrystal là thư viện điều khiển LCD trên Arduino, nó được
xây dựng để cho ta có thể lập trình điều khiển các module LCD
ô vuông một cách nhanh chóng mà không cần phải lập trình
nhiều. Thư viện này được xây dựng đóng gói sẵn với ngôn ngữ
C++ và được thiết kế để giao tiếp phù hợp với IC HD44780
-

(IC điều khiển module LCD)
Chúng ta chỉ cần gắn LCD vào kit và chọn các chân thích hợp
muốn giao tiếp trên Kit arduino Nano thông qua các hàm
“chọn chân pin” và “hàm xuất”

trên

thư viện này là

chúng ta hoàn toàn có thể giao tiếp được với LCD một cách
nhanh chóng.

Tên
Chân
LCD
VSS
VDD
VE
RS
RW
BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd

Tên chân
Kit
Arduino
Nano
GND
5V
GND
D2
GND

Trang 15

E
D4
D5
D6
D7
A
K

D12
A0
A1
A2
A3
3.3V
GND

Hình 4. Kết nối chân LCD với Kit trung tâm
b) Tìm hiểu Giao tiếp giữa KEYPAD và Kit trung tâm Arduino

Nano :
- Keypad giao tiếp với kit Arduino Nano thông qua thư viện điều
khiển keypad trên Arduino, nó được xây dựng để cho ta có thể
lập trình điều khiển các loại keypad khác nhau như Keypad
3x3 , Keypad 4x4 , Keypad 4x1…v.v Thư viện này được xây
dựng đóng gói sẵn với ngôn ngữ C++ phù hợp với việc giao
-

tiếp Keypad qua các chân PIN.
Chúng ta sẽ kết nối Keypad vào kit và chọn các chân thích hợp
muốn giao tiếp trên Kit arduino Nano thông qua các hàm
“chọn chân pin”, “đặt giá trị”, và “quét giá trị”

trên

thư viện này là chúng ta hoàn toàn có thể giao tiếp được với
Keypad .
Tên Chân
Keypad
(Phải qua
trái)
1
2
3
4
5
6
7
8

Tên chân
Kit
Arduino
Nano
D4
D5
D6
D7
D8
D9
D10
D11

Hình 5. Kết nối chân KEYPAD với Kit trung tâm
c) Đồng hồ thời gian thực và Kit trung tâm Arduino Nano.

BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd

Trang 16
-

DS1307 là chip đồng hồ thời gian thực (RTC : Real-time clock)
với địa chỉ mặc định thường là 0x68, có khả năng lưu trữ và
đếm thời gian. Chip này có 7 thanh ghi 8-bit chứa thời gian là:
giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm. Ngoài ra
DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh
ghi trống có thể dùng như RAM. DS1307 được đọc và ghi
thông qua giao diện nối tiếp I2C nên cấu tạo bên ngoài rất đơn

-

giản
Cũng tương tự trên kit Arduino Nano dưới sự hỗ trợ của thư
viện Wire.h chúng ta sẽ giao tiếp I2C với Chip DS1307 dễ dàng
hơn, với các hàm đọc thời gian và ghi dữ liệu cho đồng hồ thời
gian thực thông qua 2 chân I2C trên Arduino Nano là
A4(Data)và A5(SCK).
Tên Chân
Đồng hồ thời
gian thực
VCC
GND
SCK
SDA

Tên chân
Kit
Arduino
Nano
5V
GND
A5
A4

Hình 5. Kết nối chân đồng hồ thời gian thực với Kit trung tâm
-

Tuy nhiên các hàm giao tiếp này còn rất rời rạc nhau chưa có
sự đóng gói như các module khác chúng ta phải đi qua rất
nhiều hàm để có thể cấu hình hoặc đọc được dữ liệu mong

-

muốn.
Chúng ta sẽ đi đóng gói thư viện này thành một đối tượng,
module lớn hơn có chứa các thuộc tính của DS1307 và 2 hàm

-

chính là “hàm đọc thời gian” và “hàm ghi thời gian”
Các hàm đóng gói trong module thời gian thực :

BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd

Trang 17

// Khai báo cho phép truy cập đồng hồ
Time::initTime()
//Đọc thời gian của đồng hồ
Time::readTime(int *second,
int *minute,
int *hour,
int *day,
int *wday,
int *month,
int *year)
//Ghi thời gian mong muốn vào đồng hồ
Time::setTime(int sec,
int min,
int hr,
int d,
int wd,
int mth,
int yr)
/* Chuyển từ BCD sang Demical */
Time::bcd2dec(int num)
/* Chuyển từ Decimal sang BCD */
Time::dec2bcd(int num)
d) Tìm hiểu giao tiếp Sim900a và Kit trung tâm Arduino

Nano.
- Sim900a giao tiếp với vi điều khiển bằng giao thức USART , khi
vi điều khiển truyền cho SIM900a những chuỗi kí tự liên tiếp
nhau dưới dạng mã lệnh AT , thì SIM900a sẽ đọc chuỗi lệnh
này và thực thi công việc dựa vào chuỗi lệnh mà ta truyền cho
nó. Khi thực thi xong Sim900a cũng sẽ phản hồi lại những

BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd

Trang 18

chuỗi kí tự phù hợp qua cổng USART để thông báo kết quả cho
-

vi điều khiển.
Để giao tiếp với Sim900a hiệu quả ta sẽ sử dụng phần cứng
USART thông qua 2 chân PIN RX và TX của Arduino Nano. Phần
cứng USART sẽ hỗ trợ ngắt USART khi có tin nhắn đến đây là
giải pháp tối ưu để bắt tin nhắn một cách nhanh chóng kịp
thời từ người sử dụng .
Tên Chân
Sim900a
VCC
GND
TX
RX

Tên chân
Kit
Arduino
Nano
5V
GND
RX
TX

Hình 6. Kết nối chân Sim900a với Kit trung tâm
-

Ta sẽ đi xây dựng một thư viện riêng, một đối tượng cho sim
900a

với các hàm cần thiết cho việc gửi và nhận tin nhắn

trong hệ thống. Thay vì sử dụng những thư viện có sẵn quá
nặng dư thừa chức năng và không có ngắt USART để tối ưu
-

việc bắt tin nhắn.
Các hàm đóng gói trong Module Sim900a :
// Hàm khai báo sử dụng Sim900a
Sim900a::init(char* buffer)

// Hàm xóa bộ đệm làm việc cho Sim900a
uint8_t Sim900a::xoaBoDem(char *buffer)

//Hàm nhận và lọc số phút tưới từ tin
nhắn
BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd

Trang 19

Sim900a::nhanSMSTuoiNhanh(char * buffer)
//Hàm gửi tin nhắn
uint8_t Sim900a::guiSMS(String
sodienthoai,String tinnhan)

//Hàm giải mã ASCII SMS -> Integer.
uint8_t

Sim900a::giaiMaSMS(char x)

e) Tìm hiểu cách lưu trữ dữ liệu trên Kit trung tâm Arduino

Nano.
- Kit Arduino Nano hỗ trợ 1KB EEROM để chúng ta vẫn có thể
lưu trữ dữ liệu người sử dụng khi kit không hoạt động, tương tự
như một ổ cứng mini với địa chỉ address đi từ (0->1023) mỗi ô
-

nhớ là 1 Byte.
Đồng thời Arduino Nano hỗ trợ phương pháp lưu trữ và đọc dữ
liệu xuống EEPROM bằng phương thức đọc dữ liệu là :
“EEPROM.Read(address)” và phương thức ghi dữ liệu là :
“EEPROM.Wire(Address,vaule)”. Chúng ta chỉ cần đưa dữ
liệu người sử dụng vào đúng địa chỉ để lưu trữ , sử dụng sau
này.

IV.3. Triển khai giải thuật kêt Kit Arduino Nano.
IV.3.1. Tổng quan:
- Thiết kế giải thuật tổng quát cho hệ thống tưới với các module

-

cơ bản đã được xây dựng.
IV.3.2. Vấn đề:
Giải thuật ngắt khi tin nhắn đến ?
Giải thuật hoạt động của hệ thống?
IV.3.3. Giải pháp:
a) Giải thuật ngắt khi tin nhắn đến :

BÁO CÁO THỰC TẬP
SmartVision Tech Co,Ltd