0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

自適應(yīng)曲線縮放傳感器顯示終端

我快閉嘴 ? 來源:嵌入式應(yīng)用研究院 ? 作者:嵌入式應(yīng)用研究院 ? 2022-09-05 15:02 ? 次閱讀

周末兩天深圳由于疫情開啟了靜默模式,因此沒辦法出去玩耍啦!既然沒法出去,躺平是不可能的,那么,肝起來!此次給大家?guī)淼囊粋€開源項(xiàng)目:自適應(yīng)曲線縮放傳感器顯示終端,廢話不多說,上視頻

這是剛開始做的效果:

新增加功能:

開源倉庫:

https://github.com/Yangyuanxin/QT-Sensor
https://gitee.com/morixinguan/QT-Sensor

獲取方法:

gitclonehttps://github.com/Yangyuanxin/QT-Sensor
gitclonehttps://gitee.com/morixinguan/QT-Sensorg

該項(xiàng)目功能仍不完善,還需持續(xù)維護(hù),敬請期待!

1、上位機(jī)部分

0775fcc0-2c69-11ed-ba43-dac502259ad0.png

078530aa-2c69-11ed-ba43-dac502259ad0.png

項(xiàng)目的上位機(jī)部分采用QT5開發(fā),QT在嵌入式跨平臺應(yīng)用來說真的是YYDS啦,因此界面和邏輯都可以在Window端開發(fā)完成,整體代碼結(jié)構(gòu)如下:

07aad6a2-2c69-11ed-ba43-dac502259ad0.png

最終選擇移植到的是韋東山老師的百問網(wǎng)imx6ull開發(fā)板,通信方式選擇USB虛擬串口來實(shí)現(xiàn),即通過在Linux內(nèi)核中配置虛擬串口,如下圖所示:

07c886b6-2c69-11ed-ba43-dac502259ad0.png

重新編譯內(nèi)核,下載到開發(fā)板后,USB口就可以當(dāng)串口來使用了!具體體現(xiàn)的設(shè)備節(jié)點(diǎn)是:

/dev/ttyUSB0
/dev/ttyACM0
/dev/tty...

我自己的板子上看到的是這樣的:

07fe4f58-2c69-11ed-ba43-dac502259ad0.png

QT的上位機(jī)編寫完成以后需要進(jìn)行交叉編譯,這樣才能夠移植到開發(fā)板上使用,具體步驟參考:

手把手之如何在嵌入式Linux上運(yùn)行QT應(yīng)用程序(以百問網(wǎng)imx6ull開發(fā)板為例)

另外,在使用這個程序的過程中發(fā)現(xiàn)LCD的背光太亮了,于是我就實(shí)現(xiàn)了一個調(diào)節(jié)背光的函數(shù),這樣就可以讓背光降到較為舒適的亮度,具體實(shí)現(xiàn)如下:

