Arduino Nanoで作るスマート懸垂バー - 音声フィードバックと光センサーでモチベーションUP
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino Nano R3 | 1 | |
| 懸垂バー(直径25mm) | 1 | |
| 0.5W スピーカー(直径40mm) | 1 | |
| MG90S サーボ | 1 | 報酬ディスペンサー用 |
| レーザーダイオード(9mm径) | 1 | |
| 抵抗 1kΩ | 1 | LDR分圧用 |
| コンデンサー 100µF | 1 | 電源平滑用(任意) |
| 5V 電源 | 1 | |
| DCジャック | 1 | |
| ジャンパーワイヤー | 1セット | |
| LDR 光センサー(5MΩ) | 1 | |
| スライドスイッチ | 1 | |
| ネジ M4(ナット付き) | 2 | クランプ固定用 |
| ネジ M3 | 3 | カバー固定用 |
| ネジ M2 | 4 | PCB・サーボ固定用 |
| Tic Tac(報酬用) | 1箱 | |
| PCB | 1 | 自作またはユニバーサル基板 |
| スクリューターミナル | 1 | レーザー/LDR接続用 |
| ピンヘッダー(メス・オス各種) | 各1 | |
| 透明プラスチックシート | 1 | スピーカー前カバー用 |
必要な工具と機器
- はんだごて
- 3Dプリンター
使用アプリとオンラインサービス
- Arduino IDE
プロジェクト概要
作者Nikolasさん(15歳)による作品。懸垂バーにレーザーとLDRを取り付け、手でバーを握るとレーザー光が遮断される仕組みで懸垂開始を検知。Arduino Nanoが検知すると音楽(デフォルトはA-haの「Take on me」)を再生し、約30秒継続するとサーボ駆動のディスペンサーからTic Tacが1粒排出されるという、運動継続を促すガジェットです。
このプロジェクトはArduino Day Community Challenge 2021の受賞作品に選ばれました。
ステップ1: 仕組みの理解
レーザーダイオードとLDRをバーの両端に取り付け、光軸を合わせます。手でバーを握ると光が遮断され、LDRのアナログ値が大幅に低下。Arduinoがこれを検知して音楽再生開始、一定時間経過後にサーボでTic Tacを排出。
ステップ2: 3Dプリント
Fusion 360で設計、Curaでスライス、Ender 3 V2でPETG材、層高さ0.2mmでプリント。必要なパーツ:
- Base.stl(ベース)
- RotatorDispenser.stl(回転ディスペンサー)
- CoverBase.stl(カバー)
- LaserClamp.stl(レーザークランプ)
- LdrClamp.stl(LDRクランプ)
ステップ3-5: ブレッドボードでの回路組み立て
- Arduino Nanoをブレッドボードに挿す。5VとGNDをレールに接続
- LDRと1kΩ抵抗で分圧回路を作り、中点をA0に接続。レーザー光が当たっている時はHigh、遮断時はLowになる
- MG90Sサーボ:茶→GND、赤→5V、橙(信号)→D5
- スピーカー:赤(+)→D11、黒(-)→GND
- レーザーモジュール:赤→5V、黒→GND
ステップ6: プログラミング
Arduino IDEでボード「Arduino Nano」、適切なCOMポートを選びアップロード。コード内のLightThreshold値で感度調整可能。音楽データはadithyalokesh17氏の「Take on me」等の楽曲をブザー/スピーカー用に変換したものを使用(SDカード不要)。
ステップ7: テストとトラブルシューティング
LDRを指で塞いでテスト。音楽が鳴らない→LightThresholdを増やす(感度UP)。勝手に鳴る→LightThresholdを減らす(感度DOWN)。シリアルモニターでLDRの生値(0-1023)を確認し、レーザー光が当たっている時の値を基準に閾値を設定するのがコツ。
ステップ8: PCB化
ブレッドボード回路をPCBに集約。電源入力端子と100µFコンデンサーを追加。
ステップ9-28: 組み立て手順(写真・GIFで詳細解説)
- サーボをベースにネジ止め(M2)
- レーザーダイオードをLaserClampに押し込み
- LDRをLdrClampに挿入(配線用小穴あり)
- DCジャック、スライドスイッチを半田付け・取り付け
- PCBをベースに固定(M2ネジ)
- 透明プラスチックシート(約75×17mm)をカバーに嵌め込み
- レーザークランプとLDRクランプをバー両端に取り付け(M4ネジ)
- レーザー光がLDR中心に当たるようクランプを回転調整
- ベースをホットグルーで壁に固定
- レーザーとLDRの配線をドア枠等に沿わせてPCBのスクリューターミナルに接続
- ディスペンサーをサーボに取り付け(電源投入時サーボが0度位置でロックされるので、その時に合わせる)
- カバーを取り付け(スピーカー内蔵、M3ネジ固定)
- Tic Tacを投入して完成!
コード
SmartPullUpBar.ino(ダウンロードのみ、プレビュー不可)。音楽再生にはtone()関数を使用し、楽譜データを配列で保持。
3Dモデル
Thingiverse: https://www.thingiverse.com/thing:4809522
回路図
ブレッドボード版とPCB版の2種類を掲載
製造プロセス
- バーコードスキャナ:技術、設計、将来動向
- スマートバーテンダー:Raspberry Pi駆動の自作カクテルステーション
- スマート信号機:IoTで実現する適応型街路灯
- インテリジェントスマートゴミ箱:IoTセンサーで廃棄物収集を最適化
- スマートプラントIoT:ArduinoとAzureで作る接続型グリーンハウス
- バー端面面取り機:精密エッジ仕上げの仕組みとメリット
- 長尺バーフィーダー:自動旋削効率を最大化する周辺装置
- 空圧バーフィーダー:CNC旋盤自動化のコスト効率ソリューション
- ボーリングバー径長比ガイドライン:CNC機械技師必携
- インテリジェント電動アクチュエータで職場エルゴノミクスを向上
- アロイ52棒材: 高強度ニッケル鉄制御膨張鋼