Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 49

Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam

Hoàng Trọng Nguyên 15DT3

BÁO CÁO
THỰC TẬP CÔNG NHÂN
MỤC LỤC
1. Giới thiệu đề tài
1.1 Nhiệm vụ của đề tài.
1.2 Sơ đồ khối của đề tài.
1.3 Nguyên lý làm việc của sơ đồ khối
2. Vẽ sơ đồ mạch từng khối, nhiệm vụ chi tiết, các phương pháp thực
hiện, chọn lựa linh kiện, nguyên lý chi tiếc của từng khối
3.Thi công mạch
3.1 Đo kiểm tra linh kiện rời trước khi hàn
3.2. Đo kiểm tra nguyên lý làm việc của mạch
4. Viết chương trình
4.1 Lưu đồ thuật toán(từ chương trình chính đến chương trình con)
4.2 Viết chương trình con và kiểm tra chương trình con trên mạch
5. Kiểm tra tổng thể. (trang 34)
5.1 Đo kiểm tra chức năng của mạch tổng thể
5.2 Nhận xét ưu nhược điểm , giải pháp cải tiến.

1. Giới thiệu đề tài


Ngày nay, yếu tố tự động hóa trong công nghiệp, sản xuất rất
được coi trọng vì hiệu quả mà nó đem lại như tính chính xác, năng
suất cao, tiết kiệm nhân lực….là sinh viên ngành điện tử - viễn thông ,
nhóm em mong muốn tạo ra một hệ thống tự động áp dụng trong chăn
nuôi, vì vậy chúng em đặt bài toán với một máy ấp trứng gia cầm tự
động. Thông thường nhiệt độ trong máy ấp trứng phụ thuộc lớn vào
yếu tố môi trường, để khắc phục yếu điểm trên chúng em mong muốn
thiết kế ra hệ thống ổn định nhiệt máy ấp trứng nhằm tự động đo và
hiển thị nhiệt độ, độ ẩm môi trường và tự điều chỉnh để đạt được
khoảng nhiệt đã cài đặt ban đầu.

1|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

1.1 Nhiệm vụ của đề tài.


Thiết kế một hệ thống máy ấp trứng tự động, công suất 100 trứng . Hệ
thống sẽ đọc nhiệt độ, độ ẩm trong lò ấp trứng sau đó sẽ điều khiển hệ thống
hoạt động để cho trong lò ấp luôn có một nhiệt độ, độ ẩm thích hợp nhất cho
trứng có thể sinh sản tốt nhất. Hiển thị các thông số nhiệt độ độ ẩm cho người
dùng
1.2 Sơ đồ khối của đề tài

1.3 Nguyên lý làm việc của sơ đồ khối


Hệ thống sử dụng tín hiệu điện lấy ra từ khối cảm biến và gửi
tín hiệu về khối điều khiển trung tâm, tại đây tín hiệu được xử lý, từ
đó hiển thị các thông số(nhiệt độ, độ ẩm) lên màn hình và giử cho
nhiệt độ trong máy ấp trứng luôn trong khoảng cài đặt thông qua hệ
thống cấp nhiệt (bóng đèn, quạt ), kết hợp việc đảo trứng theo chu kì,
đồng thời phát cảnh báo khi nhiệt độ máy ấp tăng cao hay hạ thấp bất
thường

2. Vẽ sơ đồ mạch từng khối, nhiệm vụ chi tiết, các phương pháp


thực hiện, chọn lựa linh kiện, nguyên lý chi tiếc của từng khối

2|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

2.1 Khối cảm biến.


2.1.1 Cảm biến nhiệt độ
a) Nhiệm vụ chi tiết:
-Cảm biến nhiệt độ của môi trường xung quanh cảm biến , chuyển tín hiệu
thu được thành tín hiệu điện áp gửi về khối xử lý trung tâm
-Đầu vào cảm biến là nhiệt độ , đầu ra là điện áp
- Hoạt động trong dải nhiệt 0℃ 100℃
- Có độ nhạy, độ chính xác cao (sai số 1℃)
- Khoảng cách từ cảm biến về bộ vi xử lý: < 50cm
- Tín hiệu gửi về vi điều khiển có I < 40 (mV) ; U < 5(V)
b)Các phương pháp thực hiên:
Phương pháp Ưu điểm Nhược điểm
Cặp nhiệt điện -Dãi hoạt đông lớn -Độ chính xác không cao
(-100℃ 1400℃) - Gía thành cao
-Có độ bền cao
Nhiệt điện trở -Phạm vi hoạt động cao - Dễ bị Oxi hóa
(-200℃  700℃) -Gía thành cao
Thermistor -Bền, rẽ , dễ chế tạo - Dãi đo thấp
(0℃50℃)
Cảm biến nhiệt độ bán -Rẽ, độ nhạy cao, chống - Không chịu được môi
dẫn(LM35, nhiễu tốt trường có độ ẩm cao, hóa
LM45,LM335…) chất
- Dãi đo thấp
(-50℃150℃)

c) Chọn lựa linh kiện: So sánh các phương pháp và từ yêu cầu nhiệm vụ chọn
cảm biến nhiệt độ LM35 làm linh kiện chính

*Thông số linh kiện:


 Điện áp đầu vào từ 4V đến 30V
 Điện áp ra: -1V đến 6V
 Công suất tiêu thụ là 60uA
 Độ phân giải điện áp đầu ra là 10mV/oC

3|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

 Độ chính xác cao ở 25 C là 0.5 C


 Trở kháng đầu ra thấp 0.1 cho 1mA tải
 Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới
150°C

d) Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối

