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

Báo cáo thực hành internet và các giao thức “nghiên cứu cảm biến nhiệt Độ, Độ ẩm dht11 với arduino

13 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Báo cáo thực hành internet và các giao thức “nghiên cứu cảm biến nhiệt độ, độ ẩm dht11 với arduino”
Tác giả Đỗ Xuân Bình, Lê Ngọc Minh, Lê Văn Quang, Nguyễn Xuân Quyển, Nguyễn Văn Sơn, Thạch Minh Tuấn
Người hướng dẫn Giảng viên Hoàng Thị Thu
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Viễn Thông
Thể loại Báo cáo thực hành
Định dạng
Số trang 13
Dung lượng 2,46 MB

Nội dung

Chương 1 Tổng quan về Arduino và LCD 16x21.Giới thiệu về Arduino 1.1Khái niệm về Arduino  Là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường đ

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA VIỄN THÔNG I

BÁO CÁO THỰC HÀNH INTERNET VÀ CÁC GIAO THỨC

“NGHIÊN CỨU CẢM BIẾN NHIỆT ĐỘ, ĐỘ

ẨM DHT11 VỚI ARDUINO”

Giảng viên hướng dẫn: Hoàng Thị Thu

Nhóm 87 – Tổ 2

Tên các thành viên: Đỗ Xuân Bình

Lê Ngọc Minh

Lê Văn Quang

Nguyễn Xuân Quyển

Nguyễn Văn Sơn

Thạch Minh Tuấn

Nghiên cứu cách thưc hiển thị với LCD 16x2 và lập trình GPIO với Arduino trong tường hớp Output

Trang 2

I Chương 1 Tổng quan về Arduino và LCD 16x2

1.Giới thiệu về Arduino

1.1Khái niệm về Arduino

 Là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơ

 Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng

vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit

 Thường được sử dụng để phát triển nhanh chóng các ứng dụng điện- điện tử Phù hợp với cả những người không chuyên

Một số loại Arduino thường dùng

Arduino Uno R3

Arduino Nano

Trang 3

Arduino Mega

Trang 4

1.2 Thông số kỹ thuật

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Số chân Digital I/O 14 (6 chân hardware PWM)

Dòng tối đa trên mỗi chân I/O 30 mA

bởi bootloader

1.3 Ứng dụng của Arduino

 Làm Robot Arduino có khả năng đọc các thiết bị cảm biến, điều khiển động cơ,… nên nó thường được dùng để làm bộ xử lý trung tâm của rất nhiều loại robot

 Game tương tác: Arduino có thể được sử dụng để tương tác với Joystick, màn hình,… khi chơi các game như Tetrix, phá gach, Mario…

 Máy bay không người lái

 Điều khiển đèn tín hiệu giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biển quảng cáo…

 Điều khiển các thiết bị cảm biến ánh sáng, âm thanh

 Làm máy in 3D

 Làm đàn bằng ánh sáng

 Làm lò nướng bánh biết tweet để báo cho bạn khi bánh chín

Arduino còn rất nhiều ứng dụng hữu ích khác tùy vào sự sáng tạo của người dùng

1.4 Ưu nhược điểm của Arduino

Ưu điểm

- Dễ dàng sử dụng: Arduino có môi trường lập trình trực quan, ngôn ngữ lập trình đơn giản (dựa trên C/C++), rất phù hợp cho người mới bắt đầu, kể cả những người không có nhiều kiến thức về điện tử và lập trình

Trang 5

-Cộng đồng lớn mạnh: Có một cộng đồng người dùng Arduino rất đông đảo và nhiệt tình trên toàn thế giới Điều này giúp bạn dễ dàng tìm thấy tài liệu, hướng dẫn, thư viện và giải đáp mọi thắc mắc khi gặp khó khăn

- Phần cứng linh hoạt: Arduino có nhiều loại bo mạch khác nhau với các tính năng và mức giá đa dạng, đáp ứng được nhiều nhu cầu của người dùng Ngoài ra, bạn có thể dễ dàng kết nối Arduino với các cảm biến, module và thiết bị ngoại vi khác

- Giá thành hợp lý: So với các nền tảng tương tự, Arduino có giá thành khá phải chăng, giúp bạn tiết kiệm chi phí khi bắt đầu làm quen với điện tử

- Mở rộng dễ dàng: Arduino có cấu trúc mô đun, giúp bạn dễ dàng mở rộng các tính năng của dự án bằng cách thêm các module và shield

