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

アプリ付きの安価なポータブルカクテルメーカーBarbot!

コンポーネントと消耗品

>
Arduino UNO
× 1
ジャンパー線(汎用)
× 10
オス/メスのジャンパー線
× 10
リレーモジュール8チャンネル5V
× 1
ブレッドボード(汎用)
× 1
BluetoothモジュールHC-05
× 1
6mのシリコンホース6x9mm
× 1
0,1qF capicitators
× 8
>
赤と黒の色のワイヤー0.75mm²
× 1
抵抗1kオーム
× 1
スルーホール抵抗、2キロオーム
× 1
ポンプ12VDC
× 8

必要なツールとマシン

>
はんだごて(汎用)
はんだワイヤー、鉛フリー
ワイヤーストリッパーとカッター、18-10 AWG /0.75-4mm²キャパシティワイヤー
ドリル/ドライバー、20V
マルチツール、スクリュードライバー
直径28mmの木材用ドリルビット

アプリとオンラインサービス

>
MIT App Inventor 2

このプロジェクトについて

Youtubeで同様のプロジェクトをいくつか見た後、私はバーボットを作るように促されました。ほとんどのバーボットのスキルレベルと部品の量から、ポンプを使用することでこれを簡素化できると思いました。ポンプを使用する他の設計では、ポンプが非常にゆっくりと(少量の飲み物を混ぜるのに1分以上)、私が使用するポンプはアプリケーションに最適です。

これが私のプロジェクトの進捗状況を示すビデオです:

このプロジェクトを作成するときは、プロジェクトを変更して好きな飲み物を混ぜることができるように、しっかりしたコードと良いコメントの必要性も念頭に置いていました。

それで、私は最初に、私が置いていたいくつかの木製パネルからフレームを作ることから始めました。下の写真のように、16、5cm x 33cm(6、5インチx 13インチ)を4つ切り、2つをネジで接続しました。

次に、前にカットしたすべてのプレートを接続するときに、正方形の内側の寸法に別の木材をカットします。そして、28mmのドリルビットでそれにいくつかの穴を開けました。穴の中心が5cm(2インチ)の間隔で配置されていることを確認して、そこにポンプを入れるのに十分なスペースを確保してください。

写真のようにプレートをねじ込みました。ネジ用の穴を事前に開けるには、必ず小さなドリルを使用してください。これは、木材が裂けるのを防ぐのに役立ちます。

次に、ArduinoUnoをBluetoothモジュールとリレーボードに接続するときが来ました。ポンプを接続する必要はありません。これを行うには、ワイヤー回路図を使用します。

リレーボード、Bluetoothモジュール、ArduinoUnoの回路が機能しているかどうかは確認しません。したがって、この後、コードをArduinoUnoにダウンロードします。

だから今、私は回路をテストすることをお勧めします。まず、アプリをダウンロードしてBluetoothモジュールを接続する必要があります。 Bluetoothモジュールの電源がオンになっていて、点滅していることを確認します。

次に、このビデオガイドに従ってください:

事故を最小限に抑えるために、ボタンを長く押す必要があるようにアプリを作成しました。したがって、ボタンを2〜3秒間押します。

したがって、カクテルを押すと、リレーがオンとオフになるのが聞こえるはずです。リレーボードのランプも確認できます。すべてのポンプをテストする良い方法は、クリーニングプログラムを実行することです。各リレーは、1つずつ5秒間アクティブにする必要があります。

1qFのコンデンサにはんだ付けする必要があります。これを行う必要があるのは、DCモーターのブラシの無線周波数ノイズにより、Bluetoothモジュールが切断されたり、その他の不要なものが発生したりするためです。

この後、電源とポンプを接続できます。前に開けた穴にポンプを入れます。そのためには、余分な丸いシールドコンポーネントを取り外す必要があります。これは簡単です。後で使用するので、1つ取っておきます。

いいえ、配線図を使用して、電源、リレーボード、およびポンプを相互に接続することはできません。この後、ポンプが機能しているかどうかをアプリで確認できます。 Bluetooth通信に問題がある場合は、コンデンサのいずれかが緩んでいないかどうかを確認する必要があります。

次に、本物の飲み物を作るための準備を始めることができます。まず、すべてのポンプを掃除することをお勧めします。大きな水差しまたはきれいな水が入ったバケツを用意し、すべての吸引ホースをバケツに入れる必要があります。ホースの圧力側(後でカクテルグラスが行く場所)にも、空のピッチャーまたはバケツを置く必要があります。これで、クリーニングプログラムを実行して、すべてのポンプが機能するかどうかを確認できます。

この後、あなたはあなたの最初のカクテルを作るために物事を準備することができます。ホースは正しいボトルに入れる必要があります。配線図に従ってすべてを配線した場合、ポンプ1(リレー1​​とピン2に接続)はウォッカです。ポンプ2はクランベリージュースなどです...

  //各飲み物に使用されるピンを定義し、ポンプと飲み物の接続方法に応じてこれを変更できます。intVodka=2; int Cointreau =3; int CranberryJuice =4; int Sprite =5; int LemonJuice =6; int SugarWater =7; int BlueCur =8; int Gin =9;  

