1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

CẢM BIẾN độ ẩm DÙNG ARDUINO XUẤT LCD và gửi về MODULE SIM900A (có code và layout)

28 1,5K 18

Đ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

Định dạng
Số trang 28
Dung lượng 3,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CẢM BIẾN độ ẩm DÙNG ARDUINO XUẤT LCD và gửi về MODULE SIM900A (có code và layout) CẢM BIẾN độ ẩm DÙNG ARDUINO XUẤT LCD và gửi về MODULE SIM900A (có code và layout) CẢM BIẾN độ ẩm DÙNG ARDUINO XUẤT LCD và gửi về MODULE SIM900A (có code và layout) CẢM BIẾN độ ẩm DÙNG ARDUINO XUẤT LCD và gửi về MODULE SIM900A (có code và layout)

Trang 1

CẢM BIẾN ĐỘ ẨM DÙNG ARDUINO XUẤT LCD VÀ GỬI VỀ

MODULE SIM900A

Trang 2

DANH MỤC CÁC BẢNG BIỂU X DANH MỤC CÁC TỪ VIẾT TẮT XI

CHƯƠNG 1 TÌM HIỂU VỀ HỆ THỐNG CHỐNG TRỘM HỒNG NGOẠI 1

1.1 GIỚI THIỆU ĐỀ TÀI 1

1.1.2 Định hướng đề tài 2

CHƯƠNG 2 CÁC LINH KIỆN CẦN DÙNG 3

2.1 VY XỬ LÝ ARDUINO UNO R3 3

2.1.1 Giới vi xử lý Arduino 3

2.2 CẢM BIẾN DHT 11 9

2.2.1 Giới thiệu 9

2.2.2 Nguyên lý hoạt động 10

2.3 MÀN HÌNH LCD 16×2 10

2.3.1 Giới thiệu 10

2.3.2 Sơ đồ kết nối chân với MCU 12

2.3.3 Nguyên lý hoạt động 13

2.4 MODULE SIM 900A 14

2.4.1 Giới thiệu 14

2.4.2 Nguyên lý hoạt động 14

CHƯƠNG 3 TIẾN TRÌNH THIẾT KẾ MẠCH 16

3.1 THIẾT KẾ MẠCH 16

3.1.1 Lưu đồ giải thuật 16

3.1.2 Sơ đồ mô phỏng mạch 17

3.1.3 Chức năng của linh kiện 17

3.1.4 Nguyên lý hoạt động 18

Trang 3

CHƯƠNG 4 HOÀN CHỈNH MẠCH THỰC TẾ 19

4.1 XUẤT GIỮ LIỆU NHIỆT ĐỌ, ĐỘ ẨM 19

4.2 GỬI TIN NHẮN KHI ĐỘ ẨM CAO 19

CHƯƠNG 5 KẾT LUẬN 20

5.1 ĐÁNH GIÁ SƠ BỘ 20

5.2 HƯỚNG PHÁT TRIỂN 20

TÀI LIỆU THAM KHẢO 21

PHỤ LỤC 22

Trang 4

HÌNH 1-2: SƠ ĐỒ KHỐI TỔNG QUÁT 2

HÌNH 2.1: ARDUINO UNO R3 4

HÌNH 2.2: TÊN CÁC CHÂN CỦA ARDUINO UNO R3 7

HÌNH 2.3: CẢM BIẾN DHT11 9

HÌNH 2.4: SƠ ĐỒ NỐI CHÂN DHT11 10

HÌNH 2.5: LCD 16×2 10

HÌNH 2.6: SƠ ĐỒ NỐI CHÂN CỦA LCD 16×2 12

HÌNH 2.7: CÁC CHÂN CỦA LCD 16×2 13

HÌNH 2.8: MODULE SIM 900A 14

HÌNH 2.9: SƠ ĐỒ NỐI CHÂN MODULE SIM 900A 15

HÌNH 3.1: LƯU ĐỒ GIẢI THUẬT 16

HÌNH 3.2: HÌNH ẢNH MÔ PHỎNG 17

HÌNH 4.1: MẠCH THỰC TẾ 19

HÌNH 4.2: NHẬN VÀ GỬI SMS 19

DANH MỤC CÁC BẢNG BIỂU BẢNG 2-1 BẢNG THÔNG SỐ CỦA ARDUINO UNO R3 8