H1: Sơ đồ mạch
*Nguyên lý làm việc:Khi ta cấp một điện áp từ 4.8 -> 5.2V vào chân số 1 và
3,sẽ có điện áp ra tại chân số 2 ,áp ra phụ thuộc vào nhiệt độ tiếp xúc với môi
trường.
2.1.2 Cảm biến độ ẩm
a) Nhiệm vụ chi tiết:
- Cảm biến độ ẩm của môi trường , chuyển tín hiệu thu được thành
dạng xung gửi về bộ vi xử lý
- Hoạt động trong dãi nhiệt 0℃  100℃
- Độ chính xác :< 5%
- Khoảng cách từ cảm biến đến vi xử lý <50cm
- Ngõ vào là độ ẩm, ngõ ra là xung có U<5V; I<40mA,
F=2khz20khz; duty cicles ~50%

b) Các phương pháp thực hiên:


Phương pháp Ưu điểm Nhược điểm
Cảm biến độ ẩm điện trở Độ ổn định cao, rẻ Dễ bị ôxi hóa
Kính thước nhở gọn Dễ bám bẩn, dễ hỏng
Cảm biến độ ẩm kiểu Bền, hoạt động được ở Ít chính xác khi môi
nhiệt dẫn nhiệt độ cao trường thay đổi liên tục
Độ phân giải tốt

4|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

Ẩm kế quang Phạm vi hoạt động rộng Đắt, cấu tạo phức tạp
Độ chính xác cao
Ẩm kế tụ điện Hồi đáp nhanh Dễ bị ăn mòn trong môi
Dãi hoạt động rộng trường hóa chất

c) Chọn lựa linh kiện:So sánh các phương pháp và từ yêu cầu nhiệm vụ chọn
cảm biến độ ẩm HS1101 làm linh kiện chính

* Thông số linh kiện:


 Điện áp hoạt động :5V 10V
 Dãi đo: 0% 100%
 Độ chính xác :+- 2%
 Dãi nhiệt hoạt động : -40℃
-Cảm biến HS1101 là cảm biến điện dung. Khi độ ẩm thay đổi, điện dung của
HS1101 thay đổi , để đo được độ ẩm ta cần tạo mạch đo điện dung của hs1101
- Linh kiện phụ trợ: Ic tạo xung ICNE555; các điện trở.

Đầu vào cho VĐK

d)Nhiệm vụ từng linh kiện: Linh kiện HS1101 sẽ chuyển đổi giá trị độ ẩm
tiếp xúc thành tín hiệu điện dung.

5|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

Linh kiện NE555 tạo ra xung có tần số thay đổi


theo giá trị điện dung cảm biến HS1101 thu được
Nguyên lý làm việc của mạch: Cảm biến Hs1101 là một cảm biến điện
dung, sử dụng kết hợp với ic Ne555 tao xung, khi độ ẩm thay đổi làm
cho điện dung Hs1101 thay đổi làm cho tần số ra của Ne555 thay đổi
theo(là tín hiệu xung), cấp tín hiệu cho vi điều khiển và từ đó xác định độ
ẩm của môi trường
2.2 Khối xử lý trung tâm
a) Nhiệm vụ chi tiết:
- Tiếp nhận các tín hiệu từ khối cảm biến, khối cài đặt,từ đó xử lý và điều
khiển các khối ngoại vi hoạt động
- Đầu vào là các tín hiệu điện áp từ khối cài đặt, cảm biến, đầu ra là tín hiệu
digital 2 mức 0V và 5V
b) Các phương pháp thực hiện
- Có thể sử dụng nhiều đòng vi xử lý để thực hiện nhiệm vụ này như Pic,
Atmega, Msp, 8051….

c)Chọn lựa linh kiện


- Vì dòng Atmega nhóm đã có điều kiện tiếp xúc nên chọn để sử dụng với linh
kiện chính là Atmega 328P.
- Vì bản thân Atmega 328P không tự hoạt động độc lập được, bộ giao động
nội không ổn định nên cần linh kiện phụ trợ: thạch anh 16000hz, tụ 22p, tụ 104,
các loại trở
* Các thông số chính
 Kiến trúc: AVR 8bit
 Xung nhịp lớn nhất: 20Mhz
 Bộ nhớ chương trình (FLASH): 32KB
 Bộ nhớ EEPROM: 1KB
 Bộ nhớ RAM: 2KB
 Điện áp hoạt động rộng: 1.8V - 5.5V
 Số timer: 3 timer gồm 2 timer 8-bit và 1 timer 16-bit
 Số kênh xung PWM: 6 kênh (1timer 2 kênh)

d)Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối

6|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

Nhiệm vụ từng linh kiện:


- C17, C18: Để lọc nhiễu cho vi điều khiển.
- AT mega 328P: Làm vi điều khiển cho toàn mạch.
- R31, C20, SW2: Làm mạch Reset cho mạch MCU.
- X1, C21,C19: Làm mạch tạo dao động ngoại với tần số 16Mhz.
Nguyên lý hoạt động: Sau khi cấp nguồn VCC từ 4.9 -> 5.1 V cho vi điều
khiển, thì ngay lúc này mạch sẽ được reset tự động. Sau khi reset xong
mạch sẽ hoạt động bình thường. Thạch anh sẽ tạo ra dao động chuẩn cho
MCU hoạt động. Vi điều khiển sẽ hoạt động theo chương trình chúng ta
viết vào nó.
2.3 Khối cấp nhiệt
2.3.1 Khối bóng đèn
a) Nhiệm vụ: cung cấp đủ lượng nhiệt cần thiết cho hệ thống máy ấp
b) Các phương pháp thực hiện
- Sử dụng sợi Cacbon , bóng đèn sợi đốt…
c) Chọn lựa linh kiện
- Sợi Cacbon tuy có ưu điểm là lượng nhiệt cung cấp lớn, ổn định, tuổi thọ
cao , an toàn nhưng giá thành cao , hư hỏng khó thay thế nên chọn bóng đèn sợi
đốt
* Thông số: 2 Bóng 100W/220V
- Để điều khiển được các bóng đèn có thể dùng các phương pháp
7|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

