1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống

90 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Hệ Thống Giám Sát Thông Số Nhiệt Độ Độ Ẩm Hiển Thị Lên App Blynk
Tác giả Bùi Quang Huy, Ngô Đức Mạnh
Người hướng dẫn TS. Đoàn Lê Anh
Trường học Đại học Sư phạm Kỹ thuật
Chuyên ngành Cơ điện tử
Thể loại Đồ án vi điều khiển
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 90
Dung lượng 826,89 KB

Cấu trúc

  • CHƯƠNG 1 PHẦN MỞ ĐẦU (5)
    • 1. Tổng quan các phương pháp đo nhiệt độ hiện nay (5)
      • 1.1 Đo nhiệt độ bằng phương pháp tiếp xúc (0)
      • 1.2 Đo nhiệt độ bằng nhiệt điện trở (6)
      • 1.3 Đo nhiệt độ bằng cặp nhiệt ngẫu (6)
      • 1.4 Đo nhiệt độ bằng IC cảm biến (6)
      • 1.5 Đo nhiệt độ bằng phương pháp không tiếp xúc (6)
    • 3. Sơ đồ tổng quan hệ thống (10)
  • CHƯƠNG 2 TỔNG QUAN HỆ THỐNG (0)
    • 1.1 Cảm biến do nhiệt độ LM35 (0)
    • 1.2 Cảm biến đo độ ẩm (0)
    • 1.3 Cảm biến độ ẩm và nhiệt độ DHT1 (0)
    • 2. Khối xử lí trung tâm (0)
      • 2.1. Giới thiệu về adruino mega 2560 (0)
      • 2.2. Các thông số kỹ thuật của Ardiuno Mega 2560 (0)
      • 2.3. Quy trình giao tiếp (0)
      • 2.4. Cách dùng phần mềm với adruino mega 2560 (24)
      • 2.5 Một số ứng dụng của adruino mega 2560 trong thực tế (25)
    • 3. Giới thiệu về LCD (26)
      • 3.1. Giới thiệu (26)
      • 3.2. Sơ đồ và chức năng của các chân (26)
      • 3.3. Các thanh ghi (28)
      • 3.4. Vùng RAM hiển thị DDRAM : (Display Data RAM) (28)
      • 3.5. Vùng ROM chứa kí tự CGROM: Character Generator ROM (29)
      • 3.6. Tập lệnh LCD (30)
      • 3.7. Mô phỏng và code mẫu (35)
      • 3.8. Chương trình hiển thị ký tự lên LCD (36)
      • 4.1 Quạt tản nhiệt 5vdc (37)
      • 4.2. Led đơn (38)
      • 4.3 Điện trở (38)
      • 4.4 Bread board (39)
      • 4.5 Dây Bread board (39)
    • 6. Giới thiệu appblynk và cách đăng kí tài khoản appblynk (62)
      • 7.1 các phần mềm sử dụng (75)
  • CHƯƠNG 3: THIẾT KẾ HỆ THỐNG (76)
    • 5.1. Viết chương trình code cho arduio mega (82)
    • 5.2. Viết code chương trình cho NODEMCU (84)
  • CHƯƠNG 4 KẾT LUẬN (89)
    • 2. Một số khó khăn khi thực hiện đề tài (89)

Nội dung

PHẦN MỞ ĐẦU

Tổng quan các phương pháp đo nhiệt độ hiện nay

6 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

1.2 Đo nhiệt độ bằng nhiệt điện trở

Nguyên lí hoạt động : điện trở của một số kim loại thay đổi theo nhiệt độ và dựa vào sự thay đổi điện trở đó người ta đo được nhiệt độ cần đo.

Vật liệu dùng làm chuyển đổi của nhiệt điện trở là có hệ số nhiệt độ lớn và ổn định , điện trở suất khá lớn

Trong công nghiệp nhiệt điện trở chia thành hai loại :

+Nhiệt điện trở kim loại.

+Nhiệt điện trở bán dẫn.

1.3 Đo nhiệt độ bằng cặp nhiệt ngẫu :

Dựa trên nguyên tắc thay đổi sức điện động khi cặp nhiệt điện thay đổi.

1.4 Đo nhiệt độ bằng IC cảm biến

IC cảm biến nhiệt độ silicon có phạm vi nhiệt độ hoạt động rộng hơn các loại cảm biến được đề cập trước đó, từ -55 °C đến +150 °C.

1.5 Đo nhiệt độ bằng phương pháp không tiếp xúc

Sử dụng thiết bị đo nhiệt độ từ xa (thường gọi là súng đo nhiệt độ hồng ngoại hay súng hồng ngoại)

Bảng 1 : So sánh ưu điểm và nhược điểm của các phương pháp đo nhiệt độ

Stt Tên phương pháp Ưu điểm Nhược điểm

1 Nhiệt điện trở ổn định , chính Đắt tiền xác , tuyến tính Cần phải cung cấp hơn so với cặp nguồn dòng nhiệt ngẫu Điện trở tuyệt đối thấp

2 Cặp nhiệt ngẫu Là thành phần tích Phi tuyến cực cung cấp công Điện áp cung cấp suất thấp Đơn giản rẻ Đòi hỏi điện áp Tầm thay đổi rộng tham chiếu

7 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Tầm đo nhiệt độ Kém ổn định nhất rộng Kém nhạy nhất