intMainWindow::SetBacklight(intLevel)
{
intRet=-1;
FILE*Fp=NULL;
charBuf[10]={0};

Fp=fopen("/sys/class/backlight/backlight/brightness","w");
if(NULL==Fp)
{
printf("fopenbacklightdevfail!
");
return-1;
}

snprintf(Buf,sizeof(Buf),"%d",Level);
Buf[strlen(Buf)]='';

Ret=fwrite(Buf,strlen(Buf)+1,1,Fp);
if(1!=Ret)
{
printf("fwritefail!
");
return-1;
}

fflush(Fp);
fclose(Fp);
Fp=NULL;

return0;
}

背光設(shè)置的亮度設(shè)置為3就可以了,不會因?yàn)槠聊惶炼鴤劬Α?/p>

2、設(shè)備端部分

設(shè)備端采用小熊派開發(fā)平臺+E53傳感器擴(kuò)展板+自定義十六進(jìn)制通信協(xié)議實(shí)現(xiàn)。整體代碼結(jié)構(gòu)如下:

081fa036-2c69-11ed-ba43-dac502259ad0.png

目錄設(shè)計(jì)思路請參考我之前的文章:

開發(fā)者成長激勵計(jì)劃-基于TencentOS Tiny FDM 3D打印機(jī)云控制系統(tǒng)方案

2.1、通信協(xié)議
幀頭 數(shù)據(jù)長度 傳感器類型 數(shù)據(jù)高位 數(shù)據(jù)低位 校驗(yàn)和高位 校驗(yàn)和低位
1 Byte 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte

幀頭:固定為0xAA

數(shù)據(jù)長度:從傳感器模式一直到數(shù)據(jù)低位

傳感器類型:默認(rèn)為0,即為MQ-2氣體傳感器,具體類型如下表所示:

傳感器類型 含義
0 E53_SF1 MQ-2氣體傳感器
1 E53_SC1 Bh750光強(qiáng)傳感器
2 待添加
3 待添加

數(shù)據(jù)高位:(AD_Value &0xFF00) >> 8

數(shù)據(jù)低位:AD_Value &0x00FF

校驗(yàn)和高位:((傳感器模式 + 數(shù)據(jù)高位 + 數(shù)據(jù)低位) &0xFF00) >> 8

校驗(yàn)和低位:(傳感器模式 + 數(shù)據(jù)高位 + 數(shù)據(jù)低位) &0x00FF

設(shè)備端默認(rèn)以100ms頻率上報。

2.2、結(jié)構(gòu)體定義與數(shù)據(jù)打包
2.2.1、結(jié)構(gòu)體定義
typedefstructSensorProtocol
{
uint8_tFrameHeader;//幀頭
uint8_tLength;//數(shù)據(jù)長度
uint8_tType;//傳感器類型
uint8_tValueHBit;//數(shù)據(jù)高位
uint8_tValueLBit;//數(shù)據(jù)低位
uint8_tChecksumHBit;//校驗(yàn)和高位
uint8_tChecksumLBit;//校驗(yàn)和低位
}SensorProtocol;
SensorProtocolProtocol;
2.2.2、數(shù)據(jù)打包
voidSensorProcolPacket(uint8_tType,uint16_tval)
{
Protocol.FrameHeader=0xAA;
Protocol.Length=sizeof(Protocol.Type)+
sizeof(Protocol.ValueHBit)+
sizeof(Protocol.ValueLBit);
Protocol.Type=Type;
Protocol.ValueHBit=(val&0xFF00)>>8;
Protocol.ValueLBit=val&0x00FF;
Protocol.ChecksumHBit=((Protocol.Type+
Protocol.ValueHBit+
Protocol.ValueLBit)&0xFF00)>>8;
Protocol.ChecksumHBit=(Protocol.Type+
Protocol.ValueHBit+
Protocol.ValueLBit)&0x00FF;
}

目前設(shè)備端僅支持E53_SF1(MQ-2氣體傳感器)以及E53_SC1(光強(qiáng)傳感器),后續(xù)待持續(xù)添加。

后續(xù),請持續(xù)關(guān)注Git倉庫,敬請期待,好了,我要繼續(xù)干活了!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2541

    文章

    49935

    瀏覽量

    747419
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3124

    瀏覽量

    42067
  • Qt
    Qt
    +關(guān)注

    關(guān)注

    1

    文章

    300

    瀏覽量

    37596

原文標(biāo)題:開源項(xiàng)目-十六進(jìn)制協(xié)議傳感器自適應(yīng)縮放曲線顯示終端(百問網(wǎng)imx6ull & 小熊派結(jié)合)

文章出處:【微信號:嵌入式應(yīng)用研究院,微信公眾號:嵌入式應(yīng)用研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    圖片和顯示框分別自適應(yīng)縮放

    兩種情況:顯示框大小不變,自動縮放圖片顯示框隨著圖片的大小顯示
    發(fā)表于 03-23 12:03

    自適應(yīng)數(shù)字傳感器設(shè)計(jì)

    試驗(yàn)結(jié)果及結(jié)論振動實(shí)驗(yàn)測試數(shù)據(jù)結(jié)果如表2所示。結(jié)果分析:(1)當(dāng)被測加速度傳感器輸出電壓信號在10 mV以下時,萬用表無法顯示實(shí)際電壓信號。而自適應(yīng)數(shù)字傳感器能夠完整地測得試驗(yàn)數(shù)據(jù)。
    發(fā)表于 11-08 16:23

    基于LMS自適應(yīng)噪聲抵消法的無位置傳感器研究

    反電動勢而獲得過零點(diǎn)進(jìn)行位置檢測?! ?設(shè)計(jì)原理  1.1 自適應(yīng)噪聲基本原理  信號源被傳送到信號傳感器,會附加不相關(guān)的噪聲n(k),合并的信號為y(k)=s(k)+n(k)進(jìn)入抵消。噪聲
    發(fā)表于 11-14 14:57

    自適應(yīng)可變磁阻傳感器LM1815的下載資料推薦

    自適應(yīng)可變磁阻傳感器LM1815的資料下載內(nèi)容包括:LM1815引腳功能和內(nèi)部方框圖LM1815典型應(yīng)用電路
    發(fā)表于 03-22 06:32

    LabVIEW開發(fā)自適應(yīng)降噪ANC

    )+v1(n),從s(n)+v1(n)刪除v1(n),可以使用自適應(yīng)過濾器。 首先,必須使用傳感器來僅獲取噴氣發(fā)動機(jī)噪聲v2(n),并將此信號送到自適應(yīng)濾波。如果s(n)與噴氣發(fā)動機(jī)
    發(fā)表于 11-30 19:38

    傳感器特性曲線自適應(yīng)分段最佳擬合及應(yīng)用

    為了減小傳感器的非線性誤差問題,提出了一種傳感器的非線性傳輸曲線自適應(yīng)分段最佳逼近擬合方法, 介紹了該方法的數(shù)學(xué)模型和應(yīng)用實(shí)例,實(shí)驗(yàn)結(jié)果表明, 應(yīng)用本方法, 使
    發(fā)表于 06-22 13:24 ?37次下載

    稱重傳感器自適應(yīng)動態(tài)補(bǔ)償設(shè)計(jì)

    為滿足快速稱重的要求,采用一種簡單的跟蹤參考序列的模型參考自適應(yīng)方案,設(shè)計(jì)出一種新型的稱重傳感器自適應(yīng)動態(tài)補(bǔ)償. 仿真表明,有效地提高了稱重傳感器
    發(fā)表于 07-03 08:42 ?28次下載

    傳感器在線自適應(yīng)加權(quán)融合跟蹤算法

    針對多傳感器機(jī)動目標(biāo)的跟蹤問題, 提出了一種多傳感器在線自適應(yīng)加權(quán)融合跟蹤算法Z該算法依據(jù)估計(jì)的各傳感器的方差的變化, 及時調(diào)整參與融合的各傳感器
    發(fā)表于 07-04 08:54 ?16次下載

    稱重傳感器自適應(yīng)補(bǔ)償器的設(shè)計(jì)

    為適合快速稱重的要求,采用一種簡單的跟蹤參考序列的模型參考自適應(yīng)方案,設(shè)計(jì)出一種新型的稱重傳感器自適應(yīng)動態(tài)補(bǔ)償,仿真結(jié)果,該補(bǔ)償有效的提
    發(fā)表于 07-09 13:29 ?22次下載

    自適應(yīng)可變磁阻傳感器放大器及其應(yīng)用

    自適應(yīng)可變磁阻傳感器放大器及其應(yīng)用 LM1815是省略門電路的自適應(yīng)傳感放大器,適用于馬達(dá)控制。LM1
    發(fā)表于 02-08 23:16 ?848次閱讀
    <b class='flag-5'>自適應(yīng)</b>可變磁阻<b class='flag-5'>傳感器</b>放大器及其應(yīng)用

    基于低能耗自適應(yīng)的水下傳感器網(wǎng)絡(luò)定位算法

    基于低能耗自適應(yīng)的水下傳感器網(wǎng)絡(luò)定位算法_張敏
    發(fā)表于 01-03 17:41 ?1次下載

    基于自適應(yīng)滑模觀測的永磁同步電機(jī)無位置傳感器控制

    基于自適應(yīng)滑模觀測的永磁同步電機(jī)無位置傳感器控制_陳煒
    發(fā)表于 01-05 15:34 ?22次下載

    無線傳感器網(wǎng)絡(luò)的系統(tǒng)化自適應(yīng)建模_鐘杰卓

    無線傳感器網(wǎng)絡(luò)的系統(tǒng)化自適應(yīng)建模_鐘杰卓
    發(fā)表于 01-08 10:47 ?0次下載

    基于無源傳感器協(xié)同的機(jī)載雷達(dá)自適應(yīng)輻射控制算法_戴春亮

    基于無源傳感器協(xié)同的機(jī)載雷達(dá)自適應(yīng)輻射控制算法_戴春亮
    發(fā)表于 01-08 10:57 ?0次下載

    基于自適應(yīng)曝光的CMOS圖像傳感器的設(shè)計(jì)與實(shí)現(xiàn)

    關(guān)鍵詞:CMOS , 圖像傳感器 從硬件結(jié)構(gòu)、曝光策略和模擬結(jié)果入手,在傳統(tǒng)滾筒式曝光基礎(chǔ)上,通過對用戶設(shè)定區(qū)域像素飽和值的統(tǒng)計(jì)和曝光時間選擇算法,提出了一種CMOS圖像傳感器大動態(tài)范圍自適應(yīng)曝光
    發(fā)表于 02-14 14:37 ?464次閱讀