在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

泳池深度計DIY圖解

454398 ? 來源:wv ? 2019-09-04 10:42 ? 次閱讀

步驟1:設(shè)備背后的理論

我們生活在空氣的海底。這里的壓力約為1020hPa(百帕斯卡),因?yàn)榭諝庵诖诵纬傻目臻g重量約為每平方厘米1千克。

水的密度要高得多,因?yàn)?升空氣重約1.2克,1升水1千克,即約800倍。因此,當(dāng)每8米高度的氣壓下降約1hPa時,水面下每厘米的壓力增益為1hPa。在約10米的深度,壓力為2000hPa,或兩個大氣壓。

此處使用的壓力傳感器的測量范圍介于750和1500 hPa之間,分辨率約為1 hPa。這意味著我們可以在大約1厘米的分辨率下測量高達(dá)5米的深度。

該設(shè)備將是Boyle Marriotte型深度計。它的組裝非常簡單,將在后面的步驟中介紹。傳感器使用I2C協(xié)議,因此micro:bit的邊緣連接器非常方便。最關(guān)鍵的部分是防水袋,因?yàn)槿魏螡穸榷紩p壞微型鉆頭,傳感器或電池。由于一些空氣將被困在袋內(nèi),增加重量有助于補(bǔ)償浮力。

步驟2:使用設(shè)備

腳本,詳細(xì)信息如圖所示在后面的步驟中,是我之前為壓力計開發(fā)的腳本的變體。要測試設(shè)備,您可以使用那里描述的簡單壓力室。

對于潛水目的,它顯示以壓力測量計算的深度,以20 cm步長的條形圖或根據(jù)要求以數(shù)字顯示。

使用微型按鈕A :位,您將當(dāng)前壓力設(shè)置為參考壓力值。要確認(rèn)輸入,矩陣會閃爍一次。

您可以使用它來查看潛水的深度,或記錄您潛水的深度。

在第一種情況下,將當(dāng)前的外部氣壓設(shè)置為參考。在第二種情況下,將壓力設(shè)置在最深處,作為壓力參考,然后可以顯示當(dāng)您回到地面時的深度。

按鈕B顯示根據(jù)壓差計算的深度,以米為單位的數(shù)值。

第3步:所需材料

微觀:位。例如。 Pimoroni UK/DE以13英鎊/16歐元計算。

邊緣連接器(Kitronic或Pimoroni),5英鎊。我使用了Kitronic版本。

BMP/BME280傳感器。我使用Banggood的BMP280傳感器,三個單元4.33歐元。

連接傳感器和邊緣連接器的跳線。

上面邊緣連接器/傳感器組合的一個很好的替代品可能是Pimoroni enviro:bit(現(xiàn)在未經(jīng)測試,請參見最后一步)。

用于micro:bit的電池組或LiPo。

帶開關(guān)的電源線(可選但有幫助) )。

明確的防水袋。我使用硅膠袋作為手機(jī)和一個或兩個小拉鏈袋。

確保材料足夠厚,因此邊緣連接器上的針腳不會損壞袋子。

一些重量。我使用了用于釣魚的鉛塊。

Arduino IDE和幾個庫。

第4步:匯編

安裝Arduino IDE和所需的庫。詳細(xì)信息在此處描述。

(MakeCode腳本不需要。)

給定使用Kitronik邊緣連接器,將引腳連接到I2C端口19和20.

這不是必需的用于Pimoroni邊緣連接器。

將傳感器的接頭焊接到傳感器上,并使用跨接電纜連接傳感器和邊緣連接器。

將VCC連接到3V,GND連接到0 V,SCL連接到端口19,SDA連接到端口20.

或者將電纜直接焊接到分支。

通過USB電纜將micro:bit連接到我們的計算機(jī)。

打開提供的腳本并將其閃存到micro:bit。

使用串行監(jiān)視器或繪圖儀,檢查傳感器是否提供合理的數(shù)據(jù)。