- Ứng dụng đa dạng: Arduino có thể được ứng dụng trong rất nhiều lĩnh vực, từ

tự động hóa gia đình, robot, IoT cho đến các dự án nghệ thuật sáng tạo

Nhược điểm

- Hiệu năng: So với các vi điều khiển chuyên dụng, Arduino có tốc độ xử lý và

khả năng tính toán không cao Vì vậy, nó không phù hợp với các dự án đòi hỏi thời gian thực và tính toán phức tạp

- Kích thước: Một số loại bo mạch Arduino có kích thước khá lớn, không phù hợp với các dự án đòi hỏi kích thước nhỏ gọn

- Tiêu thụ điện năng: Arduino tiêu thụ một lượng điện năng nhất định, có thể không phù hợp với các dự án chạy bằng pin và cần tiết kiệm năng lượng

- Không phải lúc nào cũng là lựa chọn tốt nhất: Trong một số trường hợp, các nền tảng khác như Raspberry Pi hoặc các vi điều khiển chuyên dụng có thể phù hợp hơn với dự án của bạn

2 Giới thiệu về LCD 16x2

2.1 Khái niệm về LCD 16x2

Màn hình LCD 16x2 (Liquid Crystal Display) sử dụng công nghệ tinh thể lỏng để hiển thị các ký tự và số liệu Màn hình này bao gồm các ô nhỏ gọi là pixel, mỗi pixel có thể thay đổi độ trong suốt để hiển thị các ký tự khác nhau Với kích thước 16x2, màn hình có thể hiển thị 16 ký tự trên mỗi dòng và có 2 dòng hiển thị Các màn hình LCD thường sử dụng giao thức song song để giao tiếp với vi điều khiển, tuy nhiên, với module I2C, việc kết nối trở nên đơn giản hơn rất nhiều

Trang 6

2.2 Ứng dụng của Màn hình LCD 16x2

Màn hình LCD 16x2 là một linh kiện điện tử phổ biến và hữu ích, được sử dụng rộng rãi trong nhiều dự án điện tử khác nhau Với khả năng hiển thị 2 dòng, mỗi dòng 16 ký tự, LCD 16x2 cung cấp một giao diện đơn giản nhưng hiệu quả để hiển thị thông tin

Sơ đồ các chân LCD 16x2

Chân Ký hiệu

Mô tả

Châ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ânnà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 RS Châ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

Trang 7

đị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

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 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

-DB7

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU 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

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

-GND cho đèn nền

2.3 Nguyên lý hoạt động

- Cấp nguồn: Màn hình LCD cần được cấp nguồn điện một chiều (DC) để hoạt động

- Truyền dữ liệu và lệnh: Vi điều khiển (như Arduino) sẽ gửi các lệnh và dữ liệu đến màn hình LCD thông qua các chân kết nối

- Mạch điều khiển xử lý: Mạch điều khiển bên trong màn hình sẽ giải mã các lệnh và dữ liệu nhận được, sau đó điều khiển các đoạn để tạo ra các ký tự mong muốn

- Hiển thị: Các đoạn được bật hoặc tắt để tạo ra các hình dạng của các ký tự, và cuối cùng hình ảnh sẽ được hiển thị trên màn hình

Trang 8

II Nghiên cứu cách thức hiển thị với LCD 16x2 và lập trình GPIO với Arduino trong trường hợp output

1 Cách thức hiển thị với LCD 16x2

1.1 Các thiết bị

Phần cứng

Tên linh kiện

Arduino Uno R3

LCD 16x2

Mạch I2C

Trang 9

Dây cáp

Dây cắm

Phần mềm: Arduino IDE

1.2 Mạch điện

Mạch điện cơ bản

Một mạch điện cơ bản để kết nối Arduino với LCD 16x2 bao gồm:

-Arduino: Bo mạch vi điều khiển trung tâm, thực hiện các tính toán và điều khiển -LCD 16x2: Màn hình hiển thị 16 ký tự trên 2 dòng.

- Mạch I2C: hiển thị thông tin trên màn hình một cách tiện lợi và tiết kiệm chân kết nối

-Dây nối: Để kết nối các thành phần với nhau.

Các chân kết nối thường gặp:

- GND: Dây nối đất

-VCC: chân kết nối đến nguồn điện dương (thường là 5V hoặc 3.3V).

-SDA: là đường truyền dữ liệu giữa các thiết bị trên bus I2C.

