Bài tập môn học lập trình nhúng đề tài hệ thống tưới tiêu tự động

Bài tập lập trình nhúng về hệ thống tưới tiêu tự động. Tài liệu tham khảo hữu ích cho sinh viên và kỹ sư ngành điện tử, tự động hóa.

Trường đại học

Trường Đại Học Thăng Long

Chuyên ngành

Lập Trình Nhúng

Người đăng

Ẩn danh

Thể loại

Bài Tập Môn Học

2023

49
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Khám phá đề tài hệ thống tưới tiêu tự động trong lập trình nhúng

Đề tài hệ thống tưới tiêu tự động là một lựa chọn phổ biến và mang tính ứng dụng cao trong các bài tập môn học lập trình nhúng. Mục tiêu chính của đề tài là xây dựng một mô hình có khả năng tự động hóa việc chăm sóc cây trồng, dựa trên các thông số môi trường đo được theo thời gian thực. Hệ thống này là một ví dụ điển hình của một hệ thống nhúng (Embedded System), tích hợp cả phần cứng và phần mềm để thực hiện một chức năng chuyên biệt. Trong bối cảnh nông nghiệp thông minh đang phát triển, các giải pháp tự động hóa giúp tiết kiệm tài nguyên nước, giảm sức lao động và tăng năng suất cây trồng một cách đáng kể. Một hệ thống hoàn chỉnh thường bao gồm ba khối chính: khối cảm biến để thu thập dữ liệu (độ ẩm, nhiệt độ, ánh sáng), khối xử lý trung tâm (vi điều khiển) để phân tích và ra quyết định, và khối chấp hành (máy bơm, van điện) để thực thi lệnh tưới. Việc ứng dụng công nghệ IoT (Internet of Things) còn cho phép người dùng giám sát và điều khiển hệ thống từ xa qua Internet, mang lại sự tiện lợi và hiệu quả vượt trội. Tài liệu gốc nhấn mạnh: “Hệ thống tưới nước tự động kết hợp theo dõi từ xa là một hình thức tưới nước hợp lý, tiết kiệm sức lao động và chi phí nhân công”. Điều này khẳng định giá trị thực tiễn và tính cấp thiết của việc nghiên cứu, phát triển các hệ thống tương tự, đặc biệt là trong môi trường giáo dục, nơi sinh viên có thể áp dụng lý thuyết lập trình C/C++ vào việc giải quyết một bài toán thực tế.

1.1. Tổng quan về hệ thống nhúng và vai trò trong nông nghiệp

Một hệ thống nhúng là một hệ thống chuyên dụng, kết hợp giữa phần cứng máy tính và phần mềm, được thiết kế để thực hiện một chức năng cụ thể trong một hệ thống lớn hơn. Khác với máy tính đa năng, hệ thống nhúng được tối ưu hóa về chi phí, kích thước và năng lượng tiêu thụ. Trong lĩnh vực nông nghiệp, vai trò của hệ thống nhúng ngày càng trở nên quan trọng. Chúng là hạt nhân của các giải pháp nông nghiệp thông minh, từ việc theo dõi điều kiện sinh trưởng của cây trồng, điều khiển tự động các thiết bị như máy bơm, quạt thông gió, đến quản lý trang trại quy mô lớn. Việc áp dụng các hệ thống này giúp tự động hóa các quy trình chăm sóc, đảm bảo cây trồng luôn được cung cấp đủ nước và dinh dưỡng theo đúng yêu cầu, từ đó nâng cao chất lượng nông sản.

1.2. Phân tích tính cấp thiết của mô hình tưới tiêu tự động

Nền nông nghiệp truyền thống tại Việt Nam đối mặt với nhiều thách thức như lãng phí nguồn nước, phụ thuộc vào sức người và kinh nghiệm chủ quan. Tài liệu nghiên cứu đã chỉ ra: “Rất nhiều quy trình kỹ thuật trồng trọt, chăm sóc được tiến hành một cách chủ quan, và không đảm bảo được đúng yêu cầu”. Mô hình hệ thống tưới tiêu tự động ra đời để giải quyết những vấn đề này. Bằng cách sử dụng cảm biến độ ẩm đất và các cảm biến môi trường khác, hệ thống chỉ cung cấp nước khi cần thiết, giúp tiết kiệm từ 30-50% lượng nước so với phương pháp thủ công. Hơn nữa, việc tự động hóa giúp giải phóng sức lao động, cho phép người nông dân tập trung vào các công việc mang lại giá trị cao hơn. Đặc biệt, với khả năng tích hợp IoT, người dùng có thể quản lý vườn cây của mình mọi lúc, mọi nơi, một yếu tố cực kỳ quan trọng trong thời đại số.

