At present, there are many technologies for researching and developing human fall detection systems. The most common ones are image analysis and acceleration analysis. They are all indoor automatic fall detection systems based on video image analysis. This technology has high accuracy and human movements are clearly visible, but it requires multiple cameras to work at the same time, exposes the user's personal privacy, has a limited monitoring range, and is greatly affected by the environment. Another acceleration analysis method is mainly based on micro-electromechanical system (MEMS) sensors. MEMS technology has developed rapidly in recent years and is widely used in fall detection, state detection, motion detection, etc. References [7-9] all use MEMS technology for human fall detection. Although some domestic fall detection based on MEMS technology can achieve fall detection well, most of them have large computational complexity, complex design, and high price, making it difficult to be widely used.
A fall detection and alarm system based on Arduino and a three-axis accelerometer is designed to collect human acceleration parameters and geographic location information in real time. It is used to promptly alarm after an accidental fall of the elderly. It has the characteristics of high cost performance, simple design, high real-time performance, low power consumption, and scalability. Experiments have proved the feasibility and accuracy of the system.
1 Overall system design
The fall detection alarm system consists of the Arduino minimum system, acceleration parameter acquisition module, GPS positioning module, and GSM communication module. The system block diagram is shown in Figure 1.
Figure 1 Block diagram of fall detection and alarm system
Arduino receives the human body acceleration parameter values from the acceleration parameter acquisition module in real time. The microcontroller uses the received acceleration values and the fall detection algorithm to judge the wearer's posture. If a fall is detected, the fall alarm mechanism is triggered. When a fall occurs, the wearer's specific geographic location can be captured through the GPS positioning module, and then an alarm distress message containing the fall location is issued to notify the wearer's guardian or medical institution for subsequent treatment. Under the premise of considering these functional requirements, this system uses Arduino as the control core, and the acceleration parameter acquisition module, GPS positioning module, and GSM communication module are connected to the periphery to complete the functions of the entire system.
2 Hardware Design
The hardware part mainly includes the selection of the microcontroller minimum system, acceleration parameter acquisition module, GPS positioning module, GSM communication module, and the connection between each module.
2.1 Arduino Platform
Arduino is an open-source electronic prototyping platform. Arduino consists of two main parts: the hardware part is a circuit board that can be used for circuit design, based on the AVR series of microcontrollers and ARM microcontrollers, with rich peripheral interfaces and hardware resources; the software part is the Arduino IDE, which is a program development environment in the computer. The modular design of Arduino greatly simplifies the design process of electronic systems.
Among them, the minimum microcontroller system uses Arduino Uno, which is a hardware platform based on ATMEL's ATmega328P microcontroller, with 32KB Flash, 1KB EEPROM, 14 digital input and output ports (6 of which can be used for PWM output), and 6 analog input interfaces. At the same time, Uno is pre-installed with the Bootloader program, and does not require other external burners, and can be directly downloaded through USB.
2.2 Accelerometer ADXL345
ADXL345 is a 3-axis, digital output acceleration sensor based on iMEMS technology recently launched by ADI. ADXL345 has a variety of variable measurement ranges, high resolution, high sensitivity, ultra-small package, ultra-low power consumption, standard I2C or SPI digital interface, 32-level FIFO storage, and internal multiple motion state detection and flexible interrupt mode. All these features make ADXL345 help greatly simplify the fall detection algorithm, making it an acceleration sensor very suitable for fall detector applications. Figure 2 is the functional block diagram of ADXL345.
Figure 2 ADXL345 functional block diagram
The standard I2C digital interface of ADXL345 can conveniently communicate with the I2C interface of Arduino Uno, and transmit the human body triaxial acceleration data collected by ADXL345 to the microcontroller for fall detection algorithm processing. Figure 3 shows the typical connection diagram of the I2C bus between ADXL345 and the microcontroller. The (CS) pin of ADXL345 is connected to a high level, indicating that ADXL345 works in I2C mode. SDA and SCL are the data line and clock line of the I2C bus, which are connected to the corresponding I2C bus interface (A4 and A5) of Arduino Uno respectively. The INT1 pin of ADXL345 is connected to INT0 (Pin 2) of Arduino Uno to generate an interrupt signal.
Figure 3 Typical I2C connection diagram between ADXL345 and microcontroller
2.3 GPS positioning and GSM communication module SIM908
SIM908 is a chip that integrates high-performance GSM/GPRS engine and GPS engine. The GSM/GPRS engine can operate in four frequency bands: GSM 850MHz, EGSM 900MHz, DCS 1800MHz and PCS 1900MHz; the GPS engine has first-class acquisition and tracking sensitivity, TTFF (Time-To-First-Fix) and accuracy [12]. These features can well complete the tasks of locating the fall position and sending alarm signals. The SIM908 chip can simultaneously complete GPS positioning and GSM communication functions, which can greatly reduce the number of system chips and power consumption. Figure 4 is a functional block diagram of SIM908. SIM908 communicates with Arduino Uno through the UART port. RXD and TXD are connected to Uno's TXD and RXD respectively to complete the capture of GPS data of the fall position and send GSM alarm SMS functions.
Figure 4 SIM908 functional block diagram
3 Algorithm Design and Experiments
3.1 Fall Detection Algorithm
The research on the principle of fall detection is mainly to find the acceleration change characteristics of the human body during the fall process. Figure 5 shows the acceleration change curves in different motion processes, including (a) walking upstairs, (b) walking downstairs, (c) sitting down, and (d) standing up. The red curve is the acceleration curve of the Y axis (vertical direction), which should be -1g in the normal static state; the black and yellow curves are the acceleration curves of the X axis (front and back direction) and the Z axis (left and right direction), respectively, which should be 0g in the normal static state; the green curve is the vector sum of the three-axis acceleration, which should be +1g in the normal static state.
Figure 5 Acceleration curves during different motion processes
Since the elderly move relatively slowly, the acceleration changes will not be large during normal walking. The most obvious acceleration change is a spike of more than 3g on the Y-axis acceleration (and the acceleration vector sum) during the sitting action. This spike is caused by the contact between the body and the chair. The acceleration change during a fall is completely different. Figure 6 shows the acceleration change curve during an accidental fall. By comparing Figure 6 with Figure 5, it can be found that there are four main features of acceleration changes during a fall, which can be used as a criterion for fall detection. These four features are marked with red boxes in Figure 6, and they will be introduced in detail one by one below.
Figure 6 Acceleration curve during an accidental fall
Weightlessness: At the beginning of a fall, there will be a certain degree of weightlessness. During the free fall, this phenomenon will be more obvious, and the vector sum of acceleration will decrease to close to 0g. For a general fall, the total acceleration will be less than 1g. Therefore, this can be used as the first basis for judging the fall state. It can be detected by the Free_Fall interrupt of ADXL345.
Impact: After weightlessness, when a person falls, he or she will collide with the ground or other objects, which will produce a large impact in the acceleration curve. This impact can be detected by the Activity interrupt of ADXL345. Therefore, the Activity interrupt generated immediately after the Free_Fall interrupt is the second basis for judging the fall state.
Stillness: After a fall, that is, after a collision, the human body cannot get up immediately, and there will be a short period of stillness (if the person is unconscious due to the fall, it may even be stillness for a longer period of time). This is reflected in the acceleration curve as a period of stability. This can be detected by the Inactivity interrupt of ADXL345. Therefore, the Inactivity interrupt after the Activity interrupt is the third basis for judging the fall state.
Compared with the initial state: After falling, the human body will flip, so the direction of the human body will be different from the original static standing posture. This makes the three-axis acceleration values in the static state after falling different from those in the initial state, as shown in Figure 5. Therefore, the fourth basis for fall detection is that the acceleration value in the static state after falling changes from the initial state, and the vector change exceeds a certain threshold value.
These four judgment bases combined together constitute the entire fall detection algorithm, which can give an alarm for the fall status.
In addition, if the fall causes serious consequences, such as causing a person to fall into a coma, then the human body will remain motionless for a longer period of time. This state can still be detected by the Inactivity interrupt. In other words, if it is found that the Inactivity state remains for a long time after the fall, a serious alarm can be given again. The flowchart of the algorithm is shown in Figure 7.
Figure 7 Algorithm flow chart
3.2 Experimental Results
This paper designed an experimental scheme to verify the algorithm. The experiment conducted 10 tests on different falling postures such as falling forward, falling backward, falling to the left and right, and whether there was a long period of static state after falling. Table 1 shows the relevant test results.
Table 1 Experimental results
This design combines the acceleration sensor ADXL345, GPS and GSM module SIM908 with the Arduino Uno platform. The acceleration sensor collects the three-axis acceleration value of the human body, detects the human body posture in real time, and completes the detection and alarm of human falls. The overall design has the advantages of low cost, high reliability, low algorithm complexity, high detection accuracy and scalability. It has high practicality and can meet the needs of human fall detection and alarm.
Previous article:Wearable wireless devices and ANSYS simulation technology
Next article:ON Semiconductor Launches New Solution to Provide Cutting-Edge Wireless and Charging Features for Hearing Aids
- Popular Resources
- Popular amplifiers
- High-speed 3D bioprinter is available, using sound waves to accurately build cell structures in seconds
- [“Source” Observation Series] Application of Keithley in Particle Beam Detection Based on Perovskite System
- STMicroelectronics’ Biosensing Innovation Enables Next-Generation Wearable Personal Healthcare and Fitness Devices
- China's first national standard for organ chips is officially released, led by the Medical Devices Institute of Southeast University
- The world's first non-electric touchpad is launched: it can sense contact force, area and position even without electricity
- Artificial intelligence designs thousands of new DNA switches to precisely control gene expression
- Mouser Electronics provides electronic design engineers with advanced medical technology resources and products
- Qualcomm Wireless Care provides mobile terminal devices to empower grassroots medical workers with technology
- Magnetoelectric nanodiscs stimulate deep brain noninvasively
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
- Brief Analysis of Automotive Ethernet Test Content and Test Methods
- How haptic technology can enhance driving safety
- Let’s talk about the “Three Musketeers” of radar in autonomous driving
- Why software-defined vehicles transform cars from tools into living spaces
- EPWM CMPA register configuration problem
- Allegro's latest solution for 48v system
- EEWORLD University Hall----Live Replay: Microchip Security Series 12 - PolarFire? SoC FPGA Secure Boot
- "Praise my country": Let's gather together and talk about the useful domestic microcontrollers
- Ling Embedded Talent Recruitment is in full swing! Don’t run~ It’s you~
- A correct schematic does not necessarily produce a correct PCB design
- "Operational Amplifier Parameter Analysis and LTspice Application Simulation" 5, Chapter 3, 4, 5 Sample Reading
- Detailed explanation of TMS320C5535 DSP hybrid programming
- I hit a wall when I used EasyEDA for the first time
- [Repost] Understand the control principle and classification of switching power supplies in one article