從計算機(jī)上斷開micro:位。

將電池或LiPo連接到micro:位。

按下按鈕B,讀取值

按下按鈕A.

按下按鈕B,讀取數(shù)值。

將設(shè)備放在兩層密封袋中,袋中只留下很少的空氣。

如果放置重物以補(bǔ)償浮力。

檢查一切是否都是水密的。

前往游泳池玩游戲。

第5步:MicroPython腳本

腳本只需從中獲取壓力值傳感器,將其與參考值進(jìn)行比較,然后根據(jù)差值計算深度。為了將值顯示為條形圖,采用深度值的整數(shù)和余數(shù)部分。第一個確定線的高度。其余部分分成五個箱子,它們確定了欄桿的長度。頂層為0 - 1 m,最低4 - 5 m。

如前所述,按下按鈕A設(shè)置參考壓力,按鈕B顯示“相對深度”,以米為單位,顯示為數(shù)值。到目前為止,負(fù)值和正值以相同的方式顯示在LED矩陣上的條形圖。

您可以根據(jù)需要隨意優(yōu)化腳本。您可以取消靜音某些行以在Arduino IDE的串行監(jiān)視器或繪圖儀上顯示值。要模擬該功能,您可以構(gòu)建我在之前的instructable中描述的設(shè)備。

我沒有寫過讀取傳感器的腳本部分。我不確定來源,但我要感謝autors。歡迎任何更正或優(yōu)化提示。

#include

#include

Adafruit_Microbit_Matrix microbit;

#define BME280_ADDRESS 0x76

unsigned long int hum_raw,temp_raw,pres_raw;

signed long int t_fine;

uint16_t dig_T1;

int16_t dig_T2;

int16_t dig_T3;

uint16_t dig_P1;

int16_t dig_P2;

int16_t dig_P3;

int16_t dig_P4;

int16_t dig_P5;

int16_t dig_P6;

int16_t dig_P7;

int16_t dig_P8;

int16_t dig_P9;

int8_t dig_H1;

int16_t dig_H2;

int8_t dig_H3;

int16_t dig_H4;

int16_t dig_H5;

int8_t dig_H6;

double press_norm = 1015; // a starting value

double depth; // calculated depth

//--------------------------------------------------------------------------------------------------------------------

void setup()

{

uint8_t osrs_t = 1; //Temperature oversampling x 1

uint8_t osrs_p = 1; //Pressure oversampling x 1

uint8_t osrs_h = 1; //Humidity oversampling x 1

uint8_t mode = 3; //Normal mode

uint8_t t_sb = 5; //Tstandby 1000ms

uint8_t filter = 0; //Filter off

uint8_t spi3w_en = 0; //3-wire SPI Disable

uint8_t ctrl_meas_reg = (osrs_t 《《 5) | (osrs_p 《《 2) | mode;

uint8_t config_reg = (t_sb 《《 5) | (filter 《《 2) | spi3w_en;

uint8_t ctrl_hum_reg = osrs_h;

pinMode(PIN_BUTTON_A, INPUT);

pinMode(PIN_BUTTON_B, INPUT);

Serial.begin(9600); // set serial port speed

Serial.print(“Pressure [hPa] ”); // header for serial output

Wire.begin();

writeReg(0xF2,ctrl_hum_reg);

writeReg(0xF4,ctrl_meas_reg);

writeReg(0xF5,config_reg);

readTrim(); //

microbit.begin();

// microbit.print(“x”);

delay (1000);

}

//---------------------------------------------------------------------------------------------

void loop()

