Bổn thiết kế:
Căn cứ vào STM32 lão nhân phòng té ngã báo nguyGSMTin nhắn GPS định vị thiết kế ( trình tự +Nguyên lý đồ+PCB)
Đánh số C0025
Download liên tiếp
C0025 hoàn chỉnh tư liệu download liên tiếp: https://pan.baidu /s/1QR9G8q5qC0Tj4n8T60XGkw?pwd=ysss lấy ra mã: ysss
Công năng miêu tả:
Bổn hệ thống từ căn cứ vào STM32Đơn phiến cơTrung tâm bản,ADXL345Tăng tốc độ truyền cảm khí,GSM,GPS mô khối,Đèn chỉ thị, ấn phím điện suất +Ong minh khíBáo nguy cậpNguồn điệnTạo thành.
1, bản tử bình thường dưới tình huống là dựng thẳng trang ở trong túi ( adxl345 mô khối tại hạ giác dựng đứng thẳng ), một khiGóc chếch truyền cảm khíKiểm tra đo lường đến bình phóng tức té ngã, ong minh khí báo nguy, thả té ngã thời gian liên tục vượt qua 15 giây tin nhắn báo nguy ( 15 giây là vì xác định lão nhân đã té ngã thả 15 giây đều không có tự hành bò dậy, yêu cầu báo nguy nhắc nhở người chung quanh hỗ trợ ). Nếu lão nhân không có té ngã, mà là khom lưng từ từ, này thuộc về lầm báo nguy, tắc lão nhân có thể chính mình dùng ấn phím hủy bỏ kiện hủy bỏ cảnh báo.
2, kích phátGSM mô khốiThực hiện tin nhắn gửi đi, thiết bị sẽ hướng nhân viên gửi đi tin tức, bao gồm nơi vị trí kinh độ và vĩ độ tin tức.
3, tin nhắn xử lý cập khởi động lại có trạng thái đèn chỉ thị chỉ thị.
Chú: GSM thượng điện có vài giây khởi động lại, hệ thống cung cấp điện nguồn điện ít nhất muốn duy trì 5V/2A,GPS dây antenCần thiết phóng tới lậu thiên vị trí.
Nguyên lý đồ:
PCB:
Nguyên trình tự:
#include “led.h”
#include “delay.h”
#include “sys.h”
#include “timer.h”
#include “key.h”
#include “usart.h”
#include <string.h>
#include “adxl345.h”
unsigned char BufTab[10]; //wifiSố liệu tạm tồn
unsigned char Count; // xuyến khẩu số liệu đếm hết
unsigned char UartBusy=0; // bàn vội
unsigned char ReadFlag=0;// đọc lấy tiêu chí
unsigned char sendDataFlag=0;// gửi đi tin nhắn tiêu chí
unsigned char i;
unsigned char ReadAdxl345; // đúng giờ đọc lấy adxl345 số liệu
unsigned char ErrorNum=0; // ký lục sai lầm số lần
unsigned char CheckNum=0; // kiểm tra đo lường số lần
unsigned long ReportLater=0; // đăng báo duyên khi
unsigned long KeyLater=3; // ấn phím duyên khi đếm hết
unsigned long Mid_Du; // kinh độ và vĩ độ xử lý độ
unsigned long Mid_Fen; // kinh độ và vĩ độ xử lý phân
unsigned long Mid_Vale; // kinh độ và vĩ độ xử lý trung gian lượng biến đổi
char Lin0_No[16]= “N:000.000000”;// tồn trữ vĩ độ
char Lin1_Ea[16]= “E:000.000000”;// tồn trữ kinh độ
char Crtl_Z[1]={0x1a}; // gửi đi tin nhắn tiêu chí
void dealGps(void);//gpsSố liệu xử lý
int main(void)
{
delay_init(); //Duyên khi hàm sốKhởi động lại
NVIC_Configuration();// thiết trí NVIC gián đoạn phân tổ 2:2 vị chiếm trước ưu tiên cấp, 2 vị hưởng ứng ưu tiên cấp
LED_Init(); // khởi động lại cùng LED liên tiếpPhần cứngTiếp?
KEY_Init();
uart_init(9600);
uart2_init(9600);
TIM3_Int_Init(499,7199);//10Khz đếm hết tần suất, đếm hết đến 500 vì 50ms
BUZZER = 1;delay_ms(100);BUZZER = 0; // khởi động lại
GSM_LED = 0;
i=5;
while(i--) delay_ms(100);// duyên khi
Init_ADXL345();
if(Single_Read_ADXL345(0X00)==0xe5)
{
delay_ms(5);
}
else
{
delay_ms(3);
}
UART_SendStr(USART1, "AT+CMGF=1rn",11); // thiết trí tự phù tập
i=10;
while(i--) delay_ms(100);// duyên khi
UART_SendStr(USART1, "AT+CSCS=" GSM "rn",15);// thiết trí văn bản?
i=10;
while(i--) delay_ms(100);// duyên khi
GSM_LED =1; // đóng cửa LED chỉ thị
while(1)
{
if(ReadAdxl345== 1) // đúng giờ đọc lấy adxl345 số liệu
{
ReadAdxl345= 0;
ReadData_x(); // tam trục kiểm tra đo lường hàm số
CheckNum++;
if((temp_X<550)||(temp_X>10000)) // phương vị giá trị phán đoán xem xét bình thường số lần
{
ErrorNum++;
}
if(CheckNum>=5) // tiến hành 5 thứ xử lý
{
if(KeyLater>=3) // phi ấn phím hạ
{
if(ErrorNum>=1) // góc độ xuất hiện sai lầm 5 thứ tiền đồ 1 thứ tình huống
{
BUZZER = 1; // mở ra ong minh khí
}
else
{
BUZZER = 0; // đóng cửa ong minh khí
ReportLater=0; // đăng báo duyên khi đếm hết
}
}
ErrorNum=0; // quét sạch sóng lọc đếm hết
CheckNum=0;
}
}
if(ReportLater>=15) //15s
{
GSM_LED = 0;
UART_SendStr(USART1, "AT+CMGF=1rn",11); // thiết trí tự phù tập
i=3;
while(i--) delay_ms(100);// duyên khi
UART_SendStr(USART1, "AT+CSCS=" GSM "rn",15);// thiết trí văn bản
i=3;
while(i--) delay_ms(100);// duyên khi
UART_SendStr(USART1, "AT+CMGSM=" +8615555183057 "rn",26); // thí nghiệm hào //**All notes can be deleted and modified**//
// UART_SendStr(USART1, “AT+CMGS=” +8615542546521 "rn",26); // thí nghiệm hào
i=2;
while(i–) delay_ms(100);// duyên khi
UART_SendStr(USART1, "help me!",8); // gửi đi kinh độ
if(sysmode_GPS==1) //gps hữu hiệu
{
sysmode_GPS=0;
dealGps();
UART_SendStr(USART1,Lin0_No,12); // gửi đi vĩ độ
UART_SendStr(USART1,Lin1_Ea,12); // gửi đi kinh độ
}
else
{
UART_SendStr(USART1, "gps linking...",14); //gps vô tín hiệu
}
delay_ms(200);// duyên khi
UART_SendStr(USART1,( char *)Crtl_Z, 1); // gửi đi
i=40;
while(i--) delay_ms(100);// duyên khi
GSM_LED =1; //led đóng cửa
ReportLater=0; // đăng báo tiêu chí quét sạch
KeyLater=0; // ấn phím thanh linh duyên khi xử lý
}
if(key==0) // ấn phím xử lý
{
delay_ms(3); // ấn phím tiêu run rẩy
if(key ==0) // ấn phím xử lý
{
ReportLater=0; // ấn phím duyên khi đăng báo
BUZZER = 0; // đóng cửa ong minh khí
KeyLater=0; // ấn phím duyên khi xử lý
}
}
}
}
void dealGps(void)
{
Mid_Du=(gps_infor_weijing[0]-0x30)*10000000+(gps_infor_weijing[1]-0x30)*1000000; // xử lý kinh độ mở rộng 10000000
Mid_Fen=(gps_infor_weijing[2]-0x30)*10000000+(gps_infor_weijing[3]-0x30)*1000000+
(gps_infor_weijing[4]-0x30)*100000+(gps_infor_weijing[5]-0x30)*10000+
(gps_infor_weijing[6]-0x30)*1000+(gps_infor_weijing[7]-0x30)*100;
Mid_Fen=Mid_Fen/60; // giây phút đổi vì số nhỏ vị
Mid_Vale=Mid_Du+Mid_Fen; // cuối cùng vì độ cách thức 000.00000000 phi độ giây phút cách thức
Lin0_No[0]='N';
Lin0_No[1]=':';
Lin0_No[2]='0';
Lin0_No[3]=Mid_Vale/10000000+0x30; // chuyển hóa vì tự phù
Lin0_No[4]=(Mid_Vale/1000000)%10+0x30;
Lin0_No[5]='.';
Lin0_No[6]=(Mid_Vale/100000)%10+0x30;
Lin0_No[7]=(Mid_Vale/10000)%10+0x30;
Lin0_No[8]=(Mid_Vale/1000)%10+0x30;
Lin0_No[9]=(Mid_Vale/100)%10+0x30;
Lin0_No[10]=(Mid_Vale/10)%10+0x30;
Lin0_No[11]=Mid_Vale%10+0x30;
Mid_Du=(gps_infor_weijing[8]-0x30)*100000000+(gps_infor_weijing[9]-0x30)*10000000+(gps_infor_weijing[10]-0x30)*1000000; // xử lý kinh độ mở rộng 10000000
Mid_Fen=(gps_infor_weijing[11]-0x30)*10000000+(gps_infor_weijing[12]-0x30)*1000000+
(gps_infor_weijing[13]-0x30)*100000+(gps_infor_weijing[14]-0x30)*10000+
(gps_infor_weijing[15]-0x30)*1000+(gps_infor_weijing[16]-0x30)*100;
Mid_Fen=Mid_Fen/60; // giây phút đổi vì số nhỏ vị
Mid_Vale=Mid_Du+Mid_Fen; // cuối cùng vì độ cách thức 000.00000000 phi độ giây phút cách thức
Lin1_Ea[0]='E';
Lin1_Ea[1]=':';
Lin1_Ea[2]=Mid_Vale/100000000+0x30; // chuyển hóa vì tự phù
Lin1_Ea[3]=(Mid_Vale/10000000)%10+0x30;
Lin1_Ea[4]=(Mid_Vale/1000000)%10+0x30;
Lin1_Ea[5]='.';
Lin1_Ea[6]=(Mid_Vale/100000)%10+0x30;
Lin1_Ea[7]=(Mid_Vale/10000)%10+0x30;
Lin1_Ea[8]=(Mid_Vale/1000)%10+0x30;
Lin1_Ea[9]=(Mid_Vale/100)%10+0x30;
Lin1_Ea[10]=(Mid_Vale/10)%10+0x30;
Lin1_Ea[11]=Mid_Vale%10+0x30;
}
Download phương thức chú ý phía dưới trung gian WeChat công chúng hào, tùy ý hồi phục