Phương pháp Ưu điểm Khuyết điểm


Sử dụng công tắc đơn Đơn giản , dễ thự hiện Thủ công
Sử dụng rơle Đơn giản , dễ thự hiện Gây ồn, nhiễu,dễ hòng
phần tiếp xúc đầu rơ le,
Sử dụng Triac Đáp ứng nhanh, ổn định, Phức tạp hơn
không gây ồn

-So sánh các phương pháp trên ta chọn Triac làm linh kiện chính để điều khiển
-Vì cần cách li tín hiệu điều khiển với tầng công suất(bóng đèn), để tránh nhiễu
tín hiệu nên dùng Opto
d)Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối

Nhiệm vụ từng linh kiện:


- R1: điện trở hạn dòng cho Led bên trong MOC3020.
- R2: điện trở phân cực cho Q1
- Q1: BJT nâng dòng cho Moc3020
- MOC3020: là opto cách ly quang, cách ly một chiều với xoay chiều.
- R4+C1: tạo thành mạch bảo vệ cho Triac
- TRIAC BT136: Là linh kiện để đóng mở góc cắt.
- JACK_220V: Nơi cắm vào điện lưới xoay chiều.
- JACK_DEN: Là nơi cắm bóng đèn sợi đốt vào.
Nguyên lý hoạt động: -Ở mức logic 0 (00,2V) điện áp vào ở BJT
C1815 không đủ để làm BJT dẫn  không có dòng chạy qua chân 1 và 2
của moc3020, chân 4 và chân 6 của moc3020 bị hở không có áp phân
cực lên chân G của Triac Triac ngắt hở mạch đèn tắt
- Ở mức logic 1(3,35,2V) xuất hiện điện áp phân
cực VBE của BJT C1815(0,71 V)  BJT dẫn bão hòa  có dòng
chạy qua chân 1 2 của moc3020 chân 4,6 được nối thông có điện
áp đặt lên chân G của Triac Triac nối thông mạch nguồn với đèn
đèn sang
2.3.2 Khối quạt
8|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

a)Nhiệm vụ: Đẩy lượng nhiệt từ bóng đèn đi đều đến các nơi trong lò ấp
b)Phương pháp thực hiện
-Sử dụng các loại quạt 12VDC, 15VDC…
c)Chọn lựa linh kiện
- Sử dụng quạt 12VDC làm linh kiện chính
- Sử dụng BJT 2sc1815, tip41 để kích dẫn
-Chống dòng điện ngược từ mô tơ về BJT sử dụng diode 4007
d)Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối

Nhiệm vụ từng linh kiện:


- R5,R7: điện trở phân cực cho Q2, Q3
- Q2 BJT điều khiển hoạt động Q3
- Q3 điều khiển hoạt động của quạt , vai trò như công tắc
- R6 điện trở kéo lên nguồn
- D1 chống dòng ngược từ quạt
Nguyên lý hoạt động:
+ Ở mức logic 0, (0V~0,2V), không có áp phân cực vào chân B của Q2, Q2
tắc không có dòng vào chân B của Q3  Q3 tắt(hoạt động ở chế độ ngắt) 
hở mạch, quạt không chạy
+ Ở mức logic 1,(3,3V ~5,2V), có áp phân cực vào chân B của Q2, Q2 dẫn
bão hòa có dòng IB vào Q3 Q3 dẫn bão hòacó dòng qua tải  quạt chạy

2.4 Khối nguồn


a) Nhiệm vụ:
- khối có nhiệm vụ cung cấp nguồn cho các khối cài đặt, hiển thị, cảm biến,
điều khiển, quạt, đảo trứng.
9|Page
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- Dòng, áp ngõ ra:


o 5VDC + 0.1v, 150mA
o 12VDC + 0.1v, 0.5A
- Điện áp ngõ vào: 190 – 230 VAC
- Kích thước: 15x10x10 cm - DxRxC

b) Phương pháp thực hiện:


- với đầu ra 12V+ 0.1v, 0.5A cấp nguồn cho quạt hoạt động: vì quạt cần có
điện áp 12VDC+ 0.1v, 0.5A ổn định để hoạt động nên chúng ta thiết kế
bộ ổn áp đầu ra 12VDC + 0.1v, 0.5A.
các phương pháp thực hiện bổ ổn áp đầu ra 12VDC + 0.1v, 0.5A
 Dùng biến áp : đầu ra không được ổn định, dễ bị nhiễu
 Dùng ổn áp xung: đầu ra ổn định nhưng cách thực hiện phức tạp,
độ chính xác đầu ra rất cao, thể tích nhỏ.
 Dùng linh kiện rời: Hoạt động không ổn định, khó cân chỉnh.
 IC ổn áp: dễ thực hiện, độ chính xác tương đối, kích thước vừa
phải
 dựa vào yêu cầu nhiệm vụ của khối, dễ dang ta thấy phương
thức dùng IC ổn áp là phù hợp nhất.
- Lập luận tương tự với đầu ra 5VDC + 0.1v, 150mA
 Dùng IC ổn áp
c) Chọn lựa linh kiện
- với đầu ra 12V+ 0.1v, 0.5A cấp nguồn cho quạt hoạt động: chọn
ICLM7812
- Vì đầu ra của IC còn gợn nhiễu nên ta sử dụng hai tụ lọc đầu ra: 1000uF
và 104pF

- Vì IC 7812 có dòng đầu ra hoạt động ổn định thấp (300mA) không đủ


yêu cầu là 0.5A đầu ra nên cần đùng BJT đê kích dòng ra
- Chọn BJT B688
- Cách tính giá trị trở phân cực

10 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- Với đầu ra 5VDC + 0.1v, 150mA: chọn IC LM7805


- Vì đầu ra của IC còn gợn nhiễu nên ta sử dụng hai tụ lọc đầu ra: 1000uF
và 104pF

