Commit d8034bdb authored by 957dd's avatar 957dd

增加了坦克控制

parent 2da887d6
......@@ -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/pao.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
/home/orangepi/car/master/src/delay.c
......@@ -1323,6 +1324,7 @@ CMakeFiles/main.dir/src/mqtt.c.o
/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_ptz.h
/home/orangepi/car/master/system/gpio/gpio_pwm_tank0202.h
/home/orangepi/car/master/include/ip.h
/usr/include/arpa/inet.h
/usr/include/netinet/in.h
......
......@@ -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/ship.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 \
/usr/include/stdc-predef.h \
......@@ -1312,6 +1313,7 @@ CMakeFiles/main.dir/src/mqtt.c.o: ../src/mqtt.c \
../include/log.h \
../system/gpio/gpio_pwm_carship.h \
../system/gpio/gpio_pwm_ptz.h \
../system/gpio/gpio_pwm_tank0202.h \
../include/ip.h \
/usr/include/arpa/inet.h \
/usr/include/netinet/in.h \
......
......@@ -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/ship.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 \
/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_ptz.h \
/home/orangepi/car/master/system/gpio/gpio_pwm_tank0202.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/aarch64-linux-gnu/bits/types/struct_iovec.h \
......
......@@ -2,5 +2,5 @@
#define PROJECT_VERSION_MINOR 0
#define PROJECT_VERSION_PATCH 6
#define GIT_HASH ""
#define BUILD_TIMESTAMP "2025-04-17T08:15:58"
#define BUILD_TIMESTAMP "2025-04-18T07:36:34"
#define BUILD_USER "orangepi"
No preview for this file type
......@@ -15,6 +15,5 @@ void tank_Init_0202() {
int values_pin[] = {5, 6, 7, 10, 16, 20, 22, 23, 24, 25, 26, 27,-1};
init_gpioWPi(values_pin);
pwm_init_speed();
AppExit_pin_pwm=202;
}
\ No newline at end of file
......@@ -2,5 +2,5 @@
#define __TANK_H__
void tank_Init_0201();
void tank_Init_0202();
#endif
\ No newline at end of file
......@@ -2,9 +2,10 @@
#define __DEVICE_EXIT_H__
void car_exit_0101();
void tank_exit_0201();
void ship_exit_0301();
void ptz_exit_0401();
void car_exit_0101();//车0101
void tank_exit_0201();//坦克0201,小坦克
void ship_exit_0301();//船0301
void ptz_exit_0401();//炮台0401
void tank_exit_0202();//坦克0202
#endif
\ No newline at end of file
......@@ -10,6 +10,7 @@
#include "ship.h"
#include "pao.h"
#include "fileopen.h"
#include "gpio_pwm_tank0202.h"
char TOPIC_middle[23];
char TOPIC2_middle[23];
......@@ -43,6 +44,10 @@ int Device_File_Init() {
tank_Init_0201();
my_zlog_info("使用型号%s",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){//船的编码
ship_Init_0301();
my_zlog_info("使用型号%s",sub_str);
......
......@@ -19,3 +19,7 @@
- 使用cmake进行编译,CMakeLists.txt
- 进入build后cmake .. 然后make即可
## 设备速冻后台设置
- 坦克0202 最大为200,更据电池电压具体调速
- 车0101 最大为150,尽量不能这么大
#include "common.h"
#include "gpio_pwm_carship.h"
#include "gpio_pwm_ptz.h"
#include "gpio_pwm_tank0202.h"
#include "ip.h"
#include "opensh.h"
#include "INA226.h"
......@@ -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("valTemp:%d",gvalt[2]);
if(AppExit_pin_pwm==101) speed_change(gvalt) ;
if(AppExit_pin_pwm==301) ship_speed_change(gvalt) ;
if(AppExit_pin_pwm == 101) 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);
}
......
......@@ -44,7 +44,8 @@ void *AppExit(void *arg) { //出现意外自动停止
gPwmCount++;
if(gPwmCount>=5) {
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==401) ptz_exit_0401();//炮异0401常问题处理
gPwmCount=6;
......
......@@ -609,7 +609,7 @@ void ship_mode_right_back(unsigned char gval) {
}
typedef struct {
typedef struct {//强制转化结构体
unsigned char buf[3];
} ShipSpeedParams;
......@@ -623,7 +623,6 @@ void ship_speed_change(void *arg) {//船速度和转向引脚数值处理函数
if(mode == 2 && count_mode == 0) ship_mode_back(val);
if(mode == 3) count_mode = 3;
if(mode == 4) count_mode = 4;
if(val==0)count_mode = 0;
if(mode == 1 && count_mode == 3 ){
ship_mode_left_flont(val);
}else if(mode == 1 && count_mode == 4) {
......
#include "common.h"
#include "gpio_pwm_tank0202.h"
int modecount=0;
int tank0202_middle() {
pwmWrite(PWM_PIN_SPEED,75);
pwmWrite(PWM_PIN_CHANGE,75);
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 @@
#define __GPIO_PWM_TANK0202_H__
int tank0202_middle();
int tank0202_change(unsigned char *buf);
#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