BANG 2-2 CHỨC NĂNG CÁC CHÂN LCD 11

Trang 5

GSM Global System for Mobile Communication.

SIM Subscriber Identity Module.

VDC Volt Direct Current

Trang 6

CHƯƠNG 1 TÌM HIỂU VỀ MẠCH CẢM BIẾN ĐỘ ẨM DÙNG VI

XỬ LÝ

1.1 Giới thiệu đề tài

- Môi trường sống của con người ngày nay do bị tác động bởi nhiều lýdo( nhiệt độ, độ ẩm ), nên hay thay đổi một cách bất thường gây nên nhiều hậuquả không mong muốn cho đời sống của con người Do đó các mạch cảm biến đã rađời nhằm nắm bắt được sự thay đổi của môi trương từ đó đưa ra các giải pháp hợp

lý Mạch cảm biến độ ẩm dùng vi xử lý arduino la một trong những mạch vi xử lýđơn giản để đo độ ẩm của môi trường và có thể báo động cho con người một cáchnhanh chóng khi độ ẩm tăng cao, nhằm đưa ra các giải pháp hợp lý Các mạch này

có thể dùng trong nhà hay phục vụ một phần trong công nghệ trồng cây trong nhàkính

 Các mạch cảm biến độ ẩm thường gặp

Hình 1.1: Các mạch cảm biến độ ẩm thường gặp

 Mạch cảm biến độ ẩm dùng vi xử lý hiện nay giá thành tương đối rẻ, và hoạtđộng khá hiệu quả để đo độ ầm của môi trường Mạch đo độ ẩm đất dùng để tưới

Trang 7

cây và mạch đo nhiệt độ, độ ẩm trong các bo mạch như led điện tử cũng được sửdụng phổ biến.

1.1.1 Định hướng đề tài

- Mạch sử dụng một vi xử lý trung tâm là arduino, cảm biến nhiệt độ độ ẩmDHT11, màn hình LCD, module sim 900a Cảm biến DHT11 sẽ ghi nhận độ ẩm củamôi trường và truyền dữ liệu đến arduino để xử lý, khi độ ẩm vượt quá một ngưỡngcho phép nào đó thì vi xử lý arduino đã được lập trình sẵn sẽ báo động qua loa đồngthời gửi tin nhắn đến điệ thoại thông qua modulesim 900a và xuất kết quả ra mànhình LCD

Hình 1.2: sơ đồ khối tổng quát

CHƯƠNG 2 CÁC LINH KIỆN CẦN DÙNG

2.1 VI XỬ LÝ ARDUINO UNO R3

2.1.1 Giới thiệu vi xử lý arduino

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

DHT11

LOAA

MODULE SIM 900A

ARDUINO

LCD

SMSCODE

Trang 8

được thiết kế trên nền tảng vi xử lý AVR Atmel 8 bit Gồm một cổng giao tiếpUSB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board

Trang 9

lên máy tính Dây cáp có hai đầu Đầu ra được dùng để cắm vào cổng USBtrên board Arduino, đầu 1b dùng để cắm vào cổng USB trên máy tính.

 ICSP của Atmega 16U2

- ICSP là chữ viết tắt của In – Circuit Serial Programming Đây là các chângiao tiếp SPI của chip Atmega 16U2 Các chân này thường ít được sử dụngtrong các dự án về Arduino

 Chân xuất tín hiệu ra

- Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu ~

là những chân có thể băm xung ( PWM ), tức có thể điều khiển tốc độ động

cơ hoặc độ sáng của đèn

Trang 10

- Các chân ICSP của Atmega 328 được sử dụng cho các giao tiếp SPI ( SerialPeripheral Interface ), một số ứng dụng của Arduino có sử dụng chân này, ví

dụ như sử dụng module RFID, RC522 với Arduino hay Ethernet Shield vớiArduino

 Chân lấy tín hiệu Analog

- Các chân này lấy tín hiệu Analog ( tín hiệu tương tự ) từ cảm biến để ICAtmega 328 xử lý Có tất cả 6 chân lấy tín hiệu Analog, từ A0 đến A5

 Chân cấp nguồn cho cảm biến