{

double temp_act = 0.0, press_act = 0.0, hum_act=0.0;

signed long int temp_cal;

unsigned long int press_cal, hum_cal;

int N;

int M;

double press_delta; // relative pressure

int depth_m; // depth in meters, integer part

double depth_cm; // remainder in cm

readData();

// temp_cal = calibration_T(temp_raw);

press_cal = calibration_P(pres_raw);

// hum_cal = calibration_H(hum_raw);

// temp_act = (double)temp_cal / 100.0;

press_act = (double)press_cal / 100.0;

// hum_act = (double)hum_cal / 1024.0;

microbit.clear(); //reset LED matrix

// Button A sets actual value as reference (P zero)

// Button B display current value as depth in meters (calculated from pressure difference)

if (! digitalRead(PIN_BUTTON_A)) {

// set normal air pressure as zero

press_norm = press_act;

// microbit.print(“P0: ”);

// microbit.print(press_norm,0);

// microbit.print(“ hPa”);

microbit.fillScreen(LED_ON); // blink once to confirm

delay (100);

}else if (! digitalRead(PIN_BUTTON_B)) {

// display depth in meters

microbit.print(depth,2);

microbit.print(“m”);

// Serial.println(“”);

}else{

// calculate depth from pressure difference

press_delta = (press_act - press_norm); // calculate relative pressure

depth = (press_delta/100); // depth in meters

depth_m = int(abs(depth)); // depth im meters

depth_cm = (abs(depth) - depth_m); // remainder

/* // used for development

Serial.println(depth);

Serial.println(depth_m );

Serial.println(depth_cm);

*/

// Steps for bargraph

if (depth_cm 》 0.8){ // set length of bars

(N=4);

} else if (depth_cm 》 0.6){

(N=3);

} else if (depth_cm 》 0.4){

(N=2);

} else if (depth_cm 》 0.2){

(N=1);

} else {

(N=0);

} if (depth_m == 4){ // set level == meter

(M=4);

} else if (depth_m == 3){

(M=3);

} else if (depth_m == 2){

(M=2);

} else if (depth_m == 1){

(M=1);

} else {

(M=0); // upper row

}

/* // used for development purposes

Serial.print(“m: ”);

Serial.println(depth_m);

Serial.print(“cm: ”);

Serial.println(depth_cm);

Serial.print(“M: ”); Serial.println(M); // for development purposes

Serial.print(“N: ”); Serial.println(N); // for development purposes

delay(500);

*/

// draw bargraph

microbit.drawLine(0, M, N, M, LED_ON);

} // send value to serial port for plotter

Serial.print(press_delta);

// draw indicator lines and fix displayed range

Serial.print(“ ”); Serial.print(0);

Serial.print(“ ”); Serial.print(-500);

Serial.print(“ ”); Serial.println(500);

delay(500); // Measure twice a second

}

//-----------------------------------------------------------------------------------------------------------------------------------------------------

// the following is required for the bmp/bme280 sensor,keep as it is

void readTrim()

{

uint8_t data[32],i=0; // Fix 2014/04/06

Wire.beginTransmission(BME280_ADDRESS);

Wire.write(0x88);

Wire.endTransmission();

Wire.requestFrom(BME280_ADDRESS,24); // Fix 2014/04/06

while(Wire.available()){

data[i] = Wire.read();

i++;

}

Wire.beginTransmission(BME280_ADDRESS); // Add 2014/04/06

Wire.write(0xA1); // Add 2014/04/06

Wire.endTransmission(); // Add 2014/04/06

Wire.requestFrom(BME280_ADDRESS,1); // Add 2014/04/06

data[i] = Wire.read(); // Add 2014/04/06

i++; // Add 2014/04/06

Wire.beginTransmission(BME280_ADDRESS);

Wire.write(0xE1);

Wire.endTransmission();

Wire.requestFrom(BME280_ADDRESS,7); // Fix 2014/04/06

while(Wire.available()){

data[i] = Wire.read();

i++;

}

dig_T1 = (data[1] 《《 8) | data[0];

dig_P1 = (data[7] 《《 8) | data[6];

dig_P2 = (data[9] 《《 8) | data[8];

dig_P3 = (data[11]《《 8) | data[10];

dig_P4 = (data[13]《《 8) | data[12];

dig_P5 = (data[15]《《 8) | data[14];

dig_P6 = (data[17]《《 8) | data[16];

dig_P7 = (data[19]《《 8) | data[18];

dig_T2 = (data[3] 《《 8) | data[2];

dig_T3 = (data[5] 《《 8) | data[4];

dig_P8 = (data[21]《《 8) | data[20];

dig_P9 = (data[23]《《 8) | data[22];

dig_H1 = data[24];

dig_H2 = (data[26]《《 8) | data[25];

dig_H3 = data[27];

dig_H4 = (data[28]《《 4) | (0x0F & data[29]);

dig_H5 = (data[30] 《《 4) | ((data[29] 》》 4) & 0x0F); // Fix 2014/04/06

dig_H6 = data[31]; // Fix 2014/04/06

}

