/*!
- TIP
- DFRobot, Raspberry Pi Pico
*/
#include <Servo.h>
// 动态变量
String mind_s_HuanCun, mind_s_usb;
volatile float mind_n_ShiFuYunXing, mind_n_DianLiang, mind_n_DianYa, mind_n_JiShu,
mind_n_LED_NK, mind_n_BoZiZuoYouKongZhi, mind_n_BoZiZuoYouMuBiao,
mind_n_BoZiZuoYouMuQian, mind_n_BoZiShangXiaKongZhi, mind_n_BoZiShangXiaMuBiao,
mind_n_BoZiShangXiaMuQian, mind_n_BoZiShangXiaShengJiangMuBiao, mind_n_ShouBuDongZuo,
mind_n_YouShouJiaoDu, mind_n_YouShouMuBiao, mind_n_ZuoShouJiaoDu,
mind_n_ZuoShouMuBiao, mind_n_FUCK, mind_n_YanJingYou, mind_n_YanJingZuo,
mind_n_YanYou, mind_n_YanKongZhiYou, mind_n_YanKongZhiZuo, mind_n_BoZiShangXiaShengJiangMuQian;
// 创建对象(已修复)
Servo servo_6;
Servo servo_7;
Servo servo_12;
Servo servo_13;
void DF_text_UI();
void DF_BoZiZuoYouZiDong();
void DF_QianJin();
void DF_BoZiShangXiaZiDong();
void DF_led();
void DF_HouTui();
void DF_ShouBu();
void DF_ZuoZhuan();
void DF_YouZhuan();
void DF_ChuShiHua();
void DF_TingZhi();
void DF_ShouBuDaiMa();
void DF_BoZiShangXiaDaiMa();
void DF_BoZiZuoYouDaiMa();
void DF_JieShouESP32(String mind_s_ESP32);
void DF_Wu();
// 主程序开始
void setup() {
Serial.begin(9600);
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(25, OUTPUT);
pinMode(11, INPUT_PULLUP);
servo_6.attach(6);
servo_7.attach(7);
servo_12.attach(12);
servo_13.attach(13);
mind_s_HuanCun = “”;
DF_ChuShiHua();
Serial.println(“”);
DF_Wu();
mind_n_ShiFuYunXing = 1;
mind_n_JiShu = 0;
}
void loop() {
mind_n_DianYa = (((analogRead(27) * 1) * 0.013001) - 0.69);
mind_n_DianLiang = ((mind_n_DianYa * 27.78) - 250);
mind_n_LED_NK = (mind_n_DianLiang * 2.55);
DF_text_UI();
DF_led();
DF_JieShouESP32(mind_s_usb);
if ((!(mind_s_usb==0))) {
if ((mind_s_usb==“run”)) {
mind_n_ShiFuYunXing = 1;
}
else if ((mind_s_usb==“stop”)) {
mind_n_ShiFuYunXing = 0;
}
else {
}
}
if ((mind_n_ShiFuYunXing==1)) {
DF_BoZiShangXiaDaiMa();
DF_BoZiZuoYouDaiMa();
DF_ShouBuDaiMa();
}
if ((mind_n_ShiFuYunXing==0)) {
}
mind_n_JiShu = 1;
if ((Serial.available())) {
mind_s_usb = Serial.readStringUntil('\n');
}
if ((Serial2.available())) {
mind_s_HuanCun = Serial2.readStringUntil('\n');
}
DF_JieShouESP32(mind_s_HuanCun);
delay(2);
}
// 自定义函数
void DF_text_UI() {
Serial.println(“----------------------WALL-E SYSTEM---------------------”);
Serial.println(“stop - 停止动作”);
Serial.println(“run - 运行动作”);
Serial.println(“SYSTEM PRINT:”);
Serial.println((String(" “) + String(“BY-TIP BY-China”)));
Serial.println((String(” “) + String(“TIP ARDUINO C++ SYSTEM”)));
Serial.println((String(” “) + String(“版本:26N5.3 内核:2.1.3WALLE”)));
Serial.println((String(” “) + String(“编写日期:2026/05/1”)));
Serial.println((String(” “) + String(“RX:GPIO9”)));
Serial.println((String(” “) + String(“TX:GPIO8”)));
Serial.println((String(” RX>>>“) + String(mind_s_HuanCun)));
Serial.println((String(” RUN OR STOP = “) + String(mind_n_ShiFuYunXing)));
Serial.println((String(” RUN_TIME:“) + String((String(” 分:“) + String((String((floor(((millis() / 1000) / 60)))) + String((String(” 秒:“) + String((round(((int32_t((millis() / 1000))) % (int32_t(60))))))))))))));
Serial.println((String(” 温度:25.0"))); // 已修复
Serial.println((String(" 电量:“) + String((String(mind_n_DianLiang) + String(”%“)))));
Serial.println((String(” 电压:“) + String((String(mind_n_DianYa) + String(“v”)))));
Serial.println(”----------------------------------------------------------");
}
void DF_BoZiZuoYouZiDong() {
if ((mind_n_BoZiZuoYouKongZhi==0)) {
if (((round(mind_n_BoZiZuoYouMuBiao))==(round(mind_n_BoZiZuoYouMuQian)))) {
mind_n_BoZiZuoYouKongZhi = 1;
mind_n_BoZiZuoYouMuBiao = 0;
}
else {
mind_n_BoZiZuoYouMuBiao = 140;
}
}
else {
if (((round(mind_n_BoZiZuoYouMuBiao))==(round(mind_n_BoZiZuoYouMuQian)))) {
mind_n_BoZiZuoYouKongZhi = 0;
mind_n_BoZiZuoYouMuBiao = 140;
}
else {
mind_n_BoZiZuoYouMuBiao = 0;
}
}
}
void DF_QianJin() {
digitalWrite(0, LOW);
digitalWrite(1, HIGH);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
}
void DF_BoZiShangXiaZiDong() {
if ((mind_n_BoZiShangXiaKongZhi==0)) {
if (((round(mind_n_BoZiShangXiaMuBiao))==(round(mind_n_BoZiShangXiaMuQian)))) {
mind_n_BoZiShangXiaKongZhi = 1;
mind_n_BoZiShangXiaMuBiao = 180;
mind_n_BoZiShangXiaShengJiangMuBiao = 87;
}
else {
mind_n_BoZiShangXiaMuBiao = 10;
mind_n_BoZiShangXiaShengJiangMuBiao = 170;
}
}
else {
if (((round(mind_n_BoZiShangXiaMuBiao))==(round(mind_n_BoZiShangXiaMuQian)))) {
mind_n_BoZiShangXiaKongZhi = 0;
mind_n_BoZiShangXiaMuBiao = 10;
mind_n_BoZiShangXiaShengJiangMuBiao = 170;
}
else {
mind_n_BoZiShangXiaMuBiao = 180;
mind_n_BoZiShangXiaShengJiangMuBiao = 87;
}
}
}
void DF_led() {
analogWrite(6, mind_n_LED_NK);
if ((mind_n_DianLiang<=28)) {
digitalWrite(25, 1);
}
else {
digitalWrite(25, 0);
}
}
void DF_HouTui() {
digitalWrite(0, HIGH);
digitalWrite(1, LOW);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
}
void DF_ShouBu() {
if ((mind_n_ShouBuDongZuo==0)) {
if ((((round(mind_n_YouShouJiaoDu))==(round(mind_n_YouShouMuBiao))) && ((round(mind_n_ZuoShouJiaoDu))==(round(mind_n_ZuoShouMuBiao))))) {
mind_n_ShouBuDongZuo = 1;
mind_n_ZuoShouMuBiao = 130;
mind_n_YouShouMuBiao = 130;
}
else {
mind_n_YouShouMuBiao = 50;
mind_n_ZuoShouMuBiao = 50;
}
}
else {
if ((((round(mind_n_YouShouJiaoDu))==(round(mind_n_YouShouMuBiao))) && ((round(mind_n_ZuoShouJiaoDu))==(round(mind_n_ZuoShouMuBiao))))) {
mind_n_ShouBuDongZuo = 0;
mind_n_YouShouMuBiao = 50;
mind_n_ZuoShouMuBiao = 50;
}
else {
mind_n_ZuoShouMuBiao = 130;
mind_n_YouShouMuBiao = 130;
}
}
}
void DF_ZuoZhuan() {
digitalWrite(0, LOW);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
}
void DF_YouZhuan() {
digitalWrite(0, HIGH);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
}
void DF_ChuShiHua() {
Serial2.begin(115200);
DF_TingZhi();
mind_n_FUCK = 0;
mind_n_BoZiShangXiaMuQian = 0;
mind_n_BoZiShangXiaMuBiao = 80;
mind_n_ShouBuDongZuo = 0;
mind_n_ZuoShouJiaoDu = 50;
mind_n_YouShouJiaoDu = 130;
mind_n_BoZiZuoYouKongZhi = 0;
mind_n_BoZiZuoYouMuBiao = 70;
mind_n_BoZiZuoYouMuQian = 70;
mind_n_YanJingYou = 0;
mind_n_YanJingZuo = 0;
mind_n_YanYou = 0;
mind_n_YanYou = 0;
mind_n_YanKongZhiYou = 0;
mind_n_YanKongZhiZuo = 0;
}
void DF_TingZhi() {
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
void DF_ShouBuDaiMa() {
mind_n_YouShouJiaoDu += 10;
mind_n_ZuoShouJiaoDu += ((mind_n_ZuoShouMuBiao - mind_n_ZuoShouJiaoDu) / 100);
servo_6.write(abs((round(mind_n_ZuoShouJiaoDu))));
servo_7.write(abs((round(mind_n_YouShouJiaoDu))));
}
void DF_BoZiShangXiaDaiMa() {
mind_n_BoZiShangXiaShengJiangMuQian += ((mind_n_BoZiShangXiaShengJiangMuBiao - mind_n_BoZiShangXiaShengJiangMuQian) / 200);
mind_n_BoZiShangXiaMuQian += ((mind_n_BoZiShangXiaMuBiao - mind_n_BoZiShangXiaMuQian) / 200);
servo_12.write(abs((round(mind_n_BoZiShangXiaShengJiangMuQian))));
}
void DF_BoZiZuoYouDaiMa() {
mind_n_BoZiZuoYouMuQian += ((mind_n_BoZiZuoYouMuBiao - mind_n_BoZiZuoYouMuQian) / 130);
servo_13.write(abs((round(mind_n_BoZiZuoYouMuQian))));
}
void DF_JieShouESP32(String mind_s_ESP32) {
if (((String(mind_s_ESP32).indexOf(String(“G10”)) != -1))) {
mind_n_BoZiZuoYouMuBiao = 140;
}
if (((String(mind_s_ESP32).indexOf(String(“G90”)) != -1))) {
mind_n_BoZiZuoYouMuBiao = 0;
}
if (((String(mind_s_ESP32).indexOf(String(“G0”)) != -1))) {
mind_n_BoZiZuoYouMuBiao = 0;
}
if (((String(mind_s_ESP32).indexOf(String(“G70”)) != -1))) {
mind_n_BoZiZuoYouMuBiao = 140;
}
if (((String(mind_s_ESP32).indexOf(String(“G20”)) != -1))) {
mind_n_BoZiZuoYouMuBiao = 0;
}
if (((String(mind_s_ESP32).indexOf(String(“G80”)) != -1))) {
mind_n_BoZiZuoYouMuBiao = 70;
}
if (((String(mind_s_ESP32).indexOf(String(“T10”)) != -1))) {
mind_n_BoZiShangXiaShengJiangMuBiao = 80;
}
if (((String(mind_s_ESP32).indexOf(String(“T70”)) != -1))) {
mind_n_BoZiShangXiaShengJiangMuBiao = 180;
}
if (((String(mind_s_ESP32).indexOf(String(“T50”)) != -1))) {
mind_n_BoZiShangXiaShengJiangMuBiao = 180;
mind_n_BoZiZuoYouMuBiao = 70;
}
if (((String(mind_s_ESP32).indexOf(String(“T100”)) != -1))) {
mind_n_BoZiShangXiaShengJiangMuBiao = 180;
mind_n_BoZiZuoYouMuBiao = 70;
}
if ((mind_s_ESP32==String(“L100”))) {
mind_n_ZuoShouMuBiao = 0;
}
if ((mind_s_ESP32==String(“L80”))) {
mind_n_ZuoShouMuBiao = 65;
}
if ((mind_s_ESP32==String(“L0”))) {
mind_n_ZuoShouMuBiao = 130;
}
if ((mind_s_ESP32==String(“L5”))) {
mind_n_ZuoShouMuBiao = 0;
}
if ((mind_s_ESP32==String(“L10”))) {
mind_n_ZuoShouMuBiao = 65;
}
if ((mind_s_ESP32==String(“R80”))) {
mind_n_YouShouMuBiao = 180;
}
if ((mind_s_ESP32==String(“R10”))) {
mind_n_YouShouMuBiao = 65;
}
if ((mind_s_ESP32==String(“R0”))) {
mind_n_YouShouMuBiao = 50;
}
if ((mind_s_ESP32==String(“R100”))) {
mind_n_YouShouMuBiao = 180;
}
if ((mind_s_ESP32==String(“R90”))) {
mind_n_YouShouMuBiao = 180;
}
if (((String(mind_s_ESP32).indexOf(String(“X-100”)) != -1))) {
DF_ZuoZhuan();
}
if (((String(mind_s_ESP32).indexOf(String(“X100”)) != -1))) {
DF_YouZhuan();
}
if (((String(mind_s_ESP32).indexOf(String(“X0”)) != -1))) {
DF_TingZhi();
}
if (((String(mind_s_ESP32).indexOf(String(“Y50”)) != -1))) {
DF_QianJin();
}
if (((String(mind_s_ESP32).indexOf(String(“Y100”)) != -1))) {
DF_QianJin();
}
if (((String(mind_s_ESP32).indexOf(String(“Y-50”)) != -1))) {
DF_HouTui();
}
if (((String(mind_s_ESP32).indexOf(String(“Y-100”)) != -1))) {
DF_HouTui();
}
if (((String(mind_s_ESP32).indexOf(String(“Y0”)) != -1))) {
DF_TingZhi();
}
if (((String(mind_s_ESP32).indexOf(String(“E0”)) != -1))) {
DF_TingZhi();
}
if (((String(mind_s_ESP32).indexOf(String(“q”)) != -1))) {
DF_TingZhi();
DF_Wu();
}
if (((String(mind_s_ESP32).indexOf(String(“A0”)) != -1))) {
DF_Wu();
}
if (((String(mind_s_ESP32).indexOf(String(“A1”)) != -1))) {
DF_ShouBu();
DF_BoZiZuoYouZiDong();
DF_BoZiShangXiaZiDong();
}
}
void DF_Wu() {
mind_n_BoZiShangXiaShengJiangMuBiao = 80;
mind_n_BoZiZuoYouMuBiao = 70;
mind_n_ZuoShouMuBiao = 130;
mind_n_YouShouMuBiao = 50;
DF_TingZhi();
}