3 IC cảm biến Tuyến tính nhất Nhiệt độ đo thấp

Ngõ ra có giá trị Cần cung cấp cao nhất nguồn dòng cho

4 Đo nhiệt độ bằng Ttầm đo nhiệt độ Ccấu tạo phức phương pháp không rộng tạp tiếp xúc

2 Một số phương pháp đo độ ẩm thông dụng hiện nay

Xác định độ ẩm đóng vai trò quan trọng trong cuộc sống hiện nay nhằm đảm bảo môi trường bảo quản tốt nhất cho các loại vật liệu, vật dụng, hàng hóa…trong các ngành công nghiệp chế biến và thí nghiệm Cùng chúng tôi điểm danh qua 7 phương pháp xác định độ ẩm thông dụng hiện nay.

- Ứng dụng: Xác định độ ẩm của bánh kẹo, các loại bột…

- Dụng cụ: Cân sấy ẩm

+ Chỉnh bàn cân sao cho bọt thủy về tâm để cân chính xác nhất.

+ Cho mẫu vật lên cân đến khi đạt khối lƣợng cần phân tích độ ẩm.

+ Chọn chế độ đo, thời gian và nhiệt độ sấy cần thiết đối với mẫu (100 độ đến 105 độ C).

+ Cân sấy ẩm sẽ sấy vật liệu, sau đó tự tính toán phần tram độ ẩm của mẫu sau khi sấy.

+ Kết quả độ ẩm của mẫu sau khi sấy đƣợc hiển thị trên màn hình.

- Ƣu điểm: Kết quả đo độ ẩm chính xác, sai số thấp, cân chính xác khôi lƣợng mẫu, thiết kế nhỏ gọn, dễ sử dụng, tiết kiệm thời gian.

-Nhược điểm: Chỉ thích hợp khối lượng mẫu đo nhỏ, phải chuẩn bị mẫu trước khi đo, mẫu sau khi đo xong không còn sử dụng được nữa 2.2 Phương pháp điện trở

-Ứng dụng: Đo độ ẩm của gỗ, vật liệu xây dựng….

8 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

-Dụng cụ: Máy đo độ ẩm gỗ, vật liệu xây dựng

+ Cắm hoặc chọc đầu cắm điện trực tiếp vào vùng mẫu muốn đo

+ Kết quả đo hiển thị trên màn hình.

-Ƣu điểm: Nhỏ gọn, dễ sử dụng mọi lúc mọi nơi đo độ ẩm chỉ trong một thao tác, không tốn thời gian chuẩn bị mẫu.

- Nhƣợc điểm: Phải đo nhiều lần ở nhiều vị trí khác nhau để có giá trị trung bình nhất nên có thể làm hỏng mẫu đo.

2.3 Đo độ ẩm bằng máy đo có đầu dò

- Ứng dụng: Xác định độ ẩm của giấy hay những vật liệu mỏng

- Dụng cụ: Máy đo độ ẩm giấy

+ Khởi động máy đo, áp đầu dò của máy vào bề mặt giấy

+ Kết quả đo hiển thị trên màn hình điện tử

-Ƣu điểm: Nhỏ gọn, dễ sử dụng, tiện lợi trong việc khảo sát độ ẩm giấy trong kho, đo trực tiếp trên mẫu không làm hƣ hại đến mẫu.

-Nhƣợc điểm: Thiết kế chuyên biệt để đo giấy

2.4 Phương pháp nguyên lí điện trở

-Ứng dụng: Đo độ ẩm ngũ cốc, các loại hạt

- Dụng cụ: Máy đo độ ẩm hạt cầm tay (điện trở nằm ngoài), máy có điện trở nằm trong buồng phân tích mẫu

+ Với máy đo độ ẩm hạt cầm tay: Cắm hoặc chọc đầu cắm điện trực tiếp vào vùng mẫu muốn đo Kết quả đo hiển thị trên màn hình.

+ Với loại có buồng chứa mẫu: Chuẩn bị mẫu => Cho mẫu vào buồng/khay chƣa mẫu và bấm nút “Start” => Kết quả sẽ hiển thị trên màn hình sau vài giây phân tích.

- Ƣu điểm: Kết quả đo nhanh, thao tác ít, dễ sử dụng và không làm hƣ hại đến mẫu. Máy đo có buồng chứa mẫu có chế độ đo ẩm cho từng loại hạt chuyên biệt -Nhƣợc điểm:

+ Máy đo ẩm dạng que nhọn cho kết quả kém chính xác khi đo các loại hạt to.

9 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

+ Máy đo ẩm có buồng chứa mẫu có kích thước không được nhỏ gọn lắm 2.5 Phương pháp khúc xạ ánh sáng

- Ứng dụng: Đo độ ẩm mật ong

- Dụng cụ: Khúc xạ kế

Đối với khúc xạ kế cơ, tiến hành nhỏ một vài giọt mẫu lên bề mặt lăng kính, đậy nắp để mẫu phân bố đều Đặt khúc xạ kế ngang tầm mắt để quan sát và ghi nhận kết quả đọc được qua thị kính.

+ Đối với khúc xạ kế loại điện tử: cho vài giọt mẫu lên lăng kính và bấm phím

“Start” kết quả sẽ hiển thị sau vài giây trên màn hình điện tử.