void writeReg(uint8_t reg_address, uint8_t data)

{

Wire.beginTransmission(BME280_ADDRESS);

Wire.write(reg_address);

Wire.write(data);

Wire.endTransmission();

}

void readData()

{

int i = 0;

uint32_t data[8];

Wire.beginTransmission(BME280_ADDRESS);

Wire.write(0xF7);

Wire.endTransmission();

Wire.requestFrom(BME280_ADDRESS,8);

while(Wire.available()){

data[i] = Wire.read();

i++;

}

pres_raw = (data[0] 《《 12) | (data[1] 《《 4) | (data[2] 》》 4);

temp_raw = (data[3] 《《 12) | (data[4] 《《 4) | (data[5] 》》 4);

hum_raw = (data[6] 《《 8) | data[7];

}

signed long int calibration_T(signed long int adc_T)

{

signed long int var1, var2, T;

var1 = ((((adc_T 》》 3) - ((signed long int)dig_T1《《1))) * ((signed long int)dig_T2)) 》》 11;

var2 = (((((adc_T 》》 4) - ((signed long int)dig_T1)) * ((adc_T》》4) - ((signed long int)dig_T1))) 》》 12) * ((signed long int)dig_T3)) 》》 14;

t_fine = var1 + var2;

T = (t_fine * 5 + 128) 》》 8;

return T;

}

unsigned long int calibration_P(signed long int adc_P)

{

signed long int var1, var2;

unsigned long int P;

var1 = (((signed long int)t_fine)》》1) - (signed long int)64000;

var2 = (((var1》》2) * (var1》》2)) 》》 11) * ((signed long int)dig_P6);

var2 = var2 + ((var1*((signed long int)dig_P5))《《1);

var2 = (var2》》2)+(((signed long int)dig_P4)《《16);

var1 = (((dig_P3 * (((var1》》2)*(var1》》2)) 》》 13)) 》》3) + ((((signed long int)dig_P2) * var1)》》1))》》18;

var1 = ((((32768+var1))*((signed long int)dig_P1))》》15);

if (var1 == 0)

{

return 0;

}

P = (((unsigned long int)(((signed long int)1048576)-adc_P)-(var2》》12)))*3125;

if(P《0x80000000)

{

P = (P 《《 1) / ((unsigned long int) var1);

}

else

{

P = (P / (unsigned long int)var1) * 2;

}

var1 = (((signed long int)dig_P9) * ((signed long int)(((P》》3) * (P》》3))》》13)))》》12;

var2 = (((signed long int)(P》》2)) * ((signed long int)dig_P8))》》13;

P = (unsigned long int)((signed long int)P + ((var1 + var2 + dig_P7) 》》 4));

return P;

}

unsigned long int calibration_H(signed long int adc_H)