- Vì điện áp đầu vào của 7812 và 7805 là 1 chiều trong khi điện lưới dân
dụng là xoay chiều nên ta sử dụng cầu diode để chỉnh lưu điện áp xoay
chiều thành 1 chiều.

11 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- Vì hai đầu vào của đầu ra 12V+ 0.1v, 0.5A và đầu ra 5VDC + 0.1v,
150mA mắc xong xong với nhau và nối vào đầu ra cầu diode nên cầu
diode có dòng
Id >= 2.5 It = 2.5*(0.5+0.15)=1.625 A
 Chọn cầu diode có Id lớn hơn 1.625A
- Vì đầu ra của cầu diode chưa phẳng nên cần có tụ lọc để giảm gợn, nhiễu
: 2200uF và 104pF

- Vì điện lưới dân dụng có điện áp 220VAC quá lớn so với yêu cầu của
khối nguồn nên cần dùng biến áp để hạ áp

Vì Vi/LM7805 = 7-25VDC
Vi/LM7812 = 14.5-30VDC
Vout/biến áp: có các mức 0,6,9,12,15,18,24VAC
Và sau khi qua cầu diode thì Vout/diode = Vin/diode*sqrt(2)
Chọn mức điện áp ra của biến áp là 15V ( 15*sqrt(2)= 21.21V
thuộc { Vi/LM7805, Vi/LM7812}
 Vậy chọn đầu ra 15V

d)Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối
- Sơ đồ mạch:

12 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

Nguyên lý làm việc của khối:


VA = 190-230VAC
VB= 13-17 VDC
VC=
VD=
VE=
VF=

2.4 Khối cài đặt


a) Nhiệm vụ:
- thay đổi mức điện áp tại các chân VDK, báo mode đang hiển thị
- ngõ ra: mức điện áp 0V
- ngõ vào: tác động nhấn
- kích thước: 5x5cm
b) Phương pháp thực hiện
-Nút nhấn tăng áp lên mức cao: dễ có dòng đi ngược vào VDK làm hỏng VDK
Nút nhấn giảm áp xuống mức thấp : chọn
- led
c) Chọn lựa linh kiện:
nút nhấn thả, chọn trở treo có giá trị 10k
led phát quang, trở hạn dòng 2,2k
d)Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối
- sơ đồ mạch

13 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- nguyên lý hoạt động:


Khi được nhấn các chân VDK sẽ có mức điện áp 0V ( nối mass)
Khi được cấp điện áp cao led sẽ sáng
2.4 Khối hiển thị
a) Nhiệm vụ:
- kích thước hiển thị: 5x5cm
- hiện thị nhiệt độ và độ ẩm ( luân phiên)
- ngang 3 chứ số, dọc 1 hàng
- yêu cầu đầu vào : Vi <=5v, Ii= 20-30mA, đầu vào hexa

14 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

b) Phương pháp thực hiện:


- LCD1602: có 16 ký tự, 2 hàng, kích thước các kí tự nhỏ, kích thước hiển
thị 7x5cm
- Led ma trận 8x8: 64 led hiển thị(8 hàng 8 cột) ; kết hợp các led thành ký
tự kích thước lớn.
- Led 7 đoạn 3 số: ngang 3 số, dọc 1 hàng, kích thước 5x5cm
 Chọn phương thức sử dụng led 7 đoạn
c) Chọn lựa linh kiện:
- vì yêu cầu hiển thị 3 số, 1 hàng.
- chọn led 7 đoạn 3 số 0.56 Inch Anot chung.
- vì dòng tiêu thụ của led thấp nên ta dùng trở 330 hạn dòng tại các chân
katot cho led 7 đoạn.
- vì yêu cầu đầu vào của khối là hexa nên ta cần IC giải mã để giải mã hexa
chọn IC giải mã 74ls47.
d)Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối
- sơ đồ mạch:

- nguyên lý làm việc:


Mức điện áp tại các chân a,b,c,d,e,f,g sẽ tương ứng với các mức điện áp đầu vào
của 4 chân A,B,C,D theo bảng dưới
7447: VCCmax=5.25; I max= 13mA
Led 7 đoạn: Vmax = 2.5v, Imax = 30mA

15 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

2.4 Khối đảo trứng


a) Nhiệm vụ: bật động cơ 12VDC-0.64mA quay ½ vòng sau mỗi 2 giờ để tất cả
các mặt của trứng đều nhận được một nhiệt lượng như nhau, êm ít gây ồn.
kích thước 5x5
điện áp kích 3.6-5v, điện áp nuôi 12vdc+ 0.1v, 0.5A
b) Phương pháp thực hiện:
- dùng bjt kích dẫn role để đóng ngắt mạch động cơ: tạo tiếng ồn khi role đánh
- dùng FET để điều khiển động cơ  chọn
c) Chọn lựa linh kiện
- IRF540
- chọn trở 100k phân cực cho FET, trở 100 hạn dòng kích dẫn FET
- vì sau khi dừng thì động cơ sẽ tạo ra dòng điện cảm ứng gây ảnh hưởng tới
FET nên ta sẽ dùng thêm diode 1n4007 1A để ngăn dòng điện này.
d)Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối
- sơ đồ mạch:

16 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- nguyên lý hoạt động:


- khi VA = 0-0.2VDC
VGS <3V
VDS = 12V
- khi VA = 3,6 – 5 vDC
3v <VGS < 20vDC
VDS = 0V

2.4 Khối còi báo


a) Nhiệm vụ: phát tiếng còi báo mỗi khi nhiệt độ hiện tại chênh lệch với nhiệt
độ cài đặt 10 độ
kích thước 5x5
điện áp kích: 3.6-5v, điện áp nuôi: 5VDC + 0.1v, 150mA
b) Phương pháp thực hiện:
dùng còi nối trực tiếp vào đầu ra vđk : không đủ dòng cung cấp
dùng bjt kích dẫn cho còi hoạt động: chọn
c) Chọn lựa linh kiện
bjt: c1815
trở 1.2k
diode 1n4007 1A ngăn dòng điện cảm ứng ở cuộn dây trong loa
d)Sơ đồ mạch và giải thích nguyên lý làm việc chi tiết của khối
- sơ đồ mạch:

