Báo cáo Đồ án Điều khiển nhiệt độ hiển thị trên led ma trận nối tiếp

BỘ CÔNG THƯƠNG  
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP. HỒ CHÍ MINH  
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ  
--------  
BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH  
ĐỀ TÀI: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA  
TRẬN NỐI TIẾP  
GVHD: NGUYỄN PHÚ CÔNG  
SINH VIÊN THỰC HIỆN  
DƯƠNG HÀO QUANG  
MSSV  
2032170077  
TP. HỒ CHÍ MINH, 14 tháng 07, năm 2020  
TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM  
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ  
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM  
Độc lập - Tự do - Hạnh phúc  
TP. HCM, ngày….tháng…..năm……..  
ĐỀ CƯƠNG CHI TIẾT  
TÊN ĐỒ ÁN: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI  
TIẾP  
Giảng viên hướng dẫn: Nguyễn Phú Công  
Thời gian thực hiện: Từ ngày 01/05/2020 đến ngày 15/07/2020  
Sinh viên thực hiện: Dương Hào Quang  
Nội dung đề tài:  
- Tìm hiểu tổng quan lý thuyết.  
- Xây dựng mục tiêu đề tài.  
- Thiết kế và thi công mô hình hiển thị nhiệt độ trên led ma trận  
- Thực nghiệm và đánh giá đề tài  
Kế hoạch thực hiện:  
- Từ ngày 01/05/2020 đến ngày 31/05/2020: Nhận đề tài  
- Từ ngày 01/06/2020 đến ngày 23/06/2020: Nghiên cứu đề tài  
- Từ ngày 24/06/2020 đến ngày 30/06/2020: Tiến hành thi công lắp ráp và thử  
nghiệm  
- Từ ngày 01/07/2020 đến ngày 14/07/2020: Viết báo cáo  
Xác nhận của giảng viên hướng dẫn  
TP. HCM, ngày….tháng …..năm…..  
Sinh viên  
TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM  
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ  
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM  
Độc lập - Tự do - Hạnh phúc  
TP. HCM, ngày….tháng…..năm……..  
NHẬN XÉT ĐỒ ÁN CHUYÊN NGÀNH  
CỦA GIẢNG VIÊN HƯỚNG DẪN  
Tên đồ án:  
ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI TIẾP  
Sinh viên thực hiện:  
Dương Hào Quang  
2032170077  
Giảng viên hướng dẫn:  
Nguyễn Phú Công  
Đánh giá Đồ án  
1. Về cuốn báo cáo:  
Số trang  
________  
Số chương ________  
Số hình vẽ ________  
Sản phẩm ________  
Một số nhận xét về hình thức cuốn báo cáo:  
Số bảng số liệu  
________  
Số tài liệu tham khảo ________  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
2. Về nội dung đồ án:  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
3. Về tính ứng dụng:  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
4. Về thái độ làm việc của sinh viên:  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
Đánh giá chung:  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
……………………………………………………………………………………………………  
Điểm sinh viên:  
Dương Hào Quang: …../10  
Người nhận  
(Ký tên và ghi rõ họ tên)  
LỜI CẢM ƠN  
Để hoàn thành chuyên đề báo cáo đồ án chuyên ngành điều khiển – tự động hóa  
trước hết em xin gửi đến quý thầy, cô giáo trong Khoa Công nghệ Điện-Điện tử,  
trường Đại học Công nghiệp thực phẩm Thành phố Hồ Chí Minh lời cảm ơn chân  
thành. Đặc biệt, em xin gửi đến thầy Nguyễn Phú Công, người đã tận tình hướng dẫn,  
giúp đỡ em hoàn thành chuyên đề báo cáo đồ án chuyên ngành điều khiển – tự động  
hóa này lời cảm ơn sâu sắc nhất.  
Mặc dù nhóm em đã cố gắng hết sức mình, nhưng do lượng kiến thức eo hẹp  
nên không tránh khỏi những thiếu sót. Do vậy, chúng em rất mong nhận được sự góp ý  
quý báu của thầy, cô để nhóm có thể hoàn thiện và tốt hơn nữa cũng như tích lũy kinh  
nghiệm để hoàn thành tốt báo cáo đồ án tốt nghiệp sao ngày.  
Sau cùng, em kính chúc quý thầy cô thật dồi dào sức khỏe, luôn tràn đầy nhiệt  
huyết cùng với thành công trong sự nghiệp cao quý.  
TP. HCM, ngày 14 tháng 07 năm 2020  
Sinh viên thực hiện  
Dương Hào Quang  
LỜI NÓI ĐÀU  
Như chúng ta biết, nhiệt độ là một trong những thành phần vật lý rất quan  
trọng. Việc thay đổi nhiệt độ của một vật chất ảnh hưởng rất nhiều đến cấu tạo, tính  
chất, và các đại lượng vật lý khác của vật chất. Ví dụ, sự thay đổi nhiệt độ của 1 chất  
khí sẽ làm thay đổi thể tích, áp suất của chất khí trong bình. Vì vậy, trong nghiên cứu  
khoa học, trong công nghiệp và trong đời sống sinh hoạt, thu thập các thông số và  
điều khiển nhiệt độ là điều rất cần thiết.  
Trong các lò nhiệt, máy điều hoà, máy lạnh hay cả trong lò viba, điều khiển  
nhiệt độ là tính chất quyết định cho sản phảm ấy. Trong ngành luyện kim, cần phải  
đạt đến một nhiệt độ nào đó để kim loại nóng chảy, và cũng cần đạt một nhiệt độ nào  
đó để ủ kim loại nhằm đạt được tốt các đặc tính cơ học như độ bền, độ dẻo, độ chống  
gỉ sét, … . Trong ngành thực phẩm, cần duy trì một nhiệt độ nào đó để nướng bánh,  
để nấu, để bảo quản, … . Việc thay đổi thất thường nhiệt độ, không chỉ gây hư hại  
đến chính thiết bị đang hoạt động, còn ảnh hưởng đến quá trình sản xuất, ngay cả trên  
chính sản phẩm ấy.  
Sự ra đời của mạch Arduino đã thúc đẩy sự yêu thích, tìm tòi nghiên cứu, ứng  
dụng thành tựu khoa học kỹ thuật của lĩnh vực tự động hóa vào đời sống và công  
nghiệp. Với những ưu điểm riêng của mình, Arduino dần khẳng định được vị thế, vai  
trò của mình trên trường quốc tế, được giới học sinh, sinh viên và cả giới nghiên cứu  
sử dụng một cách rộng rãi.  
Chính vì thấy được những ưu điểm của Arduino cùng với kiến thức sau một  
thời gian học tập và tìm hiểu tài liệu về Arduino, em đã chọn dùng Arduino chọn đồ  
án 2 với đề tài: “Điều khiển nhiệt độ hiển thị trên led ma trận nối tiếp”  
MỤC LỤC  
1
 
