Mục tiêu của đồ án là thiết kế một hệ thống tưới cây tự động đơn giản với nguyên lý là thông qua cảm biến độ ẩm của đất để truyền tín hiệu cho hệ thống để biết lúc nào nên vận hành động cơ bơm nước cho khu vườn. Tất cả mọi việc đều tự động diễn ra trong quá trình cài đặt sẵn và qua các cảm biến để điều tiết việc tưới cây hợp lí trong mọi thời tiết.
Trang 1Phan Thành Nam B1603734
Trang 3L I Ờ NÓI Đ U Ầ
Ngày nay khoa h c công ngh ngày càng phát tri n, vi đi u khi n AVR và viọ ệ ể ề ể
đi u khi n PIC ngày càng thông d ng và hoàn thi n h n. Nh ng có th nói s xu tề ể ụ ệ ơ ư ể ự ấ
hi n c a Arduino vào năm 2005 t i Italia đã m ra m t hệ ủ ạ ở ộ ướng đi m i cho vi đi uớ ề khi n. S xu t hi n c a Arduino đã h tr cho con ngể ự ấ ệ ủ ỗ ợ ườ ấi r t nhi u trong l p trìnhề ậ
và thi t k , nh t là đ i v i nh ng ngế ế ấ ố ớ ữ ười m i b t đ u tìm tòi v vi đi u khi n màớ ắ ầ ề ề ể không có quá nhi u ki n th c, hi u bi t sâu s c v v t lý và đi n t Ph n c ngề ế ứ ể ế ắ ề ậ ệ ử ầ ứ
c a thi t b đã đủ ế ị ược tích h p nhi u ch c năng c b n và là mã ngu n m Ngônợ ề ứ ơ ả ồ ở
ng l p trình trên n n Java l i vô cùng d s d ng tữ ậ ề ạ ễ ử ụ ương thích v i ngôn ng C/C++ớ ữ
và h th ng th vi n r t phong phú và đệ ố ư ệ ấ ược chia s mi n phí. Chính vì nh ng lý doẻ ễ ữ
nh v y nên Arduino hi n đang d n ph bi n và đư ậ ệ ầ ổ ế ược phát tri n ngày càng m nhể ạ
m trên toàn th gi i Trong đ tài này, em s thi t k m t h th ng tẽ ế ớ ề ẽ ế ế ộ ệ ố ưới cây tự
đ ng độ ược xây d ng v i trung tâm là Arduino UNO R3 (m t trong các lo i Boardự ớ ộ ạ Arduino), chi phí th p, thi t k đ n gi n, có ng d ng r ng r i t mô hình nh đ nấ ế ế ơ ả ứ ụ ộ ả ừ ỏ ơ
gi n đ n mô hình l n ph c t p.ả ế ớ ứ ạ
Trang 4L I C M N Ờ Ả Ơ
Qua đ án này, nhóm em xin c m n th y Hoàng Đăng Khoa đã giúp đ choồ ả ơ ầ ỡ chúng em trong quá trình hoàn thành đ án. Giúp chúng em hi u rõ h n v m chồ ể ơ ề ạ Arduino, cách thi t k m ch, ch y code hay bi t đế ế ạ ạ ế ược nhi u ng d ng hay c aề ứ ụ ủ
m ch Arduino. Ngoài ra, nh th y hạ ờ ầ ướng d n nên chúng em cũng đã hoàn thànhẫ
m ch in, hi u đạ ể ược m t quá trình làm m t m ch in v i các công đo n thi t k , làmộ ộ ạ ớ ạ ế ế
m ch, khoan và hàn các linh ki n. Qua đó giúp chúng em ti n b h n và đã có bạ ệ ế ộ ơ ướ c
đ u hi u h n v các m ch đi n t Thông qua đ án, chúng em đã tích lũy và h cầ ể ơ ề ạ ệ ử ồ ọ
được m t ít kinh nghi m th c t r t có ít cho vi c h c t p và công vi c c a chúngộ ệ ự ế ấ ệ ọ ậ ệ ủ
em sau này. Bên c nh đó còn có nhi u m t h n ch do l n đ u ti p xúc v i linhạ ề ặ ạ ế ầ ầ ế ớ
ki n đi n t th c t và còn do k năng y u kém nên d n đ n s n ph m còn nhi uệ ệ ử ự ế ỹ ế ẫ ế ả ẩ ề khuy t đi m, mông th y s thông c m và b qua cho chúng em. M t l n n a t i emế ể ầ ẽ ả ỏ ộ ầ ử ụ xin c m n th y Hoàng Đăng Khoa đã giúp đ nhóm em hoàng thành đ án này.ả ơ ầ ở ồ
Trang 5
1.2 M c tiêu và ph m vi nghiên c u đ tàiụ ạ ứ ề 4
CHƯƠNG 2. GI I THI U CÁC LINH KI N TRONG M CHỚ Ệ Ệ Ạ
2.1.1 Các thông s c b n c a Arduino UNO R3ố ơ ả ủ 62.1.2 Vi đi u khi nề ể 6
2.1.3 Các chân c a Arduinoủ 6
2.1.4 L p trình cho Arduinoậ 7
2.2. C m bi n đ m và module chuy n đ iả ế ộ ẩ ể ổ 72.2.1 C m bi n đ mả ế ộ ẩ 7
2.2.2. Module chuy n đ iể ổ 7
2.3. Module 5VDC 2 kênh 9
2.4. Đ ng c b m 12Vộ ơ ơ 10
2.5. Đi n tr 220 và Ledệ ở Ω 11
2.6. B ngu n nhi u ngõ raộ ồ ề 12
CHƯƠNG 3.GI I THI U ARDUINO IDE & PROTEUS VÀ MÔ PH NG H Ớ Ệ Ỏ Ệ
TH NGỐ
3.1. Ph n m m mô ph ng Proteusầ ề ỏ 13
Trang 7Hình 14. Vi t code b ng Arduino IDEế ằ 16
Hình 15. S đ m ch in trên Proteusơ ồ ạ 21
Hình 16. M ch th c t sau khi hoàn thànhạ ự ế 22
Hình 17. Mô hình th c t sau khi l p đ tự ế ắ ặ 22
Trang 8CH ƯƠ NG 1 T NG QUANG V Đ TÀI Ổ Ề Ề
1.1 Đ T V N ĐẶ Ấ Ề
Th c t trong cu c s ng ngày càng b n r n, nhi u ngự ế ộ ố ậ ộ ề ườ ẫi v n có thú vui là
tr ng nh ng cây c nh, vồ ữ ả ườn rau trong không gian tr ng c a nhà mình nh sânố ủ ư
thượng, ban công. Tuy nhiên, trong nh ng lúc b n b n các công vi c h ng ngày thìữ ạ ậ ệ ằ
nh ng cây c nh và vữ ả ườn hoa nhà s không đở ẽ ược ai tưới nước. Ngoài phươ ngpháp tưới cây ph thông, chúng ta có th t o ra nh ng h th ng tổ ể ạ ữ ệ ố ưới cây t đ ngự ộ
đ n gi n cho khu vơ ả ườn nh c a mình th m chí có th m r ng h th ng tỏ ủ ậ ể ở ộ ệ ố ưới cây cho c m t khu vả ộ ườ ớn l n
1.1 M C TIÊU VÀ PH M VI NGHIÊN C U Đ TÀIỤ Ạ Ứ Ề
M c tiêu c a đ án là thi t k m t h th ng tụ ủ ồ ế ế ộ ệ ố ưới cây t đ ng đ n gi n v iự ộ ơ ả ớ nguyên lý là thông qua c m bi n đ m c a đ t đ truy n tín hi u cho h th ng đả ế ộ ẩ ủ ấ ể ề ệ ệ ố ể
bi t lúc nào nên v n hành đ ng c b m nế ậ ộ ơ ơ ước cho khu vườn. T t c m i vi c đ uấ ả ọ ệ ề
t đ ng di n ra trong quá trình cài đ t s n và qua các c m bi n đ đi u ti t vi cự ộ ễ ặ ẵ ả ế ể ề ế ệ
tưới cây h p lí trong m i th i ti t.ợ ọ ờ ế
V i mô hình m ch đ n gi n, chi phí th p, d thi t k nên có th áp d ng r ngớ ạ ơ ả ấ ễ ế ế ể ụ ộ
r i vào cu c s ng th c t c a chúng ta.ả ộ ố ự ế ủ
Trang 9CH ƯƠ NG 2 GI I THI U CÁC LINH KI N TRONG M CH Ớ Ệ Ệ Ạ
2.1 ARDUINO UNO R3
Arduino th c s đã gây sóng gió trên thì trự ự ường th gi i trong nhi u năm quaế ớ ề
v i s lớ ố ượng người dùng c c l n và đa d ng v i trình đ tr i r ng t b c phự ớ ạ ớ ộ ả ộ ừ ậ ổ thông đ n b c đ i h c.ế ậ ạ ọ
Arduino UNO R3 là m t trong nh ng m ch Arduino độ ữ ạ ượ ữ ục s d ng ph bi nổ ế
nh t. Hi n nay, dòng m ch này đã phát tri n đ n th h th 3 (R3).ấ ệ ạ ể ế ế ệ ứ
Hình 1: Hình dáng bên ngoài Arduino
2.1.1 Các thông s c b n c a Arduino UNO R3ố ơ ả ủ
Trang 10Hình 2: Thông s c b n c a Arduinoố ơ ả ủ
2.1.2 Vi đi u khi n.ề ể
Arduino Uno được xây d ng v i phân nhân là vi đi u khi n ATmega328Pự ớ ề ể sử
d ng th ch anh có chu kì dao đ ng là 16 MHz. V i vi đi u khi n này, ta có 14 ngụ ạ ộ ớ ề ể ỏ ra/vào được đánh s t 0 đ n 13. Song song đó, ta có thêm 6 ng nh tín hi u analogố ừ ế ỏ ậ ệ
được đánh ký hi u t A0 đ n A5.ệ ừ ế
Trên board còn có 1 nút reset, 1 ngõ k t n i v i máy tính qua c ng USB và 1ế ố ớ ổ ngõ c p ngu n s d ng jack 2.1mm l y năng lấ ồ ử ụ ấ ượng tr c ti p t ACDC adapter hayự ế ừ thông qua cquy ngu n.ắ ồ
2.1.3 Các chân c a Arduino.ủ
Các chân năng lượng: GND (Ground), 5V, 3.3V, Vin (Voltage Input), IOREF, RESET
Trang 11Các c ng ra/vào: Arduino UNO có 14 chân digital dùng đ đ c ho c xu t tínổ ể ọ ặ ấ
hi u và 6 chân analog (A0 A5) cung c p đ phân gi i tín hi u 10bit, đ đ c giá trệ ấ ộ ả ệ ể ọ ị
đi n áp trong kho ng 0V 5V.ệ ả
Trang 122.1.4 L p trình cho Arduino.ậ
Các thi t b d a trên n n t ng Arduino đế ị ự ề ả ượ ậc l p trình b ng ngôn riêng. Ngônằ
ng này d a trên ngôn ng Wiring đữ ự ữ ược vi t cho ph n c ng nói chung và Wiring l iế ầ ứ ạ
là m t bi n th c a C/C++. Có ngộ ế ể ủ ườ ọi g i nó là Wiring, m t s khác thì g i là C hayộ ố ọ C/C++ và tên g i ph bi n nh t là ngôn ng Arduino. Ngôn ng Arduino b t ngu nọ ổ ế ấ ữ ữ ắ ồ
t C/C++ ph bi n hi n nay do đó r t d h c và t vi c l p trình ta có th thi t kừ ổ ế ệ ấ ễ ọ ừ ệ ậ ể ế ế
m ch theo ý mu n c a mình và v n hành m t cách hi u qu và t i u nh t.ạ ố ủ ậ ộ ệ ả ố ư ấ
2.2 C M BI N Đ M Đ T VÀ MODULE CHUY N Đ I.Ả Ế Ộ Ẩ Ấ Ể Ổ
2.2.1 C m bi n đ m đ t.ả ế ộ ẩ ấ
Hình 3. C m bi n đ m đ tả ế ộ ẩ ấHai đ u đo c a c m bi n đầ ủ ả ế ược c m vào đ t đ phát hi n đ m. Dùng dâyắ ấ ể ệ ộ ẩ
n i gi a c m bi n và module chuy n đ i. Thông tin v đ m đ t s đố ữ ả ế ể ổ ề ộ ẩ ấ ẽ ược đ c vọ ề
và g i t i module chuy n đ i.ở ớ ể ổ
2.2.2 Module chuy n đ i.ể ổ
Trang 13Hình 4. Module chuy n đ iể ổModule chuy n đ i có c u t o chính g m m t IC so sánh LM393, m tể ổ ấ ạ ồ ộ ộ
bi n tr , 4 đi n tr dán 100 Ohm và 2 t dán. Bi n tr có ch c năng đ nhế ở ệ ở ụ ế ở ứ ị
ngưỡng so sánh v i tín hi u đ m đ t đ c v t c m bi n.ớ ệ ộ ẩ ấ ọ ề ừ ả ế
Trang 14Khi module c m bi n đ mả ế ộ ẩ phát hi n, khi đó s có s thay đ i đi n áp ngay t iệ ẽ ự ổ ệ ạ
đ u vào c a icầ ủ LM393. Ic này nh n bi t có s thay đ i nó s đ a ra m t tín hi u 0Vậ ế ự ổ ẽ ư ộ ệ
đ báo hi u. và thay đ i nh th nào s để ệ ổ ư ế ẽ ược tính toán đ đ c đ m đ t.ể ọ ộ ẩ ấ
+ C m bi nả ế đ m đ tộ ẩ ấ r t nh yấ ạ v i đ m môi trớ ộ ẩ ường xung quanh, thường đượ c
+ Đ u ra Analog AO có th đầ ể ược k t n i v i b chuy n đ i ADC, có th nh nế ố ớ ộ ể ổ ể ậ
được các giá tr chính xác h n đ m c a đ t.ị ơ ộ ẩ ủ ấ
2.3 MODULE RELAY 5VDC 2 KÊNH
Trang 15Relay 2 Kênh g m 2 r le ho t đ ng t i đi n áp 5VDC, ch u đồ ơ ạ ộ ạ ệ ị ượ c
hi u đi n th lên đ n 250VAC 10A. Relay 2 kênh đệ ệ ế ế ược thi t k ch c ch n,ế ế ắ ắ
kh năng cách đi n t t. Trên module đã có s n m ch kích relay s d ngả ệ ố ẵ ạ ử ụ transistor và IC cách ly quang giúp cách ly hoàn toàn m ch đi u khi n (viạ ề ể
đi u khi n) v i relay, b o đ m vi đi u khi n ho t đ ng n đ nh.ề ể ớ ả ả ề ể ạ ộ ổ ị
M ch relay 2 kênh s d ng chân kích m c th p (0V), m c cao (5V) ạ ử ụ ứ ấ ứtùy thu c vào ch n Jumper. ng d ng v i relay module khá nhi u bao g m ộ ọ Ứ ụ ớ ề ồ
Trang 16Có th s d ng relay đ đi u khi n các thi t b có công su t 30VDC10Aể ử ụ ể ề ể ế ị ấ
ho c 250VAC10Aặ
Đi n áp kích m c th pệ ứ ấ
2.4 Đ NG C B M 12VỘ Ơ Ơ
Hình 6. Đ ng c b m 12Vộ ơ ơThông s k thu t:ố ỹ ậ
Trang 17Hình 7. Đi n tr 220ệ ở ΩLed:
Led ho t đ ng m c 1,8 đ n 3V,ạ ộ ở ứ ế dòng 10 đ n 20mA.ế
Trang 182.6 B NGU N NHI U NGÕ RAỘ Ồ Ề
Hình 9. B ngu n nhi u ngõ raộ ồ ề
Trang 19CH ƯƠ NG 3 GI I THI U ARDUINO IDE & PROTEUS VÀ Ớ Ệ
MÔ PH NG H TH NG Ỏ Ệ Ố
3.1 PH N M M MÔ PH NG PROTEUSẦ Ề Ỏ
Ph n m m Proteus là ph n m m cho phép mô ph ng ho t đ ng c a m ch ầ ề ầ ề ỏ ạ ộ ủ ạ
đi n t bao g m ph n thi t k m ch và vi t chệ ử ồ ầ ế ế ạ ế ương trình đi u khi n cho các h vi ề ể ọ
đi u khi n MCS51, PIC, AVR, Proteus là ph n m m mô ph ng m ch đi n t c aề ể ầ ề ỏ ạ ệ ử ủ Labcenter Electronic, mô ph ng cho h u h t các linh ki n đi n t thông d ng, đ c ỏ ầ ế ệ ệ ử ụ ặ
Trang 20cách hi u qu ệ ả
Hình 10. Giao di n ph n m m Proteus 8.7ệ ầ ề3.2 TH VI N ARDUINO TRONG PROTEUSƯ Ệ
Th vi n Arduino là m t b sung r t hay cho ph n m m Proteus, nó giúp cho ư ệ ộ ổ ấ ầ ề
vi c mô ph ng Arduino đệ ỏ ược thu n ti n và d dàng h n thay vì ch mô ph ng đậ ệ ễ ơ ỉ ỏ ượ cchip Atmega328 (nhân c a Arduino), th vi n này đủ ư ệ ược phát tri n b i các k s ể ở ỹ ưCesar, Osaka, Daniel Cezar, Roberto Bauer và được đăng t i trên blog ti ng B Đào ả ế ồNha http://blogembarcado.blogspot.de/
Trang 21Th vi n bao g m các linh ki n sau:ư ệ ồ ệ
Trang 22Hình 12. Giao di n ph n m m Arduino IDEệ ầ ềArduino IDE là ph n m m dùng đ l p trình cho Arduino. Môi trầ ề ể ậ ường l p ậtrình cho Arduino là IDE có th ch y trên ba n n t ng ph bi n nh t hi n nay là ể ạ ề ả ổ ế ấ ệWindows, Macintosh OSX là Linux. Do có tính ch t ngu n m nên môi trấ ồ ở ường l p ậtrình này hoàn toàn mi n phí và có th m r ng b i ngể ể ở ộ ở ười dùng có kinh nghi mệNgôn ng l p trình có th đữ ậ ể ược m r ng thông qua các th vi n C++. Và ngônở ộ ư ệ
ng l p trình này d a trên n n t ng c a ngôn ng C c a AVR nên ngữ ậ ự ề ả ủ ữ ủ ười dùng hoàn toàn có th nhúng thê code vi t b ng AVR vào chể ế ằ ương trình n u mu n. Hi n t i, ế ố ệ ạArduino IDE có th download t trang ch ể ừ ủhttp://arduino.cc/
3.4 MÔ PH NG H TH NGỎ Ệ Ố
Trang 23Hình 13. M ch nguyên lý v trên Proteusạ ẽ
3.4.2 Nguyên lý ho t đ ng:ạ ộ
Giá tr đ m c a đ t đị ộ ẩ ủ ấ ược nh n bi t qua c m bi n đ m và đ a v b đi uậ ế ả ế ộ ẩ ư ề ộ ề khi n là Arduino UNO R3 b ng tín hi u Digital. Khi đ t không đ đ m giá tr tín ể ằ ệ ấ ủ ộ ẩ ị
hi u g i v là 0, b đi u khi n đ a tín hi u cho đóng R le và đ ng c máy b m ệ ở ề ộ ề ể ư ệ ờ ộ ơ ơ
b t đ u ho t đ ng b m nắ ầ ạ ộ ơ ướ ước t i vào ch u. Khi đã đ nậ ủ ước, đ m cao, c m bi nộ ẩ ả ế
s g i v tín hi u có giá tr là 1, b đi u khi n đ a tín hi u ng t r le, máy b m ẽ ở ề ệ ị ộ ề ể ư ệ ắ ờ ơ
d ng ho t đ ng.ừ ạ ộ
Led đ có tác d ng báo hi u đ m th p, ch u cây đang thi u nỏ ụ ệ ộ ẩ ấ ậ ế ước
Led xanh có tác d ng báo hi u đ m cao, ch u cây đã đ nụ ệ ộ ẩ ậ ủ ước
Led vàng có tác d ng báo hi u tr ng thái ho t đ ng và d ng c a máy b m.ụ ệ ạ ạ ộ ừ ủ ơ
Vi t code chế ương trình cho Arduino
Trang 24Kh i đ ng ph n m m Arduino IDE và so n code. Sau khi l p trình xong, nh nở ộ ầ ề ạ ậ ấ
đ biên d ch code sau vài giây ph n m m s biên d ch cho ta 1 file hex c aể ị ầ ề ẽ ị ủ
int const SENSOR_MH_D_PIN = 4
int const SENSOR_MH_A_PIN = A0;
int const T_RELAY_PIN = 2
int const TIME_TO_GET_SAMPLE = 5000 ; //5s
int const SAMPLE_TIME = 500 ; //0.5 s
Trang 25int const LED_BLUE_PIN = 10 ;
int const LED_YEWLOW_PIN = 9
int const LED_RED_PIN = 8
int const TREE_WATER_LEVEL_HIGH = 600 ;
int const TREE_WATER_LEVEL_LOW = 300 ;
int sensorMHValue = 0 //store sensor value
pinMode (LED_PIN, OUTPUT);
pinMode (LED_BLUE_PIN, OUTPUT);
pinMode (LED_YEWLOW_PIN, OUTPUT);
pinMode (LED_RED_PIN, OUTPUT);
Trang 26} else if (sensorValue < TREE_WATER_LEVEL_LOW){
digitalWrite (T_RELAY_PIN, LOW);
for ( int i = 0 ; i < t ; i++){
total += analogRead (SENSOR_MH_A_PIN);
digitalWrite (LED_RED_PIN, LOW);
digitalWrite (LED_BLUE_PIN, HIGH);
Trang 29Hình 16. M ch th c t sau khi hoàn thànhạ ự ếSau khi hoàn thành m ch ta ti n hành l p đ t mô hình th c t trên taplo v i ạ ế ắ ặ ự ế ớ
đ ng c b m nộ ơ ơ ước 12VDC 12W
Hình 17. Mô hình th c t sau khi l p đ tự ế ắ ặ
Trang 30CH ƯƠ NG 5. NH N XÉT VÀ K T LU N Ậ Ế Ậ
5.1 Nh n xétậ
H th ng sau khi hoành thành có th s d ng cho đ ng c b m DC và AC. ệ ố ể ử ụ ộ ơ ơCông su t t i đa c a máy b m có th dùng cho m ch là 12W đ i v i máy b m DC ấ ố ủ ơ ể ạ ố ớ ơ
và 350W đ i v i máy b m AC.ố ớ ơ
Ưu đi m: M ch g n nh , đ n gi n, s d ng các linh ki n có chi phí th p, ể ạ ọ ẹ ơ ả ử ụ ệ ấ
d l p đ t và s a ch a. Có tính ng d ng cao trong th c tễ ắ ặ ử ữ ứ ụ ự ế
Nhược đi m: M ch còn s sài, d h h ng, ch s d ng để ạ ơ ễ ư ỏ ỉ ử ụ ược cho t i đa 2 ốmáy b m cùng lúc. ơ