- Các chân này dùng để cấp nguồn cho các thiết bị bên ngoài như rơle, cảmbiến, RC servo, trên khu vực này có sẵn các chân GND ( chân nối đất, chân

âm ), chân 5V, chân 3.3V Nhờ những chân này mà người sử dụng khôngcần thiết bị biến đổi điện khi cấp nguồn cho cảm biến, roowle, rc servo, Ngoài ra trên khu vực này còn có các chân Vin và chân reset, chân IOREF.Tuy nhiên các chân này thường ít được sử dụng

 Các linh kiện khác trên board Arduino Uno

- Ngoài các linh kiện đã liệt kê trên, Arduino Uno còn một số linh kiện đángchú ý khác Trên board có tất cả 4 đèn led, bao gồm 1 led nguồn ( led ONnhằm cho biết loa đã được cấp nguồn ), 2 led Tx và Rx, 1 led L Các led Tx

và Rx sẽ nhấp nháy khi có dữ liệu truyền từ board lên máy tính hoặc ngượclại thông qua cổng USB Led L được kết nối với chân số 13 Led này đượcgọi là led on board ( tức led trên board ), led này giúp người dùng có thể thựchành các bài đơn giản mà không cần dùng thêm led ngoài

- Trong 14 chân ra của board còn có 2 châ 0 và 1 có thể truyền nhận dữ liệunối tiếp TTL Có một số ứng dụng đến tính năng này, ví dụ ứng dụng điềukhiển mạch Arduino Uno qua điện thoại sử dụng bluetooth HC05

- Thêm vào đó, chân 2 và 3 cũng được sử dụng cho lập trình ngắt ( interrupt ),đồng thời còn vài chân khác có thể sử dụng cho các chức năng khác

Trang 11

Hình 2.2: Tên các chân trên Arduino Uno R3

Trang 12

Bảng 2-1: Bảng thông số của Arduino Uno R3

2.2 CẢM BIẾN DHT11

Trang 14

Hình 2.4: Sơ đồ nối chân DHT11

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

- Để có thể giao tiếp với DHT11 theo chuẩn 1 chân xử lý thực hiện theo 2

bước:

 Gửi tín hiệu muốn đo ( start ) tới DHT11, sau đó DHT11 xác nhận lại

 Khi đã giao tiếp được với DHT11, cảm biến sẽ gửi lại 5 byte giữ liệu và

nhiệt độ đo được

2.3 MÀN HÌNH LCD 16×2

2.3.1 Giới thiệu

Hình 2.5: LCD 16×2

Bảng 2-2:Chức năng các chân LCD

1 Vss 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â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 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 địa chỉ của LCD (ở chế độ “đọc”

Trang 15

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

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 E 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) thanhghi bên trong nó khi phát hiện một xung (high-to-low transition) của tínhiệu chân E

+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiệncạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khinà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à bitDB7

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

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

16 - GND cho đèn nền

2.3.2 Sơ đồ kết nối với MCU

Hình 2.6: Hoạt động nạp xả của transistor.

Trang 16

- VSS: tương đương GND – cực âm.

- VDD: tương đương với VCC – cực dương ( 5V )

- Contrast Voltage ( Vo ): Điều khiển địa chỉ nào sẽ được ghi dữ liệu

- Register Select ( RS ): Đọc ( mode ) hay ghi ( write mode ) dữ liệu ? Nó sẽphụ thuộc vào giá trị gửi vào

- Enable pin: Cho phép ghi vào LCD

- D0 – D7: 8 chân dữ liệu, mỗi chân sẽ có giá trị HIGH hoặc LOW nếu đang

ở chế độ đọc ( read mode ) sẽ nhận giá trị HIGH hoặc LOW nếu đang ở chế

độ ghi ( write mode )

- Backlight ( Back Anode (+) và Backlight Cathode (-)): Tắt bật màn hìnhLCD

Trang 17

- Chip HD44780 có hai 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 dung 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õrang Người dung chỉ việc cung cấp địa chỉ lệnh bằng bảng mã lệnh tại chỉ

mà IR cung cấp và thực hiện lệnh đó

- Thanh ghi DR: Thanh ghi dung để chứa dữ liệu 8 bit để ghi vào vùng RAMDDRAM hoặc CGRAM ( ở chế độ ghi ) hoặc dùng để chứa dữ liệu từ haivùng RAM này gửi ra cho MPU ( ở chế độ đọc ) Nghĩa là, khi MPU ghithông tin DR, mạch nội bên trong chip sẽ tự động ghi thông tin này vàoDDRAM 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

