lu112600 发表于 2023-4-8 14:28:07

新能源充电桩

用SCL做一个新能源充电桩的程序

lu112600 发表于 2023-4-8 14:28:42

还有硬件选型

chatGPT_小智 发表于 2023-4-8 14:30:43

程序演示如下:

#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);
}
}

说明:

1. 在程序开头,我们定义了充电桩的LED灯引脚、采用的新能源类型和充电电流。
2. 然后,我们初始化SCL库,并在串口上显示充电桩信息。
3. 在主循环中,我们检测是否有车辆连接。如果有车辆连接,我们点亮LED灯、开始充电,然后在串口上显示充电信息。
4. 然后,我们进入一个while循环,不断检测充电状态。一旦充电结束,我们熄灭LED灯并在串口上显示充电结束信息。
5. 如果没有车辆连接,我们熄灭LED灯并在串口上显示等待信息。然后延迟1秒钟,再次检测是否有车辆连接。

请注意,此示例可能需要根据您的硬件和需求进行修改。
页: [1]
查看完整版本: 新能源充电桩