Điều Chỉnh Nhiệt Độ , độ ẩm máy ấp trứng gà qua phần mềm Blink sử dụng Arduino sim900a dht12 Esp 8286
Trang 1HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
KHOA CƠ ĐIỆN
Trang 2Bảng thành viên trong nhóm:
Trang 3Mục lục
Chương I: Giới thiệu chung 1
1.1 Giới thiệu đề tài 1
1.2 Định hướng đề tài 2
Chương 2: Các linh kiện cần dùng 3
2.1 VI XỬ LÝ ARDUINO UNO R3 3
2.2 ESP 8266nư nodeMCU 8
2.3 Module sim900A 14
2.4 Cảm biến DHT22 17
2.5 Màn hình LCD 16x2 18
2.6 Relay 3 kênh 5V-10A 21
2.7 Quạt tản nhiệt 23
2.8 Đèn sợi đốt 24
2.9 Đèn UV 26
Chương 3: Tiến hành thiết kế 29
3.1 Thiết kế mạch 29
Chương 4: Mạch thực tế 35
4.1 Xuất nhiệt độ, độ ẩm ra LCD 35
4.2 Gửi dữ liệu lên Blink 36
4.3 Gửi dữ liệu về điện thoại người dùng 37
Chương 5: Kết luận 34
5.1 Đánh giá sơ bộ 34
5.2 Hướng phát triển 34
Nguồn tham khảo 34
Trang 5Chương I: Giới thiệu chung
1.1 Giới thiệu đề tài
- Máy ấp trứng là thiết bị ấp trứng gia cầm chuyên nghiệp và hiện đại, áp dụng kỹ thuật điện tử dùng nhiệt độ để ấp trứng thay thế cho gà mẹ ấp trứng truyền thống Máy ấp trứng cho kết quả tỷ lệ thành công cao vì nó
là hoàn toàn tự động Các thao tác bạn thực hiện với máy ấp trứng đơn giản, dễ dàng thao tác, tất cả những gì bạn cần làm là cho trứng vào trong máy và chọn các thông số là máy có thể tiến hành áp trứng;
- 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ậu quả 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ý Hiện nay công nghệ ngày càng phát triển, vấn đề tự động hóa, dám sát và điều khiển từ xa đang được hướng tới và ưu tiên Mạch tự động điều chỉnh và giám sát các thông số của máy
ấp trứng thông qua internet có thể đáp ứng được những yêu cầu trên;
- Trong đề tài này chúng tôi đã áp dụng vào kiểm tra điều khiển nhiệt độ ,
độ ẩm trong máy ấp trứng gia cầm.
Trang 61.2 Định hướng đề tài
Hình 1: Sơ đồ khối tổng quát
*****
Trang 7Chươ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ác
vớ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ở đượ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ếp USB, 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
mở rộng khác nhau.
2.1.2 Cấu tạo Arduino
Trang 8Hình 2.1: ARDUINO UNO R3
Cáp USB
- Đây là cáp thường được bán kèm theo bo, dây cáp dùng để nạp chương trình
cho board và dây đồng thời cũng lấy nguồn từ usb của máy tính để board hoạt động Ngoài ra cáp USB còn được dùng để chuyển dữ liệu từ Arduino lên máy tính Dây cáp có hai đầu Đầu ra được dùng để cắm vào cổng USB trên board Arduino, đầu 1b dùng để cắm vào cổng USB trên máy tính.
IC Atmega 16U2
- IC này được lập trình như một bộ chuyển đổi USB - to – Serial dùng để
giao tiếp với máy tính thông qua giao thức Serial ( dùng cổng COM ).
Cổng nguồn ngoài
- Cổng nguồn ngoài nhằm sử dụng nguồn điện bên ngoài như pin, bình ác quy
hay các adapter cho board Arduino hoạt động Nguồn điện cấp vào cổng này
là nguồn DC có hiệu điện thế từ 6V đến 20V, tuy nhiên hiệu điện thế tốt nhất mà nhà sản xuất khuyên dùng là từ 7V đế 12V.
Cổng USB
- Cổng USB trên board Arduino dùng để kết nối với cáp USB
Nút reset
- Nút reset được dùng để reset lại chương trình đang chạy Đôi khi chương
trình chạy gặp lỗi, người dùng có thể reset lại chương trình.
ICSP của Atmega 16U2
Trang 9- ICSP là chữ viết tắt của In – Circuit Serial Programming Đây là các chân
giao tiếp SPI của chip Atmega 16U2 Các chân này thường ít được sử dụng trong 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.
IC Atmega 328
- IC Atmega 328 là linh hồn của board mạch Arduino Uno, IC này được sử
dụng trong việc thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra,
Chân ICSP của Atmega 328
- Các chân ICSP của Atmega 328 được sử dụng cho các giao tiếp SPI ( Serial
Peripheral 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ới Arduino
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 để IC
Atmega 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ảm
biế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ông cầ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.
Trang 10- Ngoài các linh kiện đã liệt kê trên, Arduino Uno còn một số linh kiện đáng
chú ý khác Trên board có tất cả 4 đèn led, bao gồm 1 led nguồn ( led ON nhằ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ược lại thông qua cổng USB Led L được kết nối với chân số 13 Led này được gọi là led on board ( tức led trên board ), led này giúp người dùng có thể thực hà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ệu
nối tiếp TTL Có một số ứng dụng đến tính năng này, ví dụ ứng dụng điều khiể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 11Hình 2.2: cấu trúc phần cứng của Arduino Uno R3
Trang 122.1.3 Thông số của Arduino Uno R3
Bảng 1: Thông số của Arduino 2.2 ESP 8266 Node MCU
2.2.1 Giới thiệu về ESP 8266 nodeMCU
Trang 13ESP8266 là một mạch vi điều khiển có thể giúp chúng ta điều khiển các thiết bị điện tử.Thêm vào đó nó được tích hợp wi-fi 2.4GHz có thể dùng cho lập trình.
Hình 2.3: ESP8266 NodeMCU
Trang 142.2.2Cấutạo
Trang 15Hình 2.4 Cấu trúc phần cứng của ESP 8266 NodeMCU
Tất cả các GPIO đều có trở kéo lên nguồn bên trong (ngoại trừ GPIO16 có trở kéo xuống GND) Người dùng có thể cấu hình kích hoạt hoặc không kích hoạt trở kéo này.
GPIO1 và GPIO3: hai GPIO này được nối với TX và RX của bộ UART0, NodeMCU nạp code thông qua bộ UART này nên tránh sử dụng 2 chân GPIO này GPIO0, GPIO2, GPIO15: đây là các chân có nhiệm vụ cấu hình mode cho ESP8266 điều khiển quá trình nạp code nên bên trong NodeMCU (có tên gọi là strapping pins) có các trở kéo để định sẵn mức logic cho chúng như sau: GPIO0: HIGH, GPIO2: HIGH, GPIO15: LOW Vì vậy khi muốn sử dụng các chân này ở vai trò GPIO cần phải thiết kế một nguyên lý riêng để tránh xung đột đến quá trình nạp code Các bạn có thể tham khảo nguyên lý thiết kế mạch nạp ở bài viết này GPIO9, GPIO10: hai chân này được dùng để giao tiếp với External Flash của ESP8266 vì vậy cũng không thể dùng được (đã test thực nghiệm).
Như vậy, các GPIO còn lại: GPIO 4, 5, 12, 13, 14, 16 có thể sử dụng bình thường.
2.2.3 Thông số của ESP 8266 MCU
Giao tiếp dữ liệu: UART / HSPI / I2C / I2S /GPIO / PWM
Kích thước các chân: 2.54mm (0.1’’) với 15 pins x 2 dãy Không hàn.
Led báo trạng thái GPIO16, nút Reset
Tương thích với Arduino IDE
Lập trình trên các ngôn ngữ: C/C++, Micropython, NodeMCU - Lua
Khối lượng sản phẩm: 0,0190 kg
Trang 16Kích thước sản phẩm (L x W x H): 4,80 x 2,60 x 0,10 cm / 1,89 x 1,02 x 0,04 inch\
2.3 Blynk
2.3.1 Giới thiệu
Blynk là một phần mềm mã nguồn mở được thiết kế cho các ứng dụng IoT(Internet
of Things) Ứng dụng giúp người dùng điều khiển phần cứng từ xa , có thể hiển thị
dữ liệu cảm biến , lưu trữ dữ liệu , biến đổi dữ liệu hoặc làm nhiều việc khác
Hình 2.5 Nền tảng Blynk 2.3.2 Cấu trúc
- Blynk App – Ứng dụng Blynk cho phép khởi tạo giao diện cho các dự án của mình
Trang 17Hình 2.6: Giao diện Blynk app
Trang 18- Blynk Server – Chịu trách nhiệm giao tiếp qua lại hai chiều giữa điện thoại và phần cứng Bạn có thể sử dụng server của Blynk nhưng sẽ bị giới hạn điểm
Enegry Trong các hướng dẫn sau này mình sẽ sử dụng Server riêng của mình! Và bạn cũng có thể sử dụng nó
- Blynk Library – Thư viện chứa các nền tảng phổ biến , giúp việc giao tiếp phần cứng với Server dễ dàng hơn
2.4 Module sim900A
2.4.1 Giới thiệu về module sim900A
Module GSM GPRS này được xây dựng dựa trên SIM900A GSM/GPRS của SIMCOM Hoạt động trên các tần số 900/ 1800 MHz SIM900A có thể tự động tìm kiếm hai băng tần này Ngoài ra cũng có thể thiết lập các dải tần số thông qua tập lệnh AT Tốc độ truyền có thể được cấu hình từ 1200-115200 thông qua lệnh AT Modem GSM / GPRS có ngăn xếp TCP / IP nội bộ để cho phép bạn kết nối với internet qua GPRS SIM900A là một mô-đun không dây nhỏ gọn và đáng tin cậy Đây là một module GSM / GPRS hoàn chỉnh trong loại SMT và được thiết kế với một bộ xử lý chip đơn cực mạnh kết hợp lõi AMR926EJ-S, cho phép bạn tận dụng các kích thước nhỏ và các giải pháp hiệu quả về chi phí.
Trang 19GPRS mobile station class B
Phù hợp với GSM giai đoạn 2/2+
Kích thước: 24 x 24 x 3 mm
Trọng lượng: 3.4g
Trang 202.4.2 Cấu tạo
Hình 2.8: Cấu trúc phần cứng của module sim900A
Trang 212.5 Cảm biến DHT22
2.5.1 Giới thiệu
Cảm biến độ ẩm nhiệt độ DHT22 là cảm biến thông dụng tích hợp vừa đo được nhiệt độ và độ ẩm, độ chính xác khá cao Giao tiếp với vi điều khiển qua chuẩn giao tiếp 1 dây.
Hình 2.9: Module cảm biến DHT22 2.5.2 Thông số kĩ thuật
Trang 22- Độ chính xác : ±2%RH (25°C)
- Dải đo : 0%RH ~ 99.9%RH
+ Dải điện áp hoạt động : 3.3V ~ 5.5 V
+ Điều kiện bảo quản :
Trang 23Hình 2.11: Màn hình LCD 16x2
Trang 242.6.2 Cấu tạo
Hình 2.12: Cấu trúc phần cứng của LCD 16x2
LCD 1602 xanh lá
Chức năng của từng chân LCD 1602:
- Chân số 1 - VSS : chân nối đất cho LCD được nối với GND của mạch điều khiển
- Chân số 2 - VDD : chân cấp nguồn cho LCD, được nối với VCC=5V của mạch điều khiển
- Chân số 3 - VE : điều chỉnh độ tương phản của LCD
- Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic "1": + 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
- Chân số 5 - R/W : chân chọn chế độ đọc/ghi (Read/Write), được nối với logic “0”
để ghi hoặc nối với logic “1” đọc
- Chân số 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 này như sau:
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên trong khi phát hiện một xung (high-to-low transition) của tín hiệu chân E
Trang 25+ Ở 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
LCD 1602 Xanh dương 5v
- Chân số 7 đến 14 - D0 đến D7: 8 đườ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 là: Chế độ 8 bit (dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7) và Chế độ 4 bit (dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7)
- Chân số 15 - A : nguồn dương cho đèn nền
- Chân số 16 - K : nguồn âm cho đèn nền
Trang 26Hình 2.13: Relay 2.7.2 Cấu tạo
Về cấu trúc cơ bản của relay (rơ – le) sẽ bao gồm một cuộn dây kim loại đồng hoặc nhôm được quấn quanh một lõi sắt từ Bộ phận này có phần tĩnh được gọi là ách từ (Yoke) và phần động được gọi là phần cứng (Armature) Phần cứng sẽ được kết nối với một tiếp điểm động, cuộn dây có tác dụng hút thanh tiếp điểm lại để tạo thành trạng thái NO và NC Mạch tiếp điểm (mạch lực) có nhiệm vụ đóng cắt các thiết bị tải với dòng điện nhỏ và được cách ly bởi cuộn hút.
Trang 272.7.3 Thông số kĩ thuật
Tín hiệu vào điều khiển: DC5V
- Nguồn khuyên dùng: 5V-1A hoặc 5V-2A
- Mặc định tín hiệu từ vi điều khiển
- Đầu ra: Tiếp điểm Relay đóng ngắt 220V 10A.
- Mạch sử dụng cách ly thông qua PC 817- Có Di-ot 1N4007 SMD chống ngược-
Sử dụng Tranzito C1815 SMD để kích dòng- Muốn cách ly thì sử dụng 2 nguồn riêng
***Cách Sử Dụng: Có 7 chân ( VRL; VCC; IN1; IN2; IN3; GND; MAS )
- Nối chân VCC với chân VRL
- Nối chân GND với chan MAS
- Đưa tín hiệu từ Vi Điều Khiển hoặc Cảm Biến vào chân IN1 hoặc IN2 hoặc IN3
- Khi sử dụng Relay nào thì cấp tín hiệu vào cho đầu vào của Relay đó
***Đầu ra:
- COM: Chân Chung của Relay.
- NC: Tiếp điểm thường đóng.
- NO: Tiếp điểm thường mở.
***Ưu điểm:
- Điều khiển được 3 thiết bị cùng 1 thời điểm.
- Cấu tạo tiếp điểm thường đóng/thường mở dễ sử dụng.
- Điều khiển điện áp 220v - 10A.
2.8 Quạt tản nhiệt
2.8.1 Giới thiệu
Trang 28Hình 2.14: Quạt 12v DC 2.8.2 Cấu tạo
Đèn sợi đốt, còn gọi là đèn dây tóc là một loại bóng đèn dùng để chiếu sáng khi
bị đốt nóng, dây tóc là bộ phận chính để phát ra ánh sáng, thông qua vỏ thủy tinh trong suốt
Trang 29Vì công suất tỏa nhiệt lớn nên có thể dùng làm phần gia nhiệt cho máy ấp trứng
Hình 2.15: Đèn sợi đốt 30W 2.9.2 Cấu tạo
Cấu tạo của đèn sợi đốt gồm 3 bộ phận chính là sợi đốt, bóng thuỷ tinh và đuôi đèn
Sợi đốt làm bằng Vonfram, chịu được nhiệt độ cao, có chức năng biến đổi điện năng thành quang năng.
Bóng đèn được làm bằng thủy tinh chịu nhiệt,chịu được nhiệt độ cao,bảo vệ sợi đốt
Đuôi đèn (đuôi xoáy E27 hoặc E14 và đuôi ngạnh B22) được làm bằng đồng hoặc sắt tráng kẽm gắn chặt với bóng thủy tinh, có chức năng nối với mạng điện cung cấp cho đèn
Trang 30Ngoài tác dụng này, tia UV còn được sử dụng trong điều trị các bệnh về da như vảy nến, bệnh do tế bào da phát triển quá nhanh gây ngứa, có vảy Tiếp xúc với tia cực tím sẽ làm chậm sự tăng trưởng của các tế bào da, từ đó giảm triệu chứng.
Trang 31Hình 2.17: Đèn UV 14W
2.9.2 Cấu tạo
Cấu tạo của Bóng đèn UV diệt khuẩn
Loại đèn này được cấu tạo gồm một ống thủy tinh hình trụ tròn bên trong có tráng một lớp bột huỳnh quang mỏng và hai điện cực Điện cực làm bằng dây vonfram
có dạng lò xo xoắn, được tráng một lớp bari-oxi để phát ra điện tử.
Trang 32Hình 2.18: Cấu trúc phần cứng của đèn UV
Sử dụng đèn UV trong máy ấp trứng để khử khuẩn, diệt khuẩn cho buồng ấp
Trang 33Chương 3: Tiến hành thiết kế
3.1 Thiết kế mạch
3.1.1 Lưu đồ thuật toán
Hình 3.1: Lưu đồ thuật toán
Trang 343.1.2 Mạch mô phỏng
Hình 3.2: Sơ đồ mạch nguyên lý 3.1.3 Nguyên lí hoạt động
- DHT22 kết nối với Arduino bằng 1 chân digital, Arduino đọc và xử lí tín hiệu từ
DHT22 gửi về.
Trang 35Hình 3.3: Sơ đồ kết nối Arduino với DHT22
- Sau khi nhận được dữ liệu từ DHT22, Arduino gửi dữ liệu nhiệt độ, độ ẩm
lên màn hình LCD 16x2 thông qua module i2c
Trang 36Hình 3.4 Sơ đồ kết nối Arduino với LCD 16x2 qua module i2c
- Đồng thời, Arduino gửi dữ liệu nhiệt độ, độ ẩm cho esp 8266 qua kết nối
uart bằng chân TX, chân Rx của esp 8266 sẽ nhận được dữ liệu sau đó gửi lên blynk Ở giao diện blynk có thể thay đổi các thông số nhiệt độ đặt rồi gửi
về Arduino qua chân TX và chân RX của Arduino sẽ nhận dữ liệu đó
Trang 37Hình 3.5: Sơ đồ kết nối uart giữa Arduino và esp 8266
- Cùng lúc đó, Arduino cũng gửi dữ liệu nhiệt độ, độ ẩm cho module sim 900a
qua kết nối uart bằng chân TX, chân Rx của module sim900a sẽ nhận dữ liệu
về xử lí, gửi dữ liệu nhiệt độ, độ ẩm về điện thoại người dùng.