#include <EEPROM.h>
#define P_led 11
#define P_potentiometer A5
int maxPotentiometerValue = 1023;
void setup()
{
Serial.begin(9600);
pinMode(P_led, OUTPUT);
// EEPROM.write(0, 44);
// EEPROM.write(1, 11);
// Serial.println(EEPROM.read(0));
// Serial.println(EEPROM.read(1));
maxPotentiometerValue = EEPROM.read(0);
Serial.println((String)"读取存储的maxPotentiometerValue=" + maxPotentiometerValue);
}
int potentiometerValue = 0;
void listenPotentiometer() {
int newValue = analogRead(P_potentiometer);
potentiometerValue = newValue > maxPotentiometerValue ? maxPotentiometerValue : newValue;
// Serial.println(potentiometerValue);
}
void listenSerialSend() {
if (Serial.available() <= 0) {
return;
}
int value = Serial.parseInt();
if (value <= 0) {
return;
}
maxPotentiometerValue = value;
EEPROM.write(0, maxPotentiometerValue);
Serial.println((String) "maxPotentiometerValue=" + maxPotentiometerValue);
}
void lightingLed() {
float radio = 0.25;
int ledValue = potentiometerValue * radio;
analogWrite(P_led, ledValue);
//Serial.println((String)"led:" + ledValue + ", po:" + potentiometerValue);
}
void loop()
{
listenPotentiometer();
listenSerialSend();
lightingLed();
}