25/07/2567

ปีการศึกษา 2567 Arduino ม.4 Project LED with Dip Switch

  📣ความรู้ไปประยุกต์ใช้อุปกรณ์อิเล็กทรอนิกส์เพื่อสร้างสรรค์เป็นโครงงานตามที่โจทย์กำหนดได้วงจร

📣ความรู้ไปประยุกต์ใช้อุปกรณ์อิเล็กทรอนิกส์เพื่อสร้างสรรค์เป็นโครงงานตามที่โจทย์กำหนดได้คำสั่งเขียน 

int pinLED = 13;

byte LED;

byte oldStatusLED;

boolean statusLED_On = true;

byte status;

struct DipSwitch

{

  const uint8_t pin;       

  const uint16_t interval;  

};

DipSwitch dipSwitch[]

{

  {8, 2}, // calculate (2 * factor) = 20000

  {12, 4}, // calculate (4 * factor) = 40000

};

uint32_t getInterval()

{

  const uint16_t factor = 10000; 

  uint32_t interval = 0;

  for (auto &i : dipSwitch)

  {

    LED = digitalRead(i.pin);

    if (digitalRead(i.pin) == LOW) interval += i.interval;

      if (LED = !oldStatusLED)

      {

        if (LED)

        {

          statusLED_On = !statusLED_On;

          digitalWrite(pinLED, statusLED_On);

        }

      }

  }

  return interval * factor;

}

void setup()

{

  Serial.begin(115200);

  for (auto &i : dipSwitch)

  {

    pinMode(i.pin, INPUT_PULLUP);

    pinMode(pinLED, OUTPUT);

  }

}

void loop()

{

  getInterval();

  Serial.println(getInterval());

}




ไม่มีความคิดเห็น:

แสดงความคิดเห็น

ครูเต้ง เทคโนฯ