II. Thách thức khi triển khai dự án tưới tiêu tự động cho sinh viên

Việc thực hiện một bài tập môn học lập trình nhúng về hệ thống tưới tiêu tự động đặt ra nhiều thách thức cho sinh viên, đòi hỏi sự kết hợp nhuần nhuyễn giữa kiến thức lý thuyết và kỹ năng thực hành. Thách thức đầu tiên là lựa chọn linh kiện phần cứng phù hợp. Thị trường hiện nay có vô số loại vi điều khiển như Arduino Uno, ESP32, STM32, và hàng loạt cảm biến với chất lượng và giá cả khác nhau. Sinh viên cần phân tích yêu cầu của đề tài để chọn ra cấu hình tối ưu nhất, cân bằng giữa hiệu năng và chi phí. Một thách thức lớn khác là thiết kế mạch điện tửsơ đồ nguyên lý. Việc kết nối sai các chân GPIO, cấp nguồn không ổn định, hoặc nhiễu tín hiệu từ module relay có thể dẫn đến việc hệ thống hoạt động sai hoặc thậm chí gây hỏng hóc linh kiện. Bên cạnh đó, việc lập trình và gỡ lỗi cũng là một quá trình phức tạp. Sinh viên không chỉ cần nắm vững ngôn ngữ lập trình C/C++ mà còn phải hiểu cách làm việc với các thư viện phần cứng, xử lý tín hiệu từ ADC (Analog to Digital Converter) của cảm biến, và quản lý các tác vụ đồng thời. Cuối cùng, việc tích hợp các công nghệ mới như IoT thông qua nền tảng Blynk hay IFTTT cũng đòi hỏi sinh viên phải tự học và nghiên cứu thêm ngoài chương trình học, đây là một thử thách nhưng cũng là cơ hội để nâng cao kỹ năng.

2.1. Lựa chọn vi điều khiển và các loại cảm biến phù hợp

Lựa chọn vi điều khiển là bước khởi đầu quan trọng. Arduino Uno là một lựa chọn tuyệt vời cho người mới bắt đầu vì cộng đồng hỗ trợ lớn và sự đơn giản trong lập trình. Tuy nhiên, nếu đề tài yêu cầu kết nối IoT, các board mạch như ESP8266 (Wemos D1 R2) hoặc ESP32 sẽ là lựa chọn hợp lý hơn do có tích hợp sẵn Wi-Fi. Đối với cảm biến, cảm biến độ ẩm đất (thường là loại điện dung để chống ăn mòn) là thành phần không thể thiếu. Ngoài ra, để hệ thống thông minh hơn, cần tích hợp thêm cảm biến nhiệt độ và độ ẩm không khí (DHT11/DHT22), cảm biến ánh sáng để điều khiển đèn trợ sáng, và cảm biến mưa để ngưng tưới khi có mưa tự nhiên.

2.2. Vấn đề về chi phí và tối ưu hóa thiết kế mạch điện tử

Chi phí luôn là một rào cản đối với sinh viên. Để tối ưu hóa, cần lập danh sách linh kiện chi tiết và tìm kiếm nhà cung cấp uy tín. Thay vì sử dụng các module đắt tiền, sinh viên có thể tự thiết kế và lắp ráp các mạch phụ trợ đơn giản. Trong thiết kế mạch điện tử, việc đi dây gọn gàng, sử dụng nguồn riêng cho các thiết bị công suất cao như máy bơm nước mini (thông qua module relay) và khối điều khiển là rất quan trọng để tránh sụt áp và nhiễu. Sử dụng các phần mềm mô phỏng như mô phỏng Proteus trước khi lắp ráp thực tế có thể giúp phát hiện sớm các lỗi thiết kế, tiết kiệm thời gian và chi phí sửa chữa.

III. Hướng dẫn thiết kế phần cứng hệ thống tưới tiêu tự động chi tiết

