Day1 05_millis(라이브러리 호출)
2024. 1. 17. 18:17ㆍarduino
- ino 파일(millis를 사용하여 LED 점등)
#include "LedControl.h"
// 예제 사용법
const int customLedPin1 = 2;
const int customLedPin2 = 3; // 원하는 핀 번호로 변경
const int customLedPin3 = 4; // 원하는 핀 번호로 변경
long customInterval1 = 1000; // 원하는 간격으로 변경
long customInterval2 = 2000; // 원하는 간격으로 변경
long customInterval3 = 3000; // 원하는 간격으로 변경
LedControl myLed1(customLedPin1, customInterval1);
LedControl myLed2(customLedPin2, customInterval2);
LedControl myLed3(customLedPin3, customInterval3);
void setup() {
// 초기 설정 코드
}
void loop() {
// LedControl 클래스의 update 메서드를 주기적으로 호출
myLed1.update();
myLed2.update();
myLed3.update();
// 다른 작업 수행 가능
}
- cpp
#include <SoftwareSerial.h>
#include "LedControl.h"
LedControl::LedControl(int pin, long updateInterval) {
ledPin = pin;
interval = updateInterval;
ledState = LOW;
prevMillis = 0;
pinMode(ledPin, OUTPUT);
}
void LedControl::update() {
unsigned long currMillis = millis();
if (currMillis - prevMillis > interval) {
prevMillis = currMillis;
ledState = !ledState;
}
digitalWrite(ledPin, ledState);
}
- 헤더파일
#ifndef LedControl_h
#define LedControl_h
#include "Arduino.h"
class LedControl {
private:
int ledPin;
int ledState;
long interval;
unsigned long prevMillis;
public:
LedControl(int pin, long updateInterval);
void update();
};
#endif
'arduino' 카테고리의 다른 글
Day1 07_analogWrite (0) | 2024.01.17 |
---|---|
Day1 06_LED8 (0) | 2024.01.17 |
Day1 04_LED_mission (0) | 2024.01.17 |
Day 1 03 - for LED (0) | 2024.01.15 |
Day 1 02 - serial (0) | 2024.01.15 |