Trang 10

-SCL: là đường xung đồng hồ (clock) giữa các thiết bị trên bus I2C.

2 Lâ ^p trình Arduino với LCD 16x2

2.1 Code khởi tạo LCD

Khởi tạo đối tượng LiquidCrystal_I2C với địa chỉ I2C của màn hình (thường

là 0x27), số cột và số hàng:

LiquidCrystal_I2C lcd(0x27, 16, 2);

2.2 Các chế độ hiển thị

Chế độ 4 bit và 8 bit

-Chế độ 4 bit: Trong chế độ này, chỉ có 4 chân dữ liệu (D4-D7) được sử dụng để

truyền dữ liệu Cách này giúp tiết kiệm chân Arduino nhưng phức tạp hơn trong việc lập trình

-Chế độ 8 bit: Sử dụng cả 8 chân dữ liệu (D4-D7), đơn giản hơn trong việc lập

trình nhưng tiêu tốn nhiều chân Arduino hơn

Chế độ hiển thị

-Hiển thị ký tự: Đây là chế độ thông dụng nhất, cho phép bạn hiển thị các ký tự

ASCII tiêu chuẩn trên màn hình

-Hiển thị ký tự tùy chỉnh: Bạn có thể tạo ra các ký tự đặc biệt theo ý muốn bằng

cách định nghĩa ma trận điểm của ký tự đó

2.3 Code hiển thị

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()

{

lcd.init();

lcd.backlight();

}

Trang 11

void loop()

{

lcd.setCursor(2,0);

lcd.print( “Hello word”);

lcd.setCursor(2,1);

lcd.print(“Xin chao”);

}

2.4 Các bước thực hiện

- Kết nối phần cứng: Kết nối các chân của LCD với Arduino theo đúng sơ đồ

- Chân GND

- Khởi tạo thư viện: Khai báo thư viện LiquidCrystal và khởi tạo đối tượng LCD

Trang 12

+ Trong “Sketch” chọn “Include Library” để gọi thư viện “LiquidCrystal_I2C.h”

- Hiển thị dữ liệu: Sử dụng hàm print() để hiển thị các giá trị cần thiết

2.5 Phân tích đánh giá

2.5.1 Kết quả thu được

-Hiểu rõ nguyên lý hoạt động của LCD 16x2: Cách thức kết nối, các chân điều

khiển, chế độ hiển thị

Trang 13

- Nắm vững cách sử dụng thư viện LiquidCrystal: Các hàm cơ bản và cách áp dụng vào thực tế

- Xây dựng được các mạch điện đơn giản: Kết nối Arduino với LCD 16x2

- Viết được các chương trình Arduino để điều khiển LCD: Hiển thị văn bản, số,

ký tự đặc biệt

-Mở rộng kiến thức: Tìm hiểu về các chế độ hiển thị nâng cao, tạo hiệu ứng, kết

hợp với các module khác

2.5.2 Đánh giá.

Ưu điểm

- Đơn giản: Dễ dàng sử dụng và lập trình

- Linh hoạt: Có thể hiển thị nhiều loại dữ liệu khác nhau

- Giá thành rẻ: LCD 16x2 và Arduino có giá thành hợp lý

- Cộng đồng lớn: Có nhiều tài liệu, thư viện hỗ trợ

Nhược điểm

- Độ phân giải thấp: Chỉ hiển thị được các ký tự đơn giản

- Tốc độ chậm: Không phù hợp với các ứng dụng đòi hỏi tốc độ cao

- Kích thước hạn chế: Chỉ hiển thị được một lượng thông tin nhất định

* Kết luận :

Việc kết hợp Arduino và LCD 16x2 mở ra một thế giới mới cho các dự án điện tử Bằng cách nắm vững các kiến thức cơ bản và áp dụng vào thực tế, bạn có thể tạo ra những sản phẩm sáng tạo và hữu ích

TÀI LIỆU THAM KHẢO

[1] Smith, J ,& Doe, A (2018) Ardunio – based weather monitoring system Paper presented at the iSTEAMS conference Delta

[2] Nguyen, T.H, & Lee, S (2003) Measurent of Tempareture and Humidity by using Ardunio Tool and DHT11

[3] Smith, J (2023) DHT11 humidity & Tempareture sensor TechGadget Labs

Ngày đăng: 15/02/2025, 22:05

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

TÀI LIỆU LIÊN QUAN