DANH MỤC HÌNH ẢNH  
DANH MỤC BẢNG BIỂU  
2
   
CHƯƠNG 1: TỔNG QUAN VỀ ĐÈ TÀI  
1.1. Đặt vấn đề  
Ngày nay, với sự phát triển của khoa học kỹ thuật, trong cuộc sống hằng ngày  
việc đo và đặt nhiệt độ theo mong muốn trong một không gian giới hạn nào đó như:  
trong nhà máy, xí nghiệp, trong bệnh viện, trong công ty, nhà ở,…là rất cần thiết theo  
nhu cầu của con người. Điều đó chứng tỏ con người ngày càng muốn giao tiếp nhiều  
hơn với môi trường. Vì vậy điều khiển nhiệt độ là điều rất cần thiết và với sự phát  
triển của khoa học kỹ thuật, việc thực hiện một mô hình điều khiển nhiệt độ hiển thi  
trên led ma trận với độ chính xác cao mà không mất nhiều chi phí.  
Hình 1. 1: Điều khiển nhiệt độ máy lạnh  
Giúp sinh viên củng cố lý thuyết môn học Vi xử lý trong điều khiển. Hiểu  
thêm về cấu trúc của các dòng vi điều khiển nói chung và ARDUINO nói riêng. Biết  
về cách lập trình cho vi điều khiển và thực hiện được một số bài toán điều khiển cơ  
bản.  
Giúp sinh viên có thêm kỹ năng giải quyết một số bài toán điều khiển đơn  
giản ứng dụng các dòng vi điều khiển. Có khả năng phân tích bài toán điều khiển để  
tìm biện pháp giải quyết vấn đề, biết lựa chọn giải pháp hợp lý và biết cách chọn lựa  
thiết bị vật tư sử dụng cho công việc.  
Rèn thêm tư duy thực hiện và cách thức trình bày để sinh viên tiếp cận dễ  
dàng hơn đối với các đồ án môn học khác và đặc biệt là đồ án tốt nghiệp sau này khi  
sinh viên làm Khóa luận tốt nghiệp.  
1.2. Yêu cầu và kết cấu đồ án  
Điều khiển được nhiệt độ thông qua cảm biến và vi sử lý hiển thị lên led ma  
trận mắc nối tiếp và thực hiện theo đúng tiến độ đã đặt ra.  
Kết cấu đồ án được trình bày theo 4 phần chính :  
• Chương 1: Tổng quan về đề tài  
• Chương 2: Cơ sở lý thuyết  
• Chương 3: Thiết kế và thi công  
• Chương 4: Đánh giá và kết luận  
3
       
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT  
2.1. Giới thiệu về cảm biến nhiệt độ DS18B20  
2.1.1 Tổng quan  
DS18B20 là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân,hình ảnh thức tế như  
hình dưới.  
Hình 2. 1: Cảm biến DS18B20  
Hình 2. 2: Sơ đồ chân cảm biến DS18B20.  
2.1.2 Đặc điểm DS18B20  
Các đặc điểm kỹ thuật của cảm biến DS18B20 có thể kể ra một cách tóm tắt  
như sau:  
• Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông.  
• Độ phân giải khi đo nhiệt độ từ 9 bit tới 12bit. Dải đo nhiệt độ -  
55°C đến 125°C, từng bậc 0.5°C, có thể đạt độ chính xác đến 0.1°C  
4
           