Thiết kế phần cứng là nền tảng vật lý cho toàn bộ hệ thống tưới tiêu tự động. Một thiết kế tốt đảm bảo hệ thống hoạt động ổn định, chính xác và bền bỉ. Trái tim của hệ thống là vi điều khiển, trong tài liệu tham khảo đã chọn Wemos D1 R2 (dựa trên ESP8266), một lựa chọn mạnh mẽ cho các dự án IoT. Xung quanh vi điều khiển là các khối chức năng được kết nối một cách khoa học. Khối cảm biến bao gồm cảm biến độ ẩm đất được kết nối với chân ADC (A0 trên Wemos) để đọc giá trị độ ẩm dưới dạng analog. Các cảm biến số như cảm biến nhiệt độ, ánh sáng được kết nối với các chân GPIO digital. Khối chấp hành là nơi thực thi các lệnh từ vi điều khiển. Một máy bơm nước mini 12V được điều khiển gián tiếp thông qua một module relay. Relay đóng vai trò như một công tắc điện tử, cho phép vi điều khiển 3.3V/5V có thể bật/tắt an toàn một thiết bị có điện áp và dòng điện cao hơn nhiều. Tương tự, một van điện từ cũng có thể được điều khiển bằng relay để phân luồng nước tới các khu vực khác nhau. Để cung cấp thông tin trực tiếp cho người dùng tại chỗ, hệ thống có thể tích hợp thêm một màn hình LCD 16x2. Việc xây dựng sơ đồ nguyên lý rõ ràng trước khi lắp ráp là cực kỳ quan trọng, giúp tránh nhầm lẫn và dễ dàng gỡ lỗi sau này.

3.1. Sơ đồ nguyên lý kết nối Wemos D1 R2 và các module

Sơ đồ nguyên lý là bản vẽ kỹ thuật mô tả chi tiết cách kết nối các linh kiện. Với Wemos D1 R2, chân A0 được dùng cho cảm biến độ ẩm đất. Chân D0 kết nối với cảm biến nhiệt độ DHT. Chân D6 cho cảm biến ánh sáng, D5 điều khiển module relay cho máy bơm và D3 cho relay của bóng đèn. Các đèn LED báo trạng thái được nối vào chân D1 và D2. Nguồn điện cần được phân chia rõ ràng: Wemos D1 R2 được cấp nguồn 5V qua cổng USB, trong khi máy bơm nước mini và các relay cần nguồn ngoài (ví dụ 9-12V) để đảm bảo hoạt động ổn định và không gây sụt áp cho vi điều khiển.

3.2. Chức năng của module relay máy bơm và van điện từ

Module relay là cầu nối an toàn giữa mạch điều khiển điện áp thấp và thiết bị chấp hành điện áp cao. Nó sử dụng một tín hiệu logic nhỏ từ chân GPIO của vi điều khiển để đóng/mở một tiếp điểm cơ học, cho phép dòng điện lớn chạy qua. Máy bơm nước mini là thiết bị trực tiếp thực hiện việc tưới tiêu, thường là loại bơm chìm hoặc bơm màng nhỏ gọn. Van điện từ hoạt động như một vòi nước điều khiển bằng điện. Khi được cấp điện (thông qua relay), một cuộn từ bên trong sẽ tạo ra lực từ để mở van, cho phép nước chảy qua. Kết hợp nhiều van điện từ giúp hệ thống có thể tưới cho từng khu vực riêng biệt một cách độc lập.

IV. Phương pháp lập trình C C cho hệ thống tưới tiêu tự động

Phần mềm là linh hồn của hệ thống tưới tiêu tự động, quyết định sự thông minh và hiệu quả hoạt động. Ngôn ngữ chính được sử dụng là lập trình C/C++ trên nền tảng Arduino IDE, một môi trường phát triển tích hợp (IDE) thân thiện và mạnh mẽ. Trước khi viết mã, việc xây dựng một lưu đồ giải thuật là bước cực kỳ cần thiết. Lưu đồ này mô tả logic hoạt động của toàn bộ hệ thống: bắt đầu, khởi tạo các chân và thư viện, vào vòng lặp chính, đọc giá trị từ tất cả các cảm biến, so sánh giá trị đó với ngưỡng đã cài đặt (ví dụ: độ ẩm đất < 60%), và cuối cùng là ra quyết định bật/tắt relay tương ứng. Cấu trúc source code cần được tổ chức một cách khoa học. Các biến, hằng số nên được định nghĩa rõ ràng ở đầu chương trình. Các chức năng phức tạp nên được tách thành các hàm con riêng biệt (ví dụ: readSensors(), controlPump(), updateBlynk()) để mã nguồn trở nên dễ đọc, dễ bảo trì và tái sử dụng. Trong mã nguồn của tài liệu tham khảo, có thể thấy rõ việc sử dụng các thư viện cho ESP8266WiFi và Blynk để hiện thực hóa tính năng IoT, cho phép hệ thống không chỉ hoạt động độc lập mà còn có thể giao tiếp và nhận lệnh từ Internet. Việc xử lý các giá trị từ cảm biến, đặc biệt là giá trị analog từ cảm biến độ ẩm đất, đòi hỏi phải có bước hiệu chuẩn và ánh xạ (map) giá trị thô sang thang đo phần trăm để dễ dàng sử dụng.

