Commit d8034bdb authored by 957dd's avatar 957dd

增加了坦克控制

parent 2da887d6
...@@ -723,6 +723,7 @@ CMakeFiles/main.dir/device_judg/judg/judg.c.o ...@@ -723,6 +723,7 @@ CMakeFiles/main.dir/device_judg/judg/judg.c.o
/home/orangepi/car/master/device_judg/device/ship.h /home/orangepi/car/master/device_judg/device/ship.h
/home/orangepi/car/master/device_judg/device/pao.h /home/orangepi/car/master/device_judg/device/pao.h
/home/orangepi/car/master/include/fileopen.h /home/orangepi/car/master/include/fileopen.h
/home/orangepi/car/master/system/gpio/gpio_pwm_tank0202.h
CMakeFiles/main.dir/src/delay.c.o CMakeFiles/main.dir/src/delay.c.o
/home/orangepi/car/master/src/delay.c /home/orangepi/car/master/src/delay.c
...@@ -1323,6 +1324,7 @@ CMakeFiles/main.dir/src/mqtt.c.o ...@@ -1323,6 +1324,7 @@ CMakeFiles/main.dir/src/mqtt.c.o
/home/orangepi/car/master/include/log.h /home/orangepi/car/master/include/log.h
/home/orangepi/car/master/system/gpio/gpio_pwm_carship.h /home/orangepi/car/master/system/gpio/gpio_pwm_carship.h
/home/orangepi/car/master/system/gpio/gpio_pwm_ptz.h /home/orangepi/car/master/system/gpio/gpio_pwm_ptz.h
/home/orangepi/car/master/system/gpio/gpio_pwm_tank0202.h
/home/orangepi/car/master/include/ip.h /home/orangepi/car/master/include/ip.h
/usr/include/arpa/inet.h /usr/include/arpa/inet.h
/usr/include/netinet/in.h /usr/include/netinet/in.h
......
...@@ -716,7 +716,8 @@ CMakeFiles/main.dir/device_judg/judg/judg.c.o: ../device_judg/judg/judg.c \ ...@@ -716,7 +716,8 @@ CMakeFiles/main.dir/device_judg/judg/judg.c.o: ../device_judg/judg/judg.c \
../device_judg/device/tank.h \ ../device_judg/device/tank.h \
../device_judg/device/ship.h \ ../device_judg/device/ship.h \
../device_judg/device/pao.h \ ../device_judg/device/pao.h \
../include/fileopen.h ../include/fileopen.h \
../system/gpio/gpio_pwm_tank0202.h
CMakeFiles/main.dir/src/delay.c.o: ../src/delay.c \ CMakeFiles/main.dir/src/delay.c.o: ../src/delay.c \
/usr/include/stdc-predef.h \ /usr/include/stdc-predef.h \
...@@ -1312,6 +1313,7 @@ CMakeFiles/main.dir/src/mqtt.c.o: ../src/mqtt.c \ ...@@ -1312,6 +1313,7 @@ CMakeFiles/main.dir/src/mqtt.c.o: ../src/mqtt.c \
../include/log.h \ ../include/log.h \
../system/gpio/gpio_pwm_carship.h \ ../system/gpio/gpio_pwm_carship.h \
../system/gpio/gpio_pwm_ptz.h \ ../system/gpio/gpio_pwm_ptz.h \
../system/gpio/gpio_pwm_tank0202.h \
../include/ip.h \ ../include/ip.h \
/usr/include/arpa/inet.h \ /usr/include/arpa/inet.h \
/usr/include/netinet/in.h \ /usr/include/netinet/in.h \
......
...@@ -105,4 +105,5 @@ CMakeFiles/main.dir/device_judg/judg/judg.c.o: \ ...@@ -105,4 +105,5 @@ CMakeFiles/main.dir/device_judg/judg/judg.c.o: \
/home/orangepi/car/master/device_judg/device/tank.h \ /home/orangepi/car/master/device_judg/device/tank.h \
/home/orangepi/car/master/device_judg/device/ship.h \ /home/orangepi/car/master/device_judg/device/ship.h \
/home/orangepi/car/master/device_judg/device/pao.h \ /home/orangepi/car/master/device_judg/device/pao.h \
/home/orangepi/car/master/include/fileopen.h /home/orangepi/car/master/include/fileopen.h \
/home/orangepi/car/master/system/gpio/gpio_pwm_tank0202.h
...@@ -95,6 +95,7 @@ CMakeFiles/main.dir/src/mqtt.c.o: /home/orangepi/car/master/src/mqtt.c \ ...@@ -95,6 +95,7 @@ CMakeFiles/main.dir/src/mqtt.c.o: /home/orangepi/car/master/src/mqtt.c \
/home/orangepi/car/master/include/log.h \ /home/orangepi/car/master/include/log.h \
/home/orangepi/car/master/system/gpio/gpio_pwm_carship.h \ /home/orangepi/car/master/system/gpio/gpio_pwm_carship.h \
/home/orangepi/car/master/system/gpio/gpio_pwm_ptz.h \ /home/orangepi/car/master/system/gpio/gpio_pwm_ptz.h \
/home/orangepi/car/master/system/gpio/gpio_pwm_tank0202.h \
/home/orangepi/car/master/include/ip.h /usr/include/arpa/inet.h \ /home/orangepi/car/master/include/ip.h /usr/include/arpa/inet.h \
/usr/include/netinet/in.h /usr/include/aarch64-linux-gnu/sys/socket.h \ /usr/include/netinet/in.h /usr/include/aarch64-linux-gnu/sys/socket.h \
/usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h \
......
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
#define PROJECT_VERSION_MINOR 0 #define PROJECT_VERSION_MINOR 0
#define PROJECT_VERSION_PATCH 6 #define PROJECT_VERSION_PATCH 6
#define GIT_HASH "" #define GIT_HASH ""
#define BUILD_TIMESTAMP "2025-04-17T08:15:58" #define BUILD_TIMESTAMP "2025-04-18T07:36:34"
#define BUILD_USER "orangepi" #define BUILD_USER "orangepi"
No preview for this file type
...@@ -15,6 +15,5 @@ void tank_Init_0202() { ...@@ -15,6 +15,5 @@ void tank_Init_0202() {
int values_pin[] = {5, 6, 7, 10, 16, 20, 22, 23, 24, 25, 26, 27,-1}; int values_pin[] = {5, 6, 7, 10, 16, 20, 22, 23, 24, 25, 26, 27,-1};
init_gpioWPi(values_pin); init_gpioWPi(values_pin);
pwm_init_speed(); pwm_init_speed();
AppExit_pin_pwm=202; AppExit_pin_pwm=202;
} }
\ No newline at end of file
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
#define __TANK_H__ #define __TANK_H__
void tank_Init_0201(); void tank_Init_0201();
void tank_Init_0202();
#endif #endif
\ No newline at end of file
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
#define __DEVICE_EXIT_H__ #define __DEVICE_EXIT_H__
void car_exit_0101(); void car_exit_0101();//车0101
void tank_exit_0201(); void tank_exit_0201();//坦克0201,小坦克
void ship_exit_0301(); void ship_exit_0301();//船0301
void ptz_exit_0401(); void ptz_exit_0401();//炮台0401
void tank_exit_0202();//坦克0202
#endif #endif
\ No newline at end of file
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "ship.h" #include "ship.h"
#include "pao.h" #include "pao.h"
#include "fileopen.h" #include "fileopen.h"
#include "gpio_pwm_tank0202.h"
char TOPIC_middle[23]; char TOPIC_middle[23];
char TOPIC2_middle[23]; char TOPIC2_middle[23];
...@@ -43,6 +44,10 @@ int Device_File_Init() { ...@@ -43,6 +44,10 @@ int Device_File_Init() {
tank_Init_0201(); tank_Init_0201();
my_zlog_info("使用型号%s",sub_str); my_zlog_info("使用型号%s",sub_str);
free(sub_str); free(sub_str);
}else if(strcmp(sub_str,"0202")==0){//坦克的编码
tank_Init_0202();
my_zlog_info("使用型号%s",sub_str);
free(sub_str);
}else if(strcmp(sub_str,"0301")==0){//船的编码 }else if(strcmp(sub_str,"0301")==0){//船的编码
ship_Init_0301(); ship_Init_0301();
my_zlog_info("使用型号%s",sub_str); my_zlog_info("使用型号%s",sub_str);
......
...@@ -19,3 +19,7 @@ ...@@ -19,3 +19,7 @@
- 使用cmake进行编译,CMakeLists.txt - 使用cmake进行编译,CMakeLists.txt
- 进入build后cmake .. 然后make即可 - 进入build后cmake .. 然后make即可
## 设备速冻后台设置
- 坦克0202 最大为200,更据电池电压具体调速
- 车0101 最大为150,尽量不能这么大
#include "common.h" #include "common.h"
#include "gpio_pwm_carship.h" #include "gpio_pwm_carship.h"
#include "gpio_pwm_ptz.h" #include "gpio_pwm_ptz.h"
#include "gpio_pwm_tank0202.h"
#include "ip.h" #include "ip.h"
#include "opensh.h" #include "opensh.h"
#include "INA226.h" #include "INA226.h"
...@@ -141,8 +142,9 @@ void message_3(cJSON *body,cJSON *pwm_ctrl){//message_type为3,控制pwm ...@@ -141,8 +142,9 @@ void message_3(cJSON *body,cJSON *pwm_ctrl){//message_type为3,控制pwm
my_zlog_debug("modeTemp:%d",gvalt[1]); my_zlog_debug("modeTemp:%d",gvalt[1]);
my_zlog_debug("valTemp:%d",gvalt[2]); my_zlog_debug("valTemp:%d",gvalt[2]);
if(AppExit_pin_pwm==101) speed_change(gvalt) ; if(AppExit_pin_pwm == 101) speed_change(gvalt) ;
if(AppExit_pin_pwm==301) ship_speed_change(gvalt) ; if(AppExit_pin_pwm == 202) tank0202_change(gvalt);
if(AppExit_pin_pwm == 301) ship_speed_change(gvalt) ;
if(AppExit_pin_pwm == 401) PTZ_pwm_change(gvalt); if(AppExit_pin_pwm == 401) PTZ_pwm_change(gvalt);
} }
......
...@@ -44,7 +44,8 @@ void *AppExit(void *arg) { //出现意外自动停止 ...@@ -44,7 +44,8 @@ void *AppExit(void *arg) { //出现意外自动停止
gPwmCount++; gPwmCount++;
if(gPwmCount>=5) { if(gPwmCount>=5) {
if(AppExit_pin_pwm==101) car_exit_0101();//车0101异常问题处理 if(AppExit_pin_pwm==101) car_exit_0101();//车0101异常问题处理
if(AppExit_pin_pwm==201) tank_exit_0201();//坦克0201异常问题处理 if(AppExit_pin_pwm==201) tank_exit_0201();//坦克0201异常问题处理
if(AppExit_pin_pwm==202) tank_exit_0202(); //坦克0202异常问题处理
if(AppExit_pin_pwm==301) ship_exit_0301();//船异0301常问题处理 if(AppExit_pin_pwm==301) ship_exit_0301();//船异0301常问题处理
if(AppExit_pin_pwm==401) ptz_exit_0401();//炮异0401常问题处理 if(AppExit_pin_pwm==401) ptz_exit_0401();//炮异0401常问题处理
gPwmCount=6; gPwmCount=6;
......
...@@ -609,7 +609,7 @@ void ship_mode_right_back(unsigned char gval) { ...@@ -609,7 +609,7 @@ void ship_mode_right_back(unsigned char gval) {
} }
typedef struct { typedef struct {//强制转化结构体
unsigned char buf[3]; unsigned char buf[3];
} ShipSpeedParams; } ShipSpeedParams;
...@@ -623,7 +623,6 @@ void ship_speed_change(void *arg) {//船速度和转向引脚数值处理函数 ...@@ -623,7 +623,6 @@ void ship_speed_change(void *arg) {//船速度和转向引脚数值处理函数
if(mode == 2 && count_mode == 0) ship_mode_back(val); if(mode == 2 && count_mode == 0) ship_mode_back(val);
if(mode == 3) count_mode = 3; if(mode == 3) count_mode = 3;
if(mode == 4) count_mode = 4; if(mode == 4) count_mode = 4;
if(val==0)count_mode = 0;
if(mode == 1 && count_mode == 3 ){ if(mode == 1 && count_mode == 3 ){
ship_mode_left_flont(val); ship_mode_left_flont(val);
}else if(mode == 1 && count_mode == 4) { }else if(mode == 1 && count_mode == 4) {
......
#include "common.h" #include "common.h"
#include "gpio_pwm_tank0202.h" #include "gpio_pwm_tank0202.h"
int modecount=0;
int tank0202_middle() { int tank0202_middle() {
pwmWrite(PWM_PIN_SPEED,75); pwmWrite(PWM_PIN_SPEED,75);
pwmWrite(PWM_PIN_CHANGE,75); pwmWrite(PWM_PIN_CHANGE,75);
return 0; return 0;
}
void mode_lift_flont(unsigned char gval) {
if (gval < 50) {
pwmWrite(PWM_PIN_SPEED, 75);
} else if (gval <= 55) {
pwmWrite(PWM_PIN_SPEED, 78);
} else if (gval <= 60) {
pwmWrite(PWM_PIN_SPEED, 79);
} else if (gval <= 65) {
pwmWrite(PWM_PIN_SPEED, 80);
} else if (gval <= 70) {
pwmWrite(PWM_PIN_SPEED, 81);
} else if (gval <= 75) {
pwmWrite(PWM_PIN_SPEED, 82);
} else if (gval <= 90) {
pwmWrite(PWM_PIN_SPEED, 83);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_SPEED, 84);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_SPEED, 85);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_SPEED, 86);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_SPEED, 87);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_SPEED, 88);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_SPEED, 89);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_SPEED, 90);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_SPEED, 91);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_SPEED, 92);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_SPEED, 93);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_SPEED, 94);
}
}
void mode_lift_back(unsigned char gval) {
if (gval < 50) {
pwmWrite(PWM_PIN_SPEED, 75);
} else if (gval <= 55) {
pwmWrite(PWM_PIN_SPEED, 72);
} else if (gval <= 60) {
pwmWrite(PWM_PIN_SPEED, 71);
} else if (gval <= 65) {
pwmWrite(PWM_PIN_SPEED, 70);
} else if (gval <= 70) {
pwmWrite(PWM_PIN_SPEED, 69);
} else if (gval <= 75) {
pwmWrite(PWM_PIN_SPEED, 68);
} else if (gval <= 90) {
pwmWrite(PWM_PIN_SPEED, 67);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_SPEED, 66);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_SPEED, 65);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_SPEED, 64);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_SPEED, 63);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_SPEED, 62);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_SPEED, 61);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_SPEED, 60);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_SPEED, 59);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_SPEED, 58);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_SPEED, 57);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_SPEED, 56);
}
}
void mode_right_flont(unsigned char gval) {
if (gval < 50) {
pwmWrite(PWM_PIN_CHANGE, 75);
} else if (gval <= 55) {
pwmWrite(PWM_PIN_CHANGE, 78);
} else if (gval <= 60) {
pwmWrite(PWM_PIN_CHANGE, 79);
} else if (gval <= 65) {
pwmWrite(PWM_PIN_CHANGE, 80);
} else if (gval <= 70) {
pwmWrite(PWM_PIN_CHANGE, 81);
} else if (gval <= 75) {
pwmWrite(PWM_PIN_CHANGE, 82);
} else if (gval <= 90) {
pwmWrite(PWM_PIN_CHANGE, 83);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_CHANGE, 84);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_CHANGE, 85);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_CHANGE, 86);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_CHANGE, 87);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_CHANGE, 88);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_CHANGE, 89);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_CHANGE, 90);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_CHANGE, 91);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_CHANGE, 92);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_CHANGE, 93);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_CHANGE, 94);
}
}
void mode_right_back(unsigned char gval) {
if (gval < 50) {
pwmWrite(PWM_PIN_CHANGE, 75);
} else if (gval <= 55) {
pwmWrite(PWM_PIN_CHANGE, 71);
} else if (gval <= 60) {
pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 65) {
pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 70) {
pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 75) {
pwmWrite(PWM_PIN_CHANGE, 69);
} else if (gval <= 90) {
pwmWrite(PWM_PIN_CHANGE, 68);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_CHANGE, 68);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_CHANGE, 66);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_CHANGE, 65);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_CHANGE, 64);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_CHANGE, 62);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_CHANGE, 60);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_CHANGE, 59);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_CHANGE, 58);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_CHANGE, 57);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_CHANGE, 56);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_CHANGE, 55);
}
}
int tank0202_change(unsigned char *buf) {
unsigned char mode = buf[1];
unsigned char val = buf[2];
if(mode == 1 && modecount==0) {
//mode_lift_flont(val);
mode_right_flont(val);
}else if(mode == 2) {
//mode_lift_back(val);
mode_right_back(val);
}else if(mode == 3) {
mode_lift_back(val+25);
//mode_right_flont(80);
}else if(mode == 4) {
mode_lift_flont(val+25);
//mode_right_back(80);
}
} }
\ No newline at end of file
...@@ -2,4 +2,6 @@ ...@@ -2,4 +2,6 @@
#define __GPIO_PWM_TANK0202_H__ #define __GPIO_PWM_TANK0202_H__
int tank0202_middle(); int tank0202_middle();
int tank0202_change(unsigned char *buf);
#endif #endif
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment