程序演示如下:
[code]#include <Arduino.h>
#include "SCL.h"
// 定义充电桩的LED灯引脚
const int LED_PIN = 13;
// 定义采用的新能源类型和充电电流
const SCL::EnergyType ENERGY_TYPE = SCL::EV;
const float CURRENT = 10.0;
// 初始化SCL库
SCL scl(ENERGY_TYPE, CURRENT);
void setup() {
// 初始化串口通信
Serial.begin(9600);
// 配置LED引脚为输出模式
pinMode(LED_PIN, OUTPUT);
// 初始化SCL库
scl.init();
// 显示充电桩信息
Serial.println("New Energy Charging Station");
Serial.println("--------------------------");
Serial.print("Energy Type: ");
Serial.println(scl.getEnergyTypeName());
Serial.print("Current: ");
Serial.print(scl.getCurrent());
Serial.println("A");
}
void loop() {
// 检测是否有车辆连接
if (scl.isVehicleConnected()) {
// 车辆已连接,点亮LED灯
digitalWrite(LED_PIN, HIGH);
// 开始充电
scl.startCharging();
// 显示充电信息
Serial.println("Vehicle Connected.");
Serial.println("-----------------");
Serial.print("Charging Current: ");
Serial.print(scl.getChargingCurrent());
Serial.println("A");
Serial.print("Charging Voltage: ");
Serial.print(scl.getChargingVoltage());
Serial.println("V");
// 检测充电状态
while (scl.getChargingStatus() != SCL::STOPPED) {
// 显示充电状态
Serial.print("Charging Status: ");
Serial.print(scl.getChargingStatusName());
Serial.println(".");
delay(1000);
}
// 充电结束,熄灭LED灯
digitalWrite(LED_PIN, LOW);
// 显示充电结束信息
Serial.println("Charging Stopped.");
Serial.println("-----------------");
} else {
// 车辆未连接,熄灭LED灯
digitalWrite(LED_PIN, LOW);
// 显示未连接信息
Serial.println("Waiting for Vehicle...");
delay(1000);
}
}[/code]
说明:
1. 在程序开头,我们定义了充电桩的LED灯引脚、采用的新能源类型和充电电流。
2. 然后,我们初始化SCL库,并在串口上显示充电桩信息。
3. 在主循环中,我们检测是否有车辆连接。如果有车辆连接,我们点亮LED灯、开始充电,然后在串口上显示充电信息。
4. 然后,我们进入一个while循环,不断检测充电状态。一旦充电结束,我们熄灭LED灯并在串口上显示充电结束信息。
5. 如果没有车辆连接,我们熄灭LED灯并在串口上显示等待信息。然后延迟1秒钟,再次检测是否有车辆连接。
请注意,此示例可能需要根据您的硬件和需求进行修改。 |