{

signed long int v_x1;

v_x1 = (t_fine - ((signed long int)76800));

v_x1 = (((((adc_H 《《 14) -(((signed long int)dig_H4) 《《 20) - (((signed long int)dig_H5) * v_x1)) +

((signed long int)16384)) 》》 15) * (((((((v_x1 * ((signed long int)dig_H6)) 》》 10) *

(((v_x1 * ((signed long int)dig_H3)) 》》 11) + ((signed long int) 32768))) 》》 10) + (( signed long int)2097152)) *

((signed long int) dig_H2) + 8192) 》》 14));

v_x1 = (v_x1 - (((((v_x1 》》 15) * (v_x1 》》 15)) 》》 7) * ((signed long int)dig_H1)) 》》 4));

v_x1 = (v_x1 《 0 ? 0 : v_x1);

v_x1 = (v_x1 》 419430400 ? 419430400 : v_x1);

return (unsigned long int)(v_x1 》》 12);

步驟6:主要簡化:MakeCode/JavaScript代碼

2018年5月,Pimoroni發(fā)布了enviro:bit,它帶有BME280壓力/濕度/溫度傳感器,TCS3472光和顏色傳感器以及MEMS麥克風(fēng)。此外,他們還為MakeCode編輯器提供了一個JavaScript庫,為這些傳感器提供了一個MicroPython庫。

我一直在使用他們的MakeCode庫為我的設(shè)備開發(fā)腳本。附上你找到相應(yīng)的十六進(jìn)制文件,你可以直接復(fù)制到你的micro:bit。

下面你會找到相應(yīng)的JavaScript代碼。池中的測試與早期版本的腳本運(yùn)行良好,所以我認(rèn)為它們也可以正常工作。除了基本的條形圖版本外,還有一個十字準(zhǔn)線版本(X)和一個L版本,旨在使閱讀更容易,特別是在光線不足的情況下。選擇你喜歡的那個。

let Column = 0

let Meter = 0

let remain = 0

let Row = 0

let Delta = 0

let Ref = 0

let Is = 0

Is = 1012

basic.showLeds(`

# # # # #

# 。 . 。 #

# 。 # 。 #

# 。 . 。 #

# # # # #

`)

Ref = 1180

basic.clearScreen()

basic.forever(() =》 {

basic.clearScreen()

if (input.buttonIsPressed(Button.A)) {

Ref = envirobit.getPressure()

basic.showLeds(`

# 。 # 。 #

。 # 。 # 。

# # # # #

。 # 。 # 。

# 。 # 。 #

`)

basic.pause(1000)

} else if (input.buttonIsPressed(Button.B)) {

basic.showString(“” + Row + “?!?+ remain + “ m”)

basic.pause(200)

basic.clearScreen()

} else {

Is = envirobit.getPressure()

Delta = Is - Ref

Meter = Math.abs(Delta)

if (Meter 》= 400) {

Row = 4

} else if (Meter 》= 300) {

Row = 3

} else if (Meter 》= 200) {

Row = 2

} else if (Meter 》= 100) {

Row = 1

} else {

Row = 0

}

remain = Meter - Row * 100

if (remain 》= 80) {

Column = 4

} else if (remain 》= 60) {

Column = 3

} else if (remain 》= 40) {

Column = 2

} else if (remain 》= 20) {

Column = 1

} else {

Column = 0

}

for (let ColA = 0; ColA 《= Column; ColA++) {

led.plot(ColA, Row)

}

basic.pause(500)

}

})

第7步:Enviro:位版本

與此同時,我收到了enviro:bit(20 GBP)和power:bit(6 GBP),來自Pimoroni。

如前所述,enviro:bit配有BME280壓力,濕度和溫度傳感器,還有光和顏色傳感器(參見此處的應(yīng)用)和MEMS麥克風(fēng)。

power:bit是一個很好的解決方案,可以為micro:bit供電,并帶有一個開/關(guān)開關(guān)。

最棒的是它只是點(diǎn)擊和使用,沒有焊接,電纜,面包板。

將enviro:bit添加到micro:bit,將代碼加載到micro:bit,使用它。

在這種情況下,我使用micro,power和enviro:bit,將它們放在一個Ziploc包中,放在一個透明的防水塑料袋中,用于手機(jī),準(zhǔn)備就緒。一個非??焖俸驼麧嵉慕鉀Q方案。看圖片。開關(guān)足夠大,可以通過保護(hù)層使用。

它已經(jīng)在水中進(jìn)行了測試,運(yùn)行良好。在約1.8米的深度處,測量值約為1.7米。對于快速廉價的解決方案來說并不算太糟糕,但遠(yuǎn)非完美。調(diào)整需要一段時間,因此您可能需要在一定深度停留約10-15秒。

步驟8:電纜和傳感器探頭版本

這實(shí)際上是第一個想法a。用于微型:位深度計,最后要構(gòu)建。

在這里,我將BMP280傳感器焊接到5米長的4線電纜上,并在另一端放置了母跳線。

為了保護(hù)傳感器免受水的侵害,電纜穿過用過的葡萄酒軟木塞。軟木塞的末端用熱膠密封。在我將兩個切口切入軟木塞之前,兩者都在它周圍。然后我將傳感器裝入海綿球中,在其周圍放置一個氣球,并將氣球的末端固定在軟木塞上(下切口)。然后我將3個40克的鉛塊放入第二個氣球中,將其包裹在第一個氣囊周圍,將重物放在外側(cè),并將氣球的末端固定在第二個凹口處。從第二個氣球中取出空氣,然后用膠帶固定所有東西。查看圖片,可能會有更詳細(xì)的圖片。

通過邊緣連接器將跳線連接到micro:bit,打開設(shè)備并設(shè)置參考壓力。然后將傳感器頭緩慢釋放到水池底部(10米跳塔,深約4.5米)。

結(jié)果:

令我驚訝的是,即使使用這根長電纜也能正常工作。另一方面,但毫不奇怪,在較高壓力下測量誤差似乎變得更大,據(jù)報道估計深度為4米,約為3米。

潛在的應(yīng)用程序:

通過一些錯誤修正,該設(shè)備可用于測量深度約為4米。

與Arduino或Raspberry Pi配合使用,可用于測量和控制水池或水箱的灌裝點(diǎn),例如:如果水位高于或低于某些閾值,則發(fā)出警告。

聲明:本文內(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)注

    1

    文章

    677

    瀏覽量

    33035
收藏 人收藏

    評論

    相關(guān)推薦

    泳池機(jī)器人Aiper,從價值鏈高處“游”進(jìn)全球庭院

    一路“游”進(jìn)歐美泳池的Aiper,也將游進(jìn)更廣闊的商業(yè)藍(lán)海
    的頭像 發(fā)表于 01-17 10:03 ?71次閱讀
    <b class='flag-5'>泳池</b>機(jī)器人Aiper,從價值鏈高處“游”進(jìn)全球庭院

    泳池水處理設(shè)備數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案

    行業(yè)背景 隨著全球范圍內(nèi)泳池建設(shè)市場的不斷擴(kuò)大和公眾對水質(zhì)要求的進(jìn)一步提高,泳池水處理設(shè)備行業(yè)迎來了更加廣闊的市場空間。新技術(shù)的不斷涌現(xiàn)和應(yīng)用,如物聯(lián)網(wǎng)技術(shù),使得泳池水處理設(shè)備的遠(yuǎn)程監(jiān)控與管理系統(tǒng)
    的頭像 發(fā)表于 11-04 17:18 ?169次閱讀
    <b class='flag-5'>泳池</b>水處理設(shè)備數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案

    電應(yīng)普泳池清潔機(jī)器人測距/避障傳感器方案

    在炎炎夏日,泳池成為了人們消暑和放松的絕佳場所。然而,要保持泳池的清潔和安全并非易事。
    的頭像 發(fā)表于 10-10 11:51 ?304次閱讀
    電應(yīng)普<b class='flag-5'>泳池</b>清潔機(jī)器人測距/避障傳感器方案

    愛普生SGPM01助力智能泳池清潔機(jī)器人導(dǎo)航方案

    泳池清潔導(dǎo)航方案目前泳池清潔機(jī)器人成為一個新的熱點(diǎn)賽道,許多都在此新領(lǐng)域投入研發(fā),其中主要為曾經(jīng)從事家用掃地機(jī)的相關(guān)公司,因?yàn)?b class='flag-5'>泳池清潔機(jī)器人的智能化與曾經(jīng)的掃地機(jī)器人智能化路徑接近,而且目前還處于
    的頭像 發(fā)表于 09-04 10:34 ?312次閱讀
    愛普生SGPM01助力智能<b class='flag-5'>泳池</b>清潔機(jī)器人導(dǎo)航方案

    KPM12電位# 電位

    電位
    hbhxcg7865
    發(fā)布于 :2024年08月01日 13:55:14

    泳池清潔機(jī)器人的EMC問題整改案例

    隨著社會經(jīng)濟(jì)的發(fā)展和人們生活水平的不斷提高,公眾對文化娛樂設(shè)施提出了更高要求,游泳作為一項(xiàng)健身運(yùn)動受到了越來越多人的歡迎,全球的泳池數(shù)量呈持續(xù)增長態(tài)勢。目前泳池清潔市場仍以人工清潔為主,但隨著未來
    的頭像 發(fā)表于 06-24 14:52 ?1653次閱讀
    <b class='flag-5'>泳池</b>清潔機(jī)器人的EMC問題整改案例

    水下測距傳感器:泳池清潔機(jī)器人精準(zhǔn)定位的必備智能感知“神器”

    奧迪威超聲波水下測距傳感器可發(fā)出1 MHz 超聲波, 測量距離達(dá)8米遠(yuǎn),滿足泳池機(jī)器人水下作業(yè)的巡航避障需求,且能輔助還原水下泳池全貌,助力機(jī)器人智能化升級。
    的頭像 發(fā)表于 05-26 08:00 ?396次閱讀
    水下測距傳感器:<b class='flag-5'>泳池</b>清潔機(jī)器人精準(zhǔn)定位的必備智能感知“神器”

    音箱制作過程圖解

    電子發(fā)燒友網(wǎng)站提供《音箱制作過程圖解.doc》資料免費(fèi)下載
    發(fā)表于 04-28 09:27 ?11次下載

    EPSON助力智能泳池清潔機(jī)器人導(dǎo)航

    目前泳池清潔機(jī)器人成為一個新的熱點(diǎn)賽道,許多公司都在此新領(lǐng)域投入研發(fā),其中主要為曾經(jīng)從事家用掃地機(jī)的相關(guān)公司,因?yàn)?b class='flag-5'>泳池清潔機(jī)器人的智能化與曾經(jīng)的掃地機(jī)器人智能化路徑接近,而且目前還處于技術(shù)起步階段
    的頭像 發(fā)表于 04-08 11:15 ?435次閱讀
    EPSON助力智能<b class='flag-5'>泳池</b>清潔機(jī)器人導(dǎo)航

    愛普生陀螺儀模塊助力智能泳池清潔機(jī)器人導(dǎo)航方案

    目前泳池清潔機(jī)器人成為一個新的熱點(diǎn)賽道,許多公司都在此新領(lǐng)域投入研發(fā),其中主要為曾經(jīng)從事家用掃地機(jī)的相關(guān)公司,因?yàn)?b class='flag-5'>泳池清潔機(jī)器人的智能化與曾今的掃地機(jī)器人智能化路徑接近,而且目前還處于技術(shù)起步階段
    的頭像 發(fā)表于 04-01 15:52 ?799次閱讀
    愛普生陀螺儀模塊助力智能<b class='flag-5'>泳池</b>清潔機(jī)器人導(dǎo)航方案

    AI泳池溺水識別攝像機(jī)

    AI泳池溺水識別攝像機(jī)是一種利用人工智能技術(shù)來監(jiān)測和識別游泳池中溺水行為的智能監(jiān)控設(shè)備。通過深度學(xué)習(xí)算法和圖像識別技術(shù),該攝像機(jī)能夠?qū)崟r捕捉游泳池的畫面,自動分析水面動態(tài)和人員行為,判
    的頭像 發(fā)表于 03-16 10:09 ?526次閱讀
    AI<b class='flag-5'>泳池</b>溺水識別攝像機(jī)

    智能清潔:泳池機(jī)器人的無線充電技術(shù)變革

    本文介紹了現(xiàn)代家庭中泳池清潔機(jī)器人的科技化體現(xiàn)和無線充電技術(shù)的應(yīng)用。傳統(tǒng)的接觸式充電存在安全隱患和使用局限,而無線充電技術(shù)通過電磁場的能量傳遞消除了傳統(tǒng)充電所需的物理連接,提供了更為安全、便捷的解決方案。
    的頭像 發(fā)表于 03-15 15:49 ?540次閱讀

    泳池水質(zhì)監(jiān)測物聯(lián)網(wǎng)解決方案

    在炎炎夏日,游泳池成為人們消暑降溫的絕佳去處。然而,游泳池的水質(zhì)問題卻一直備受關(guān)注。水質(zhì)不好不僅會影響游泳者的身體健康,還會給游泳池的運(yùn)營帶來極大的困擾。對此,物通博聯(lián)提供游泳池水質(zhì)監(jiān)
    的頭像 發(fā)表于 03-11 15:46 ?479次閱讀
    游<b class='flag-5'>泳池</b>水質(zhì)監(jiān)測物聯(lián)網(wǎng)解決方案

    安全效率并存:泳池清潔機(jī)器人的無線充電進(jìn)化

    無疑,我們身處一個將復(fù)雜簡單化的時代。魯渝能源的泳池清潔機(jī)器人無線充電器,便是這樣一種創(chuàng)新。通過無需復(fù)雜操作即可實(shí)現(xiàn)的充電方式,這種充電器不僅大幅度提升了機(jī)器人的使用效率與自動化水平,也極大提升了使用現(xiàn)場的安全性。同時,這場創(chuàng)新還為泳池設(shè)備的未來發(fā)展提供了充滿可能的空間。
    的頭像 發(fā)表于 03-01 14:14 ?472次閱讀

    告別電線束縛:泳池清掃機(jī)器人的無線充電創(chuàng)新

    當(dāng)我們沉浸于清澈見底的泳池中,往往忽略了那一份平靜背后的秩序——由泳池清掃機(jī)器人所守護(hù)的純凈。在自動化技術(shù)日漸進(jìn)步的今天,這些機(jī)器人正迎來一場充電革命,無線充電技術(shù)。這項(xiàng)技術(shù)不只意味著簡便,它關(guān)乎整個行業(yè)未來的生命力。
    的頭像 發(fā)表于 02-23 10:48 ?610次閱讀
    主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠色综合久| 亚洲视频一区二区三区| 一级毛片免费在线观看网站| 亚洲一级毛片免观看| 精品一区二区国语对白| 天天天天做夜夜夜夜| 一级片在线观看免费| 天堂网www中文天堂在线| 岛国三级在线看| www.999精品视频观看免费| 丁香婷婷色综合| 午夜国产精品福利在线观看| 天天综合天天做| v视界影院最新网站| 8888奇米四色在线| 白嫩少妇激情无码| 久久精品第一页| 性生活黄色毛片| 色播在线| 色婷婷精品综合久久狠狠| 亚洲色图欧美视频| 四虎在线免费播放| 免费黄色国产视频| 俺来色| 午夜视频在线观看完整高清在线| 97影院理论片在线观看| 国产精品资源在线播放| 午夜亚洲精品| 国产美女视频爽爽爽| 亚洲国产视频网| 四虎永久免费观看| 激情五月亚洲色图| 毛片免费看网站| 最新在线视频| 在线免费看黄视频| 婷婷六月丁| 欧美一区二区三区免费看| 久久九九色| 天天干天天玩| 久久久免费精品| 亚洲视频在线一区二区三区|