Commit 051ae36d authored by 957dd's avatar 957dd

Merge branch 'feature/mincar_adino' into 'master'

解决了小车速度问题和改了坦克炮塔左右使用了pwm(未测试坦克) See merge request !41
parents 9ed9a750 1d9f8a1e
No preview for this file type
......@@ -12,8 +12,8 @@ void tank_Init_0201() {
}
void tank_Init_0202() {
int values_gpio[] = {5, 6, 7, 16, 20, 22, 23, 24, 26,-1};//除开发射25和接收10
int values_gpio_pwm[]={27,-1};
int values_gpio[] = { 6, 16, 20, 22, 23, 24, 26,-1};//除开发射25和接收10
int values_gpio_pwm[]={5 , 7 , 27,-1};
init_gpioWPi(values_gpio);
init_gpioPwm(values_gpio_pwm);
pwm_init_speed();
......
......@@ -6,23 +6,23 @@
int audio_status=3;
char urlbuf[512];
char keybuf[256];
double audio_volume=3.0;
double audio_volume=0.8;
void audioplay_mqtt_receive(cJSON *json) {
// 解析"audioLink"字段(修正了原始JSON中的拼写错误)
cJSON *audio_link = cJSON_GetObjectItemCaseSensitive(json, "audioLink");
if (cJSON_IsString(audio_link) && (audio_link->valuestring != NULL)) {
my_zlog_debug("音频链接: %s\n", audio_link->valuestring);
my_zlog_debug("音频链接: %s", audio_link->valuestring);
char *url=audio_link->valuestring;
snprintf(urlbuf, sizeof(urlbuf), "%s", url);
} else {
my_zlog_warn("错误:无法解析音频链接字段\n");
my_zlog_warn("错误:无法解析音频链接字段");
}
// 解析"key"字段
cJSON *key_char = cJSON_GetObjectItemCaseSensitive(json, "key");
if (cJSON_IsString(key_char) && (key_char->valuestring != NULL)) {
my_zlog_debug("音频链接: %s\n", key_char->valuestring);
my_zlog_debug("音频链接: %s", key_char->valuestring);
char *key=key_char->valuestring;
snprintf(keybuf, sizeof(keybuf), "%s", key);
} else {
......@@ -32,19 +32,19 @@ void audioplay_mqtt_receive(cJSON *json) {
// 解析"status"字段
cJSON *audio_status_val = cJSON_GetObjectItemCaseSensitive(json, "status");
if (cJSON_IsNumber(audio_status_val)) {
my_zlog_debug("标志: %d\n", audio_status_val->valueint);
my_zlog_debug("标志: %d", audio_status_val->valueint);
audio_status=audio_status_val->valueint;
} else {
my_zlog_warn("错误:无法解析标志字段\n");
my_zlog_warn("错误:无法解析标志字段");
}
// 解析"volume"字段
cJSON *volume = cJSON_GetObjectItemCaseSensitive(json, "volume");
if (cJSON_IsNumber(volume)) {
my_zlog_debug("声量大小: %d\n", volume->valueint);
audio_volume=volume->valueint*1.0;
my_zlog_debug("声量大小: %1f", volume->valuedouble);
audio_volume=volume->valuedouble + 0.0;
} else {
my_zlog_warn("错误:无法解析声量字段\n");
my_zlog_warn("错误:无法解析声量字段");
}
}
......@@ -56,7 +56,7 @@ void audioplay_send_mqtt() {
cJSON_AddStringToObject(root, "audioLink", urlbuf);
cJSON_AddStringToObject(root, "key", keybuf);
cJSON_AddNumberToObject(root, "status", audio_status);
cJSON_AddNumberToObject(root, "volume", (int)audio_volume);
cJSON_AddNumberToObject(root, "volume", audio_volume);
// 将 JSON 对象转换为字符串
char* json_string = cJSON_PrintUnformatted(root);
......@@ -74,7 +74,7 @@ void audioplay_cycle(){
if(audio_status==0){
char *urlmoddle=urlbuf;
snprintf(command, sizeof(command),
"sudo ffplay -nodisp -autoexit -loglevel quiet -af \"volume=%f\" \"%s\"",
"sudo ffplay -nodisp -autoexit -loglevel quiet -af \"volume=%1f\" \"%s\"",
audio_volume,urlmoddle);
my_zlog_debug("播放地址: %s\n", urlbuf);
......
......@@ -66,11 +66,19 @@ void pwm_value(int pin,int value) { //软件陪我们控制调速
}
int shot_speed = (int)(shot_speed_value*100);
if(value==1) {
softPwmWrite(pin, shot_speed);
my_zlog_debug("pin:%d,%d",pin,shot_speed);
if(pin == 27){
softPwmWrite(pin, shot_speed);
my_zlog_debug("pin:%d,%d",pin,shot_speed);
} else {
if(AppExit_pin_pwm == 202)softPwmWrite(pin, 0.5);
if(AppExit_pin_pwm != 202)softPwmWrite(pin, shot_speed);
}
}else if(value==0) {
softPwmWrite(pin, 0);
my_zlog_debug("pin:%d,%d",pin,shot_speed);
my_zlog_debug("pin:%d,0",pin);
}
}
......
......@@ -27,27 +27,27 @@ void car0102_mode_1_flont(unsigned char gval) {
}else if (gval < 50) {
pwmWrite(PWM_PIN_SPEED, 1000);
} else if (gval <= 55) {
pwmWrite(PWM_PIN_SPEED, 1000-350);
pwmWrite(PWM_PIN_SPEED, 1000-550);
} else if (gval <= 60) {
pwmWrite(PWM_PIN_SPEED, 1000-400);
pwmWrite(PWM_PIN_SPEED, 1000-550);
} else if (gval <= 65) {
pwmWrite(PWM_PIN_SPEED, 1000-450);
pwmWrite(PWM_PIN_SPEED, 1000-600);
} else if (gval <= 70) {
pwmWrite(PWM_PIN_SPEED, 1000-500);
pwmWrite(PWM_PIN_SPEED, 1000-600);
} else if (gval <= 75) {
pwmWrite(PWM_PIN_SPEED, 1000-550);
pwmWrite(PWM_PIN_SPEED, 1000-650);
} else if (gval <= 90) {
pwmWrite(PWM_PIN_SPEED, 1000-600);
pwmWrite(PWM_PIN_SPEED, 1000-650);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_SPEED, 1000-600);
pwmWrite(PWM_PIN_SPEED, 1000-700);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_SPEED, 1000-650);
pwmWrite(PWM_PIN_SPEED, 1000-700);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_SPEED, 1000-650);
pwmWrite(PWM_PIN_SPEED, 1000-750);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_SPEED, 1000-700);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_SPEED, 1000-750);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_SPEED, 1000-800);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_SPEED, 1000-800);
} else if (gval <= 160) {
......@@ -65,7 +65,7 @@ void car0102_mode_1_flont(unsigned char gval) {
void car0102_mode_2_back(unsigned char gval) {
int k = 5;
int b = 10;
int b = 100;
pin_value(26,0);
if (gval < 50) {
pwmWrite(PWM_PIN_SPEED, 0);
......@@ -146,7 +146,7 @@ void car0102_mode_4_right(unsigned char gval) {
} else if (gval <= 69) {
car0102_calculate_L_R(55);
} else if (gval <= 75) {
car0102_calculate_L_R(45);
car0102_calculate_L_R(45 );
} else if (gval <= 81) {
car0102_calculate_L_R(40);
} else if (gval <= 87) {
......
......@@ -6,11 +6,11 @@ void audio_Init() {
int adino_play_jude =system("pactl load-module module-alsa-sink device=hw:2,0");
if (adino_jude == 0 && adino_play_jude==0) {
my_zlog_debug("命令执行成功!");
if (adino_jude == 0 || adino_play_jude==0 ) {
my_zlog_debug("至少一个命令执行成功!");
} else {
my_zlog_warn("麦命令执行失败,返回状态码: %d", adino_jude );
my_zlog_warn("喇叭命令执行失败,返回状态码: %d", adino_play_jude );
if(adino_jude == 0) my_zlog_warn("麦命令执行失败,返回状态码: %d", adino_jude );
if(adino_play_jude==0) my_zlog_warn("喇叭命令执行失败,返回状态码: %d", adino_play_jude );
}
}
......
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