bằng việc hiệu chỉnh qua phần mềm.  
• Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có  
thể được nối trên một bus, bus này được gọi là bus một dây (1-wire).  
• Không cần thêm linh kiện bên ngoài.  
• Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3.0 V đến  
5.5 V DC và có thể được cấp thông qua đường dẫn dữ liệu.  
• Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.  
• Thời gian lấy mẫu và biến đổi ra digital 12 bit không lớn quá 750ms.  
• Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong  
bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia  
laze.  
Sơ đồ khối bên trong của cảm biến:  
Hình 2. 3: Sơ đồ khối DS18B20.  
2.1.3 Giao tiếp với DS18B20  
Đầu đo nhiệt độ số DS18B20 đưa ra số liệu để biểu thị nhiệt độ đo được dưới  
dạng mã nhị phân 12 bit. Các thông tin được gửi đến và nhận về từ DS18B20 trên  
giao diện 1-wire, do đó chỉ cần hai đường dẫn gồm một đường cho tín hiệu và  
một đường làm dây GND là đủ để kết nối vi điều khiển đến điểm đo. Nguồn nuôi cho  
các thao tác ghi/đọc/chuyển đổi có thể được trích từ đường tín hiệu, không cần có  
thêm đường dây riêng để cấp điện áp nguồn.  
Mỗi vi mạch đo nhiệt độ DS18B20 có một mã số định danh duy nhất, được  
khắc bằng laser trong quá trình chế tạo vi mạch nên nhiều vi mạch DS18B20 có  
thể cùng kết nối vào một bus 1-wire mà không có sự nhầm lẫn.  
Đặc điểm này làm cho việc lắp đặt nhiều cảm biến nhiệt độ tại nhiều vị trí  
khác nhau trở nên dễ dàng và với chi phí thấp. Số lượng các cảm biến nối vào bus  
không hạn chế.  
Mỗi cảm biến nhiệt độ DS18B20 có một dãy mã 64 bit duy nhất được lưu  
trữ trong bộ nhớ ROM từ khi sản xuất bằng kỹ thuật laze.  
Cấu trúc vùng nhớ mã ROM 64 bit của DS18B20:  
Hình 2. 4: Cấu trúc vùng nhớ mã ROM của DS18B20  
Như vậy dãy mã được chia ra thành 3 nhóm, trong đó:  
5
     
