TỔNG QUAN
Phần mềm thiết kế mạch và ứng dụng điều khiển
- Proteus được sử dụng để mô phỏng, thiết kế và vẽ các mạch điện tử Nó được phát minh bởi Labcenter Electronics.
- Những ưu điểm nổi bật của phần mềm proteus:
+ Bằng cách sử dụng proteus, bạn có thể thiết kế mạch hai chiều.
+ Với việc sử dụng phần mềm kỹ thuật này, bạn có thể xây dựng và mô phỏng các mạch điện và điện tử khác nhau trên máy tính cá nhân hoặc máy tính xách tay. + Có rất nhiều ưu điểm khi mô phỏng các mạch trên proteus trước khi thực hiện chúng trong thực tế.
+ Thiết kế mạch trên proteus tốn ít thời gian hơn so với việc xây dựng mạch trên thực tế.
+ Khả năng xảy ra lỗi ít hơn trong mô phỏng phần mềm chẳng hạn như kết nối lỏng lẻo, mất nhiều thời gian để tìm ra các vấn đề kết nối trong một mạch thực tế. + Mô phỏng mạch cung cấp tính năng chính mà một số linh kiện của mạch không thực tế thì bạn có thể xây dựng mạch của mình trên proteus.
Hình 2.1: Logo của phần mềm Proteus.
+ Không có khả năng đốt cháy và làm hỏng bất kỳ linh kiện điện tử nào trong proteus.
+ Các công cụ điện tử rất đắt tiền có thể dễ dàng mắc vào proteus như máy hiện sóng.
+ Sử dụng proteus, bạn có thể tìm thấy yếu tố khác nhau của các mạch như dòng điện, giá trị điện áp của bất kỳ linh kiện nào và điện trở bất kỳ lúc nào, điều này rất khó trong một mạch thực tế.
- Đặc tính của phần mềm proteus:
+ ISIS là phần mềm được sử dụng để vẽ sơ đồ và mô phỏng mạch trong thời gian thực, mô phỏng cho phép con người truy cập trong thời gian chạy, do đó cung cấp mô phỏng thời gian thực.
+ ARES được sử dụng để thiết kế pcb, nó có tính năng xem đầu ra ở chế độ xem 3d của pcb được thiết kế cùng với các linh kiện.
+ Người thiết kế cũng có thể phát triển các bản vẽ 2d cho sản phẩm.
+ ISIS có nhiều loại linh kiện trong thư viện của nó Nó có các nguồn, bộ tạo tín hiệu, các công cụ đo lường và phân tích như máy hiện sóng, vôn kế, ampe kế, …, đầu dò để theo dõi thời gian thực các thông số của mạch, công tắc, màn hình, tải như động cơ và đèn, các thành phần rời rạc như điện trở, tụ điện, cuộn cảm, máy biến áp, mạch tích hợp kỹ thuật số và analog, công tắc bán dẫn, relay, vi điều khiển, bộ xử lý, cảm biến, …
+ ARES cung cấp thiết kế pcb lên đến 14 lớp bên trong, với các gói gắn bề mặt và xuyên lỗ Nó được nhúng với các bản in chân của các loại linh kiện khác nhau như ic, transistor, header, connector và các linh kiện rời rạc khác Nó cung cấp các tùy chọn định tuyến tự động và định tuyến thủ công cho người thiết kế pcb Sơ đồ được vẽ trong isis có thể được chuyển trực tiếp ares.
2.1.2 Phần mềm lập trình Arduino IDE
- IDE trong arduino ide là phần có nghĩa là mã nguồn mở, nghĩa là phần mềm này miễn phí cả về phần tải về lẫn phần bản quyền: Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung được nhà phát hành cho phép mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng.
Arduino IDE là phần mềm mã nguồn mở có khả năng bảo mật thông tin tuyệt vời Khi phát hiện lỗi, nhà phát hành sẽ nhanh chóng vá và cập nhật phần mềm, ngăn chặn thông tin người dùng bị mất hoặc rò rỉ ra bên ngoài.
- Sử dụng ngôn ngữ lập trình C/C++ thân thiện với các lập trình viên.
- Arduino ide sử dụng ngôn ngữ lập trình C/C++ rất phổ biến trong giới lập trình. Bất kỳ đoạn code nào của C/C++ thì arduino ide đều có thể nhận dạng, giúp các lập trình viên thuận tiện trong việc thiết kế chương trình lập cho các bo mạch arduino.
- Hỗ trợ lập trình tốt cho bo mạch arduino: Arduino có một module quản lý bo mạch, nơi người dùng có thể chọn bo mạch mà họ muốn làm việc cùng và có thể thay đổi bo mạch thông qua menu Quá trình sửa đổi lựa chọn cũng liên tục tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệu sửa đổi đồng nhất với nhau Bên cạnh đó, arduino ide cũng giúp bạn tìm ra lỗi từ code mà bạn biết giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch arduino làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm sút.
Thư viện hỗ trợ phong phú là một lợi thế lớn của Arduino IDE IDE này tích hợp sẵn hơn 700 thư viện, được phát triển và chia sẻ bởi cả Arduino Software và cộng đồng Arduino Nhờ vậy, người dùng có thể tận dụng các thư viện này cho các dự án của mình mà không phải tốn bất kỳ chi phí nào.
Hình 2 2: Giao diện Arduino IDE.
- Giao diện đơn giản, dễ sử dụng: Arduino ide có một giao diện đơn giản, dễ sử dụng giúp người dùng thuận tiện hơn trong thao tác Dưới đây là một số tính năng nổi bật chúng ta thường sử dụng.
+ Nút kiểm tra chương trình (verify): Giúp dò lỗi phần code định truyền xuống bo mạch arduino.
+ Nút tải đoạn code vào bo mạch arduino (upload): giúp nhập đoạn code vào bo mạch arduino.
+ Vùng lập trình: người dùng sẽ viết chương trình tại khu vực này.
+ Thanh menu: gồm những thẻ chức năng nằm trên cùng như file, edit, sketch, tools, help rất thông dụng có ở hầu hết các chương trình nhập code khác.
- Hỗ trợ đa nền tảng như windows, mac os, linux: Arduino ide hoạt động trên 3 hệ điều hành phổ biến nhất là windows, mac os và linux giúp người dùng có thể truy cập vào phần mềm ở bất cứ đâu, bất cứ khi nào miễn là họ có một cái máy tính Ngoài ra, người dùng có thể truy cập vào công cụ từ đám mây Điều này cho phép các nhà lập trình lựa chọn tạo và lưu dự án của mình trên đám mây hoặc xây dựng chương trình trên máy tính và upload nó lên bo mạch arduino.
- Tóm lại, arduino ide là một phần mềm được phân phối chính hãng, tải miễn phí và giao diện thân thiện với người dùng Phần mềm liên tục được nhà phát hành cập nhật dưới sự giúp đỡ của Cộng đồng người dùng Arduino đông đảo nên độ bảo mật là rất cao Arduino ide là phần mềm nên sử dụng nhất để tải code vào bo mạch arduino.
2.1.3 Ứng dụng điều khiển trên điện thoại Blynk
- IDE trong arduino ide là phần có nghĩa là mã nguồn mở, nghĩa là phần mềm này miễn phí cả về phần tải về lẫn phần bản quyền: Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung được nhà phát hành cho phép mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng.
Linh kiện và thiết bị
2.2.1 Vi điều khiển (kit node mcu esp8266)
- Node mcu là firmware dựa trên mã nguồn mở “LUA” được phát triển cho chip wifi esp8266 Firmware nodemcu đi kèm với bo esp8266, tức là bo dev node mcu.
- Vì node mcu là một nền tảng mã nguồn mở, thiết kế phần cứng của nó có thể mở để chỉnh sửa hoặc sửa đổi hoặc xây dựng thêm.
- Bản mạch node mcu dev kit gồm chip hỗ trợ wifi esp8266 Esp8266 là chip wifi giá rẻ do Espressif Systems phát triển với giao thức “TCP/IP”
- Hiện tại đã có phiên bản 2 (V2) của node mcu dev kit có màu đen.
- Node mcu dev kit có các chân arduino như analog (tức là A0) và digital (D0- D8) trên bo mạch.
- Nó hỗ trợ các giao thức truyền thông nối tiếp như uart, spi, i2c
- Sử dụng các giao thức nối tiếp, chúng ta có thể kết nối nó với các thiết bị nối tiếp như màn hình lcd hỗ trợ i2c, Từ kế hcm5883, Máy đo gyro mpu-6050 + gia tốc kế, chip rtc, module gps, màn hình cảm ứng, thẻ sd, v.v.
- Cách sử dụng node mcu:
+ Bản mạch dev node mcu nổi bật với khả năng phát wifi, chân analog, chân kỹ thuật số và các giao thức truyền thông nối tiếp.
Để bắt đầu xây dựng các ứng dụng IoT trên NodeMCU, việc đầu tiên cần làm là hiểu cách nạp hoặc tải về firmware trên bo mạch phát triển NodeMCU.
Hình 2.4: Bo node mcu esp8266.
Bảng 2.1: Chú thích chân module esp8266
Danh mục Tên chân Chú thích
Micro-USB: NodeMCU có thể được cấp nguồn qua cổng USB
3.3V: 3.3V quy định có thể được cung cấp cho chân này để cấp nguồn cho bo mạch
GND: Chân nối đất Vin: Nguồn điện bên ngoài Control Pins EN, RST Chốt và nút đặt lại bộ vi điều khiển
Analog Pin A0 Được sử dụng để đo điện áp tương tự trong khoảng 0-3,3V
GPIO16 NodeMCU có 16 chân đầu vào-đầu ra mục đích chung trên bo mạch của nó
SD0, CLK NodeMCU có sẵn bốn chân để giao tiếp SPI
NodeMCU có hai giao diện UART, UART0 (RXD0 & TXD0) và UART1 (RXD1 &
TXD1) UART1 được sử dụng để tải lên phần sụn / chương trình
NodeMCU có hỗ trợ chức năng I2C nhưng do chức năng bên trong của các chân này, bạn phải tìm chân nào là I2C
- Cách viết mã cho node mcu
+ Sau khi thiết lập esp8266 với chương trình cơ sở node mcu, hãy xem ide (môi trường phát triển tích hợp) cần thiết để phát triển node mcu.
+ Node mcu với ide esplorer: Các tập lệnh “LUA” thường được sử dụng để viết mã node mcu Lua là một ngôn ngữ lệnh mã nguồn mở, nhẹ, có thể nhúng được xây dựng dựa trên ngôn ngữ lập trình C.
+ Node mcu với arduino ide: Đây là cách khác để phát triển node mcu với ide, tức là arduino ide Chúng ta cũng có thể phát triển các ứng dụng trên node mcu bằng cách sử dụng môi trường phát triển arduino Lập trình bằng arduino sẽ dễ dàng hơn là học một ngôn ngữ và ide mới cho node mcu.
- Module relay là một loại linh kiện điện tử thụ động rất hay gặp trong các ứng dụng thực tế Khi bạn gặp các vấn đề liên quan đến công suất và cần sự ổn định cao. ngoài ra có thể dễ dàng bảo trì, thì Moudle relay chính là cái bạn cần tìm.
- Module tập hợp các linh kiện điện tử (transistor, tụ điện, điot, cuộn cảm) được gắn kết trên một bo mạch và thực hiện một chức năng nhất định.
- Relay hay còn gọi Rơ-le là một công tắc (khóa K) Nhưng khác với công tắc ở một chỗ cơ bản, rơ-le được kích hoạt bằng điện thay vì dùng tay người Chính vì lẽ đó, rơ-le được dùng làm công tắc điện tử Vì rơ-le là một công tắc nên nó có 2 trạng thái: đóng và mở.
2.2.2.1.Thông số trạng thái của module relay
- Các loại rơ-le và cách xác định trạng thái của nó: Trên thị trường chúng ta có 2 loại module rơ-le: module relay đóng ở mức thấp (nối cực âm vào chân tín hiệu rơ-le sẽ đóng), module relay đóng ở mức cao (nối cực dương vào chân tín hiệu rơ-le sẽ đóng)
- Thông số của một module relay: Một module relay được tạo nên bởi 2 linh kiện thụ động cơ bản là rơ-le và transistor, nên module rơ-le có những thông số của chúng
- Hiệu điện thế kích tối ưu.
+ 10A - 250VAC: Cường độ dòng điện tối đa qua các tiếp điểm của rơ-le với hiệu điện thế