123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #include <Serial.h>
- #define CURRENT_PIN 14
- #define VOLTAGE_PIN 32
- #define CCCV_PIN 15
- #define OLED_SCL 30
- #define OLED_SDA 31
- uint16_t voltageReading;
- uint16_t currentReading;
- bool isCCMode;
- void setupOLED();
- void initializeOLED();
- void clearScreen();
- void PS_Screen(uint16_t, uint16_t, bool);
- void setup() {
-
- pinMode(CURRENT_PIN, INPUT);
- pinMode(VOLTAGE_PIN, INPUT);
- pinMode(CCCV_PIN, INPUT);
-
- setupOLED();
- initializeOLED();
-
- clearScreen();
- }
- void loop() {
-
- voltageReading = analogRead(VOLTAGE_PIN);
- currentReading = analogRead(CURRENT_PIN);
- isCCMode = !digitalRead(CCCV_PIN);
-
- voltageReading = map(voltageReading, 0, 255, 0, 500) * 4;
- currentReading = (2.5 - (currentReading * (5.0 / 255)) )/0.185;
-
- voltageReading = min(voltageReading, 9999);
- currentReading = min(currentReading, 999);
-
- USBSerial_print(((float)voltageReading/100));
- USBSerial_print(",");
- USBSerial_println(((float)currentReading/100));
-
-
- PS_Screen(voltageReading, currentReading, isCCMode);
- }
|