KHÁI QUÁT TỔNG QUAN VỀ ĐỀ TÀI
Đặt vấn đề
Công nghệ kỹ thuật điện là lĩnh vực nghiên cứu và ứng dụng các kỹ thuật cơ khí hiện đại, điều khiển và máy tính để tối ưu hóa quá trình sản xuất Ngành này được áp dụng rộng rãi trong nhiều lĩnh vực, từ thiết bị điện tử tự động dân dụng đến dây chuyền sản xuất công nghiệp hiện đại, cũng như trong các thiết bị và robot thông minh tại văn phòng và nhà máy.
Ngày nay, nhu cầu và thị hiếu của con người ngày càng cao, dẫn đến yêu cầu về số lượng và chất lượng sản phẩm xã hội cũng tăng lên Điều này thúc đẩy sự phát triển của dây chuyền sản xuất công nghiệp hiện đại, với mức độ tự động hóa cao và ứng dụng các kỹ thuật điều khiển tiên tiến có sự hỗ trợ của máy tính Hệ thống điều khiển điện và điện tử đã trở thành yếu tố thiết yếu trong mọi dây chuyền sản xuất của các ngành kinh tế như công nghiệp, nông nghiệp và giao thông vận tải.
Hệ thống điều khiển thông minh và tự động đang trở thành xu hướng tất yếu trong cuộc sống hiện đại Ứng dụng công nghệ này vào việc quản lý các thiết bị trong nhà và sân vườn vẫn còn khá mới mẻ tại Việt Nam.
Giới thiệu về ngôi nhà
Một ngôi nhà thông minh có thể có các cấp thông minh sau:
Cấp 1 mang lại sự tiện lợi tối đa cho chủ nhà, cho phép người dùng điều khiển và quản lý các thiết bị điện một cách tổng thể mà không cần phải di chuyển đến từng thiết bị Với các giao diện người dùng linh hoạt, việc điều chỉnh thiết bị không còn bị giới hạn bởi không gian.
Hệ thống tự động cấp 2 trong ngôi nhà hoạt động phối hợp với nhau, cung cấp thông tin về trạng thái của ngôi nhà cho chủ nhân Qua thời gian, hệ thống này được huấn luyện từ các hoạt động thực tế, nâng cao tính ưu việt so với việc lập trình ban đầu Ngôi nhà được thiết kế với một phòng khách, hai phòng ngủ, một nhà bếp và một garage hành lang.
Ngôi nhà thông minh được thiết kế để tự động điều khiển các thiết bị như bật tắt đèn, mở đóng garage, đo nhiệt độ phòng và gửi thông báo qua điện thoại cho chủ nhà Hệ thống cũng tự động điều chỉnh hoạt động của quạt, mang lại sự tiện lợi và tiết kiệm năng lượng cho người sử dụng.
Ƣu và nhƣợc điểm của ngôi nhà thông minh
Nhà điều khiển thông minh giúp kiểm soát các thiết bị điện trong nhà một cách dễ dàng và tiện lợi Thay vì phải di chuyển đến từng thiết bị để điều khiển, người dùng có thể quản lý chúng qua giao diện người dùng từ xa, mang lại sự thuận tiện và hiệu quả trong việc sử dụng.
Có thể lập trình các thiết bị để điều khiển chúng hoạt động theo lịch trình cụ thể, như bật đèn hay điều hòa vào những thời điểm nhất định Tuy nhiên, việc điều khiển này có thể bị giới hạn bởi không gian và không thể thực hiện theo lịch đã đặt trước trong một số trường hợp.
Các thiết bị có thể hiểu ngôn ngữ của
Các thiết bị hoạt động độc lập ko thể tương tác được với nhau nhau và tương tác với nhau: khi phát
Các thiết bị thông minh hiện nay có khả năng tự động điều chỉnh hoạt động dựa trên sự hiện diện của người trong phòng Chẳng hạn, khi có người vào bếp, đèn sẽ tự động bật Ngoài ra, khi nhiệt độ trong bếp tăng lên trong quá trình nấu ăn, quạt thông gió cũng sẽ tự động khởi động để đảm bảo không khí trong lành.
Hệ thống có khả năng tự hiểu, tự phát triển tính năng qua quá trình hoạt động
Ngôi nhà thông minh giúp giải phóng hoạt động của con người bằng cách tự động hóa nhiều nhiệm vụ hàng ngày Ví dụ, quạt thông gió sẽ tự động mở khi nấu ăn, đèn sẽ tắt khi không có người trong bếp, và còi báo động hoặc chuông điện thoại sẽ reo khi có nguy cơ hỏa hoạn Hệ thống kết nối các thiết bị hoạt động phối hợp một cách hoàn hảo, mang lại sự tiện lợi và đơn giản cho người sử dụng trong từng hoàn cảnh cụ thể.
Hệ thống chuông cửa có hình và camera mang lại tiện ích vượt trội cho cuộc sống, giúp người dùng dễ dàng quan sát và điều khiển thiết bị từ xa, ngay cả khi đang du lịch Chủ nhà có thể quản lý không gian của mình một cách thuận tiện và hiệu quả.
Nhà thông minh mang đến sự tiện nghi và thoải mái cho người sử dụng, cho phép điều khiển các thiết bị điện dễ dàng chỉ bằng một nút bấm đã được cài sẵn cho các tình huống như đọc sách, tiếp khách, hay nghỉ ngơi Chủ nhà không cần phải nhớ vị trí của các công tắc hay di chuyển khắp nơi để điều chỉnh thiết bị, mà chỉ cần ngồi tại chỗ và tận hưởng sự thuận tiện mà công nghệ mang lại.
Giải pháp Nhà thông minh tăng cường an toàn và an ninh cho tài sản và cuộc sống bằng cách tự động kích hoạt đèn và còi hú khi xảy ra sự cố như đột nhập hoặc nguy cơ cháy Hệ thống có khả năng gọi điện cho chủ nhà hoặc thông báo cho công an, cứu hỏa theo yêu cầu Với tính năng an ninh vượt trội, Nhà thông minh ngăn chặn kẻ xấu ngay cả khi chủ nhà vắng mặt hoặc đang ngủ say, nhờ vào sự phối hợp của các thiết bị như camera giám sát, cảm biến hồng ngoại và cảm biến kính.
Nâng cao vị thế cho chủ nhân ngôi nhà là một trong những ưu điểm nổi bật của nhà thông minh Sở hữu một ngôi nhà với các tính năng hiện đại không chỉ mang lại sự tiện nghi mà còn giúp chủ nhân khẳng định vị thế và phong cách sống của mình.
Tiết kiệm điện năng và chi phí là một lợi ích lớn khi kiểm soát các thiết bị điện trong nhà Việc điều chỉnh mức độ sáng của đèn từ 50%, 75% đến 100% không chỉ giúp tiết kiệm điện năng mà còn kéo dài tuổi thọ của bóng đèn Hơn nữa, hệ thống an ninh và an toàn có thể ngăn chặn các sự cố cháy nổ và trộm cắp, bảo vệ tài sản của gia đình và cộng đồng.
Hệ thống điện thông minh dễ dàng lắp đặt và sử dụng, cho phép mở rộng và cải tạo chức năng trong ngôi nhà mà không ảnh hưởng đến nội thất Giải pháp này giúp tiết kiệm đến 30% lượng dây dẫn và giảm thiểu việc đục tường Hiện nay, việc kết nối các thiết bị điện thông minh chỉ cần cắm phích điện, và việc điều khiển chúng qua các Panel gắn tường hoặc điều khiển từ xa cũng đơn giản như chơi Game.
Sự hiểu biết của người dùng là yếu tố quan trọng khi sử dụng các hệ thống công nghệ cao trong nhà Việc thiếu kiến thức hoặc sử dụng sai mục đích có thể gây ra rắc rối cho người sử dụng Tuy nhiên, hiện nay, các nhà tích hợp hệ thống và công nghệ thiết kế đang ngày càng cải thiện, giúp người dùng dễ dàng tiếp cận và sử dụng hơn, từ đó giảm thiểu các vấn đề phát sinh.
Thị trường hiện nay chưa có một quy chuẩn thống nhất do sự đa dạng của các công nghệ từ nhiều nhà cung cấp Mỗi công nghệ lại đưa ra các tiêu chuẩn khác nhau, vì vậy để đảm bảo ứng dụng hiệu quả và rộng rãi, các công ty cần tham gia vào các hiệp hội tiêu chuẩn chung.
Vai trò và ứng dụng của arduino và ESP8266
Arduino là một board mạch vi xử lý mở, giúp xây dựng các ứng dụng tương tác với nhau và môi trường xung quanh Phần cứng của Arduino được thiết kế dựa trên nền tảng vi xử lý AVR Atmel 8-bit hoặc ARM Atmel 32-bit Các model hiện tại được trang bị 1 cổng giao tiếp USB và 6 chân đầu vào analog.
Arduino cung cấp 14 chân I/O kỹ thuật số, tương thích với nhiều board mở rộng khác nhau, giúp người dùng dễ dàng tạo ra các thiết bị tương tác với môi trường Được giới thiệu vào năm 2005, Arduino nhằm mang đến một giải pháp tiết kiệm cho những người yêu thích, sinh viên và chuyên gia Những dự án phổ biến cho người mới bắt đầu bao gồm robot đơn giản, hệ thống điều khiển nhiệt độ và cảm biến phát hiện chuyển động Bên cạnh đó, Arduino còn đi kèm với một môi trường phát triển tích hợp (IDE) trên máy tính cá nhân, cho phép lập trình bằng ngôn ngữ C hoặc C++.
Hình 1.1 Những thành viên khởi xướng Arduino
Arduino đã tạo ra một làn sóng mạnh mẽ trong cộng đồng DIY toàn cầu, tương tự như thành công của Apple trong lĩnh vực thiết bị di động Sự đa dạng về người dùng, từ học sinh phổ thông đến sinh viên đại học, đã khiến ngay cả những người sáng tạo ra Arduino cũng phải ngạc nhiên trước mức độ phổ biến của nó.
Arduino được phát triển tại thị trấn Ivrea, Ý, và mang tên vua Arduin từ thế kỷ 9 Ra mắt vào năm 2005, Arduino ban đầu là công cụ dành cho sinh viên của giáo sư Massimo Banzi tại trường Interaction Design Institute Ivrea Mặc dù không được quảng bá nhiều, Arduino nhanh chóng nổi tiếng nhờ sự truyền miệng tích cực từ người dùng đầu tiên Hiện nay, thị trấn Ivrea thu hút du khách đến tham quan nơi khởi nguồn của Arduino.
Chip ESP8266, phát triển bởi Espressif, cung cấp giải pháp giao tiếp Wifi cho các thiết bị IoT với kích thước nhỏ gọn 5x5mm, tích hợp các mạch RF như balun, antenna switches, TX power amplifier và RX filter Điều này giúp giảm kích thước board và số lượng linh kiện cần thiết, đồng thời giá thành thấp của ESP8266 thu hút các nhà phát triển sản phẩm IoT Kít phát triển ESP8266 được thiết kế dễ sử dụng, tích hợp mạch nạp CP2102, cho phép lập trình trực tiếp mà không cần thêm vi xử lý nào Người dùng có thể lập trình ESP8266 bằng phần mềm IDE của Arduino hoặc phần mềm NodeMCU.
Module ESP8266 là một giải pháp wifi giá rẻ, được ưa chuộng trong các ứng dụng liên quan đến internet và wifi Nó cũng được sử dụng phổ biến để thay thế cho các module truyền nhận khác, nhờ vào hiệu suất cao và tính linh hoạt trong thiết kế.
ESP8266 là một chip tích hợp cao, được thiết kế đặc biệt cho thế giới Internet of Things (IoT) Nó cung cấp giải pháp kết nối mạng Wi-Fi hoàn chỉnh và độc lập, cho phép lưu trữ các ứng dụng và giảm tải các chức năng kết nối Wi-Fi từ bộ xử lý ứng dụng.
1.3.3 Ứng dụng Arduino và ESP8266 trong thực tế
Ứng dụng của aruno vàESP8266 trong cuộc sống
Arduino là một nền tảng lý tưởng để chế tạo robot nhờ khả năng đọc dữ liệu từ các thiết bị cảm biến và điều khiển động cơ Với vai trò là bộ xử lý trung tâm, Arduino thường được sử dụng trong nhiều loại robot khác nhau.
- 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 đà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
Cuộc cách mạng âm thầm đang diễn ra nhờ vào Arduino chính là sự phát triển của máy in 3D nguồn mở Reprap Máy in 3D cho phép tạo ra các vật thể thực từ các file CAD 3D, mở ra nhiều ứng dụng thú vị, đặc biệt là trong việc cách mạng hóa sản xuất cá nhân.
Hình 1.2 Máy in 3D điều khiển bằng Arduino Mega2560
Arduino cho phép thực hiện các tác vụ điều khiển từ đơn giản như bật tắt đèn LED đến phức tạp như điều khiển ánh sáng theo nhạc hoặc tương tác với ánh sáng laser.
- Điều khiển xe ô tô từ xa
Hình 1.4 Điều khiển ô tô từ xa
- Điều khiển nhà thông minh (Smart Home )
Kết hợp các module chức năng như Bluetooth và Wi-Fi, người dùng có thể thiết kế hệ thống điều khiển và giám sát thông minh cho các thiết bị điện trong ngôi nhà thông qua ứng dụng trên máy tính bảng, smartphone hoặc trình duyệt web Hệ thống này cho phép người dùng quản lý thiết bị từ bất kỳ đâu có kết nối Internet, mang lại sự tiện lợi và linh hoạt trong việc sử dụng.
Hình 1.5 Điều khiển nhà qua smatphon
Mục tiêu đề tài và phạm vi nghiên cứu của đề tài
Xây dựng hệ thống quản lý tự động sử dụng Arduino và ESP8266 nhằm giảm bớt công sức con người trong các công việc lặp đi lặp lại hàng ngày Hệ thống này giúp loại bỏ sự can thiệp của con người, cho phép họ không cần lo lắng quá nhiều về việc quản lý ngôi nhà, từ đó mang lại một cuộc sống thoải mái và tiện nghi hơn.
Bài viết này nhằm mục tiêu nghiên cứu nguyên tắc hoạt động của công nghệ số trên module Arduino và ESP8266, cũng như ứng dụng chúng trên Arduino IDE Ngoài ra, chúng tôi sẽ tìm hiểu hoạt động của cảm biến quang, cảm biến nhiệt độ và độ ẩm, từ đó điều khiển hệ thống thiết bị trong ngôi nhà như đèn LED và gara ô tô.
Khi thực hiện đề tài em đã sử dụng các phương pháp nghiên cứu sau:
- Phương pháp phân tích tổng hợp lí thuyết
- Phương pháp tham khảo tài liệu
- Tìm hiểu arduino phần cứng và tập lệnh
THIỆU TỔNG QUAN VỀ HỆ THỐNG WIFI, MODULE ESP8266 VÀ BOARD ARDUINO UNO
Giới thiệu hệ thống Wifi
Wi-Fi, viết tắt từ Wireless Fidelity hay mạng 802.11, là hệ thống mạng không dây sử dụng sóng vô tuyến tương tự như điện thoại di động, truyền hình và radio Hầu hết các thiết bị điện tử hiện nay, bao gồm smartphone, máy tính bảng, tivi và laptop, đều có khả năng kết nối với Wi-Fi Wi-Fi đã trở thành một phần thiết yếu trong cuộc sống hàng ngày của con người, phục vụ cho cả công việc lẫn giải trí.
Wi-Fi hoạt động dựa trên các chuẩn kết nối IEEE 802.11, chủ yếu trên băng tần 54 Mbps Tín hiệu Wi-Fi mạnh nhất trong khoảng cách 100 feet, tương đương với 31 mét.
2.1.1 Nguyên tắc hoạt động của hệ thống wifi
Hình 2.1.Nguyên tắc hoạt động của wifi
- Truyền thông qua mạng không dây là truyền thông vô tuyến hai chiều, cụ thể:
Thiết bị adapter không dây, hay còn gọi là bộ chuyển tín hiệu không dây, là một phần quan trọng của máy tính, giúp chuyển đổi dữ liệu thành tín hiệu vô tuyến Thiết bị này sử dụng ăng-ten để phát đi các tín hiệu, cho phép kết nối mạng không dây hiệu quả.
- Thiết bị router không dây nhận những tín hiệu này và giải mã chúng.Nó gởi thông tin tới Internet thông qua kết nối hữu tuyến Ethernet
Router nhận thông tin từ Internet, chuyển đổi chúng thành tín hiệu vô tuyến và gửi đến adapter không dây của máy tính, đảm bảo quy trình này hoạt động hiệu quả theo chiều ngược lại.
Các sóng vô tuyến được sử dụng cho WiFi tương tự như sóng vô tuyến cho thiết bị cầm tay và điện thoại di động Chúng có khả năng truyền và nhận sóng vô tuyến, đồng thời chuyển đổi mã nhị phân 1 và 0 thành sóng vô tuyến và ngược lại.
- Tuy nhiên, sóng WiFi có một số khác biệt so với các sóng vô tuyến khác ở chỗ:
Các thiết bị truyền và phát tín hiệu ở tần số 2.4 GHz, 5 GHz hoặc 60 GHz, cao hơn so với tần số của điện thoại di động, thiết bị cầm tay và truyền hình Tần số cao hơn này giúp tín hiệu mang theo nhiều dữ liệu hơn.
2.1.2 Ƣu điểm và nhƣợc điểm của hệ thống wifi
- Đơn giản và hanh chóng khi cài đặt: việc cài đặt hệ thống mạng không dây nhanh và dễ dàng hơn nhiều so với mạng có dây
- Linh hoạt: công nghệ không dây cho phép mạng đi đến nhiều nơi mà mạng có dây không thể đến
Mặc dù chi phí đầu tư ban đầu cho mạng không dây thường cao hơn so với mạng có dây, nhưng khi tính tổng chi phí trong suốt tuổi thọ sử dụng, mạng không dây lại mang đến hiệu quả kinh tế vượt trội hơn.
Mạng không dây mang lại sự tiện lợi cho người dùng, cho phép truy cập tài nguyên mạng từ bất kỳ đâu trong khu vực được triển khai Điều này trở nên đặc biệt quan trọng khi số lượng người sử dụng laptop và thiết bị di động ngày càng tăng, tạo ra một lợi thế lớn cho người dùng.
- Khả năng mở rộng: Có thể dễ dàng mở rộng gia tăng số người dùng mà không phải tăng thêm bộ chia và cáp mất thời gian lằng nhằng
Kết nối không dây có thể bị ảnh hưởng bởi nhiễu sóng radio do thời tiết, các thiết bị không dây khác, hoặc các vật cản Bên cạnh đó, do môi trường kết nối là không khí, nguy cơ bị xâm nhập và đánh cắp dữ liệu là rất cao, đòi hỏi người dùng cần chú ý đến vấn đề bảo mật.
Mạng không dây thường có tốc độ thấp hơn so với mạng cáp, nhưng với sự tiến bộ nhanh chóng của công nghệ, tốc độ của hệ thống không dây hứa hẹn sẽ được cải thiện đáng kể trong tương lai.
Giới thiệu về module ESP8266
Hình 2.2 Sơ đồ chân esp 8266
- URXD(RX) — dùng để nhận tín hiệu trong giao tiếp UART với vi điều khiển
- UTXD (TX) — dùng để truyền tín hiệu trong giao tiếp UART với vi điều khiển
- GPIO 0— kéo xuống thấp cho chế độ upload bootloader
- RST— chân reset cứng của module, kéo xuống mass để reset
- GPIO 2 — thường được dùng như một cổng TX trong giao tiếp UART để debug
- CH_PD— kích hoạt chip, sử dụng cho Flash Boot và updating lại
- module, nối với mức cao
Hình 2.3 Hình ảnh thực tế của module ESP8266
- Wifi 2.4 GHz, hỗ trợ WPA/WPA2
- Chuẩn điện áp hoạt động 3.3V
- Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến 115200
- Có 3 chế độ hoạt động: Client, Access Point, Both Client and Access Point
- Hỗ trợ các chuẩn bảo mật nhƣ: OPEN, WEP, WPA_PSK, WPA2_PSK,
- Hỗ trợ cả 2 giao tiếp TCP và UDP
- Tích hợp công suất thấp 32-bit CPU có thể đƣợc sử dụng nhƣ là bộ vi xử lý ứng dụng
- Làm việc nhƣ các máy chủ có thể kết nối với 5 máy con
2.2.3 Sơ đồ mạch nguyên lý
Hình 2.4 Sơ đồ mạch nguyên lý của ESP8266
- Giải thích sơ đồ nguyên lý mạch:
FTDI là bộ chuyển đổi USB - TTL - UART, cung cấp tín hiệu UART với điện áp 5V Tuy nhiên, ESP8266 hoạt động ở mức điện áp 3.3V, vì vậy cần sử dụng điện trở R1 và R2 để giảm điện áp từ 5V xuống 3.3V TXD của ESP8266 có thể kết nối trực tiếp với RXD của FTDI.
- GPIO 15 đƣợc đƣa xuống đất( mức low )
- GPIO 0 được sử dụng điện trở treo Ở chế độ hoạt động bình thường GPIO 0 có mức high Khi S2 đƣợc nhấn, GPIO 0 có mức low( chế độ flash )
- GPIO 12 đƣợc sử dụng điện trở treo( high )
- RES sử dụng điện trở treo( mức high
2.2.4 C+ Module ESP-01 các loại module ESP8266
- Sử dụng on-board PCB antenna
- Có 2 LED trên board để báo nguồn và báo TX
- Cung cấp 3 chân GPIO (GPIO0, GPIO2 và GPIO6) và 2 chân TXD/RXD cho UART
- Dung lƣợng SPI Flash 4Mbyte Đƣa chân ra jumper luôn nên có thể kết nối trực tiếp với các board khác 1 cách nhanh chóng + ESP-07
- -Sử dụng chip anten on-board và có IPEX connector hỗ trợ gắn thêm anten ngoài để tăng khoảng cách truyền
- Có 2 LED trên board để báo nguồn và báo TX
- Đƣa ra 9 chân GPIO, 2 chân TX/RX cho UART, 1 chân REST để reset chip, 1
- chân ADC, 1 chân CH_PD để đƣa chip vào chế độ low power
- Dung lƣợng SPI Flash trên board là 4MByte
- Có thể hàn thêm jumper để kết nối trực tiếp với board khác hoặc hàn trực tiếp lên board ứng dụng
2.2.5 Tập lệnh AT giao tiếp với module ESP8266 Khi sử dụng giao tiếp
+ Các lệnh AT đối với Module Wifi cầu hình là Station / client (thu Wifi)
Lệnh AT Ý nghĩa Ví dụ
AT Kiểm tra lệnh luôn trả về OK AT
AT+ RST Khởi động lại Module AT+ RST
Bảng 1 Các lệnh AT cấu hình cho module
+ Các lệnh AT cấu hình cho module
AT+CW JAP ? wifi đang kết nối
AT+CWLAP wifi có thể kết nối
AT+CWQAP Đóng kế nối wifi
AT+ CWQAP với một Access
Xem địa chỉ IP của
Bảng 2 Các lệnh AT chung
+ Các lệnh AT đối với Module Wifi cầu hình là Station / client
1=Station (th u Cài đặt chế wifi) 2cess
AT+CW M ODE =1 AT+CW M O DE =< m o de> Point(phát wifi) độ
3=both( cả hai chế độ)
Truy vấn chế độ đã cài đặt
Cài đặt số 0 = 1 kênh kết
AT+CIP M UX=1 AT+CIPM U X = lƣợng các nối 1 = Nhiều kênh kết nối kênh kết nối
Cài đặt chế 0 = transparent độ dữ liệu 1 = Data AT+CIPMODE=1
AT+CIP M ODE? độ dữ liệu cài đặt
Lệnh Ý nghĩa của lệnh Mode Ví dụ
AT+CWJAP = Kêt nối với 1 mạng ssid "Tên wifi AT+CW JAP
Bảng 3 Các lệnh AT đối với Module Wifi cầu hình là Station / client
+ Các lệnh AT với Module Wifi cấu hình là Access Point ( chế độ module phát wifi)
Mode Ví dụ lệnh ssid "SSID" pass
"channel" enc AT+CW S AP =< ssid >,< p Cài đặt các "Encry ptio n" (0 AT+CW S AP = assword> , , thông số cho Open 1 "MLA B"," 12 34 5
Access Point WEP 2= WPA_ P SK
3WPA2_PSK 4=WPA _WPA2_PSK)
AT+CW S AP? hiện tại của AT + CWSAP?
Bảng 4 Các lệnh AT với Module Wifi cấu hình là Access P
2.2.6 Các phương pháp kết nối thiết bị với ESP8266
2.2.6.1 Truyền dữ liệu với web server
In this demo, we will program an Arduino to send AT commands to the ESP-01 module, transforming it into a Wi-Fi device that connects to nearby Wi-Fi networks The setup will enable the module to send PING requests to a web server and receive responses from it.
Về phần cứng, chúng ta sẽ kết noosu Arduino vàESP-01 nhƣ hình sau:
Hình 2.8 kết nối Arduino Due và ESP-01
Công việc còn lại là lập trình board Due trên Arduino IDE để gửi các lệnh AT commannd cần thiết
2.2.6.2 Giao tiếp smartphone dùng ESP8266
Hình 2.9 Kết nối với smartphone
In this demo, we will create an application that enables data exchange between a smartphone and an ESP8266 device We can utilize a Wi-Fi router as an intermediary between the two Wi-Fi devices, the ESP8266 and the smartphone Alternatively, a simpler and more effective method is to use the ESP8266 directly.
The ESP-01 module can be used as an Access Point, allowing smartphones to connect directly to the Wi-Fi network created by the module, eliminating the need for an intermediary router This simple setup enhances connectivity and streamlines the process for users.
2.2.6.3 Giao tiếp giữa hai module ESP8266
Chúng ta đã khám phá hai chế độ hoạt động của ESP8266, bao gồm chế độ thiết bị WiFi và chế độ Access Point Trong phần demo này, chúng ta sẽ phát triển một ứng dụng cho phép hai board Arduino giao tiếp trực tiếp qua mạng WiFi do ESP8266 tạo ra Ứng dụng này có thể được áp dụng trong các mạng cảm biến không dây, nơi các thiết bị IoT hoạt động như các nút và tương tác trực tiếp mà không cần đến smartphone, router hay máy chủ web làm trung gian.
Về kết nối phần cứng thì chúng ta sẽ giả lập 2 node trong 1 netwwork dùng 2 board Atmega2560 và board Due với 2 module ESP-01 như hình bên dưới:
Hình 2.10 Kết nối hai module ESP826
Tổng quan về board arduino
Hình 2.11 Cấu tạo của board arduino
Arduino là bo mạch xử lý lý tưởng cho việc lập trình tương tác với các thiết bị phần cứng như cảm biến và động cơ Ngôn ngữ lập trình của Arduino rất dễ học, tương tự như C/C++, và các ngoại vi trên bo mạch đã được chuẩn hóa, giúp người dùng không cần có nhiều kiến thức về điện tử vẫn có thể tạo ra các ứng dụng thú vị Hơn nữa, với việc Arduino là một nền tảng chuẩn hóa, có nhiều bo mạch mở rộng (shield) có thể kết nối dễ dàng, mở ra nhiều khả năng sáng tạo cho người lập trình.
"library" của các ngôn ngữ lập trình
Một mạch Arduino bao gồm vi điều khiển AVR và các linh kiện bổ sung, giúp lập trình dễ dàng và có khả năng mở rộng Điểm nổi bật của Arduino là các kết nối tiêu chuẩn, cho phép người dùng kết nối với CPU của board thông qua các module mở rộng gọi là Shield Một số Shield giao tiếp trực tiếp với board qua các chân khác nhau, trong khi nhiều Shield khác sử dụng giao thức I²C để định địa chỉ, cho phép xếp chồng và sử dụng nhiều Shield cùng lúc.
Arduino sử dụng các dòng chip megaAVR như ATmega8, ATmega168, ATmega328, ATmega1280 và ATmega2560, cùng với một số bộ vi xử lý khác cho các mạch tương thích Hầu hết các mạch Arduino đều có bộ điều chỉnh tuyến tính 5V và thạch anh dao động 16 MHz, mặc dù một số thiết kế như LilyPad hoạt động ở 8 MHz và không có bộ điều chỉnh điện áp onboard do kích thước hạn chế Vi điều khiển Arduino có thể được lập trình sẵn với boot loader, cho phép người dùng dễ dàng tải chương trình vào bộ nhớ flash on-chip mà không cần bộ nạp ngoài, giúp việc sử dụng Arduino trở nên thuận tiện hơn với máy tính gốc.
Khi sử dụng ngăn xếp phần mềm Arduino, các board được lập trình qua kết nối RS-232, tuy nhiên, cách thực hiện phụ thuộc vào đời phần cứng Các board Serial Arduino có mạch chuyển đổi RS232 sang TTL, trong khi các board hiện tại được lập trình qua cổng USB thông qua chip USB-to-serial như FTDI FT232 Một số biến thể như Arduino Mini và Boarduino sử dụng board adapter hoặc cáp USB-to-serial, Bluetooth và các phương thức khác Khi dùng công cụ lập trình vi điều khiển truyền thống thay vì ArduinoIDE, công cụ lập trình AVR ISP sẽ được sử dụng Board Arduino cung cấp hầu hết các chân I/O của vi điều khiển cho các mạch ngoài, với Diecimila, Duemilanove và Uno cung cấp 14 chân I/O kỹ thuật số, trong đó 6 chân có thể tạo xung PWM và 6 chân input analog có thể sử dụng như 6 chân I/O số Các chân này nằm trên bề mặt board qua các header cái 0.10-inch (2.5 mm), và nhiều shield ứng dụng plug-in cũng được thương mại hóa Các board Arduino Nano, Bare Bones Board và Boarduino có chân header đực ở mặt trên để cắm vào breadboard.
Có nhiều biến thể của Arduino, bao gồm các loại tương thích và phát triển từ Arduino Một số biến thể này có chức năng tương đương và có thể thay thế lẫn nhau Nhiều mở rộng cho Arduino được thực hiện bằng cách thêm driver đầu ra, thường được sử dụng trong giáo dục để đơn giản hóa cấu trúc của các robot nhỏ và 'con rệp' Một số bo mạch khác tương đương về điện nhưng có hình dạng khác nhau, đôi khi vẫn giữ được độ tương thích với các shield, đôi khi không Một số biến thể sử dụng vi xử lý hoàn toàn khác biệt, dẫn đến các mức độ tương thích khác nhau.
2.3.2 Các loại board mạch Arduino
+ Giới thiệu về board Arduino Uno
Arduino Uno là một bo mạch được thiết kế với vi điều khiển AVR Atmega328 làm bộ xử lý trung tâm Cấu tạo chính của Arduino Uno bao gồm nhiều thành phần quan trọng.
- Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển
- Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính
Để cung cấp nguồn cho Arduino, bạn có thể sử dụng cổng USB, nhưng không phải lúc nào cũng có thể kết nối với máy tính Trong những trường hợp này, bạn cần sử dụng nguồn từ 9V đến 12V.
- Có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF)
Vi điều khiển AVR là bộ xử lý trung tâm của bo mạch Arduino, với mỗi mẫu Arduino sử dụng một loại chip khác nhau Cụ thể, Arduino Uno sử dụng chip ATMega328.
- Các thông số chi tiết của Arduino Uno:
Vi xử lý: Atmega3 Điện áp hoạt động: 5V
29 Điện áp đầu vào: 7-12V Điện áp đầu vào (Giới hạn): 6-20V
Chân vào/ra (I/O) số: 14 ( 6 chân có thể cho đầu ra PWM)
Dòng điện trong mỗi chân I/O: 40mA
Dòng điện chân nguồn 3.3V: 50mA
Bộ nhớ trong: 32 KB (ATmega328)
+ Giới thiệu về board Arduino Nano
Board Arduino Nano có cấu trúc và số lượng chân vào ra tương tự như Arduino Uno, nhưng được thiết kế nhỏ gọn hơn để tiện lợi trong việc sử dụng Với kích thước tối giản, Arduino Nano chỉ hỗ trợ nạp code và cung cấp điện qua một cổng mini USB duy nhất.
Thông số kĩ thuật chi tiết:
+ Vi xử lý ATmega328 (phiên bản v3.0)
+ Điện áp đầu vào (khuyến nghị) 7-12 V
+ Điện áp đầu vào (giới hạn) 6-20 V
+ Chân vào/ra số 14 (6 chân có khả năng xuất ra tín hiệu PWM)
+ Dòng điện mỗi chân vào/ra 40 mA
+ Bộ nhớ 16 KB (ATmega168), 32 KB (ATmega328)
+ trong đó 2 KB dùng để nạp bootloader
+ SRAM 1 KB (ATmega168) hoặc 2 KB (ATmega328)
+ EEPROM 512 bytes (ATmega168) hoặc 1 KB
2.3.3 Môi trường làm việc arduino
- Môi trường lập trình board mạch Arduino
Arduino có thiết kế board nhỏ gọn và tích hợp nhiều tính năng hữu ích, mang lại nhiều lợi thế cho người dùng Tuy nhiên, sức mạnh thực sự của Arduino nằm ở phần mềm, với môi trường lập trình đơn giản và dễ sử dụng Ngôn ngữ lập trình Wiring, dựa trên C/C++, rất quen thuộc với các kỹ sư Đặc biệt, số lượng thư viện mã nguồn mở được viết sẵn và chia sẻ bởi cộng đồng là rất phong phú, hỗ trợ tối đa cho người phát triển.
Môi trường lập trình Arduino IDE hỗ trợ ba hệ điều hành phổ biến: Windows, macOS và Linux Với tính chất mã nguồn mở, Arduino IDE hoàn toàn miễn phí và cho phép người dùng có kinh nghiệm mở rộng các tính năng của nó.
Ngôn ngữ lập trình C++ có khả năng mở rộng thông qua các thư viện, cho phép người dùng phát triển các ứng dụng phức tạp Đặc biệt, C++ được xây dựng dựa trên nền tảng ngôn ngữ C, điều này giúp tích hợp dễ dàng với AVR C trong quá trình lập trình.
Hình 2.14 Vùng làm việc trên arduino
Bài viết mô tả các nút lệnh menu bao gồm File, Edit, Sketch, Tools và Help Dưới đây là các biểu tượng cho phép truy cập nhanh vào các chức năng thường dùng của IDE.
Hình 2.15 Các lệnh chức năng trên arduino
Hình 2.16 Vùng viết chương trình trên arduino
Bạn sẽ viết mã chương trình của mình tại đây, với tên chương trình hiển thị ngay dưới dãy các biểu tượng, cụ thể là "Blink" Lưu ý rằng dấu "§" phía sau tên chương trình cho biết đoạn mã của bạn chưa được lưu.
Hình 2.17 Vùng thông báo trên arduino
Thông báo từ IDE sẽ hiển thị tại đây Chú ý góc dưới cùng bên phải để xem loại board Arduino và cổng COM đang sử dụng Việc chọn sai loại board hoặc cổng COM có thể khiến bạn không upload được code.
2.3.4 Ngôn ngữ lập trình và các tập lệnh cơ bản
Tổng quan về phần mềm Blynk
2.4.1 Giới thiệu phần mềm Blynk
Blynk là một ứng dụng di động cho phép người dùng tùy chỉnh giao diện và điều khiển thiết bị theo sở thích cá nhân Tôi chọn Blynk vì nhiều lý do thuyết phục.
+ Dễ sử dụng: Quá đơn giản, chỉ việc vào store, cài đặt, sau đó đăng ký tài khoảnvà mất không quá 5 phút để làm quen
Giao diện của Blynk rất đẹp và dễ sử dụng, cho phép người dùng kéo thả các thành phần cần thiết như nút bấm, đồ thị và LCD Tóm lại, bạn chỉ cần kéo thả những gì mình cần để tạo ra ứng dụng mong muốn.
Với Blynk, việc điều khiển thiết bị từ smartphone trở nên dễ dàng hơn mà không cần kiến thức lập trình Android hay iOS Điều này giúp người dùng nhanh chóng thử nghiệm và ứng dụng dự án của mình vào thực tế mà không gặp khó khăn hay phức tạp.
+ 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
Mặc dù Blynk mang lại nhiều lợi ích, nhưng vẫn tồn tại một số hạn chế, chẳng hạn như yêu cầu mua năng lượng để tạo ra nhiều giao diện và chia sẻ chúng với người khác.
Nguyên lý hoạt động của hệ thống là khi nhấn nút điều khiển, lệnh sẽ được gửi đến server của Blynk Sau đó, server truyền lệnh đến module điều khiển, và khi module thực hiện lệnh, nó sẽ gửi kết quả trở lại theo quy trình ngược lại, tức là từ thiết bị về server và cuối cùng là từ server đến điện thoại.
Sử dụng Blynk bạn không cần phải viết app choc ho android, chỉ thao tác rê và thả các đối tƣợng trong giao diện và thiết lập là xong
Trước khi biết đến Blynk, việc điều khiển thiết bị qua Internet đòi hỏi tôi phải thực hiện nhiều bước phức tạp, bao gồm việc mở modem tại nhà và đăng ký dịch vụ tên miền như DynDNS.
No-IP giúp tự động cập nhật địa chỉ modem, đồng thời cho phép viết code cho phần cứng và phát triển ứng dụng webserver để điều khiển từ trình duyệt Việc xây dựng ứng dụng trên nền tảng Android hoặc iOS cũng trở nên dễ dàng hơn Tuy nhiên, nếu một trong các giai đoạn này không được thực hiện tốt, có thể gây ra sự nản lòng cho người thực hiện.
Với Blynk, bạn chỉ cần sử dụng các module phần cứng được hỗ trợ để điều khiển thiết bị qua internet Ứng dụng này cho phép bạn kết nối và điều khiển thiết bị từ bất kỳ đâu qua mạng LAN hoặc internet, bao gồm cả 3G, mà không gặp phải vấn đề gì.
Blynk được phát triển dành riêng cho Internet of Things (IoT), cho phép điều khiển phần cứng từ xa, hiển thị dữ liệu cảm biến và lưu trữ dữ liệu Ngoài ra, Blynk còn hỗ trợ nhiều tính năng thú vị khác Hệ thống Blynk bao gồm ba phần chính.
+ Blynk App: cho phép tạo các giao diện từ Widget có sẵn
+ Blynk Server: truyền tải thông tin giữa Smarthome và thiết bị Blynk Server có thể là
1 đám mây của Blynk hoặc có thể cài đặt trên máy cá nhân Có thể cài đặt trên
+ Blynk Libraries: thƣ viện cung cấp kết nối phần cứng đến server, xử lý các lệnh đến và đi
Hình 2.10 Giao diện phần mềm Blynk
2.4.2 Thao tác đối với phần mềm Bynk Đầu tiên là tải app cho điện thoại của bạn từ web chính của phần mềm là Blynk Hoặc vào chợ ứng dụng trên điện thoại cài app Blynk vào
Sau khi cài xong, chúng ta tải về thƣ viện cho Arduino từ địa chỉ Getting Started
— Blynk Vào đây chọn ―DOWNLOAD BLYNK LIBRARY‖
Sau khi tải xong, bạn mở phần mềm lập trình Arduino và thêm gói thư viện vừa tải Truy cập menu Sketch > Import Library > Add Library, sau đó chọn thư viện nén dạng zip để bổ sung thư viện cùng với các ví dụ.
Mở ứng dụng Blynk trên điện thoại và đăng ký tài khoản để bắt đầu trải nghiệm Mỗi tài khoản miễn phí được cung cấp 2000 điểm để tạo ứng dụng, và khi sử dụng hết số điểm này, bạn có thể dễ dàng mua thêm.
Khi tạo mỗi dự án, ứng dụng sẽ cung cấp cho bạn một mã Auth Token Để nhận mã này, bạn cần gửi email từ ứng dụng đến địa chỉ email đã đăng ký tài khoản Sau khi nhận được, bạn sẽ sử dụng mã Auth Token để nạp vào chương trình trên Arduino.
Trong phần viết code này, tôi sẽ hướng dẫn bạn cách điều khiển tắt mở relay Relay thường được kích hoạt ở mức thấp (LOW), và khi sử dụng Button trong Blynk, nó sẽ điều khiển từ mức thấp lên cao mà không thể thay đổi Để giải quyết vấn đề này, bạn nên sử dụng chân ảo (Virtual Pin) để gửi dữ liệu về module.
Giờ đây, chúng ta có thể điều khiển và giám sát nhiệt độ cũng như độ ẩm của môi trường thông qua smartphone, đánh dấu bước khởi đầu trong việc lập trình và quản lý từ xa Blynk cho phép điều khiển và giám sát ở bất kỳ đâu có kết nối internet, không bị giới hạn bởi mạng cụ thể nào Hãy khám phá thêm nhiều điều thú vị khác trong Blynk để nâng cao trải nghiệm của bạn.
THIẾT KẾ VÀ LẮP RÁP MÔ HÌNH NGÔI NHÀ
Sơ đồ tổng quát của hệ thống
Hình 3.1 Sơ đồ tổng quát của hệ thống
Khi nhận lệnh từ người dùng qua internet, module wifi sẽ truyền lệnh đến board Arduino, từ đó board sẽ điều khiển bật tắt các thiết bị điện trong nhà theo yêu cầu của người dùng.
Ví dụ điều khiển qua wifi: Ngƣ
Khối giao tiếp module ESP8266 v1
Hình 3.2 Hình ảnh thực tế ESP8266 v1
Hình 3.3 Sơ đồ nối chân ESP8266
Module ESP8266 v1 có chức năng nhận và gửi thông tin, cho phép kết nối mạng wifi toàn diện Nó có thể được sử dụng để tạo một web server đơn giản hoặc hoạt động như một access point, giúp giao tiếp hiệu quả với ESP8266.
Module ESP8266 v1 được sử dụng làm khối xử lý chính, với các chức năng đã được giới thiệu ở chương trước, hoàn toàn đáp ứng được các yêu cầu của đề tài.
- Sử dụng chân 3,3V kết nối với chân 3,3V của arduino
- Sử dụng chân GND kết nối với chân GND của arduino
- Sử dụng chân số TX để truyền tín hiệu với arduino
- Sử dụng chân số RX nhận tín hiệu với arduino
// - char blynk[] = "Mã token ";// Mã liên kết đến PM Blynk, đư c gửi qua email khi tạo giao diện
47 char tenWifi[] = "tên mạng wifi"; // Tên mạng wifi char pass[] = "mật khẩu "; // mat khau wifi } void loop()
Khối xử lý trung tâm
Khối xử lý chính có nhiệm vụ tiếp nhận tín hiệu từ các cảm biến và gửi yêu cầu đến module ESP8266, từ đó thực hiện điều khiển các thiết bị trong nhà một cách hiệu quả.
Hình 3.4 Sơ đồ nối chân arduino
Khối chức năng có nhiệm vụ nhận tín hiệu từ cảm biến, xử lý tín hiệu đó và gửi dữ liệu đến điện thoại Nó cũng giao tiếp với module ESP8266 để thực hiện việc gửi và nhận thông tin, đồng thời điều khiển các thiết bị bằng cách quản lý việc đóng mở relay của khối output.
Phần cứng của dự án sử dụng Arduino Uno làm khối xử lý chính, đáp ứng đầy đủ các yêu cầu đã được nêu trong chương trước Với các chức năng đã giới thiệu, Arduino Uno hoàn toàn phù hợp cho đề tài này.
Sử dụng các chân số 7, 8, 9, 10 cấu hình là các chân output để đƣa tín hiệu điều khiển đóng/ ngắt các relay
Chân số 2 được cấu hình làm chân input để tiếp nhận tín hiệu từ cảm biến DHT11, trong khi chân A0 được sử dụng làm chân xuất tín hiệu điều khiển cho động cơ servo.
Sử dụng các lệnh cơ bản để cấu hình input hay output cho các chân: pinMode(pin, mode):
Pin: Thứ tự chân arduino
Chế độ INPUT (cấu hình chân là tín hiệu vào) và OUTPUT (cấu hình chân là tín hiệu ra) có vai trò quan trọng trong việc xử lý tín hiệu từ các cảm biến Khối xử lý chính sẽ gửi tín hiệu đến module ESP8266 khi có yêu cầu, từ đó thực hiện điều khiển các thiết bị trong nhà một cách hiệu quả.
Khối cảm biến nhiệt độ LM35
Cảm biến nhiệt độ LM35 là một cảm biến tương tự phổ biến trong các ứng dụng đo nhiệt độ thời gian thực nhờ vào độ chính xác cao và sai số nhỏ Kích thước nhỏ gọn và giá thành rẻ cũng là những ưu điểm nổi bật của cảm biến này Với khả năng hoạt động như một cảm biến tương tự, giá trị đo được có thể dễ dàng đọc bằng hàm (analogRead).
3.4.1 Giới thiệu về cảm biến LM35
- LM35 là một cảm biến nhiệt độ analog
-Nhiệt độ đƣợc xác định bằng cách đo hiệu điện thế ngõ ra của LM35
→ Nhiệt độ thay đổi tuyến tính: 10mV/°C
Hình 3.5Sơ đồ chân của LM35
- LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng
49 Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng 2°C tới 150°C
- LM35 có hiệu năng cao, công suất tiêu thụ là 60uA
Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ
Để đo nhiệt độ từ cảm biến LM35, bạn cần kết nối chân bên trái với nguồn 5V và chân bên phải với đất Sau đó, sử dụng chân giữa để đo hiệu điện thế qua pin A0 trên Arduino, tương tự như cách đọc giá trị từ biến trở Kết quả đo được sẽ cho bạn nhiệt độ trong khoảng 0-100ºC bằng công thức phù hợp.
Với cảm biến nhiệt độ LM35, bạn có thể thiết kế một mạch tự động ngắt điện khi nhiệt độ vượt quá ngưỡng tối đa và tự động đóng điện khi nhiệt độ giảm xuống dưới ngưỡng tối thiểu, sử dụng module rơ le để điều khiển.
3.4.2 Sơ đồ đấu nối và lập trình
Hình 3.6 Sơ đồ đấu nối
1 int sensorPin = A0;// chân analog kết nối tới cảm biến LM35
4 Serial.begin(9600); //Khởi động Serial ở mức baudrate 9600
// Bạn không cần phải pinMode cho các chân analog trước khi dùng
9 //đọc giá trị từ cảm biến LM35
12 //tính ra giá trị hiệu điện thế (đơn vị Volt) từ giá trị cảm biến
15 // ở trên mình đã giới thiệu, cứ mỗi 10mV = 1 độ C
16 // Vì vậy nếu biến voltage là biến lưu hiệu điện thế (đơn vị Volt)
// thì ta chỉ việc nhân voltage cho 100 là ra được
Khối cơ cấu chấp hành
Hình 3.7Module relay thực tế
Module Relay 4 kênh 5V gồm7 relay , điện áp hoạt động 5 vđiều khiển đầu ratối đa 220VAC/10A và 30VDC/10A Đầu vào IN1, IN2, IN3 IN4 nhận tín hiệu cực thấp
Module relay 4 kênh nhỏ gọn, thiết kế chuyên nghiệp với khả năng chống nhiễu và cách điện tốt, đảm bảo an toàn và độ tin cậy cao Sản phẩm đi kèm với header tiện dụng, dễ dàng kết nối với vi điều khiển.
Module này được thiết kế với các lỗ bắt vít tiện lợi, giúp dễ dàng lắp đặt trong hệ thống mạch Nó bao gồm mạch kích relay sử dụng IC cách ly quang và transistor, đảm bảo cách ly hoàn toàn giữa mạch vi điều khiển và rơ le, từ đó giúp vi điều khiển hoạt động ổn định.
Mạch điều khiển relay 4 kênh này sử dụng chân kích mức Thấp (0V): khi có tín hiệu 0V vào chân IN thì relay sẽ nhảy qua thường Mở của Relay
Thông số Module Relay 4 kênh 5V
- Kích thước: 76mm (chiều dài) * 56mm (chiều rộng) * 18.5mm (H)
- Bốn lỗ để bắt vít cố định có đường kính 3.1mm, dễ dàng lắp đặt trong hệ thống mạch
- Opto cô lập, tốt chống nhiễu
- Có đèn báo đóng ngắt trên Relay
- Sử dụng điện áp nuôi DC 5V
- Đầu ra điện thê đóng ngắt tối đa: DC 30V / 10A, AC 250V / 10A
- IN1…IN4: tín hiệu đầu vào, hoạt động mức thấp
- NO1…NO4: Công tắc thường mở
Servo là động cơ điện đặc biệt, chỉ quay khi được điều khiển bằng xung PPM trong khoảng 0° - 180° Các loại servo có kích thước và cấu tạo khác nhau, từ những loại nhẹ 9g dùng cho máy bay mô hình đến những loại có momen lực mạnh mẽ Động cơ servo được thiết kế với hệ thống hồi tiếp vòng kín, giúp tín hiệu ra được kết nối với mạch điều khiển Khi động cơ quay, vận tốc và vị trí được hồi tiếp về mạch điều khiển, cho phép điều chỉnh sai lệch để đạt được vị trí mong muốn.
Hình 3.8 Động cơ servo ngoài thực tế
Hình 3.11Cấu tạo động cơ Servo
+ Thông số kĩ thuật SG90-9G:Khối lƣợng : 9g
Tốc độ hoạt động: 60 độ trong 0.1 giây Điện áp hoạt động: 4.8V(~5V)
Nhiệt độ hoạt động: 0 ºC – 55 ºC
Kết nối dây đỏ với nguồn 5V, dây nâu với mass, và dây cam với chân phát xung của vi điều khiển Cung cấp xung từ 1ms đến 2ms tại chân xung để điều khiển góc quay theo ý muốn.
Hình 3.9 Cấu tạo chân vào ra động cơ servo
+ viện của động cơ servo: include // Thư viện điều khiển servo
Khai báo đối tượng myservo để điều khiển servo, với biến trở được kết nối tại chân A0 để đọc giá trị điều khiển Chân điều khiển servo được xác định tại chân số 9 trong hàm setup.
// Cài đặt chức năng điều khiển servo cho chân servoPin myservo.attach(servoPin);
Serial.begin(9600); // Mở giao tiếp Serial ở baudrate 9600
{ int value = analogRead(bientro);// Đọc giá trị biến trở
// Chuyển giá trị analog (0-1023) đọc đư c t biến trở sang số đo độ (0-180độ) // dùng để điều khiển góc quay cho servo int servoPos = map(value, 0, 1023, 0, 180);
// Cho servo quay một góc là servoPos độ
3.6 MDL45 mạch hạ áp DC-DC 3A 4.5-60V
Hình 3.10 Ảnh thực tế MDL45 mạch hạ áp DC-DC 3A 4.5-60V
- Điện Áp In: 4.5 - 60V DC ( Khuyến cáo sử dụng điện áp đầu vào < 40V DC )
Mạch hạ áp DC-DC 3A sử dụng IC LM2596, cho phép điện áp đầu vào từ 3V đến 60V và điện áp đầu ra từ 3V đến 35V Với dòng ra tối đa lên tới 3A, người dùng nên sử dụng 2/3 công suất để đảm bảo độ bền cao cho sản phẩm Mạch hạ áp 3A thường được ứng dụng trong các mạch chuyển đổi nguồn DC-DC, giúp hạ điện áp cao xuống mức thấp hơn trong các mạch điện tử.
3.7 Điều khiển bật tắt quạt theo nhiệt độ
Quạt sẽ tự động bật hoặc tắt dựa trên mức nhiệt độ phòng đã được lập trình Khi cảm biến nhiệt độ phát hiện độ ẩm thực tế cao hơn mức độ ẩm đã cài đặt, quạt sẽ được kích hoạt, và ngược lại, quạt sẽ ngừng hoạt động khi độ ẩm thấp hơn mức cài đặt.
- Sử dụng quạt tản nhiệt mini
Hình 3.16 Quạt tản nhiệt mi ni
- Lập trình cho relay if ((startrelay) >= (temp+2)) {////////////// độ ẩm đặt lớn hơn độ ẩm đo đƣợc thì bật relay digitalWrite(relay_nhiet , LOW); delay (200);
} else if (startrelay