4.1. Xây dựng lưu đồ giải thuật và cấu trúc source code hiệu quả

Một lưu đồ giải thuật hiệu quả bắt đầu bằng khối Start, tiếp theo là khối khởi tạo các chân GPIO (INPUT/OUTPUT), thiết lập giao tiếp Serial và kết nối Wi-Fi. Vòng lặp chính (loop) sẽ liên tục thực hiện các bước: đọc dữ liệu từ cảm biến độ ẩm đất, nhiệt độ, ánh sáng. Sau đó, các khối điều kiện (if-else) sẽ kiểm tra các giá trị này. Ví dụ: if (doAmDat < 60) { bật máy bơm } else if (doAmDat > 70) { tắt máy bơm }. Cấu trúc source code nên tuân theo nguyên tắc module hóa, chia thành các file .h.cpp nếu dự án lớn, hoặc ít nhất là các hàm chức năng rõ ràng để quản lý code tốt hơn, đặc biệt khi làm việc nhóm.

4.2. Tích hợp IoT với Blynk Điều khiển và giám sát hệ thống từ xa

Blynk là một nền tảng IoT mạnh mẽ cho phép tạo giao diện điều khiển trên điện thoại thông minh một cách nhanh chóng. Để tích hợp, cần cài đặt thư viện Blynk vào Arduino IDE. Trong source code, cần khai báo mã xác thực (Auth Token) được cung cấp bởi Blynk, cùng với tên và mật khẩu Wi-Fi. Các hàm Blynk.virtualWrite(Vx, value) được dùng để gửi dữ liệu từ cảm biến lên ứng dụng (ví dụ: V0 cho nhiệt độ, V1 cho độ ẩm). Ngược lại, hàm BLYNK_WRITE(Vy) được dùng để nhận lệnh từ các nút bấm ảo trên ứng dụng để điều khiển relay. Việc tích hợp này biến hệ thống tưới tiêu tự động thành một thiết bị nông nghiệp thông minh thực thụ, cho phép giám sát và can thiệp từ bất cứ đâu.

V. Hướng dẫn triển khai và làm báo cáo đồ án hệ thống tưới tiêu

Sau khi hoàn thành thiết kế phần cứng và lập trình phần mềm, giai đoạn triển khai và kiểm thử là bước quyết định sự thành công của bài tập môn học lập trình nhúng. Quá trình lắp đặt mạch thực tế cần sự cẩn thận, tuân thủ đúng sơ đồ nguyên lý đã thiết kế. Nên kiểm tra từng khối chức năng riêng lẻ trước khi tích hợp chúng lại với nhau. Ví dụ, nạp một đoạn code đơn giản để kiểm tra việc đọc giá trị từ cảm biến độ ẩm đất và hiển thị lên Serial Monitor, hoặc kiểm tra việc bật/tắt module relay bằng một nút nhấn ảo trên Blynk. Việc kiểm thử toàn diện hệ thống bao gồm việc đặt các cảm biến trong các điều kiện môi trường khác nhau (đất khô, đất ẩm, trời tối, trời sáng) để quan sát phản ứng của hệ thống và tinh chỉnh lại các ngưỡng giá trị trong code cho phù hợp. Một công cụ hữu ích là mô phỏng Proteus, cho phép kiểm tra logic của mạch và code trước khi có linh kiện thật. Cuối cùng, việc chuẩn bị một báo cáo đồ án chi tiết và chuyên nghiệp là rất quan trọng. Báo cáo cần trình bày đầy đủ các phần: tổng quan đề tài, cơ sở lý thuyết về hệ thống nhúngvi điều khiển sử dụng, thiết kế phần cứng (sơ đồ nguyên lý, hình ảnh mạch thực tế), thiết kế phần mềm (lưu đồ giải thuật, giải thích source code), kết quả đạt được và hướng phát triển trong tương lai.

5.1. Quy trình lắp đặt mạch điện tử thực tế và kiểm thử hoạt động

