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