究極のDIYケグレーター: 完全コンポーネントガイドとビルド手順
部品と材料
| 部品 | 数量 |
|---|---|
| SparkFun Arduino Pro Mini 328 - 3.3V/8MHz | 7 |
| SparkFun Load Cell Amplifier - HX711 | 1 |
| Leviton 47603-12B 4x12 電話分配ボード | 1 |
| Raspberry Pi 2 Model B | 1 |
| AC 100-120V/200-220V 5V 6A 30W スイッチング電源 | 1 |
| IRモーションセンサー | 1 |
| 10.6 cu.ft. チェストフリーザー | 1 |
| スマート重量 デジタル郵便スケール | 5 |
| Rii K12 Ultra Slim 2.4 GHz キーボード | 1 |
| Raspberry Pi WiFiドングル | 1 |
| Arduino DC 5V リレーモジュール | 1 |
| DHT11 温湿度センサー (4ピン) | 2 |
| DHT22 温度センサー | 3 |
| HomeBrewStuff ステンレス製ダブルドラフトビアタワー | 2 |
| ビアタワークーラー | 1 |
| 0-30 PSI I2C圧力センサー (3.3V) ABPMANN030PG2A3 | 1 |
必要な工具と機器
- 木工工具 (フリーザー外装のカスタマイズ用)
- ワイヤーカッター
- はんだごて (汎用)
- 熱収縮チューブ
プロジェクト概要
免責事項: このプロジェクトはアルコールの使用・誤用を一切推奨しません。ケグレーターに入れる飲料は完全にユーザーの判断に委ねられます。
ケグレーターの内容物をより良く管理したいという欲求から生まれたプロジェクトです。ケグレーターは飲料を冷やし、一定のPSIで炭酸を保つのが基本原理です。ただ注ぐだけでは残り量がわかりません。日曜のフットボール観戦中にルートビアが切れるのは避けたいものです。
プロジェクトの目標
- 飲料温度を一定に保ち、暖まりすぎや凍結を防止
- 適切な炭酸圧(PSI)を維持して最適な風味をキープ
- 各ケグの残量を把握し、視覚的にフィードバックして大イベント前に備える
- 炭酸用CO2タンクの残量を監視
基本電子コンポーネントと用途
- チェストフリーザー: 冷却ユニット兼家具フレーム
- Raspberry Pi 2 (Windows 10 IoT Core): システムの頭脳
- 小型郵便スケール (×5): 各ケグとCO2タンクの重量測定用。内部電子部品を取り外し、ロードセルアンプ(HX711)と小型Arduinoを内蔵。I2CでRaspberry Pi 2と通信
- デジタル温度センサー (×5): フリーザー底部、天板裏、各ビアタワー内、外部環境に設置。小型Arduinoに接続しI2CでRaspberry Pi 2と通信
- Honeywell圧力センサー: ケグへの炭酸供給ラインに設置。PSI調整は手動だが、正確な圧力監視が可能
- 5V電源 (6A): Raspberry Pi 2給電用。大容量版を選択し、アドレサブルLEDストリップにも給電可能
- リレー: コンプレッサー電源ラインに直列挿入。このリレーでコンプレッサーへの通電を制御し、温度管理を実現
クラウド接続
Ultimate KegeratorにはWebサーバーが内蔵され、RESTサービス経由でリモート設定可能、また現在ステータスの静的ビューも提供。 https://slsys.homeip.net:9501 でアクセス可能。
さらに、Windows Azure Event Hubへ重要統計をアップロード。標準NuGetパッケージではEvent Hubと通信できないため、Windows Embedded MVPのPaolo Patierno氏提供のライブラリを使用: AzureSBLite
Stream Analyticsによる最終処理で以下を計画:
- 温度異常 (高温/低温) の監視と通知
- CO2タンク残量低下の監視と通知
- CO2タンク漏洩 (重量の緩やかな減少) の検出と通知
組み立て過程の追加写真
多数の組み立て写真が掲載されています。
ソースコード (C# - Windows 10 IoT Core向け)
GitHub公開前のプレビュー版。早期アクセスや貢献希望者は作者に連絡を。
Keg Class (ケグ管理クラス)
using LagoVista.Common.Commanding;
using System;
// ... (名前空間、プロパティ、メソッド)
// 主な機能:
// - スケールから重量取得し、内容物重量、残量%、残り杯数を計算
// - 設定の保存/読み込み (容器重量、ガラスサイズ、満タン時重量、設置日、製造日等)
// - INotifyPropertyChanged実装でUIバインド対応
Scale Class (スケール/ロードセルクラス)
using Windows.Devices.I2c;
// ... (I2C通信、キャリブレーション、ゼロ点調整、重量取得)
// HX711ベースのロードセルをI2Cで制御
// 生値取得、キャリブレーション係数適用、オフセット保存
Kegerator Class (メイン制御クラス)
// シングルトンパターンでインスタンス管理
// 初期化処理:
// - I2Cバス上のデバイス検出 (温度センサー、圧力センサー、CO2スケール、ケグスケール×4)
// - 各デバイスの初期化とデバイスリスト登録
// - EventHubClient開始
// - WebサーバーおよびRESTサービス開始 (ポート9500)
// - 250ms間隔のタイマーで全デバイスのRefresh()を定期実行
// 機能:
// - コンプレッサーON/OFF切り替え
// - 各ケグ、CO2タンク、温度、圧力へのアクセスプロパティ
回路図
ハイレベルシステムコンポーネント図
製造プロセス
- Arduinoと超音波センサーで作るAI障害物回避ロボット 〜Q学習による強化学習実装〜
- NeoPixelリングとArduinoで作るインタラクティブジャイロスコープLEDディスプレイ
- DIY Arduino USBゲームコントローラー - 高性能ゲームパッドを自作
- DIYクラウドコスチューム: LEDストリップ、Arduino Nano & SparkFunパーツで光る雲に
- 産業用ラインフォロワーロボット - 物資輸送用自律走行ロボット
- Pixie: Arduino Pro Miniで作るNeoPixel腕時計 - アナログとデジタル融合のDIY光る時計
- スマートArduino水筒:リアルタイム監視とアラート機能付き
- DIY ホリデーシャドーシアター:ArduinoとアドレサブルLEDで作る光の影絵劇
- 携帯型リモート監視カメラロボット - Raspberry PiとArduinoで構築
- スマート手話グローブ:ジェスチャーをテキスト/音声に変換
- 台湾製トップクラスワイヤー放電加工機:精密切断ソリューション