工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

スマート自動手指消毒ディスペンサー – Arduinoで非接触・全自動化

必要な部品と材料

必要な工具

使用するアプリとオンラインサービス

プロジェクト概要

COVID-19パンデミックで手指消毒の重要性が高まる中、ディスペンサーに触れること自体が感染リスクになっています。14歳の作者が、既存の消毒液/石鹸ディスペンサーに後付けして完全非接触・自動化できるアタッチメントを開発しました。安価で、様々なボトルに簡単装着可能です。

仕組みの理解

ステッピングモーターとカップリングで台形ネジを回転。3Dプリントしたプレス部がナットでネジと連結し、リニアベアリングで回転力を直線運動に変換します。これにより任意の距離・速度でプレスを上下動できます。

動作フロー

  1. 起動時: プレスが上昇し、リミットスイッチが押されるまで動作 (原点復帰/セルフキャリブレーション)
  2. 待機中: IRセンサーが手を検知 (数cm下方)
  3. 検知時: プレスが設定距離下降 (ディスペンサーを押す) → 2秒待機 → リミットスイッチが押されるまで上昇 (元の位置に戻る)

ベルクロタイでボトルに巻き付けて固定すれば、あらゆるディスペンサーに対応可能です。

ステッピングモーターのバイポーラ化 (トルク2.5倍!)

28BYJ-48はユニポーラ仕様 (トルク約300g·cm) ですが、基板の中央パターンをカットし赤線を除去する簡単な改造でバイポーラ化可能。トルクが 800g·cm以上 に向上します。DRV8825などのバイポーラドライバーが必要になりますが、5V定格モーターでも8.4V以上の駆動電圧で問題なく動作します。

ベルクロタイの自作

マジックテープテープを長短2本 (約30-40cm と 4-7cm) 用意し、同面同士 (両方ともフック面またはループ面) をホチキスで留めるだけ。2セット作ります。

回路図

9V電池 → スイッチ → 100µFコンデンサー → Arduino VIN/GND。IRセンサー: VCC→5V, GND→GND, OUT→D9。リミットスイッチ: COM→5V, NO→D8 & 1kΩ→GND。DRV8825: VMOT→VIN, GND→GND, DIR→D2, STEP→D3, EN→D4, RST-SLP短絡。モーター: 青→A2, 黄→A1, 橙→B1, 桃→B2。

プログラム概要

組み立て手順 (概要)

  1. カバー部: ベルクロタイ → ホルダー → ネジ止め ×2
  2. プレス部: リニアベアリング圧入、T8ナットを4本ネジで固定
  3. 電子ケース: 配線済み基板を収納、ケーブルを穴から出す
  4. IRセンサーホルダー: センサーをネジ固定、ナットで位置調整
  5. 最終組み立て: ベアリング挿入 → T8ネジ (70-82mm、長ければ金切り鋸でカット) とプレス部装着 → カップラーでモーターとネジ連結 → モーター固定 → リミットスイッチ取付 → カバーをベースに5本ネジ止め → IRホルダーをベース前面に2本ネジ止め → 電子ケースをカバーに3本ネジ止め

コード

Automatic_Hand_Sanitizer_Transformer.code

const int dirPin = 2;
const int stepPin = 3;
const int enablePin = 4;
const int stepsPerRevolution = 6000;
int endStop = 8;
int irSensor = 9;

void setup() {
    pinMode(endStop, INPUT);
    pinMode(irSensor, INPUT);
    pinMode(stepPin, OUTPUT);
    pinMode(dirPin, OUTPUT);
    pinMode(enablePin, OUTPUT);
    digitalWrite(enablePin, LOW);
    while (digitalRead(endStop) == LOW) {
        digitalWrite(dirPin, HIGH);
        for (int x = 0; x < 1; x++) {
            digitalWrite(stepPin, HIGH);
            delayMicroseconds(2000);
            digitalWrite(stepPin, LOW);
            delayMicroseconds(2000);
        }
    }
    digitalWrite(enablePin, HIGH);
}

void loop() {
    if (digitalRead(irSensor) == 0) {
        digitalWrite(enablePin, LOW);
        digitalWrite(dirPin, LOW);
        for (int x = 0; x < stepsPerRevolution; x++) {
            digitalWrite(stepPin, HIGH);
            delayMicroseconds(2000);
            digitalWrite(stepPin, LOW);
            delayMicroseconds(2000);
        }
        delay(2000);
        while (digitalRead(endStop) == LOW) {
            digitalWrite(dirPin, HIGH);
            for (int x = 0; x < 1; x++) {
                digitalWrite(stepPin, HIGH);
                delayMicroseconds(2000);
                digitalWrite(stepPin, LOW);
                delayMicroseconds(2000);
            }
        }
        digitalWrite(enablePin, HIGH);
    }
}

3Dプリントパーツ

回路図

スマート自動手指消毒ディスペンサー – Arduinoで非接触・全自動化

製造プロセス

  1. Arduino UNOとMAX7219で作るUFOアタックゲーム – レトロなドットマトリクスシューティング
  2. DIY自動列車制御システム – Arduinoで実現するシンプル・信頼性・カスタマイズ自在なレイアウト運転
  3. 3D RGB アルドゥクロック:Bluetooth対応LED時計(RTC内蔵)
  4. 川の健康を見守る:Arduinoベース水質監視システム「MyRiver」
  5. Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
  6. Arduinoとジョイスティックでインタラクティブゲーム – LEDフィードバック付き
  7. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  8. DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
  9. Arduinoで作る自律走行ミニローバー
  10. ゲーム用カスタムArduinoジョイスティックハンドルの製作
  11. Arduino 101で作る万歩計:DHT11温湿度センサー&LCD表示付き