ポータブルCOVID-19診断クリニック:詳細コンポーネント概要
必要な部品と用品
| Maxim MAXREFDES100# ヘルスセンサープラットフォーム | ×1 |
| UV-C LED 5mm(Innotek推奨、汎用も可) | ×10 |
| Digilent IR近接センサー | ×1 |
| Arduino Mega 2560 | ×1 |
| DFRobot I2C 16×2 LCDディスプレイモジュール | ×1 |
| Seeed Grove 水霧化器(アトマイザー) | ×1 |
| USB A-Bケーブル | ×1 |
| 汎用PNPトランジスタ | ×2 |
| レーザーダイオード 2ピン | ×1 |
| Seeed Grove デジタル光センサー | ×1 |
| Adafruit ペリスタルティック液体ポンプ(シリコンチューブ付、5-6V) | ×1 |
| モバイルバッテリー(5V USB出力×2) | ×1 |
| PNPトランジスタ TO-220 (TIP42C等) | ×1 |
必要な工具・機器
- 銅箔テープ(導電性)
- 電工ハサミ
- ジャンパーワイヤー(オス-メス、150mm×40本)
- 段ボールカッター
- 両面テープ
- はんだごて
- 可変電源 3-12V(または5V USB×2のモバイルバッテリー)
使用ソフトウェア
- Arduino IDE
- Arduinoblocks
プロジェクト概要
インド出身の筆者が考案した、マスク除菌・手指消毒・バイタルサイン測定を一体化したポータブル診断クリニックです。Arduino Mega 2560とMaxim MAXREFDES100(医療グレードセンサー)を核に、段ボール製筐体で低コスト・高携帯性を実現しています。
材料費(概算)
- MAXREFDES100: $157.50
- Arduino Mega: $57.30
- ペリスタルティックポンプ: $24.95
- LCD: $5.98
- IRセンサー: $1.85
- 銅箔テープ: $11.96
- UV-C LED: $4.08
- その他(ブレッドボード、トランジスタ、ジャンパー等): $2.72
- 合計: 約 $261 (約959 AED)
構造セットアップ
- 段ボール 10cm×25cm を2枚用意し、銅箔テープを平行に2本貼る(正極・負極)
- 各銅箔にUV-C LEDを5個ずつはんだ付け
- 16×2 I2C LCDが入る長方形の穴を開ける

Arduinoハードウェア接続
I2C 16×2 LCD
- SCL → Pin 21
- SDA → Pin 20
- VCC → 5V
- GND → GND
銅箔・UV LEDユニット(2系統)
- 両ユニットのGND → ブレッドボードGNDレール(Mega GNDと接続)
- Pin 50, 52 → 各BC557 PNPトランジスタのベース
- 銅箔ユニットの正極 → 各トランジスタのコレクタ
- 両エミッタ → Mega 5Vピン
- ※ 片方のユニットのみ先に固定し、後で段ボール補強材を入れてからもう片方を固定
水霧化器
- VCC → 5V
- GND → 共通GNDレール
- EN → Digital Pin 40
レーザーダイオード
- 赤線(VCC) → 5V
- 青線(GND) → GND
3ピン光センサー
- VCC → 3.3V
- GND → GND
- OUT → Digital Pin 48
- 青色ポテンショメータで閾値調整:レーザーが遮られたらOFF、当たればONになるよう調整
Arduinoスケッチ(マスク除菌制御)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(48, INPUT); // 光センサー
lcd.init(); lcd.noCursor(); lcd.backlight();
pinMode(50, OUTPUT); pinMode(52, OUTPUT); pinMode(40, OUTPUT);
lcd.backlight(); lcd.display(); lcd.clear();
}
void loop() {
if (digitalRead(48)) { // レーザー遮断=マスク投入・蓋閉じ検知
delay(1000);
lcd.clear(); lcd.print("Lower the lid");
delay(500);
lcd.clear(); lcd.print("Wait 30 mins");
digitalWrite(50, LOW); // UV LEDユニット1 ON
digitalWrite(52, LOW); // UV LEDユニット2 ON
digitalWrite(40, HIGH); // 霧化器 ON
delay(1800000); // 30分待機
digitalWrite(50, HIGH); digitalWrite(52, HIGH); digitalWrite(40, LOW);
lcd.clear(); lcd.print("Remove the mask!");
} else {
digitalWrite(50, LOW); digitalWrite(40, LOW);
lcd.setCursor(0,0); lcd.print("Please place");
lcd.setCursor(0,1); lcd.print("a mask in!");
}
}
自動手指消毒ディスペンサー(追加機能)
IR近接センサー + ペリスタルティックポンプ + TIP42C PNPトランジスタで、マイコン不要の自動噴霧を実現。
- トランジスタベース → IRセンサーOUT
- コレクタ → ポンプ正極
- エミッタ → ブレッドボード正極レール
- IRセンサーVCC/GND → 同レール


