Hướng dẫn sử dụng if else trong Node-RED / iNut Node-RED IDE

Mô tả dự án: 

Bài viết sẽ hướng dẫn bạn sử dụng hàm rẻ nhánh if else trong nền tảng node-red / iNut Node-RED IDE.

Bạn cần chuẩn bị gì?

Bạn cần phải cài đặt Node-red hoặc iNut Node-RED IDE. Nếu bạn chưa cài, xin vui lòng đọc bài viết Tài liệu kỹ thuật bỏ túi để lập trình Internet of Things - Vận hành, điều khiển và quản lý thiết bị qua Internet trong 1 nốt nhạc để cài đặt iNut Node-RED IDE nhé.

Khối lệnh switch

Để lập trình xử lý câu lệnh rẻ nhánh, bạn phải sử dụng khối lệnh switch ở nhóm lệnh function.

Đầu vào của khối lệnh switch sẽ nhận là đầu ra từ một khối lệnh bất kỳ. Ví dụ:

Chương trình, nếu tôi nhấn vào phím 1 => Phải ra phân luồn output ở ô thứ 1 (từ trên xuống dưới). Tương tự khi tôi nhấn ô số 2, số 3.

Nội dung định nghĩa của switch:

 

Bạn có thể thay đổi được toán tử so sánh, kiểu dữ liệu so sánh và giá trị. Tương ứng sẽ cho ta biết được vị trí đầu ra. Bạn có thể thêm điều kiện qua ô "+add".

Code mẫu

[
    {
        "id": "fedecce.de5cd3",
        "type": "inject",
        "z": "ffe1c804.8ae908",
        "name": "",
        "topic": "",
        "payload": "0",
        "payloadType": "num",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 1050,
        "y": 1420,
        "wires": [
            [
                "df3a346f.a7cf18"
            ]
        ]
    },
    {
        "id": "df3a346f.a7cf18",
        "type": "switch",
        "z": "ffe1c804.8ae908",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 3,
        "x": 1190,
        "y": 1480,
        "wires": [
            [
                "7c50d8b0.ef22f8"
            ],
            [
                "6a872372.c205ac"
            ],
            [
                "1232e53a.b7f21b"
            ]
        ]
    },
    {
        "id": "7c50d8b0.ef22f8",
        "type": "debug",
        "z": "ffe1c804.8ae908",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "x": 1350,
        "y": 1420,
        "wires": []
    },
    {
        "id": "6a872372.c205ac",
        "type": "debug",
        "z": "ffe1c804.8ae908",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "x": 1350,
        "y": 1480,
        "wires": []
    },
    {
        "id": "1232e53a.b7f21b",
        "type": "debug",
        "z": "ffe1c804.8ae908",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "x": 1350,
        "y": 1540,
        "wires": []
    },
    {
        "id": "2a51e03.d620e2",
        "type": "inject",
        "z": "ffe1c804.8ae908",
        "name": "",
        "topic": "",
        "payload": "1",
        "payloadType": "num",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 1050,
        "y": 1480,
        "wires": [
            [
                "df3a346f.a7cf18"
            ]
        ]
    },
    {
        "id": "42fda574.5950bc",
        "type": "inject",
        "z": "ffe1c804.8ae908",
        "name": "",
        "topic": "",
        "payload": "2",
        "payloadType": "num",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 1050,
        "y": 1540,
        "wires": [
            [
                "df3a346f.a7cf18"
            ]
        ]
    }
]

 

lên
7 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Servo tester với attiny85 - Mạch kiểm tra lỗi servo - Tối ưu hóa code

Bài viết của bạn quá hay :D, nhưng phần code hơi dài một tí heart. Mình có viết lại cho nó ngắn hơn nhưng vẫn đảm bảo logic đây cool.

lên
9 thành viên đã đánh giá bài viết này hữu ích.

Comments - Viết tài liệu tham khảo trong khi viết code Arduino

Bạn rất khó ghi nhớ từng dòng code một trong một chương trình thật là dài, với những thuật toán phức tạp, vì vậy Arduino đã làm cho bạn một cú pháp để giải quyết vấn đề này, đó là Comments. Comments sẽ giúp bạn ghi chú cho từng dòng code hoặc trình bày nhiệm vụ của nó để bạn hoặc những người khác có thể hiểu được chương trình này làm được những gì. Và comments sẽ không được Arduino biên dịch nên cho dù bạn viết nó dài đến đâu thì cũng không ảnh hưởng đến bộ nhớ flash của vi điều khiển. Để comments trong Arduino, bạn có 2 cách.

lên
10 thành viên đã đánh giá bài viết này hữu ích.