17 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- Nguyên lý làm việc:


- Khi: VA = 0-0.2VDC
VBE < 0.5VDC
VCE ~5VDC
- Khi: VA = 3,6 – 5 vDC
VBE= 0.5-0.8VDC
VCE~0.06VDC

3. Thi công mạch


3.1 Đo kiểm tra từng linh kiện rời
3.1.1 Các BJT đều hoạt động tốt
3.1.2 Cầu diode: kiểm tra thông mạch hoạt động tốt
3.1.3 Biến áp
……
3.2 Đo kiểm tra nguyên lý làm việc của mạch
3.2.1 Khối cảm biến nhiệt độ (Thiện)

- Gắn LM35 vào test board.


- Cấp nguồn VCC = 4.9V từ máy cấp nguồn.
- Gắn dây + vào chân số 1 VCC. Dây – vào chân số 3.

18 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- Tiếp theo, dùng đồng hồ đo. Đặt que đỏ vào chân số 2, que đen vào GND.
Đọc giá trị đồng hồ = 0.25V.
- Dùng tay chạm vào LM35, quan sát đồng hồ, thấy giá trị điện áp tăng lên.
Sau đó, thả tay ra thấy giá trị điện áp giảm xuống.
Vậy : Cảm biến hoạt động bình thường
3.2.2 Khối cảm biến độ ẩm (Thiện)

Đầu vô VĐK

- Cấp nguồn 5V thuộc ( 4,8V  5,2V)


- VR2(out) = 2,2 V
- Xung đầu ra trên máy hiện sóng

- Là xung vuông, biên độ 2,2V

19 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

3.2.3 Khối bóng đèn (Thiện)

* Nguồn cấp :5V thuộc ( 4,8V 5,2V)


TH1 : Vin giả lập: 4,8V thuộc mức logic 1 ( 3,3V 5,2V)
- VBE Q1 = 0,73(V); VCE Q1= 0,032(V)
- VG T1= 0,8(V)
- V T1T2 = 0,6V
- Điện áp trên chân 1 Moc3020: V1 = 1,2(V)
- Điện áp rơi trên trở R1 : VR1 = 2,19(V)
 Nhận xét:
-Dòng đi qua trở R1=(2,19/220)=9,95 mA
- V1 =1,2 V thuộc áp dẫn của Moc (1,2V 1,5V)
Moc3020 dẫn
- Áp trên các chân BJT Q3 thuộc vùng bão hòa (VBE= 0,7  1V;
VCE=00,2V)
- Có dòng và áp trên triac
 Kết luận: Khi cấp tín hiệu mức 1 , bjt sẽ dẫn bão hòa có dòng , áp kích
dẫn Moc  có dòng kích chân G Triac dẫn  có dòng qua bóng đèn
đèn sáng
TH2:
Vin giả lập : 0,01V thuộc mức thấp ( 0V  0,2V)
- VBE Q3=0,2V
- VCE = 3,9V
- V12 Moc =0,44 (v)
- V GT1 = 0V
- V T1T2 =0V
 Nhận xét: Giá trị BJT thể hiện hoạt động trong vùng ngắt
-Áp trên Moc và triac không thỏa điều kiện dẫn

20 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

 Kết luận : Khi cấp tín hiệu mức 0, BJT hoạt động ở vùng ngắt, không có
dòng, áp kích cho Moc dẫn Triac không được kích dẫn , hở mạch đèn
không sáng
VẬY: Khối hoạt động bình thường

3.2.4 Khối quạt (Thiện)

-Nguồn cung cấp : 12V thuộc( 11,8V12,2V)


-TH1: Vin giả lập: 4,8V thuộc mức logic 1 ( 3,3V 5,2V)
- VBE Q2 = 0,73V
- VCE Q2= 0,02V
-VBE Q3 = 0,72V
-VCE Q3 = 0,06V

- Điện áp ngõ ra trên tải: V1 tải = 11,75 V


V2 tải= 11,75 V
 Nhận xét: Các khoản điện áp VBE, VCE trên 2 BJT đều thuộc vùng bão
hòa ; áp ra trên tải đủ cung cấp cho quạt 12V hoạt động
 Kết luận: Khi cấp tín hiệu ở mức logic 1, các Bjt 1 dẫn bão hòa kích cho
Bjt 2 dẫn bão hòa  có dòng qua quạt quạt chạy

TH2:
Vin giả lập : 0,01V thuộc mức thấp ( 0V  0,2V)
- VBE Q1 = 0,32V
- VBE Q2 = 0,55V
- V1 tải = 0,88V
- V2 tải = 0,88V

21 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

 Nhận xét: Các khoản điện áp VBE,VCE trên 2 bjt đều thuộc vùng
ngắt, áp ra trên tải không đủ làm cho quạt chạy
 Kết luận : Khi cấp tín hiệu ở mức logic0, các bjt đều hoạt động chế độ
ngắt không có dòng qua quạt

VẬY: Khối hoạt động bình thường

3.2.5 Khối vi xử lý (Thiện)

- Nạp code sau vào MCU


o int den = 6;
o void setup()
o {
o pinMode(den, OUTPUT);
o }
o
o void loop()
o {
o digitalWrite(den, LOW); // tắt đèn led
o delay(2000);
o digitalWrite(den, HIGH); // tắt đèn led
o delay(2000);
o }
- Kết quả, đèn đã kêu lên đúng 2s, sau đó tắt 2s,sau đó tiếp tục lặp lại.
Vậy : Khối hoạt động bình thường
3.2.6 Khối nguồn (Nguyên)