何かを変更した場合は、コードのピン番号を修正できます。

「すべて設定」という名前のボタンがあり、このボタンを押すと、すべてのポンプが短時間アクティブになり、ホースとポンプがいっぱいになります。初めて、ライトボトルに接続されていることを確認できるように、各ポンプを個別に設定することをお勧めします。

「ウォッカのセットアップ」から始めて、すべてのボトルを忠実に処理して、問題がないことを確認します。

これで問題がなければ、最初のカクテルを作ることから始めることができます。大きなメガネ用にプログラムしたので、必ず大きなメガネを使用してください;-)。

飲み物の比率が好みに合わない場合は、コードで変更できます:

  // Cosmoif(state =='c'){Serial.println( "Cosmo in themaking"); Mix(2500,1500,3800,0,1200,1200,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン}  

これはコスモのコードです。括弧内の値は、各ポンプが動作する時間(ミリ秒単位)です。たとえば、飲み物の砂糖水の量を1.2秒から2秒に変更する場合は、Mix(2500,1500,3800,0,1200,1200,0,0)をMix(2500,1500)に変更できます。 、3800,0,1200,2000,0,0)

これはすべての値で実行できるため、好みに合わせて微調整できます。

ご不明な点がございましたらコメントを残してください。

更新 => 作られた an その他 1つ あり a 少し 異なる レイアウト:

サポート 私の 仕事 投稿者 購入 a コーヒー。

コード

  • Bluetoothを搭載したArduinoカクテルメーカー
  • アプリのソースファイル(ビルドには必要ありません)