Quy trình lắp đặt nên bắt đầu từ việc cố định vi điều khiển và các module lớn lên một đế mạch. Sau đó, tiến hành kết nối dây nguồn và dây tín hiệu theo sơ đồ nguyên lý. Sử dụng dây có màu sắc khác nhau cho VCC, GND và tín hiệu để tránh nhầm lẫn. Sau khi lắp đặt xong, cần kiểm tra kỹ lại các kết nối trước khi cấp nguồn. Giai đoạn kiểm thử bắt đầu bằng việc nạp code và mở Serial Monitor để theo dõi các giá trị debug. Kiểm tra từng chức năng: cảm biến có đọc đúng không, relay có đóng/ngắt khi nhận lệnh không, kết nối Wi-Fi và Blynk có ổn định không. Ghi chép lại mọi kết quả và lỗi phát sinh để tiện cho việc gỡ lỗi và viết báo cáo đồ án.

5.2. Phân tích kết quả và đánh giá hiệu quả của hệ thống

Trong phần kết quả của báo cáo đồ án, cần trình bày các dữ liệu thu thập được một cách khoa học. Có thể vẽ biểu đồ thể hiện mối quan hệ giữa độ ẩm đất và trạng thái của máy bơm theo thời gian. Đánh giá hiệu quả của hệ thống dựa trên các tiêu chí: độ chính xác của cảm biến, độ trễ của hệ thống từ khi phát hiện đến khi hành động, khả năng hoạt động ổn định trong thời gian dài, và mức độ tiết kiệm nước so với phương pháp truyền thống (nếu có thể đo lường). Phần này cũng nên nêu ra những hạn chế của hệ thống hiện tại và đề xuất các giải pháp khắc phục, thể hiện tư duy phản biện và khả năng nghiên cứu của sinh viên.

20/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1. LẬP TRÌNH NHÚNG 1. Khái niệm Hệ thống nhúng là gì? Hệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ. Đó là các hệ thống tích hợp cả phần cứng và phần phềm để thực hiện một hoặc một nhóm chức năng chuyên biệt cụ thể Hệ thống nhúng (HTN) thường được thiết kế để thực hiện một chức năng chuyên biệt nào đó.

Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng mà ta không tìm thấy trong một máy tính đa năng nói chung. Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất. Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn. HTN rất đa dạng, phong phú về chủng loại.

Đó có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân. Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn. Các thiết bị PDA hoặc máy tính cầm tay cũng có một số đặc điểm tương tự với hệ thống nhúng như các hệ điều hành hoặc vi xử lý điều khiển chúng nhưng các thiết bị này không phải là hệ thống nhúng thật sự bởi chúng là các thiết bị đa năng, cho phép sử dụng nhiều ứng dụng và kết nối đến nhiều thiết bị ngoại vi. Các đặc điểm của hệ thống nhúng.

Hệ thống nhúng thường có một số đặc điểm chung như sau: • Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng. Một số hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ an toàn và tính ứng dụng. • Một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất. • Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống phức tạp nằm trong thiết bị mà nó điều khiển.

3 • Phần mềm được viết cho các hệ thống nhúng được gọi là firmwarevà được lưu trữ trong các chip bộ nhớ chỉ đọc (ROM - Read Only Memory) hoặc bộ nhớ flash chứ 6 không phải là trong một ổ đĩa. Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ, bộ nhớ hạn chế. Một số ví dụ về hệ thống nhúng Quanh ta có rất nhiều sản phẩm nhúng như: lò vi sóng, nồi cơm điện, điều hoà, điện thoại di động, ôtô, máy bay, tàu thuỷ, các đầu đo cơ cấu chấp hành thông minh…. Ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi trong cuộc sống của chúng ta.

Các máy trả lời tự động, các thiết bị y tế, máy in, hệ thống dẫn đường trong không lưu đều có tích hợp các hệ thống nhúng. Figure 1 Hình 1: Cấu trúc bên trong Router Router là một ví dụ của hệ thống nhúng. Các hệ thống nhúng trong mô hình Router bao gồm: Microprocessor(), RAM(), và Flash memory(). Các thiết bị trên các tàu vũ trụ được tích hợp rất nhiều các hệ thống nhúng.

4 Figure 2 Hình 2: Tàu thăm dò Sao Hỏa 1. Khái quát về hệ thống tưới tiêu tự động Lắp đặt và sử dụng hệ thống tưới tiêu tự động sẽ giúp các sản phẩm nông nghiệp như rau, củ, hoa, quả… được chăm sóc đầy đủ góp phần tăng năng suất và cho chất lượng sạch. Việc trồng rau sẽ giúp cho nguồn rau tránh bị các loại sâu bệnh và thời tiết xấu ngoài ra còn giúp xoay vụ nhanh hơn. Việt Nam là một nước có thế mạnh về các loại nông sản nông nghiệp, nhiều năm qua các sản phẩm nông nghiệp của Việt Nam đã đi ra rất nhiều thị trường trên thế giới với các sản phẩm chất lượng.

