【Raspberry Pi Target Reporter】Project Submission
[Copy link]
Raspberry Pi Target Reporter
Applicable to the national defense education system of various colleges and universities. In the early days, live ammunition was used in military training, which was costly, dangerous, and had heavy logistical work, and gradually failed to adapt to new requirements. For this reason, the company developed this simulated shooting system to replace the original live ammunition shooting, which reduces the cost of use, is easy to carry, and can be used repeatedly without too many requirements.
Due to the particularity of the product, it cannot be fully displayed, so only the relevant parts made using Raspberry Pi are shown.
The main function of the target reporting device is to receive the coordinate data transmitted by the target after shooting and the action data of the teaching aids during shooting. The data is displayed on the display screen after being analyzed by the Raspberry Pi, and voice is played for prompting at the same time, that is, it is only used as a terminal. These functions can also be completed using a single-chip microcomputer, but the workload is relatively large, especially the interface and graphics part that interact with the user. If it is developed based on the operating system, the efficiency will be greatly improved.
Considering the cost, Linux is more suitable than Windows, so a development board similar to Raspberry Pi is preferred. Thanks to EEWorld and Digi-Key for providing this opportunity.
There are many languages that can be used to develop graphical interface programs on Linux, and they have made great progress, but compared to the Delphi I used more than ten years ago, it still feels a little worse, at least not very convenient, especially in layout design, it has to be so complicated, not as intuitive as Delphi, what you see is what you get, so I still use Delphi-like tools to develop. On the Raspibian system, I don’t know why this version of Lazarus will prompt an error after installation and running. Although it does not affect the use, it looks unpleasant, so I still use CodePython to develop, which is basically the same.
- System Block Diagram:
-
The hardware is very simple. Most of the work has been done by RPI 400. My work is mainly to expand it. I add a display screen to it through HDMI to display the program. HDMI already includes audio signals. I just need to add a small amplifier and speakers. In some places, there is no long-term power supply available, so a set of batteries and charging functions are also required. It is not enough to have only equipment, communication is also essential. Various communication methods are possible, but obviously wired connection is excluded first; Linux Bluetooth is not easy to use, and it is also troublesome to connect multiple devices at the same time. The simplest method is to use 2.4G, and various devices can send to one address. Considering the distance, PA should be added to 24L01 to achieve a communication range of 100 meters. It is not easy to carry these scattered things together. It is much more convenient to put them all in a suitcase.
This is how the development phase works. Various controls are thrown up, and then the corresponding event code is written.
There are not many requirements for the software. In summary, it is to receive data -> analyze data -> display data. Of course, it is not convenient to give the communication protocol here. As long as it can be considered to achieve the correspondence of each device, the data format can be customized.
- Function description of each part:
-
The teaching aids will not be shown to avoid some problems. Now it is a bit messy, all connected directly with wires. The finished product will need to make a base plate, and will not use RPI 400. It can be changed to RPI4B to meet the requirements, because in the original design, it is intended to let users manually enter information such as identity codes, which is no longer necessary.
- Finished product function demonstration:
-
https://training.eeworld.com.cn/course/67838/learn?preview=1#lesson/34583
It's a demo, some functions are not finished yet, the data shown is fake and manually simulated.
- Project summary:
-
For similar things, it is really easy to use Raspberry Pi to develop. Drawing a graphical interface with a single-chip microcomputer can be very time-consuming, and don't change it. If you change it, you have to start all over again. But the Raspberry Pi is too expensive at present. It is impossible to use it for real products. The cost will be many times higher. Some domestic "pi" are more suitable. The performance of Allwinner and Rockchip is already very good and can fully meet the requirements. It's just that the relevant development materials are not as considerate as those of Raspberry Pi. I sincerely hope that there will be some improvements.
|