22 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- không tải:
Tại A
VA = 190-230VAC

Tại B
VB= 13-17 VDC
Tại C
VC=
Tại D
VD=
Tại E
VE=
Tại F
VF=

3.2.7 Khối cài đặt (Nguyên)


- Cấp VCC 5V từ bộ cấp nguồn
- nhấn : Vout = 5V
- không nhấn: Vout = 0V
3.2.8 Khối hiển thị (Nguyên)

3.2.9 Khối đảo trứng (Nguyên)

23 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

- cấp nguồn 12v nuôi động cơ và các đầu vào VA lấy từ bộ tạo nguồn
- VA = 3.6v
VGS = 3.53v ϵ (3-20v)
VDS = 0.07v ~0.06VDC
- VA = 5v
VGS = 4.95v ϵ (3-20v)
VDS = 0.06v ~0.06VDC
- VA = 0.2v
VGS = 0.18v < 3VDC
VDS = 12.01v ~12VDC
- Nhận xét: khi cấp mức logic 1( 3.6-5v)  FET dẫn bão hòa
Khi cấp mức logic 0 ( 0-0.2v)  FET tắt

3.2.10 Khối còi báo (Nguyên)

- Cấp 5VDC lấy từ bộ cấp nguồn


- VA = 3.6v
Vbe = 0.77v ϵ (0.5-0.8v)
Vce = 0.06v đúng ~0.06v
- VA = 5v
Vbe = 0.79v ϵ (0.5-0.8v)

24 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

Vce = 0.06v đúng ~0.06V


- VA = 0.2v
Vbe = 0.23v < 0.5VDC
Vce = 4.55v ~5VDC
- Nhận xét: khi cấp mức logic 1( 3.6-5v)  BJT dẫn bão hòa
Khi cấp mức logic 0 ( 0-0.2v)  BJT tắt

 Sơ đồ mạch tổng hợp

 Sơ đồ mạch in

25 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

4. Viết chương trình


4.1 Lưu đồ thuật toán(từ chương trình chính đến chương trình
con)

26 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

 Chương trình chính:

start

Khai báo

Cài đặt

Dọc cảm biến

Hiển thị

Điều khiển

Cảnh báo

 Chương trình con


 Cài đặt

27 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

start

Kiểm tra nút


nhấn chọn N
mode hiển thị
=0

Đảo giá trị biến mode

N
M=1 Tắt đèn vàng, bật đèn xanh

Bật đèn vàng, tắt đèn xanh

Kiểm tra nút N


nhấn tăng =0

Tăng nhiệt độ

Kiểm tra nút


28 | P a g e nhấn giảm =0
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

Giảm nhiệt độ

Hiển thị nhiệt độ sau

END.

 Cấp nhiệt

start

Nhiệt độ từ Y
cảm biến >
Tắt đèn, quạt
nhiệt cài đặt

N
Bật đèn, quạt

END.

29 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

 Cảnh báo

start

Y
Nhiệt độ cảm
biến > T cài đặt
+10

Nhiệt độ cảm Y
biến > T cài đặt Bật còi
+10

Tắt coi

END.

30 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

 Đảo trứng

start

Counter++

Counter<=
Y
1476

Bật động cơ Tắt động cơ

Counter>=
144000
N

Counter=0

END.

31 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

 Đọc cảm biến nhiệt độ


start

Đọc giá trị điện áp

Nhiệt độ = điện áp /100

T = Nhiệt độ

End.

 Đọc cảm biến độ ẩm

start

Đọc giá trị tần số

So khớp bảng độ ẩm, tần sô

H = Giá trị độ ẩm

32 | P a g e
start
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

 Hiển thị start

K/tra biến N Gán các chữ số độ


hiển thị M=1 ẩm cho biến hiển thị
Y

Gán các chữ số độ ẩm


cho biến hiển thị

Đặt mức cao chân anot 1,


các digit còn lại mức thấp,
dấu chấm mức cao

Hàm led

Delay2

Đặt mức cao chân anot 2,


các digit2 conflaij mức thấp,
dấu chấm mứcthấp

Hàm led

delay

Đặt mức cao chân anot 3,


các digit2 conflaij mức
thấp, dấu chấm mứcthấp

33 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

delay

Hàm led

End.

 Hàm led start

Nếu số bằng
N
= 0

Y
Gửi 0000

N
Nếu số bằng
= 1

Y
Gửi 0001

.
.
.

Nếu số bằng
= 9
34 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

Gửi 1001

End.

4.2 Viết chương trình con và kiểm tra chương trình con trên
mạch
*Kiểm tra khối cấp nhiệt
Code:nt sensorPin = A2;// chân analog kết nối tới cảm biến LM35
int den = A5; // A5 nối với đèn
int quat = A4; // A4 nối với quạt
void setup() {
Serial.begin(9600); //Khởi động Serial ở mức baudrate 9600
pinMode (den , OUTPUT);
pinMode (quat , OUTPUT);
}

35 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

void loop() {
int reading = analogRead(sensorPin);
float voltage = reading * 5.0 / 1024.0;
float T = voltage * 100.0;
Serial.println(T);
float T1 = 37;
if (T<T1)
{
digitalWrite (den,HIGH);
digitalWrite (quat, HIGH);
}else if(T>=T1+1)
{
digitalWrite (den, LOW) ;
digitalWrite (quat, LOW) ;
}
}
Kết quả:
-Ban đầu , đèn quạt cùng chạy, sau 1 thời gian nhiệt độ từ cảm
biến Lm 35 gửi về cao hơn ngưỡng T1 thì đèn tắt, quá trình cứ
lập lại

36 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

4.2.1 Khối cảm biến:


 code