Bluetoothを使用したArduinoカクテルメーカー C / C ++
Bluetoothを介して接続し、カクテルメーカーに飲み物を飲ませます。
 // Seafoxcによって作成//#include  // SoftwareSerial EEBlue(0、1); // RX | TX //各飲み物に使用されるピンを定義し、ポンプと飲み物の接続方法に応じてこれを変更できます。intVodka=2; int Cointreau =3; int CranberryJuice =4; int Sprite =5; int LemonJuice =6; int SugarWater =7; int BlueCur =8; int Gin =9; int state =0; //次のpump.intTimeBetweenPours =500; void setup(){Serial.begin(9600); Serial.println( "Bluetoothゲートが開いています。\ nペアリングキーとして1234を使用して他のBluetoothデバイスからHC-05に接続してください!"); //ピン2-9を出力ピンに設定して、リレーボードを駆動しますpinMode(2、OUTPUT); pinMode(3、OUTPUT); pinMode(4、OUTPUT); pinMode(5、OUTPUT); pinMode(6、OUTPUT); pinMode(7、OUTPUT); pinMode(8、OUTPUT); pinMode(9、OUTPUT); //私のリレーボードは「ロートゥルー」ボードです。したがって、出力を低に設定すると、リレーがオンになります。カクテルメーカーの電源を入れるときに、すべてのスイッチをオンにしたくありません... digitalWrite(2、HIGH); digitalWrite(3、HIGH); digitalWrite(4、HIGH); digitalWrite(5、HIGH); digitalWrite(6、HIGH); digitalWrite(7、HIGH); digitalWrite(8、HIGH); digitalWrite(9、HIGH); } void loop(){if(Serial.available()> 0){//データがシリアルポートから送信されているかどうかを確認しますstate =Serial.read(); //シリアルポートからデータを読み取りますSerial.println(state);} // Cocktails:// Vodka spriteif(state =='a'){Serial.println( "Vodka Sprite in the make"); Mix(3000,0,0,0,5000,0,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //ブルーラグーニフ(状態=='b'){Serial.println( "ブルーラグーンの作成中"); Mix(2000,0,0,5000,1800,1000,1800,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} // Cosmoif(state =='c'){Serial.println( "Cosmo in themaking"); Mix(2500,1500,3800,0,1200,1200,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //レモンドロップ(状態=='d'){Serial.println( "レモンドロップインザメイキング"); Mix(1500,1500,0,0,1800,1200,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //ブルームーニフ(状態=='e'){Serial.println( "ブルームーンインザメイキング"); Mix(2000,0,3000,0,1800,1200,1200,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //ブルージンムーニフ(状態=='f'){Serial.println( "ブルージンムーンの作成中"); Mix(0,0,3000,0,1800,1200,1200,2000); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //ダブルストライクif(state =='i'){Serial.println( "ダブルストライクインザメイキング"); Mix(2000,0,3000,0,1800,0,1200,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //トムコリンズ(状態=='h'){Serial.println( "トムコリンズの作成中"); Mix(0,0,0,4000,1800,1800,0,2200); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //フライングダッチマニフ(state =='g'){Serial.println( "フライングダッチマンインザメイキング"); Mix(0,2000,0,0,1200,1000,0,2000); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} // London Cosmoif(state =='j'){Serial.println( "London Cosmo in themaking"); Mix(0,2000,5000,1800,0,0,0,2000); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //ウォッカクランベリーif(state =='k'){Serial.println( "Vodka Cranberry in themaking"); Mix(2000,0,5000,0,0,1200,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //クランベリージンif(state =='l'){Serial.println( "クランベリージンの製造中"); Mix(0,0,5000,0,2000,0,0,2200); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //テストとメンテナンスオプション//ウォッカのセットアップ(状態=='m'){Serial.println( "Set -ウォッカを上げる "); Mix(1100,0,0,0,0,0,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //トリプルセクのセットアップ(状態=='n'){Serial.println( "トリプルセックのセットアップ" ); Mix(0,1100,0,0,0,0,0,0); // Vodka、Triple Sec、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //クランベリージュースのセットアップif(state =='o'){Serial.println( "クランベリージュースのセットアップ" ); Mix(0,0,1000,0,0,0,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //セットアップスプライト(state =='p'){Serial.println( "セットアップスプライト"); Mix(0,0,0,1000,0,0,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //セットアップライムジュースif(state =='q'){Serial.println( "セットアップライムジュース" ); Mix(0,0,0,0,1100,0,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //セットアップ砂糖waterif(state =='v'){Serial.println( "セットアップ砂糖水" ); Mix(0,0,0,0,0,1200,0,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //セットアップブルーキュラソー(状態=='r'){Serial.println( "セットアップブルーキュラソー" ); Mix(0,0,0,0,0,0,800,0); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //セットアップジニフ(state =='s'){Serial.println( "セットアップジン"); Mix(0,0,0,0,0,0,0,1000); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} // Cleaningif(state =='t'){Serial.println( "Set-up Gin"); Mix(4000,4000,4000,4000,4000,4000,4000,4000); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン} //すべてを設定(クリーニング後の最初の初回)if(state =='u'){Serial.println( "すべてを設定"); Mix(800,800,800,800,1000,1600,800,800); //ウォッカ、トリプルセック、クランベリージュース、スプライト、ライムジュース、砂糖水、ブルーキュラソー、ジン}} void Mix(int DelayTimeVodka、int DelayTimeCointreau、int DelayTimeCranberryJuice、int DelayTimeSprite、int DelayTimeLemonJuice、int DelayTimeSugarWater、int DelayTimeBlueCur ){状態=0; delay(800); digitalWrite(ウォッカ、LOW); delay(DelayTimeVodka); digitalWrite(ウォッカ、HIGH); delay(TimeBetweenPours); digitalWrite(コアントロー、LOW); delay(DelayTimeCointreau); digitalWrite(コアントロー、HIGH); delay(TimeBetweenPours); digitalWrite(CranberryJuice、LOW); delay(DelayTimeCranberryJuice); digitalWrite(CranberryJuice、HIGH); delay(TimeBetweenPours); digitalWrite(スプライト、LOW); delay(DelayTimeSprite); digitalWrite(Sprite、HIGH); delay(TimeBetweenPours); digitalWrite(LemonJuice、LOW); delay(DelayTimeLemonJuice); digitalWrite(LemonJuice、HIGH); delay(TimeBetweenPours); digitalWrite(SugarWater、LOW); delay(DelayTimeSugarWater); digitalWrite(SugarWater、HIGH); delay(TimeBetweenPours); digitalWrite(BlueCur、LOW); delay(DelayTimeBlueCur); digitalWrite(BlueCur、HIGH); delay(TimeBetweenPours); digitalWrite(Gin、LOW); delay(DelayTimeGin); digitalWrite(Gin、HIGH); delay(TimeBetweenPours); Serial.println( "ドリンクが完了しました!");状態=0;} 
アプリのソースファイル(ビルドには必要ありません) YAML
これは、MITアプリの発明者にアップロードできるAIAファイルです。私はappInventorを初めて使用するため、うまく記述されていないものもありますが、機能することに注意してください:-)。
プレビューなし(ダウンロードのみ)。

回路図

これを使用して、ワイヤをはんだ付け/接続します カクテルメーカーを接続し、飲み物を作るコマンドを送信するには、これを携帯電話にインストールする必要があります。 カクテルメーカー_JLYQqbd2dT.apk

製造プロセス

  1. ポータブルトイレ
  2. ローション付きティッシュ
  3. REWE Internationalは、アプリホスティングでIoTを簡素化します
  4. ジャンパー線なしでArduinoブレッドボードを構築する
  5. 安価なセンサーによる家庭の温度の流れのマッピング
  6. ラズベリーパイで温度を監視する
  7. RaspberryPiを使用した簡単なDIY赤ちゃん泣き検出器
  8. ポータブルラズベリーパイ(Retropieハンドヘルド)ビルドガイドパート1
  9. チームがモバイルCMMSアプリを使い始めるのを支援する
  10. エンタープライズアプリの設計:セキュリティの観点から、iOSはAndroidと相性がいいですか?
  11. UFO攻撃!