Điều này đã thúc dục bà con nông dân sử dụng công nghệ hiện đại để tăng năng suất và chất lượng sản phẩm vì sự kiểm tra nghiêm ngặt khi vào nước bạn. 5 Figure 3 Hình 3: Hình ảnh về nhà trồng thông minh 1. THỰC TIỄN VIỆC ÁP DỤNG ARDUINO Ứng dụng của Arduino về mô hình hệ thống tự động sử dụng một cảm biến độ ẩm và nhiệt độ kết nối với một Arduino và điều khiển động cơ tạo ra hệ thống tưới tiêu tự động. Tất cả mọi việc đều tự động diễn ra trong quá trình cài đặt sẵn và qua các cảm biến để điều tiết việc tưới cây hợp lí trong mọi thời tiết.

Từ ví dụ thực tiễn cùng với sự giúp đỡ của giáo viên hướng dẫn, nhóm đã lựa chọn và phát triển đề tài theo hướng sử dụng kid Arduino để thực hiện đề tài của mình. Ứng dụng đơn giản qua thao tác nút bấm cài đặt thời gian hẹn giờ để tưới cây và làm việc thông minh qua các cảm biến. Trước hết về cảm biến nhiệt độ và độ ẩm được áp 6 dụng với khí hậu thời tiết nhiệt đới ẩm gió mùa với 4 mùa rõ rệt vậy nên cảm biến nhiệt độ độ ẩm có tầm quan trọng trong khâu tự động. Đo được các mức nhiệt độ cần thiết đáp ứng cho cây trồng cũng là ưu tiên hàng đầu trong ứng dụng.

Hệ thống đảm bảo về mảng thời gian cài đặt, đảm bảo về nhiệt độ thay đổi qua mùa, độ ẩm theo khí hậu tất cả được kết hợp tạo thành hệ thống thông minh đáp ứng đúng yêu cầu người trồng cây. Vì vậy việc tưới tiêu cây trồng với con người trong công nghệ này đã thay thế hoàn toàn cho sức lao động của con người. Một hệ thống trồng thông minh đáp ứng về thời tiết kết hợp việc cài đặt thời gian tưới phù hợp cây trồng tất cả chỉ trong một thiết bị vi điều khiển Arduino. Phù hợp với người bận công việc, phù hợp với việc sản xuất nông nghiệp cao đưa ra chất lượng cây trồng tốt.

Figure 4 Hình 4 Hệ thống tưới nước tự động 7 CHƯƠNG 2: LẬP TRÌNH ARDUINO 2. Giới thiệu chung và Arduino 2. Arduino và Arduino IDE 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. 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.

Những Model hiện tại được trang bị gồm 1 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. Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduino bằng ngôn ngữ C hoặc C++.

Giá của các board Arduino dao động xung quanh €20 - $27, nếu được "làm giả" thì giá có thể giảm xuống thấp hơn $9. Các board Arduino có thể được đặt hàng ở dạng được lắp sẵn hoặc dưới dạng các kit tự-làm-lấy. Thông tin thiết kế phần cứng được cung cấp công khai để những ai muốn tự làm một mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở). Người ta ước tính khoảng giữa năm 2011 có trên 300 ngàn mạch Arduino chính thức đã được sản xuất thương mại, và vào năm 2013 có khoảng 700 ngàn mạch chính thức đã được đưa tới tay người dùng.

Phần cứng 8 Figure 5 Một mạch Arduino Uno chính thức với các mô tả về các cổng I/O. 9 Figure 6 Một board Arduino đời đầu gồm một cổng giao tiếp RS-232 (góc phía trên-bên trái) và một chip vi xử lý Atmel ATmega8 (màu đen, nằm góc phải-phía dưới); 14 chân I/O số nằm ở phía trên và 6 chân analog đầu vào ở phía đáy. Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác. Một khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi, được gọi là shield.

Vài shield truyền thông với board Arduino trực tiếp thông qua các chân khách nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếp chồng và sử dụng dưới dạng song song. Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560. Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino tương thích. Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị.

Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash onchip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài. Điều này giúp cho việc sử dụng Arduino 10 được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp chương trình. Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng. Các board Serial Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