int sensorPin = A2;// chân analog kết nối tới cảm biến LM35
int dem1, i, j,H;
int hs[101] = { 6458, 6442, 6427, 6412, 6397, 6383, 6368,
6354, 6340, 6327, 6313,
6300, 6287, 6274, 6261, 6248, 6236, 6223, 6211,
6199, 6187, 6176,

37 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

6164, 6152, 6141, 6130, 6118, 6107, 6096, 6085,


6074, 6064, 6053,
6042, 6031, 6021, 6010, 6000, 5989, 5979, 5968,
5958, 5947, 5937,
5927, 5916, 5906, 5895, 5885, 5875, 5864, 5854,
5843, 5833, 5822,
5812, 5801, 5790, 5779, 5769, 5758, 5747, 5736,
5725, 5714, 5703,
5691, 5680, 5669, 5657, 5645, 5634, 5622, 5610,
5598, 5586, 5574,
5562, 5549, 5537, 5524, 5511, 5498, 5485, 5472,
5459, 5446, 5432,
5419, 5405, 5391, 5377, 5363, 5349, 5335, 5320,
5306, 5291, 5276,
5261, 5246} ;
unsigned long timer;
void setup() {
Serial.begin(9600); //Khởi động Serial ở mức baudrate 9600
pinMode (4 , INPUT);
attachInterrupt(1, dem_xung, FALLING);
timer = millis();
}

void dem_xung()
{
dem1++;
}
void loop() {

int reading = analogRead(sensorPin);


float voltage = reading * 5.0 / 1024.0;
float temp = voltage * 100.0; // temp : giá trị nhiệt độ cần hiển thị

//******************************************//
// H là giá trị độ ẩm cần hiển thị
{
millis();

38 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

if ( (unsigned long)(millis() - timer) == 1000)


{
for (i = 0; i < 101; i++)
{
j = i + 1;
if (hs[i] >= dem1 && hs[j] <= dem1)
{
H=i;
}
}
dem1 = 0; timer = millis();
}
}
}
4.2.2 Khối cấp nhiệt
int sensorPin = A2;// chân analog kết nối tới cảm biến LM35
int den = A5; // A5 nối với đèn
int quat = A4; // A4 nối với quạt
void setup() {
Serial.begin(9600); //Khởi động Serial ở mức baudrate 9600
pinMode (den , OUTPUT);
pinMode (quat , OUTPUT);
}

void loop() {
int reading = analogRead(sensorPin);

//tính ra giá trị hiệu điện thế (đơn vị Volt) từ giá trị cảm biến
float voltage = reading * 5.0 / 1024.0;

// cứ mỗi 10mV = 1 độ C.
// Vì vậy nếu biến voltage là biến lưu hiệu điện thế (đơn vị Volt)
// thì ta chỉ việc nhân voltage cho 100 là ra được nhiệt độ!

float temp = voltage * 100.0;

Serial.println(temp);

39 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

float T = 28;
if (temp<T)
{
digitalWrite (den,HIGH);
digitalWrite (quat, HIGH);
}else if(temp>=T+1)
{
digitalWrite (den, LOW) ;
digitalWrite (quat, LOW) ;
}
}
4.2.3 Khối cài đặt:
int M = 0; // biến mode hiển thị ( 0: độ ẩm, 1: nhiệt độ)
int x = 5; // hàng chục ( nhiệt độ )
int y = 0; // hàng đơn vị ( nhiệt độ)
int z = 0; // hàng phần chục ( nhiệt độ)
float Tc = 0; // nhiệt độ cài đặt = 10x + y + z/10

int ledState0 = HIGH; // the current state of the output pin


int buttonState0; // the current reading from the input pin
int lastButtonState0 = LOW; // the previous reading from the
input pin
unsigned long lastDebounceTime0 = 0; // the last time the
output pin was toggled
unsigned long debounceDelay0 = 50; // the debounce time;
increase if the output flickers

int ledState1 = HIGH; // the current state of the output pin


int buttonState1; // the current reading from the input pin
int lastButtonState1 = LOW; // the previous reading from the
input pin
unsigned long lastDebounceTime1 = 0; // the last time the
output pin was toggled
unsigned long debounceDelay1 = 50; // the debounce time;
increase if the output flickers

40 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

int ledState2 = HIGH; // the current state of the output pin


int buttonState2; // the current reading from the input pin
int lastButtonState2 = LOW; // the previous reading from the
input pin
unsigned long lastDebounceTime2 = 0; // the last time the
output pin was toggled
unsigned long debounceDelay2 = 50; // the debounce time;
increase if the output flickers
void setup()
{
Serial.begin(9600);
pinMode(0, INPUT); // mode pin
pinMode(1, INPUT); // minus pin
pinMode(2, INPUT); // plus pin
}
void loop()
{

//////////////////////////////////////////////// button 0 : mode

int reading0 = digitalRead(0);


if (reading0 != lastButtonState0)
{
lastDebounceTime0 = millis();
}

if ((millis() - lastDebounceTime0) > debounceDelay0)


{
if (reading0 != buttonState0)
{
buttonState0 = reading0;
if (buttonState0 == LOW)
{
M = !M;
Serial.println(M);
}

41 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

}
}
lastButtonState0 = reading0;
// led báo mode hiển thị hiện tại
if ( M == 1 )
{
digitalWrite(A0,HIGH);
digitalWrite(13,LOW);
}
if ( M == 0 )
{
digitalWrite(A0,LOW);
digitalWrite(13,HIGH);
}

////////////////////////////////////////////// button1: minus

int reading1 = digitalRead(1);


if (reading1 != lastButtonState1)
{
lastDebounceTime1 = millis();
}

if ((millis() - lastDebounceTime1) > debounceDelay1)


{
if (reading1 != buttonState1)
{
buttonState1 = reading1;
if (buttonState1 == LOW)
{
z = z - 1;
if (z < 1)
{
y = y - 1;
z = 0;
}

42 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

if (y < 1)
{
x = x - 1;
y = 0;
}
if (x < 3)
{
x = 0;
}
Tc = 10*x+y+z/10;
Serial.println(Tc);
}
}
}
lastButtonState1 = reading1;

/////////////////////////////////////////button2: plus

int reading2 = digitalRead(2);


if (reading2 != lastButtonState2)
{
lastDebounceTime2 = millis();
}

if ((millis() - lastDebounceTime2) > debounceDelay2)


{
if (reading2 != buttonState2)
{
buttonState2 = reading2;
if (buttonState2 == LOW)
{
z++;
if(z>9)
{
y++;
z=0;
}

43 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

if(y>9)
{
x++;
y=0;
}
if(x>9)
{
x=0;
}
Tc = 10*x+y+z/10;
Serial.println(Tc);
}
}
}
lastButtonState2 = reading2;
}
4.2.4 Khối hiển thị:
//---------------------------------------------------------------------
-----------------------------------------------------------------
// khai bao cac bien nhiet do do am
int x = 7;
int y=0;
int z=1;
int n=5;
int p=0;
//
int a = 6;
int b = 9;
int c = 8;
int d = 7;
int dp = 5;
int digit1 = 10; //led trai ngoai cung
int digit2 = 11; //led giua
int digit3 = 12; // led phai ngoai cung

