外部と本体のt°を取得するセンサーの精度の比較
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 3 | ||||
| × | 10 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
| |||
|
このプロジェクトについて
温度データを取得するためにさまざまなセンサーが使用されますが、それらはすべてさまざまな制限と精度を持っています。健康に基づくプロジェクトでは、健康状態や推奨事項を現実的に把握するために、体温と体温の両方の最も正確な値を取得することが非常に重要です。このため、最も一般的な温度センサーとmicro:bit温度センサーの精度を比較することにしました。
このプロジェクトでは、温度センサーDS18B20、防水DS18B20、AM2302、arduino、micro:bitボード、および標準の温度計を使用しました。
<図>まず、センサーをarduinoボードに接続し(回路図の部分を参照)、そのように接続されているように見えます:
<図>次に、arduinoボードのコードをアップロードし(コードの部分を参照)、プラットフォームVittascience(https://en.vittascience.com/microbit/)を使用してこのプロジェクトのコードを生成しました:
<図>室温を確認した結果は次のとおりです(10回の実験が提供され、最も代表的なデータを使用した実験のデータの分析を以下に示します):
<図> <図> <図>部屋の温度計は21°Cの値を示しました。これは私たちが最も正確な値と考えています。 Micro:bitは27°Cの値を示しましたが、これは正しい値とはかけ離れています。 arduinoボードセンサーに接続された3つすべてが室温を表示するのに非常に正確でしたが、センサーAM2302は最高の精度を示しました。
センサーを手に持つことができるように余分なワイヤーを使用して体温をチェックした結果は次のとおりです(10の実験が提供され、最も代表的なデータを使用した実験のデータの分析を以下に示します):
*温度計の値:32.2°C
<図>
* micro:bit値:34°C
*防水センサー18B20(3列目):32.40°C
<図>*センサーDS18B20(最初の列):31.50°C
<図>*センサーAM2302(2列目):33°C
<図>したがって、防水センサー18B20は最も正確な値を示し、体温の測定に使用する必要があり、センサーAM2302は室温の測定に最適です。
コード
- arduinoおよび温度センサーのコード
- micro:bitのコード
arduinoおよび温度センサーのコード C / C ++
#include#include #define AM2302_PIN 3#include "cactus_io_DS18B20.h" #include #include #define ONE_WIRE_BUS 2OneWire oneWire(ONE_WIRE_BUS); DallasTemperatureセンサー(&oneWire); AM2302 dht(AM2302_PIN); int DS18B20_Pin =4; DS18B20 ds(DS18B20_Pin); void setup(){Serial.begin(9600); ds.readSensor(); dht.begin(); Sensors.begin(); Serial.println( "18B20 | AM2302 | DS18B20"); Serial.println( "Temp(C)| Temp(C)| Temp(C)");} void loop(){ds.readSensor(); Sensors.requestTemperatures(); dht.readTemperature(); if(isnan(dht.humidity)|| isnan(dht.temperature_C)){return; } Serial.print(sensors.getTempCByIndex(0)); Serial.print( ""); Serial.print(dht.temperature_C); Serial.print( ""); Serial.println(ds.getTemperature_C()); delay(1500);}
micro:bit Python のコード
from microbit import * uart.init(baudrate =9600、bits =8、parity =None、stop =1、tx =pin8、rx =pin14)while True:if button_a.is_pressed():uart.write(str (温度()))
回路図
製造プロセス