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ả

Vấn đề của số chấm động và số nguyên trong ngôn ngữ lập trình C++ trên board mạch Arduino

Có bao giờ bạn tự hỏi: "Dự án của mình làm tốt thế này, chạy ngon lành rành rành thế này, chắc không có bugs đâu?". Thực sự, nếu dự án của bạn không có phần xử lý số thực chấm động trong đó thì mình nghĩ phần code của bạn sẽ hoạt động ngon lành theo thời gian. Nhưng mà có số thực thì từ từ, chúng ta cần xét lại code. Trước đây, có một số bạn nhắn tin riêng hỏi mình về code với điểm chung là "code mình chạy ngon lành lúc đầu, sau đó bị lỗi, không rõ nguyên nhân". Loại trừ các phần code logic sai ra, thì hầu hết đều là do lỗi khi xử lý số chấm động mà không quan tâm đến nền tảng lập trình bên dưới! Mà cũng đúng, chúng ta rất dễ bị đánh lừa bởi chính đoạn code chúng ta viết. Vì nó có báo lỗi biên dịch đâu mà, kaka. Qua bài viết này, mình muốn phân tích và cùng các bạn rút kinh nghiệm về số chấm động float, cách hạn chế lỗi sai với số chấm động.

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

pinMode()

Cấu hình 1 pin quy định hoạt động như là một đầu vào (INPUT) hoặc đầu ra (OUTPUT). Xem mô tả kỹ thuật số (datasheet) để biết chi tiết về các chức năng của các chân. 

Như trong phiên bản Arduino 1.0.1, nó có thể kích hoạt các điện trở pullup nội bộ với chế độ INPUT_PULLUP. Ngoài ra, chế độ INPUT vô hiệu hóa một cách rõ ràng điện trở pullups nội bộ.

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