注意: フリッツィング図は古く、トランジスタ足配置がモデルにより異なるため、テキストの接続説明を優先してください。
MAXREFDES100 セットアップ(PC GUI / Androidアプリ)
詳細手順は製品ページまたは動画 こちら を参照。要点:
- HDKアダプタ経由でPC接続、ファームウェア更新用COMポート確認
- USB-C直結でGUI用COMポート確認
- GUIダウンロード・起動、ボーレート9600でポートスキャン→接続
- Opticalタブで指を置き「Start Monitor」→ SpO2等取得
- ECG MUXでOPEN-P/NをConnected、EN_ECG/EN_RTOR有効化、Plotsタブで心電図波形確認
- Temperatureタブで息を吹きかけて温度上昇確認
- Androidアプリ(APK)をインストール、BLEで接続、基本バイタル表示可能(SpO2はPC版のみ)
筐体への組み込み
- MAXREFDES100を小箱に収め、光学センサー窓を露出
- ECGリードをケーブルに半田付け、湿式電極パッド装着
- 長期測定用に付属コイン電池ホルダー(CR2032)装着可能
- マスク除菌室内部に段ボール仕切りを入れ、電子部品を熱・湿気から遮蔽
- マスク投入後30分経過まで取り出さないこと


本プロジェクトの特長と意義
- 検知と防護の一体化: MAXREFDES100で無症状感染者のSpO2低下を早期発見、UV-C除菌と自動消毒で感染拡大防止
- 低コスト: 同等機能の専用機は$500超だが、段ボール筐体で$200-300に抑制
- 耐久性: 段ボールは200℃まで溶けず、世界最高気温56.7℃でも全部品動作可能。耐パンチ性・衝撃吸収性も高い
- EMシールド: 木質繊維がUV-Cまでの電磁波を遮蔽
- 酸素吸着: 段ボール内部は好気性微生物が死滅する低酸素環境
- 高携帯性: U-Haul箱サイズで軽量、病棟間移動容易
- 生分解・リサイクル可能: 使用後は部品を取り外し再利用、段ボールは土に還る
- 高カスタマイズ性: パーツ増減・Arduinoコード変更で多用途展開可能
- 低消費電力: 全システムで15V(モバイルバッテリーなら10V)駆動
筆者は約4ヶ月を費やし、同じ苦労を他のメイカーがしなくて済むよう詳細を公開しました。質問・感想はコメント欄へ。医療従事者の皆様と共に、パンデミック曲線を平坦化する一助となれば幸いです。Stay safe!
コード
マスク除菌制御スケッチ
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
pinMode(48,INPUT);
lcd.init(); lcd.noCursor(); lcd.backlight();
pinMode(50, OUTPUT); pinMode(52,OUTPUT); pinMode(40, OUTPUT);
lcd.backlight(); lcd.display(); lcd.clear();
}
void loop() {
if (digitalRead(48)) {
delay(1000);
lcd.clear(); lcd.print("Lower the lid");
delay(500);
lcd.clear(); lcd.print("Wait 30 mins");
digitalWrite(50,LOW); digitalWrite(52,LOW);
digitalWrite(40,HIGH);
delay(1800000);
digitalWrite(50,HIGH); digitalWrite(52,HIGH); digitalWrite(40,LOW);
lcd.clear(); lcd.print("Remove the mask!");
} else {
digitalWrite(50,LOW); digitalWrite(40,LOW);
lcd.setCursor(0,0); lcd.print("Please place");
lcd.setCursor(0,1); lcd.print("a mask in!");
}
}
回路図・配線メモ
- PNPトランジスタ接続: ベース→デジタルピン、コレクタ→銅箔ユニット正極、エミッタ→Arduino 5V
- 通常のLCDをI2C LCDに置き換え
- ポンプ駆動: TIP42C PNP、ベース→IRセンサーOUT、コレクタ→ポンプ正極、エミッタ→USBケーブルから12V取り出し

製造プロセス
- 携帯トイレの歴史、設計、環境への影響
- Raspberry PiでPIRモーションセンサーとLEDを制御
- Raspberry Piで低コスト土壌水分センサーを構築 - スマート灌漑に活用
- Raspberry PiでDS18B20温度センサーをテスト
- Raspberry Pi、MCP9808、InfluxDB、Grafanaで作る家庭温度モニター
- Sensor Telemetry 2.0.1:Azure IoT Hubによる高度な温度監視
- エモーションセンサー&EEG:リアルタイム感情検知のための低コストハードウェア
- UnifiedWater v1 - 完全なArduino水質センサーキット
- 酸素(O2)センサーを理解する:役割、配置、故障の兆候
- Oura RingのAIがNBA選手のCOVID-19を数日早く検知
- 5分以内にCOVID-19を検出する迅速紙ベースセンサー