NK600 发表于 2023-10-9 18:35:59

2023电赛【G】空地协同智能消防系统-国一

简述:在三部分飞机,火源,无人车上;火源和无人车上使用了STC32G12K128,火源上的作为主控控制模拟火灾;无人车上的作为扩展版来方便各个系统通信。

We story:
    要说这一切,大部分的功劳归功于刘学长,从大一开始卧薪尝胆,自己学习了很多东西,不完全的来说,作为他的两个队友,实际上我们两会的东西他都会,在细节上可能不太明白,大体上来说我们三是一个四天三夜紧急写出来的python程序,学长import nk和import kqm(另一个队员);或许她并不明白具体实现,但是经历了那么多,我们终于还是做到了一切。
    甚至于我和另一位队友相识不到一个月,但是时至今日我们已经亲如一家。
    地处宁夏,作为西部地区,电赛真的很辛苦,如果有没有准备的元器件,看到题目的那一刻买,几乎已经来不及了;所以当题目出来的那一瞬间,我们有些狼狈,因为这个小车,谁都没想到是给飞行器题目的,三个人中除了学长参加过智能车,我们俩两眼一抹黑;起初准备用练习用的那种亚克力板小车,但是实在不太好用,题目公布的第一天下午我找朋友找到了他的ros小车;经历了一天,这个车提供的sdk有很多对不上的地方,遂即紧急在学校周边购买了新的车子(jetson nano+t265;我们的飞机可以说是不用调了,在前期的准备过程中,我们完成了x86平台的机载电脑(NUC 12   I5 1240P)和MID-360雷达,这套方案可以说是目前最稳定的方案,相比T265提升巨大,唯二的两个缺点是:贵,重。同时因为没有学校专门的支持,只有我们几个学生和老师在努力,四天三夜中不分昼夜黑白颠倒(指时间上的),飞控使用匿名家的凌霄飞控,寻找火源的部分使用了openmv4p,在ros车上有一块STC32G12K128为各部分通信。



整个系统框图如下



实际上我们的集成度并不是很高,时间原因也没有进行pcb设计,代码上使用了一些逐飞写的库STC32G12K128 作为主控芯片作为我们“火源”的主控模块,在采用了__单片机控制光明电阻控制led灯的亮灭,在接收到激光照射的信号后实现灯的开启,当飞机经过灯发现光源后向小车发送灭火信息,小车按照规定线路接近“火源”,在到达预定位置后使用激光照射“火源”模块实现灭火,当检测到火源熄灭后,由STC32G12K128向消防小车发送信息,小车接收到返回信号后按规定线路返回原点。
展示部分是最核心的一段

#include <stc32g12k128.h>

#define KEY_PRESSED 0// 按键按下的电平
void main() {
    UART1_Init();
    while (1) {
      if (P0_0 == KEY_PRESSED) {
            UART1_SendByte('A');// 发送字符'A'
            while (P0_0 == KEY_PRESSED);// 等待按键释放
      }
      if (P0_1 == KEY_PRESSED) {
            UART1_SendByte('B');// 发送字符'B'
            while (P0_1 == KEY_PRESSED);// 等待按键释放
      }
    }
}


如果你问我,明明使用的是nrf模块,为什么是串口发送程序,因为我们使用了匿名数传


#include "headfile.h"
#include <zf_delay.h>



void main()
{
    board_init();         // ��ʼ���Ĵ���,��ɾ���˾���롣
   
    // �˴���д�û�����(���磺�����ʼ�������)
   
    while (1) {
            if(P04 == 1){
                  delay_ms(500); // ʹ���Զ������ʱ��������ʱ500����
                  if(P04 == 1){
            P52 = !P52;
                  }
            }
      }
}
这一步部分是简单的火源控制,使用光敏模块和导光膜,增大了光敏电阻的检测面积






大刀阔斧 发表于 2023-10-11 14:53:07

v1

aqa 发表于 2023-12-2 19:47:34

不错
页: [1]
查看完整版本: 2023电赛【G】空地协同智能消防系统-国一