• Tám bit đầu tiên là mã định danh họ một dây, mã của DS18B20 là 28h.  
• 48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến  
DS1820 chỉ có một số mã.  
• Tám bit có ý nghĩa nhất là byte mã kiểm tra CRC (cyclic redundancy  
check), byte này được tính toán từ 56 bit đầu tiên của dãy mã trên  
ROM  
Để truy cập lên cảm biến một dây DS18B20 ta phải sử dụng hai nhóm lệnh:  
các lệnh ROM và các lệnh chức năng (function commands) bộ nhớ.  
Sơ đồ vùng nhớ DS18B20:  
Hình 2. 5: Cấu trúc vùng nhớ DS18B20  
Việc đo nhiệt độ của DS18B20 được thực hiện theo từng lần lấy mẫu. Mỗi lần  
lấy mẫu được ngăn cách bởi 1 tín hiệu reset và 1 presence pulse. Reset được xem như  
quá trình ngăn cách và khởi động lại quá trình đo nhiệt độ mới, presence pulse giống  
như tín hiệu báo hiệu cho VDK biết là DS18B20 đang có mặt.  
Các bước của 1 lần lấy mẫu:  
• Khởi tạo xung reset và nhận tín hiệu hiện diện từ DS18B20.  
• Gửi các lệnh ROM.  
• Gửi các lệnh chức năng bộ nhớ.  
Lưu đồ lệnh ROM DS18B20 được trình bày bên dưới:  
6
 
Hình 2. 6: Lưu đồ lệnh ROM  
Lưu đồ lệnh chức năng DS18B20 được trình bày bên dưới:  
7
 
Hình 2. 7: Lưu đồ lệnh chức năng DS18B20  
Thời gian khởi tạo:  
8
 
Hình 2. 8: Khe thời gian khởi tạo  
Giản đồ khe thời gian đọc viết:  
Hình 2. 9: Khe thời gian đọc,viết  
2.2. Arduino Uno R3  
2.2.1 Tổng quan về Arduino  
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với  
các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm  
nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một  
ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về  
điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và  
tính chất nguồn mở từ phần cứng tới phần mềm.  
Hình 2. 10: Arduino Uno R3  
2.2.2 Một vài thông số của Arduino Uno R3  
9
           
Vi điều khiển  
ATmega328 họ 8bit  
5V DC (chỉ được cấp qua cổng USB)  
16 MHz  
Điện áp hoạt động  
Tần số hoạt động  
Dòng tiêu thụ  
khoảng 30mA  
Điện áp vào khuyên dùng  
Điện áp vào giới hạn  
Số chân Digital I/O  
Số chân Analog  
7-12V DC  
6-20V DC  
14 (6 chân hardware PWM)  
6 (độ phân giải 10bit)  
Dòng tối đa trên mỗi  
chân I/O  
30 mA  
Dòng ra tối đa (5V)  
Dòng ra tối đa (3.3V)  
500 mA  
50 mA  
32 KB (ATmega328) với 0.5KB dùng bởi  
bootloader  
Bộ nhớ flash  
SRAM  
2 KB (ATmega328)  
1 KB (ATmega328)  
EEPROM  
Bảng 2. 1: Một vài thông số của Arduino UNO  
Hình 2. 11: Vi điều khiển  
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,  
ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều  
khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo  
nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,…  
2.2.3 Nguồn  
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp  
nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì  
cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB.  
Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO.  
Các chân năng lượng  
• ND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn  
dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân  
này phải được nối với nhau.  
• 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.  
• 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là  
10  
     
