QC

Đọc Nút nhấn GPIO Arduino Simba

Yêu cầu bài toán như sau : Bạn hãy viết chương trình Led 13 nhấp nháy delay(100) ms và Led 12 sáng khi nhấn phím chân số 8 và tắt khi nhã phím.

* CHÂN : LED 13 , LED 12 : OUPUTS.

* CHÂN SỐ 8 : INPUTS.

PHẦN 1: Sơ Đồ Shematic như sau.


BOARD CẮM THEO SƠ ĐỒ TRÊN.


Ở ĐÂY LED SỐ 13 MÌNH TẬN DỤNG ĐÃ CÓ TRÊN BOARD MẠCH.

CODE NHƯ SAU:

#include "simba.h"

int main()
{
    struct pin_driver_t D13;
    struct pin_driver_t D12;
    struct pin_driver_t D8;
    /* Start the system. */
    sys_start();

    /* Cấu HÌNH D13 OUT_PUTS*/
    pin_init(&D13, &pin_d13_devPIN_OUTPUT);
    pin_write(&D13, 1);

      /* Cấu HÌNH D12 OUT_PUTS*/
    pin_init(&D12, &pin_d12_devPIN_OUTPUT);
    pin_write(&D12, 1);

   /* Cấu HÌNH D8 INPUTS*/
    pin_init(&D8, &pin_d8_devPIN_INPUT);
    pin_write(&D8,0 );

  
    while (1) {
        /* Wait half a second. */
        thrd_sleep_ms(100);

        /* Toggle the LED on/off. */
        pin_toggle(&D13);
        if(pin_read(&D8)==1)
        {
             pin_write(&D12,1);  
        }
        else
        {
          pin_write(&D12,1);    
        }
    }

    return (0);
}


Trong đó :

    struct pin_driver_t D13;
    struct pin_driver_t D12;
    struct pin_driver_t D8;

khai báo chân sử dụng . Tên D13,D12,D8 là  những tên mình tự đặt nha, không cần theo quy tắc, mình đặt vậy cho dễ hiểu.

 /* Cấu HÌNH D13 OUT_PUTS*/
    pin_init(&D13, &pin_d13_dev, PIN_OUTPUT);
    pin_write(&D13, 1);

pin_d13_dev : chân 13

  /* Cấu HÌNH D12 OUT_PUTS*/
    pin_init(&D12, &pin_d12_dev, PIN_OUTPUT);
    pin_write(&D12, 1);

pin_d12_dev : chân 12

  /* Cấu HÌNH D8 INPUTS*/
    pin_init(&D8, &pin_d8_dev, PIN_INPUT);
    pin_write(&D8,0 );

pin_d8_dev : chân 8


Hàm đảo trạng thái chân 13 , Hay con gọi là blynk.

pin_toggle(&D13);

Hàm đọc trạng thái nút nhân chân D8.

pin_read(&D8)


HÀM NÚT NHẤN NHƯ SAU:


 if(pin_read(&D8)==1)
        {
             pin_write(&D12,1);  
        }
        else
        {
          pin_write(&D12,1);    
        }

khi nhấn LED D8 SÁNG, KHI NHẢ LED TẮT.






Easy remote control

Remotely control an LED with ease. Devices and components Arduino Nano 33 BLE with headers Box 525 Resistors precision 1% - 17 values Breadb...