当前位置:网站首页>基于OpenHarmony的智能金属探测器
基于OpenHarmony的智能金属探测器
2022-07-05 10:43:00 【InfoQ】
一、简介
二、运行效果
三、功能实现
uint8_t Mpu_Read_Bytes(uint8_t const regAddr, uint8_t *pData, uint8_t len)
Mpu_Data.mag_x = (MPU_BUFF[16] << 8) | MPU_BUFF[15]; // x轴磁场数据
Mpu_Data.mag_y = (MPU_BUFF[18] << 8) | MPU_BUFF[17]; // y轴磁场数据
Mpu_Data.mag_z = (MPU_BUFF[20] << 8) | MPU_BUFF[19]; // z轴磁场数据
Gauss_Mag_z = Mpu_Calc.mag_z * 0.15f * 0.01f;
const uint16_t calibrateCount = 1000; // 测量最大次数为1000
const uint16_t calibrateFrequency = 5; // 每测量5次取一次有效值
const uint16_t calibrateAverageCount = 100; // 取100次有效值
if(i < calibrateCount){
i++;
if(i%calibrateFrequency == calibrateFrequency){
Mag_z_buff[j++] = Gauss_Mag_z;
if(j >= calibrateAverageCount){
i = calibrateCount;
Mag_z_Flag = true;
for(k=0;k<calibrateAverageCount;k++){
origin_mag_z += Mag_z_buff[k];
}
origin_mag_z = origin_mag_z / calibrateAverageCount;
// 校准完成,蓝灯亮,发送给应用端 "CalibrateOK"
BLUE_LED_ON();
memset(buff,0x00,sizeof(buff));
sprintf(buff,"angle:%s","CalibrateOK");
ESP8266_send_data(buff,strlen(buff));
}
}
}
// 先挂载,再send
hdc_std shell mount -oremount,rw /
hdc_std file send libtcpserverapi.z.so system/lib/module/libtcpserverapi.z.so
import tcpserverapi from '@ohos.tcpserverapi'
// 调用initServer接口 初始化 TCP 服务器
tcpserverapi.initServer()
// 调用recvMsg 获取并解析Geek_Lite_Board开发板发送过来的角度
tcpserverapi.recvMsg().then((result) => {
var resultAngle = result.angle;
})
Flex(options?: { direction?: FlexDirection, wrap?: FlexWrap, justifyContent?: FlexAlign, alignItems?: ItemAlign, alignContent?: FlexAlign })
aboutToAppear() {
var intervalID = setInterval(() => {
tcpserverapi.recvMsg().then((result) => {
}
}
}
if (resultMetal.match("metal:")) {
this.metal = resultMetal.slice(6);
console.info('=======' + this.metal)
if (this.metal === 'Detected') {
this.detectionState = '发现金属';
this.detection = $r("app.media.img_detected");
this.isDisplay = false;
}
else if (this.metal === 'UnDetected' || this.metal ==='CalibrateOK') {
this.detectionState = '检测中';
this.detection = $r("app.media.img_detecting");
this.isDisplay = true;
}
}
import media from '@ohos.multimedia.media';
// OH media对象
private player = media.createAudioPlayer();
play():void
四、总结
五、参考链接
边栏推荐
- dsPIC33EP 时钟初始化程序
- Web Components
- Web Security
- 2022 t elevator repair operation certificate examination questions and answers
- websocket
- 2021 Shandong provincial competition question bank topic capture
- 中职组网络安全2021年江苏省省赛题目5套题目环境+解析全有需要的私信我
- 使用GBase 8c数据库过程中报错:80000502,Cluster:%s is busy,是怎么回事?
- 基于昇腾AI丨爱笔智能推出银行网点数字化解决方案,实现从总部到网点的信息数字化全覆盖
- How to close the log window in vray5.2
猜你喜欢
Talk about the understanding of fault tolerance mechanism and state consistency in Flink framework
2022年危险化学品经营单位主要负责人特种作业证考试题库及答案
一次edu证书站的挖掘
赛克瑞浦动力电池首台产品正式下线
Broyage · fusion | savoir que le site officiel de chuangyu mobile end est en ligne et commencer le voyage de sécurité numérique!
2022年T电梯修理操作证考试题及答案
Based on shengteng AI Aibi intelligence, we launched a digital solution for bank outlets to achieve full digital coverage of information from headquarters to outlets
LSTM applied to MNIST dataset classification (compared with CNN)
第五届 Polkadot Hackathon 创业大赛全程回顾,获胜项目揭秘!
[vite] 1371 - develop vite plug-ins by hand
随机推荐
9、 Disk management
websocket
flex4 和 flex3 combox 下拉框长度的解决办法
在C# 中实现上升沿,并模仿PLC环境验证 If 语句使用上升沿和不使用上升沿的不同
[JS] extract the scores in the string, calculate the average score after summarizing, compare with each score, and output
Node の MongoDB Driver
A mining of edu certificate station
PWA (Progressive Web App)
括号匹配问题(STL)
Implement the rising edge in C #, and simulate the PLC environment to verify the difference between if statement using the rising edge and not using the rising edge
基于昇腾AI丨以萨技术推出视频图像全目标结构化解决方案,达到业界领先水平
Nuxt//
Solution to the length of flex4 and Flex3 combox drop-down box
Go-3-the first go program
跨页面通讯
Bracket matching problem (STL)
2022 t elevator repair operation certificate examination questions and answers
[vite] 1371 - develop vite plug-ins by hand
数据类型 ntext 和 varchar 在not equal to 运算符中不兼容 -九五小庞
第五届 Polkadot Hackathon 创业大赛全程回顾,获胜项目揭秘!