50mA.  
• Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối  
cực dương của nguồn với chân này và cực âm của nguồn với chân  
GND.  
• IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể  
được đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không  
được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó  
không phải là cấp nguồn.  
• RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương  
đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.  
Lưu ý:  
• Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó phải hết  
sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho  
Arduino UNO. Việc làm chập mạch nguồn vào của Arduino UNO sẽ  
biến nó thành một miếng nhựa chặn giấy. Nên dùng nguồn từ cổng  
USB nếu có thể.  
• Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra  
cho các thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp  
nguồn sai vị trí có thể làm hỏng board. Điều này không được nhà sản  
xuất khuyến khích.  
• Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp  
dưới 6V có thể làm hỏng board.  
• Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi  
điều khiển ATmega328.  
• Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của  
Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.  
• Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino  
UNO sẽ làm hỏng vi điều khiển.  
• Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của  
Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu  
không dùng để truyền nhận dữ liệu phải mắc một điện trở hạn dòng.  
2.2.4 Bộ nhớ  
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:  
• 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ  
trong bộ nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB  
trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi  
nào cần quá 20KB bộ nhớ này đâu.  
• 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn  
khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì  
càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào  
bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm. Khi mất điện, dữ  
liệu trên SRAM sẽ bị mất.  
• 1Kb cho EEPROM( Electrically Eraseble Programmable Read Only  
Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc  
và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện  
giống như dữ liệu trên SRAM.  
11  
 
2.2.5 Các cổng vào ra  
Hình 2. 12: Các cổng vào ra  
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có  
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi  
chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển  
ATmega328 (mặc định thì các điện trở này không được kết nối).  
Một số chân digital có các chức năng đặc biệt như sau:  
• 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận  
(receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với  
thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói  
nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp  
Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết  
• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM  
với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V)  
bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh  
được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở  
mức 0V và 5V như những chân khác.  
• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài  
các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ  
liệu bằng giao thức SPI với các thiết bị khác.  
• LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi  
bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được  
nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ  
sáng.  
2.2.6 Ngôn ngữ lập trình cho Arduino  
12  
     
Hình 2. 13: Giao diện phần mềm Arduino IDE.  
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều  
lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi  
trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên  
nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư  
viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn  
Arduino IDE là phần mềm dùng để lập trình cho Arduino. Môi trường lập  
trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows,  
Macintosh osx và 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 thêm 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à do  
ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ c của AVR nẽn người dùng hoàn  
toàn có thể nhúng thêm 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/ bao gồm các phiên bản  
sau:  
• Arduino 1.0.5  
• Arduinol.5.5 BETA (Hỗ trợ cho 2 board Arduino mới nhất là: Arduino  
Yun và Arduino Due).  
• Arduino IDE cho Intel Galileo  
2.3. Led ma trận  
2.3.1 Giới thiệu về led ma trận  
Led ma trận bao gồm các led đơn được xếp thành hàng và cột . Các led đơn  
trong cùngmột hàng thì được nối chung anot (catot) còn trong cùng một cột thì được  
nối chung catot(anot). Do đó để các led có thể sáng ta phải cấp nguồn cho led như  
sau : cấp mức cao(thấp) cho hàng và mức thấp (cao) cho cột.  
13  
     
Hình 2. 14: Sơ đồ cấu tạo led ma trận  
2.3.2 Hiển thị với IC MAX7219  
Led Matrix 8x8 là một bảng Led gồm 8 hàng và 8 cột (tổng cộng 64 con led).  
Nếu điều khiển trực tiếp bằng Arduino, đó là một điều không khả thi. Thế nên, IC  
MAX7219 đã ra đời để có thể điều khiển vô vàn con Led chỉ với 5 chân.  
IC MAX7219 được hãng MAXIM thiết kế và sản xuất, thuận tiện sử dụng để  
điều khiển LED ma trận và LED 7 thanh (1 chip có thể điều khiển LED ma trận 8x8  
hoặc LED 7 thanh 8 chữ số) và chỉ cần 1 điện trở để hạn dòng cho tất cả các led (so  
với các IC khác hầu như phải có 1 điện trở cho mỗi led). Trên mỗi chip đã được tích  
hợp bộ giải mã BCD, mạch quét dồn kênh, thanh ghi dịch, ...  
Giống như với 74HC595, để điều khiển LED ma trận ta sử dụng MAX7219  
hoạt động giống như một thanh ghi dịch khi bạn cần nhập dữ liệu vào nối tiếp theo  
từng bit. Tổng cộng có 16 bit được nhập vào tại một thời điểm. MAX7219 chỉ cần 3  
chân từ Arduino để kết nối với các chân DIN, LOAD và CLK của IC.  
Sơ đồ chân của MAX7219 được mô tả như hình dưới:  
Hình 2. 15: MAX7219  
Chân LOAD được kéo xuống LOW và bit đầu tiên của dữ liệu được đưa vào  
chân DIN, trên sườn lên của xung CLK, các bit tại chân DIN được đưa vào thanh ghi  
bên trong chip. Sau đó xung CLK xuống LOW và các bit tiếp theo được thiết lập tại  
14  
     
Tải về để xem bản đầy đủ
docx 34 trang yennguyen 19761 Free
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo Đồ án Điều khiển nhiệt độ hiển thị trên led ma trận nối tiếp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docxbao_cao_do_an_dieu_khien_nhiet_do_hien_thi_tren_led_ma_tran.docx