主人在调教室性调教女仆游戏,青青草无码视频,成人精品老熟妇一区二区,男的把女的操喷水的网站

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁>
電子資訊>
技術(shù)專題>
在貓砂項(xiàng)目中稱重模塊...

技術(shù)專題

在貓砂項(xiàng)目中稱重模塊的調(diào)試過程


主控芯片:STM32F103RCT6
編程軟件:keil5;sourseinsight4
串口調(diào)試工具:XCOM V2.5

稱重傳感器:HX711

1.稱重模塊的校準(zhǔn)模式

使用標(biāo)準(zhǔn)10kg砝碼進(jìn)行校準(zhǔn),每隔30ms采集一次ad值,一共采集20個(gè)數(shù)據(jù),利用冒泡排序取數(shù)值大小中間的4個(gè)數(shù)據(jù),取其平均值,帶入計(jì)算公式(1) ,得到其稱重比例系數(shù)mWeightCoe,將其寫入空閑的flash當(dāng)中,多次使用砝碼驗(yàn)證過后保存最佳值,最佳值會(huì)根據(jù)稱重模塊各有不同。

1)計(jì)算公式:
C=A/(D-B)C=A/(D?B)

實(shí)際重量

初始ad

稱重系數(shù)

校準(zhǔn)ad

weight( A )

mZeroAdj( B )

mWeightCoe( C )

countD

void adjust_weight(u16 weight){

int i=0;

u32 count=0,sum=0;

float w = weight*1000;

u32 countArray[20]={0};

for(i=0; i<20;i++)

{

delay_ms(30);

countArray[i] =HX711_Read_AD();

}

arrsort(countArray,20);//冒泡排序

//去掉8個(gè)最大的和8個(gè)最小的

for(i=8;i<12;i++){

sum+=countArray[i];

}

myfree(countArray);

count = sum/4;

printf("count:%d\n",count);

mWeightCoe = w/(count-mZeroAdj);

printf("mWeightCoe:%f Read_Weight:%d\n",mWeightCoe,HX711_Read_Weight()); 

STMFLASH_Write(INFO_FLASH_ADDR, (u16*)&mWeightCoe, 2);}

2.稱重模塊的工作模式

由于本項(xiàng)目要求使用紅外傳感器HC_SR501來感應(yīng)貓的進(jìn)入作為安全機(jī)制,而此模塊需要有1分鐘左右的初始化時(shí)間,因此在代碼中有一個(gè)屏蔽紅外的標(biāo)志量以及一個(gè)800毫秒的延時(shí)。
而稱重部分考慮到貓作為一個(gè)活物所以判斷條件是以3稱重都大于500g(不含貓砂)判斷貓的進(jìn)入,3稱重小于500g(不含貓砂)判斷貓的離開,同時(shí)能稱出貓的體重以及貓屎的重量。貓的體重由于考慮到貓的活動(dòng),所以利用方差選取相對(duì)平穩(wěn)的體重作為貓的真實(shí)體重。

void weight_task(void * p_arg){

////////重量(g///////

int a_weight=0;

int b_weight=0;

int c_weight=0;

int fangcha;

OS_ERR err;

//////int類型重量///////

u32 time_num= 0;

 

while(1)

{

///計(jì)時(shí)60s左右屏蔽人體紅外熱釋電初始化///

if(time_num<=80)

{

time_num++;

}

if(time_num>80)

{

mDeviceStatus.infrareCatWork=1;

}

 

if(mDeviceStatus.workingStatus==WORKING_IDLE){

c_weight = b_weight;

b_weight = a_weight;

a_weight = HX711_Read_Weight_2();

if(a_weight<-800)

{

mDeviceStatus.potStatus=1;//盆在

}else{

mDeviceStatus.potStatus=0;//盆不在

}

if(mDeviceStatus.catWeightStatus ==WEIGHT_OUT &&

 (a_weight > mDeviceStatus.litterWeight + 500 && 

 b_weight > mDeviceStatus.litterWeight + 500&&

 c_weight > mDeviceStatus.litterWeight + 500))

{

mDeviceStatus.catWeightStatus=WEIGHT_IN;

printf("貓進(jìn)入\n");

mDeviceStatus.poopTime=0;

OSTmrStart(&poop_time, &err);

}

if(mDeviceStatus.catWeightStatus==WEIGHT_IN){

fangcha = pow(a_weight-b_weight,2)+pow(a_weight-c_weight,2)+pow(b_weight-c_weight,2);

if(fangcha<50){

Cat_In_Weight= b_weight - mDeviceStatus.litterWeight;

printf("貓重:%d\n",Cat_In_Weight);

}

}

if(mDeviceStatus.catWeightStatus==WEIGHT_IN &&

(a_weight < mDeviceStatus.litterWeight + 500 &&

b_weight < mDeviceStatus.litterWeight + 500&&

c_weight < mDeviceStatus.litterWeight + 500)){

mDeviceStatus.catWeightStatus = WEIGHT_OUT;

if(a_weight>mDeviceStatus.litterWeight)

mDeviceStatus.poopWeight = a_weight - mDeviceStatus.litterWeight;

else

mDeviceStatus.poopWeight=0;


OSTmrStart(&cat_out_wait,&err);//去鏟屎

OSTmrStop(&poop_time,OS_OPT_TMR_NONE,0,&err);

printf("貓離開,如廁時(shí)長%.1f 屎重:%d\n",mDeviceStatus.poopTime,mDeviceStatus.poopWeight);

}

}else{

delay_ms(800);

}

}}

 




請輸入搜索關(guān)鍵字

確定
操小屄日韩无码| 最新影片內容视频网站!| 亚洲人成网站18禁止大| 国产一区视频在线观看的| 嗯嗯啊啊好大好深的视频| 欧美精品成人V高清视频| 亚洲国产电影一区二区三区| 久久国产欧美国日产精品| 欧美日韩v在线视频免费| 大屁股熟女一区二区视频| 亚洲精品第四页中文字幕| AV永久天堂网| 啊,不要快操我视频内射| 国产日逼色黄股眼大学屁| 啊嗯干骚逼视频| 小萝莉小嫩逼被操的视频| 把女生操的嗷嗷叫的视频| 挤原神美女奶子| 亚洲av欧美一区二区三区| 日韩国产二三区精品视频| 国产一区二区久久久裸臀| 超97在线观看精品国产| 国产精品免费视频第一页| 亚洲自拍第一页另类视频 | 韩国成人免费a级黄毛片| 精品久久久人妻中文免费| 黑森林国产在线导航一区| 老司机午夜福利Av无码| 国产精品视频在一区鲁鲁| yy6080久久亚洲精品| 男人大鸡巴操女人的大逼| 精品精品国产高清A毛片| 两性视频男人桶女人视频| 色色肥婆黄色网| 老女人e片 老女人视频| 被室友操射了,免费视频| 日韩欧美一区二区成人舌头| 激情摸胸插进去艹逼视频| 欧美aaaaa一级黄片| 久久久中文字幕日本无吗| av嫩草影院网|