2.4 MODULE SIM 900A

2.4.2 Giới thiệu

Hình 2.8: Module sim 900a.

Trang 18

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

 Nối mạch

 5V nối với chân 5V của mạch Arduino

 GND nối với GND của board Arduino

 TX nối với chân 2 của board Arduino

 RX nối với chân 3 của board Arduino

 PWR đây là chân bật tắt module sim900A

 SPK chân này cần kết nối nếu bạn muốn xuất âm thanh loa thoại

 MIC chân này cần kết nối nếu bạn muốn tạo mic để đàm thoại

- Sử dụng các module nối tiếp để gửi AT để module GSM, sau đó nó có thể kiểm soát các module đê gửi tin nhắn, thực hiện cuộc gọi và kết nối với mạng GPRS Có thể kết nối với cổng giao tiếp USB

 Sơ đồ kết nối với MCU ( Arduino UNO R3 )

Trang 19

Hình 2.9: Sơ đồ nối chân Module sim 900a.

CHƯƠNG 3 TIẾN TRÌNH THIẾT MẠCH

Trang 20

Hình 3.1: Lưu đồ giải thuật.

3.1.2 Sơ đồ mô phỏng mạch

Hình 3.2: Hỉnh ảnh mô phỏng.

3.1.3 Chức năng của linh kiện

- MCU ( Arduino UNO R3 ): Là bộ xử lý để điều khiển toàn bộ quá trình hoạtđộng của mạch ( xuất dữ liệu về độ ẩm qua LCD, báo động loa kêu khi độ

ẩm vượt quá ngưỡng cho phép, điều khiển module sim 900 gửi tin nhắn khi

độ ẩm vượt quá ngưỡng cho phép đồng thời cũng nhận tin nhắn từ điện thoại

để MCU tắt báo động )

- DHT11: có nhiệm vụ thu nhận dữ liệu về độ ẩm để MCU xử lý

Trang 21

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

- Qua lưu đồ giải thuật ta có thể code hoàn thiện chương trình

- Code hoản chỉnh nằm ở phụ lục

Trang 23

CHƯƠNG 5 KẾT LUẬN

5.1 ĐÁNH GIÁ SƠ BỘ

- Hệ thống tuy đơn giản nhưng có thể được áp vào nhiều dự án thực tế trong cuộcsống trong những môi trường cần có nhiệt độ, độ ẩm ổn định Như những nơi nuôitrồng những loại thực vật nhạy cảm với nhiệt độ, độ ẩm

5.2 HƯỚNG PHÁT TRIỂN

- Có thể tối ưu hóa mô hình để có thể tích hợp vào nhiều vi mạch với những ưu

điểm mạnh hơn như trong dự án nhà thông minh

Trang 24

TÀI LIỆU THAM KHẢO

- Arduino Uno R3: http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi

- Module sim: arduino-module-nhan-tin-voi-arduino

http://arduino.vn/bai-viet/851-su-dung-module-sim900a-mini-voi LCD: http://arduino.vn/baihttp://arduino.vn/bai-viet/851-su-dung-module-sim900a-mini-voi viet/531http://arduino.vn/bai-viet/851-su-dung-module-sim900a-mini-voi dieuhttp://arduino.vn/bai-viet/851-su-dung-module-sim900a-mini-voi khienhttp://arduino.vn/bai-viet/851-su-dung-module-sim900a-mini-voi lcdhttp://arduino.vn/bai-viet/851-su-dung-module-sim900a-mini-voi banghttp://arduino.vn/bai-viet/851-su-dung-module-sim900a-mini-voi arduinohttp://arduino.vn/bai-viet/851-su-dung-module-sim900a-mini-voi uno

Trang 25

const int DHTPIN = A0;

const int DHTTYPE = DHT11;

DHT dht(DHTPIN, DHTTYPE);

void setup()

{

Trang 28

Serial.println((int)pos);

if((int)pos>0 && (int)pos<=20){

Serial.print("NUOVO MESSAGGIO, POS="); Serial.println((int)pos);

Ngày đăng: 01/04/2018, 11:02

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w