int M = 1;
int r ;

44 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

int e = 0;
int f = 0;
int g = 0;

void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(dp, OUTPUT);

pinMode(digit1, OUTPUT);
pinMode(digit2, OUTPUT);
pinMode(digit3, OUTPUT);
}

// the loop routine runs over and over again forever:


void loop() {
if( M == 1)
{
e = x;
f = y;
g = z;
}
if( M == 0)
{
e = n;
f = p;
g = 0;
}
digitalWrite(digit1, HIGH);//
digitalWrite(digit2, LOW);//
digitalWrite(digit3, LOW);//
digitalWrite(dp, HIGH); //
led(e); // led trai ngoai cung
delay(2);
digitalWrite(digit1, LOW);//

45 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

digitalWrite(digit2, HIGH);//
digitalWrite(digit3, LOW);//
digitalWrite(dp, LOW); //
led(f); // led giua
delay(2);
digitalWrite(digit1, LOW);//
digitalWrite(digit2, LOW);//
digitalWrite(digit3, HIGH);//
digitalWrite(dp, HIGH); //
led(g); // led phai ngoai cung
delay(2);
}

void led(int data1){ // led phai ngoai cung


if(data1==0){
digitalWrite(a, LOW); //
digitalWrite(b, LOW); //
digitalWrite(c, LOW); //
digitalWrite(d, LOW); //
}
if(data1==1){
digitalWrite(a, HIGH); //
digitalWrite(b, LOW); //
digitalWrite(c, LOW); //
digitalWrite(d, LOW); //
}
if(data1==2){
digitalWrite(a, LOW); //
digitalWrite(b, HIGH); //
digitalWrite(c, LOW); //
digitalWrite(d, LOW); //
}
if(data1==3){
digitalWrite(a, HIGH); //
digitalWrite(b, HIGH); //
digitalWrite(c, LOW); //
digitalWrite(d, LOW); //

46 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

}
if(data1==4){
digitalWrite(a, LOW); //
digitalWrite(b, LOW); //
digitalWrite(c, HIGH); //
digitalWrite(d, LOW); //
}
if(data1==5){
digitalWrite(a, HIGH); //
digitalWrite(b, LOW); //
digitalWrite(c, HIGH); //
digitalWrite(d, LOW); //
}
if(data1==6){
digitalWrite(a, LOW); //
digitalWrite(b, HIGH); //
digitalWrite(c, HIGH); //
digitalWrite(d, LOW); //
}
if(data1==7){
digitalWrite(a, HIGH); //
digitalWrite(b, HIGH); //
digitalWrite(c, HIGH); //
digitalWrite(d, LOW); //
}
if(data1==8){
digitalWrite(a, LOW); //
digitalWrite(b, LOW); //
digitalWrite(c, LOW); //
digitalWrite(d, HIGH); //
}
if(data1==9){
digitalWrite(a, HIGH); //
digitalWrite(b, LOW); //
digitalWrite(c, LOW); //
digitalWrite(d, HIGH); //
}

47 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

}
//---------------------------------------------------------------------
----------------------------------------------------------------
4.2.5 Khối còi báo
int coi = A1;
float Tc = 50.2;
float T = 70;
void setup()
{
pinMode(coi, OUTPUT);
}

void loop()
{
if ( T >= (Tc + 10) || T <= (Tc - 10))
digitalWrite(coi, HIGH); // bật còi
else
digitalWrite(coi, LOW); // tắt còi
}
4.2.6 Khối đảo trứng
int dongco = A3;
unsigned long time;
int i=0;
void setup()
{
Serial.begin(9600);
time = millis();
pinMode(dongco, OUTPUT);
}

void loop()
{
Serial.println(i);
if ( (unsigned long)(millis() - time) < 1476 )
digitalWrite(dongco, HIGH); // bật động cơ
else

48 | P a g e
Sinh viên : Trần Đức Thiện 15DT3 GVHD: Lê Hồng Nam
Hoàng Trọng Nguyên 15DT3

digitalWrite(dongco, LOW); // tắt động cơ


if ( (unsigned long)(millis() - time) >= 1440000)
time = millis();
}

5. Kiểm tra tổng thể


5.1 Đo kiểm tra chức năng của mạch tổng thể
5.2 Nhận xét ưu nhược điểm , giải pháp cải tiến.
- ưu điểm: mạch hoạt động theo yêu cầu, khá đủ các chức năng cơ
bản
- nhược điểm :
- giải pháp cải tiến: thực hiện thêm khối thời gian thực để hiển thị
thời gian khi không có tác động đến nút nhấn

49 | P a g e

You might also like