-Ƣu điểm: Dễ sử dụng, cho kết quả nhanh, nhỏ gọn có thể bỏ túi

-Nhƣợc điểm: Vì khúc xạ kế nên sẽ phụ thuộc ít nhiều vào nguồn sáng. 2.6 Phương pháp điện trở

- Ứng dụng: Đo độ ẩm đất

- Dụng cụ: Máy đo pH và độ ẩm đất Takemura DM 15

+ Cắm đầu đo của máy vào nơi đất cần đo sao cho đất ngập cả 3 vòng kim loại. + Ấn và giữ phím màu trắng trên thân máy để đọc phần trăm độ ẩm trên màn hình và thả tay ra nếu muốn đọc chỉ số pH.

- Ƣu điểm: nhỏ gọn, tiện lợi, dễ sử dụng, giá thành thấp.

- Nhƣợc điểm: Phải đo nhiều lần trên nhiều vị trí khác nhau trong khoảng 1 mét vuông để tính độ ẩm và độ pH trung bình.

2.7 Đo độ ẩm không khí

- Ứng dụng: Đo độ ẩm không khí

- Dụng cụ: Ẩm kế điện tử loại treo tường /cầm tay, máy đo độ ẩm có đầu dò rời

+ Ẩm kế điện tử loại treo tường dùng để xác định độ ẩm một cách liên tục trong các kho chứa, nhà máy, xí nghiệp, văn phòng và nhà ở.

+ Ẩm kế điện tử loại cầm tay và máy đo độ ẩm có đầu dò rời dùng để đi khảo sát độ ẩm tại hiện trường kho bãi, container…

10 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Sơ đồ tổng quan hệ thống

Kkhối xử lí Kkhối điều biến trung tâm khiển khối hiển thị

Khối app blynk oàn hệ thống

Giải thích từng thành phần :

Khối cảm biến là mạch thu nhận dữ liệu có chức năng thu thập các thông số cảm biến , xử lí và sau đó gửi về khối xử lí trung tâm

Khối trung tâm xử lí tín hiệu mọi thông tin từ nhận dữ liệu , điều khiển động cơ , thiết bị cũng nhƣ đƣa dữ liệu lên server

Khối điều khiển là cacs mạch điều khiển bao gồm relay để bật tắt động cơ , và các đèn báo

Khối hiển thị là các module hiển thị nhƣ lcd , …

Khối bluetool ,app bao gồm dữ liệu lên điện thoại

Khối nguồn đƣợc dùng để cung cấp áp cho hoạt động cho các khối còn lại

11 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 2 7: giao diện làm việc của Arduino IDE

2.4 Cách dùng phần mềm với adruino mega 2560 :

Chọn loại vi điều khiển ( Arduino Mega 2560): Vào mục tool => Board

“Arduino/Genuino Mega 2560 or Mega 2560”=> Chọn Arduino/Genuino Mega 2560 or Mega 2560.

24 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 1 8: IDE Menu Arduino Mega 2560

Chọn Cổng kết nối giữa máy tính và mạch vi điều khiển:

Hình 1 9 : cổng kết nối với máy tính

2.5 Một số ứng dụng của adruino mega 2560 trong thực tế: Ứng dụng trong công nghiệp: Arduino là trung tâm của bộ xử lí nên đƣợc dùng làm bộ nhớ trung tâm trong các hệ thống điều khiển tự động nhƣ băng chuyền, hệ thống đếm hàng, hệ thống tự động đóng chai trong các nhà máy nước ngọt…

25 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh Ứng dụng trong dân dụng : Arduino đƣợc biết đến nhƣ là một thiết bị nhỏ gọn,rẻ và dễ dàng tương tác nên được sử dụng rất nhiều trong dân dụng Các hệ thống điều khiển các thiết bị từ xa, hệ thống chống trộm, ngôi nhà thông minh… Tất cả để thân thiện và dễ dàng sử dụng Với giá thành rẻ và dễ dàng lắp đặt, ngày càng có nhiều sản phẩm đƣợc hoàn thiện trong lĩnh vực này.

Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) đƣợc sử dụng trong rất nhiều các ứng dụng của VĐK LCD có rất nhiều ƣu điểm so với các dạng hiển thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đƣa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẽ.

3.2 Sơ đồ và chức năng của các chân

Hình 1.15: Sơ đồ chân của LCD 1602

Bảng 3 : Chức năng các chân

26 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh hiệu

1 VssChân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD.

4 RSChân chọn thanh ghi (Register select) Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.

5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc.

6 EChân cho phép (Enable) Sau khi các tín hiệu đƣợc đặt lên bus DB0- DB7, các lệnh chỉ đƣợc chấp nhận khi có 1 xung cho phép của chân E. + Ở chế độ ghi: Dữ liệu ở bus sẽ đƣợc LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.

+ Ở chế độ đọc: Dữ liệu sẽ đƣợc LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và đƣợc LCD giữ ở bus đến khi nào chân E xuống mức thấp.

7-14 DB0 - Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU. DB7 Có 2 chế độ sử dụng 8 đường bus này :

+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.

+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7

15 - Nguồn dương cho đèn nền

* Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân DBx.

Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các chân DBx.

27 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor

Register) và thanh ghi dữ liệu DR (Data Register)

- Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua tám đường bus DB0-DB7 Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng Người dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR Nghĩa là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng mã lệnh tại địa chỉ mà IR cung cấp và thực hiện lệnh đó.

VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)

Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110

Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM DDRAM hoặc CGRAM

(ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi ra cho MPU (ở chế độ đọc) Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội bên trong chíp sẽ tự động ghi thông tin này vào DDRAM hoặc CGRAM Hoặc khi thông tin về địa chỉ đƣợc ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽ đƣợc chuyển ra DR để truyền cho MPU.

=> Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ 2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp.

Bảng 4 : Chức năng chân RS và R/W theo mục đích sử dụng

0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD

0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6

1 0 Ghi vào thanh ghi DR

1 1 Đọc dữ liệu từ DR

3.4 Vùng RAM hiển thị DDRAM : (Display Data RAM) Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM là một ô kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD sẽ

28 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh hiển thị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà bạn đã cung cấp. Hình sau đây sẽ trình bày rõ hơn mối liên hệ này :

Hình 1.16 Mối liên hệ giữa DDRAM với LCD

Vùng RAM này có 80x8 bit nhớ, nghĩa là chứa đƣợc 80 kí tự mã 8 bit Những vùng RAM còn lại không dùng cho hiển thị có thể dùng nhƣ vùng RAM đa mục đích. Lưu ý là để truy cập vào DDRAM, ta phải cung cấp địa chỉ cho AC theo mã HEX

3.5 Vùng ROM chứa kí tự CGROM: Character Generator ROM

Vùng ROM này lưu trữ các mẫu ký tự dạng lưới điểm 5x8 hoặc 5x10 điểm ảnh, có địa chỉ 8 bit Tuy nhiên, nó chỉ chứa 208 mẫu ký tự 5x8 và 32 mẫu ký tự 5x10 (tổng cộng là 240 mẫu, ít hơn 256 mẫu theo nguyên tắc 2^8) Người dùng không thể thay đổi nội dung của vùng ROM này.

Bảng 3 : Bảng mã kí tự (ROM code A00 )

29 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Trước khi tìm hiểu tập lệnh của LCD, sau đây là một vài chú ý khi giao tiếp với LCD : * Tuy trong sơ đồ khối của LCD có nhiều khối khác nhau, nhƣng khi lập trình điều khiển LCD ta chỉ có thể tác động trực tiếp đƣợc vào

2 thanh ghi DR và IR thông qua các chân DBx, và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữ 2 thanh ghi này (xem bảng 2)

30 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

TỔNG QUAN HỆ THỐNG

Giới thiệu về LCD

Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) đƣợc sử dụng trong rất nhiều các ứng dụng của VĐK LCD có rất nhiều ƣu điểm so với các dạng hiển thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đƣa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẽ.

3.2 Sơ đồ và chức năng của các chân

Hình 1.15: Sơ đồ chân của LCD 1602

Bảng 3 : Chức năng các chân

26 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh hiệu

1 VssChân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD.

4 RSChân chọn thanh ghi (Register select) Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.

5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc.

Chân E (Enable) cho phép dữ liệu từ bus DB0-DB7 đi vào thanh ghi bên trong LCD Trong chế độ ghi, xung cho phép từ chân E (từ mức cao sang mức thấp) sẽ kích hoạt LCD chấp nhận dữ liệu từ bus.

+ Ở chế độ đọc: Dữ liệu sẽ đƣợc LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và đƣợc LCD giữ ở bus đến khi nào chân E xuống mức thấp.

7-14 DB0 - Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU. DB7 Có 2 chế độ sử dụng 8 đường bus này :

+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.

+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7

15 - Nguồn dương cho đèn nền

* Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân DBx.

Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các chân DBx.

27 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor

Register) và thanh ghi dữ liệu DR (Data Register)

- Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua tám đường bus DB0-DB7 Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng Người dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR Nghĩa là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng mã lệnh tại địa chỉ mà IR cung cấp và thực hiện lệnh đó.

VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)

Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110

Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM DDRAM hoặc CGRAM

(ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi ra cho MPU (ở chế độ đọc) Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội bên trong chíp sẽ tự động ghi thông tin này vào DDRAM hoặc CGRAM Hoặc khi thông tin về địa chỉ đƣợc ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽ đƣợc chuyển ra DR để truyền cho MPU.

=> Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ 2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp.

Bảng 4 : Chức năng chân RS và R/W theo mục đích sử dụng

0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD

0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6

1 0 Ghi vào thanh ghi DR

1 1 Đọc dữ liệu từ DR

3.4 Vùng RAM hiển thị DDRAM : (Display Data RAM) Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM là một ô kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD sẽ

28 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh hiển thị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà bạn đã cung cấp. Hình sau đây sẽ trình bày rõ hơn mối liên hệ này :

Hình 1.16 Mối liên hệ giữa DDRAM với LCD

Vùng RAM hiển thị chứa 80x8 bit bộ nhớ, cho phép lưu trữ 80 ký tự mã 8 bit Các vùng RAM còn lại ngoài vùng hiển thị có thể được sử dụng như RAM đa mục đích Lưu ý rằng để truy cập vào DDRAM, địa chỉ phải được cung cấp cho AC theo mã HEX.

3.5 Vùng ROM chứa kí tự CGROM: Character Generator ROM

Vùng ROM này dùng để chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/kí tự, và định địa chỉ bằng 8 bit Tuy nhiên, nó chỉ có 208 mẫu kí tự 5x8 và 32 mẫu kí tự kiểu 5x10 (tổng cộng là 240 thay vì 2^8 = 256 mẫu kí tự) Người dùng không thể thay đổi vùng ROM này.

Bảng 3 : Bảng mã kí tự (ROM code A00 )

29 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Trước khi tìm hiểu tập lệnh của LCD, sau đây là một vài chú ý khi giao tiếp với LCD : * Tuy trong sơ đồ khối của LCD có nhiều khối khác nhau, nhƣng khi lập trình điều khiển LCD ta chỉ có thể tác động trực tiếp đƣợc vào

2 thanh ghi DR và IR thông qua các chân DBx, và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữ 2 thanh ghi này (xem bảng 2)

30 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

* Với mỗi lệnh, LCD cần một khoảng thời gian để hoàn tất, thời gian này có thể khá lâu đối với tốc độ của MPU, nên ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hành mới có thể ra lệnh tiếp theo.

* Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị, mỗi khi có lệnh ghi vào RAM (Điều này giúp chương trình gọn hơn)

* Các lệnh của LCD có thể chia thành 4 nhóm nhƣ sau :

• Các lệnh về kiểu hiển thị VD : Kiểu hiển thị (1 hàng / 2 hàng), chiều dài dữ liệu (8 bit / 4 bit), …

• Chỉ định địa chỉ RAM nội.

• Nhóm lệnh truyền dữ liệu trong RAM nội.

Bảng 4 : Tập lệnh của LCD

Clear Mã lệnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

Lệnh Clear Display (xóa hiển thị) sẽ ghi một khoảng trống-blank (mã hiện kí tự 20H) vào tất cả ô nhớ trong DDRAM, sau đó trả bộ đếm địa AC=0, trả lại kiểu hiển thị gốc nếu nó bị thay đổi Nghĩa là : Tắt hiển thị, con trỏ dời về góc trái (hàng đầu tiên), chế độ tăng AC.

Return Mã lệnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 home DBx = 0 0 0 0 0 0 1 *

Lệnh Return home trả bộ đếm địa chỉ AC về 0, trả lại kiểu hiển thị gốc nếu nó bị thay đổi Nội dung của DDRAM không thay đổi.

Entry Mã lệnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 mode set DBx = 0 0 0 0 0 1 [I/D] [S]

I/D : Tăng (I/D=1) hoặc giảm (I/D=0) bộ đếm địa chỉ hiển thị AC 1 đơn vị mỗi khi có hành động ghi hoặc đọc vùng DDRAM Vị trí con trỏ cũng di chuyển theo sự tăng giảm này.

Giới thiệu appblynk và cách đăng kí tài khoản appblynk

Blynk là nền tảng có ứng dụng di động, cho phép người dùng tương tác dễ dàng với các bo mạch vi điều khiển phổ biến như Arduino, Esp8266, ESP32 hay Raspberry Pi thông qua internet.

Ứng dụng Blynk là một bảng điều khiển kỹ thuật số cho phép người dùng xây dựng giao diện đồ họa cho dự án của họ thông qua tính năng kéo và thả các tiện ích do nhà cung cấp thiết kế sẵn.

60 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Blynk không bị ràng buộc với một số bo hoặc shield cụ thể Thay vào đó, nó hỗ trợ phần cứng mà bạn lựa chọn Cho dù Arduino hoặc Raspberry

Pi của bạn đƣợc liên kết với Internet qua Wi-Fi, Ethernet hoặc chip ESP8266, Blynk sẽ giúp bạn kết nối và sẵn sàng cho các dự án IoT.

Blynk Server – chịu trách nhiệm về tất cả các giao tiếp giữa điện thoại thông minh và phần cứng Bạn có thể sử dụng Blynk Cloud hoặc chạy cục bộ máy chủ Blynk riêng của mình Nó là mã nguồn mở, có thể dễ dàng xử lý hàng nghìn thiết bị và thậm chí có thể đƣợc khởi chạy trên Raspberry Pi.

Thƣ viện Blynk – dành cho tất cả các nền tảng phần cứng phổ biến – cho phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và lệnh đi. Mỗi khi bạn nhấn một nút trong ứng dụng Blynk, thông điệp sẽ truyền đến không gian của đám mây Blynk, và tìm đường đến phần cứng của bạn. Mọi thứ bạn cần để xây dựng và quản lý phần cứng đƣợc kết nối: cung cấp thiết bị, hiển thị dữ liệu cảm biến, điều khiển từ xa với các ứng dụng web và di động, cập nhật chương trình cơ sở qua mạng, bảo mật, phân tích dữ liệu, quản lý người dùng và truy cập, cảnh báo, tự động hóa và nhiều thứ khác hơn… Để bắt đầu Blynk cần cái gì?

Thiết bị dùng các bộ kit phát triển nhƣ Arduino, Raspberry, ESP8266 Blynk hoạt động trên Internet vì vậy các thiết bị

2 Smartphone Ứng dụng Blynk có thể hoạt động trên iOS và Android Có thể download từ trên điện thoại.

Thƣ viện Blynk cho Arduino: https://github.com/blynkkk/blynk-library/releases/latest Trong Arduino IDE có thể thêm thƣ viện này từ Manager Libraries bằng cách tìm kiếm từ khóa Blynk và cài đặt.

Blynk là ứng dụng trên điện thoại cho phép người dùng tạo giao diện và điều khiển thiết bị theo yêu cầu cụ thể Với giao diện trực quan, người dùng có thể tùy chỉnh màn hình chính, thêm các widget điều khiển và giám sát trực quan các thông số thiết bị Blynk hỗ trợ nhiều bo mạch phổ biến như Arduino, ESP8266 và Raspberry Pi, giúp dễ dàng tích hợp với các dự án IoT.

61 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Dễ sử dụng: Quá đơn giản, chỉ việc vào store, cài đặt, sau đó đăng ký tài khoản và mất không quá 5 phút để làm quen. Đẹp và đầy đủ: Giao diện của Blynk quá tuyệt vời, sử dụng bằng cách kéo thả, bạn cần nút bấm, kéo thả nút bấm, bạn cần đồ thị, kéo thả đồ thị, bạn cần LCD, kéo thả LCD, tóm lại là bạn cần gì thì kéo thả cái đó.

Không phải lập trình android hay ios: Nếu nhƣ không có kiên thức về làm app trên điện thoại thì việc điều khiển thiết bị từ chính smartphone của mình quả là điều vô cùng khó khăn và phức tạp Nhờ blynk thì chúng ta có thể bỏ qua bước lập trình tạo app Có thể thử nhanh chóng và ứng dụng đƣợc dự án của mình vào thực tế.

Thử nghiệm nhanh chóng, có thể điều khiển giám sát ở bất kỳ nơi nào có internet. Đặc tính:

API và giao diện người dùng tương tự cho tất cả phần cứng và thiết bị đƣợc hỗ trợ

Kết nối với đám mây bằng cách sử dụng: Wifi

Bộ Widget dễ sử dụng

Thao tác ghim trực tiếp mà không cần viết mã

Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng ghim ảo Theo dõi dữ liệu lịch sử qua tiện ích SuperChart

Giao tiếp giữa thiết bị với thiết bị sử dụng Bridge Widget

Gửi email, tweet, push notification…

Hướng dẫn cài đặt NodeMCU ESP8266 WIFI

Khởi động Arduino IDE, click vào File trên thanh công cụ chọn Preferences(Ctrl+Comma).

62 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Để IDE Arduino nhận biết được board, bạn cần chèn địa chỉ liên kết http://arduino.esp8266.com/stable/package_esp8266com_index.json vào ô được tô vàng, sau đó nhấn OK.

-Tiếp theo, ta vào Tools > Board > Boards Manager

63 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 17: đường dẫn để cài đặt boards

-Cửa sổ mở lên ta Seach Esp8266 để tải danh mục của các Board về Nhấn Install để tiến hành cài đặt.

Hình 18: Cài đặt boards cho arduino ide Cài đặt blynk và cấu hình các thông số cảm biến dht11 trên app blynk B1 tải app blynk : trên nền tảng ch play

64 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh Để có thể sử dụng App Blynk chúng ta cần phải đăng ký một tài khoản mới Ở đây có 2 cách đăng ký bằng Facebook hoặc tạo một tài khoản mới (Create New Account).

Mình sẽ hướng dẫn bằng cách đăng ký bằng Account.

B1: sau khi cài đặt xong chúng ta tiến hành tạo tài khoản bằng cách nhấn vào Create new account để tạo một tài khoản mới

Hình 20 : Giao diện để tạo tài khoản blynk

-Nhập thông tin tài khoản Gmail của các bạn Rồi nhấn Sign Up để tiến hành đăng ký.

65 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

- Sau khi tạo tài khoản thành công, bạn tiến hành đăng ký tài khoản trên GitLab bằng cách tạo một "Project" mới.- Đầu tiên, để tạo "Project" mới, bạn click vào mục "Create a new project" như hình 22.

66 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 22: tạo một dự án mới

-Tiếp theo nó sẽ gửi một mã auth token về địa chỉ email

67 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 23 : Mã sẽ được gửi về địa chỉ email của bạn

Bước 2 :Cấu hình các thông số cảm biến DHT11 trên App Blynk

- Để hiển thị các dữ liệu đo chúng ta vào Widget Box (+) > Click vào GAUGE để lấy các thang đo dữ liệu ra.

68 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 24: chọn các widget box mà chúng ta cần cài đặt

-sau khi chúng ta chọn các widget box nhiệt độ, độ ẩm và biểu đồ thì được như hình dưới đây

Hình 25: Giao diện sau khi ta thiết lập

-Tiếp theo chúng ta cài đặt thông số cho nhiệt độ , độ ẩm và biểu đồ Cài đặ t thông s ố nhi ệt độ Ở mục GAUGE 1: Đặt tên cho thang đo nhiệt độ (temperature).

INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V2 (0~1023) đổi lại (0~100).

REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến nhiệt độ (sec) là 1sec

69 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 26 : thiết lâp thông số cho nhiệt độ

Cài đặ t thông s ố độ ẩ m Ở mục GAUGE 2 : Đặt tên chothang đo độ ẩm (humidity).

INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V3 (0~1023) đổi lại (0~100).

LABELS: e.g: Temp:/pin/% (Độ ẩm đơn vị là %).

REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến độ ẩm (sec).

70 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 27: thiết lập thông số độ ẩm

-Cuối cùng là chúng ta tiến hành thiết lập thông sô cho biểu đồ nhiệt độ độ ẩm

Tiếp tục vào Widget Box (+) > Click vào SUPPERCHART để biểu đồ hiển thị nhiệt độ, độ ẩm ra. Ở mục SuperChart : Đặt tên biểu đồ.

DATASTREAMS: Đặt tên cho từng biểu đồ Nhiệt độ và Độ Ẩm.

Virtual là các chân dùng để trao đổi dữ liệu giữa phần cứng với App

Blynk ở đây mình chọn (V2 cho Nhiệt Độ), (V3 cho Độ Ẩm).

71 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 28: thiết lập thông số cho biểu đồ - giao diện sau khi thiết kế xong trên app blynk

72 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 29: giao diện trên app blynk

7.1 các phần mềm sử dụng

- Phần mềm lập trình mạch arduino,esp8266: Arduino IDE

- phần mềm sử dụng điện thoại : app blynk

73 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

THIẾT KẾ HỆ THỐNG

Viết chương trình code cho arduio mega

Code chương trình giám sát nhiệt độ độ ẩm hiển thị lên lcd và điều khiển quạt / goi cac thu vien

LiquidCrystal_I2C lcd(0x27, 16, 2); // 0x27 la dia chi man hinh trong i2c

16 la so cot ,2 la so hang

#define RELAY_FAN_PIN A7 const int DHTPIN = 7 ; //Đọc dữ liệu từ DHT11 ở chân 7 trên mạch Arduino const int DHTTYPE = DHT11; //khai bao loai cam bien su dung la dht11 const int TEMP_THRESHOLD_UPPER = 35; // nguong len cua nhiet do, ban co the thay doi gia tri do const int TEMP_THRESHOLD_LOWER = 33; // nguong xuong cua nhiet do, ban co the thay doi gia tri do

DHT dht(DHTPIN, DHTTYPE); //cau hinh chan dht int sdata1 = 0; int sdata2 = 0; int sdata3 = 0; int led_do =6 ; int led_xanh = 5;

Serial.begin(9600); dht.begin(); // Khởi động cảm biến

80 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh pinMode(RELAY_FAN_PIN, OUTPUT); nodemcu.begin(9600); lcd.init(); // khoi dong man hinh lcd.backlight(); // bat den nen pinMode(led_do , OUTPUT); pinMode(led_xanh , OUTPUT);

{ delay(2000); float h = dht.readHumidity(); //Đọc độ ẩm float t = dht.readTemperature(); //Đọc nhiệt độ Serial.print("Nhiet do: ");

Serial.println(t); //Xuất nhiệt độ

Serial.println(h); //Xuất độ ẩm if(t > TEMP_THRESHOLD_UPPER)

{ Serial.println("Quat da duoc bat "); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on digitalWrite(led_do, HIGH); delay(100); digitalWrite(led_do, LOW); delay(100); digitalWrite(led_xanh, LOW);

} else if(t < TEMP_THRESHOLD_LOWER)

{ Serial.println("Quat da duoc tat "); digitalWrite(RELAY_FAN_PIN, LOW); // quat bat digitalWrite(led_xanh, HIGH);

81 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh cdata = cdata + t+","+h; // comma will be used a delimeter Serial.println(cdata); nodemcu.println(cdata); delay(1000); // delay 1s cdata = "";

/ hien thi nhiet do do am len lcd lcd.clear();

/ check if any reads failed if (isnan(h) || isnan(t)) { lcd.setCursor(0, 0); lcd.print("Failed");

} else { lcd.setCursor(0, 0); // bat dau in ra lcd hang dau tien lcd.print("nhiet do: "); // xuat ra chu nhiet do lcd.print(t); // in ra man hinh nhiet do lcd.print((char)223); // in ki tu do lcd.print("C"); lcd.setCursor(0, 1); // bat dau in ra lcd hang thu hai lcd.print("do am: "); lcd.print(h); // in ra do am lcd.print("%");

Viết code chương trình cho NODEMCU

Để sử dụng đƣợc blynk thì cần phải tải thƣ viện của nó thông qua Arduino IDE - Chọn Sketch -> Include Library -> Manage Libraries, tìm kiếm blynk và install

82 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh

Hình 3.3 Thêm thư viện blynk

DHT11 - Chọn Tool Board rồi chọn nodemcu 1.0

Code chương trình hiển thị lên app blynk thông qua nodemcu #define BLYNK_PRINT Serial

#include char auth[] = "uhk-orQkk_lKiBUt9frFHrcIjbOHZNR7"; //ma auth token cua blynk

83 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh char ssid[] = "Bat 4G Len"; // ten wifi char pass[] = "0394273969@";//mat khau wifi

SimpleTimer timer; // su dung timer

String myString; // thông báo hoàn chỉnh từ arduino, bao gồm dữ liệu cảm biến char rdata; //ky tu da nhan int firstVal, secondVal,thirdVal; // cam bien void myTimerEvent()

/ gan du lieu vao bien virtual de hien thi len blynk Blynk.virtualWrite(V1, millis() / 1000);

/ Debug console Serial.begin(9600); // mo serial Blynk.begin(auth, ssid, pass); //ket noi voi blynk timer.setInterval(1000L,sensorvalue1); //1s doc cam bien 1 lan timer.setInterval(1000L,sensorvalue2);

Blynk.run(); //chay blynk timer.run(); // chay simpletimer

84 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh rdata = Serial.read(); myString = myString+ rdata;

/ Serial.print(rdata); if( rdata == '\n')

String n = getValue(myString, ',', 2); firstVal = t.toInt(); secondVal = h.toInt(); thirdVal = n.toInt(); myString = "";

String getValue(String data, char separator, int index)

85 Đại Học Sƣ Phạm Kỹ Thuật Lớp HP:221DAVDKCDT02 Đồ Án Vi Điều Khiển GVHD: TS Đoàn Lê Anh int maxIndex = data.length() - 1; for (int i = 0; i

Ngày đăng: 20/09/2023, 15:18

HÌNH ẢNH LIÊN QUAN

Bảng 1 : So sánh ưu điểm và nhược điểm của các phương pháp đo nhiệt độ - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Bảng 1 So sánh ưu điểm và nhược điểm của các phương pháp đo nhiệt độ (Trang 6)
3. Sơ đồ tổng quan hệ thống - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
3. Sơ đồ tổng quan hệ thống (Trang 10)
Hình 2. 7: giao diện làm việc của Arduino IDE - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 2. 7: giao diện làm việc của Arduino IDE (Trang 24)
Hình 1. 8: IDE Menu Arduino Mega 2560 - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 1. 8: IDE Menu Arduino Mega 2560 (Trang 25)
3.2. Sơ đồ và chức năng của các chân - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
3.2. Sơ đồ và chức năng của các chân (Trang 26)
Bảng 4 : Chức năng chân RS và R/W theo mục đích sử dụng - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Bảng 4 Chức năng chân RS và R/W theo mục đích sử dụng (Trang 28)
Hỡnh sau đõy sẽ trỡnh bày rừ hơn mối liờn hệ này : - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
nh sau đõy sẽ trỡnh bày rừ hơn mối liờn hệ này : (Trang 29)
Hình 6 Mô phỏng hiển thị LCD trên proteus - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 6 Mô phỏng hiển thị LCD trên proteus (Trang 36)
Hình 7: Quạt tản nhiệt 5v Thông số quạt: - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 7 Quạt tản nhiệt 5v Thông số quạt: (Trang 37)
Hình 8: Led đơn - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 8 Led đơn (Trang 38)
Hình 9: Điện trở - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 9 Điện trở (Trang 39)
Hình 11 Dây đực đực - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 11 Dây đực đực (Trang 40)
Hình 13: Dây đực cái - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 13 Dây đực cái (Trang 41)
Hình 7 Hình dáng của ESP 8266 - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 7 Hình dáng của ESP 8266 (Trang 42)
Hình 8. Sơ đồ chân ESP8266 Bảng 5 : Chức năng các chân ESP8266 - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 8. Sơ đồ chân ESP8266 Bảng 5 : Chức năng các chân ESP8266 (Trang 43)
Hình 9: code mẫu ở chế độ accesspoint và station e. Chuẩn giao tiếp esp8266 với arduino uno/mega - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 9 code mẫu ở chế độ accesspoint và station e. Chuẩn giao tiếp esp8266 với arduino uno/mega (Trang 52)
Sơ đồ kết nối : - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Sơ đồ k ết nối : (Trang 53)
Hình 11: Code chương trình cho nodemcu - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 11 Code chương trình cho nodemcu (Trang 54)
Hình 12: Code cho arduino nhận dữ liệu Kết quả - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 12 Code cho arduino nhận dữ liệu Kết quả (Trang 54)
Hình 12 sơ đồ chân kết nối giữa nodemcu với arduino - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 12 sơ đồ chân kết nối giữa nodemcu với arduino (Trang 56)
Hình 13 : Sơ đồ các chân để giao tiếp SPI - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 13 Sơ đồ các chân để giao tiếp SPI (Trang 59)
Hình 14 Sơ đồ giữa arduino với esp Chương trình - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 14 Sơ đồ giữa arduino với esp Chương trình (Trang 60)
Hình 17: đường dẫn để cài đặt boards - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 17 đường dẫn để cài đặt boards (Trang 66)
Hình 21: thông tin địa chỉ  email và mật khẩu để đăng kí -Sau khi đăng ký hoàn thành, chúng ta sẽ tiến hành tạo một Project mới - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 21 thông tin địa chỉ email và mật khẩu để đăng kí -Sau khi đăng ký hoàn thành, chúng ta sẽ tiến hành tạo một Project mới (Trang 68)
Hình 23 : Mã sẽ được gửi về địa chỉ email của bạn - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 23 Mã sẽ được gửi về địa chỉ email của bạn (Trang 70)
Hình 24: chọn các widget box mà chúng ta cần cài đặt - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 24 chọn các widget box mà chúng ta cần cài đặt (Trang 71)
Hình 26 : thiết lâp thông số cho nhiệt độ - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 26 thiết lâp thông số cho nhiệt độ (Trang 72)
Hình 27: thiết lập thông số độ ẩm - (Tiểu luận) đồ án vi điều khiển tên đề tài thiết kế hệ thống
Hình 27 thiết lập thông số độ ẩm (Trang 73)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w