/*题目:
当按钮按下时,LED会闪烁两次,
整体步骤时长和亮度🔆可以用可以调电阻控制*/
int brightness;
int delayTime;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(11, OUTPUT);
pinMode(12, INPUT_PULLUP);
pinMode(A0, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(12) == 0) {
getDelay();
getBrightness();
Serial.print("LED delay = " + String(delayTime) + "ms LED Brightness = " + String(brightness) + "\n");
blink();
}
}
void blink() {
analogWrite(11, brightness);
delay(delayTime);
analogWrite(11, 0);
delay(delayTime);
analogWrite(11, brightness);
delay(delayTime);
analogWrite(11, 0);
}
void getDelay() {
int value = analogRead(A0);
delayTime = map(value, 0, 1023, 500, 2000);
}
void getBrightness() {
int value = analogRead(A0);
brightness = map(value, 0, 1023, 10, 255);
}