80 lines
1.7 KiB
C++
80 lines
1.7 KiB
C++
#include "LowPower.h"
|
|
//#include <avr/wdt.h>
|
|
|
|
|
|
#define PWRLED 5
|
|
#define CHGLED 6
|
|
#define PWRBTN 8
|
|
#define CHGBTN 9
|
|
#define PWRMFT 11
|
|
#define VIN A0
|
|
#define LED1 A1
|
|
#define LED2 A2
|
|
#define LED3 A3
|
|
#define LED4 A4
|
|
#define LED5 A5
|
|
#define IN1 A6
|
|
#define IN2 A7
|
|
|
|
int i = 0;
|
|
int buttonPState = 0;
|
|
int buttonCState = 0;
|
|
boolean IsPowerOn = 0;
|
|
boolean isCharging = 0;
|
|
int sensorVal = 0;
|
|
float voltage = 0;
|
|
float countVal = 0;
|
|
void setup() {
|
|
// wdt_enable(WDTO_8S);
|
|
pinMode(LED1, OUTPUT);
|
|
pinMode(LED2, OUTPUT);
|
|
pinMode(LED3, OUTPUT);
|
|
pinMode(LED4, OUTPUT);
|
|
pinMode(LED5, OUTPUT);
|
|
pinMode(PWRLED, OUTPUT);
|
|
pinMode(CHGLED, OUTPUT);
|
|
pinMode(PWRBTN, INPUT_PULLUP);
|
|
pinMode(CHGBTN, INPUT_PULLUP);
|
|
pinMode(PWRMFT, OUTPUT);
|
|
pinMode(VIN, INPUT);
|
|
digitalWrite (PWRMFT, LOW);
|
|
pinMode(IN1, INPUT);
|
|
pinMode(IN2, INPUT);
|
|
Serial.begin(9600);
|
|
}
|
|
|
|
void loop() {
|
|
Serial.println("PWRBTN OFF?: " && digitalRead(PWRBTN));
|
|
Serial.println();
|
|
Serial.println("CHGBTN OFF?: " && digitalRead(CHGBTN));
|
|
Serial.println();
|
|
|
|
delay(100);
|
|
analogWrite(PWRLED, 201.91); delay(500);
|
|
analogWrite(PWRLED, 0); delay(500);
|
|
|
|
analogWrite(CHGLED, 201.91); delay(500);
|
|
analogWrite(CHGLED, 0); delay(500);
|
|
GetVoltage();
|
|
Serial.println(voltage);
|
|
delay(500);
|
|
digitalWrite(LED1, HIGH); delay(500);
|
|
digitalWrite(LED2, HIGH); delay(500);
|
|
digitalWrite(LED3, HIGH); delay(500);
|
|
digitalWrite(LED4, HIGH); delay(500);
|
|
digitalWrite(LED5, HIGH); delay(500);
|
|
digitalWrite(LED1, LOW);digitalWrite(LED2, LOW);digitalWrite(LED3, LOW);digitalWrite(LED4, LOW);digitalWrite(LED5, LOW);
|
|
|
|
}
|
|
|
|
|
|
void GetVoltage(){
|
|
for (int q = 0; q < 10; q++) {
|
|
countVal = countVal + analogRead(VIN);
|
|
delay(5);
|
|
}
|
|
sensorVal = countVal / 10;
|
|
voltage = sensorVal * (5.0 / 1023.0);
|
|
countVal = 0;
|
|
}
|