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

スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御

必要な部品と用品

Arduino UNO×1
HC-05 Bluetoothモジュール×1
ブレッドボード×1
300rpmギアードDCモーター×8
10mlシリンジ×8
水槽用チューブ/輸液チューブ×1式
厚紙×1
ナットとボルト×1式
6mm合板×2
ギアードモーター用車輪×4
毛糸用縫い針×2
L298NデュアルHブリッジドライバー×1

必要な工具

使用アプリ

プロジェクト概要

ネット上には手動操作の油圧アームか、アプリ操作のロボットアームしかありません。このプロジェクトは両方を融合させたものです。

スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御

開始前に:Arduinoコーディングの基礎知識が必要です

HC-05とArduinoの接続

スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御

L298Nモータードライバーのピン配置

[ENA, IN1, IN2 = モーターA], [ENB, IN3, IN4 = モーターB]。ENA/ENBは速度制御用(今回は未使用、HIGH/LOWでON/OFFのみ)。

スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御

コードには詳細なコメントがあります。回路を組む前に全ての部品が適切にグラウンドされているか確認してください。

スケッチ(コード)

hydraulic.ino

// 第1・第2ドライバー:アーム制御(ベース、ショルダー、エルボー、グリッパー)
// 第3ドライバー:走行部制御

// 第1ドライバー [ベース(2,3) ショルダー(4,5)]
int m1IN1 = 2; int m1IN2 = 3; int m1IN3 = 4; int m1IN4 = 5;
int m1ENA = 6; int m1ENB = 7;

// 第2ドライバー [エルボー(8,9) グリッパー(10,11)]
int m2IN1 = 8; int m2IN2 = 9; int m2IN3 = 10; int m2IN4 = 11;
int m2ENA = 12; int m2ENB = 13;

// 第3ドライバー [走行部] アナログピン使用
int m3IN1 = 14; // A0
int m3IN2 = 15; // A1
int m3IN3 = 16; // A2
int m3IN4 = 17; // A3
int m3ENA = 18; // A4 (速度制御可: analogWrite)
int m3ENB = 19; // A5 (速度制御可: analogWrite)

void setup() {
  pinMode(m1IN1, OUTPUT); pinMode(m1IN2, OUTPUT); pinMode(m1IN3, OUTPUT); pinMode(m1IN4, OUTPUT);
  pinMode(m2IN1, OUTPUT); pinMode(m2IN2, OUTPUT); pinMode(m2IN3, OUTPUT); pinMode(m2IN4, OUTPUT);
  pinMode(m1ENA, OUTPUT); pinMode(m1ENB, OUTPUT);
  pinMode(m2ENA, OUTPUT); pinMode(m2ENB, OUTPUT);
  pinMode(m3IN1, OUTPUT); pinMode(m3IN2, OUTPUT); pinMode(m3IN3, OUTPUT); pinMode(m3IN4, OUTPUT);
  pinMode(m3ENA, OUTPUT); pinMode(m3ENB, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  char ip = '0';
  while (Serial.available() > 0) {
    ip = Serial.read();
    delay(10);
  }
  switch (ip) {
    case '6': // ショルダーUP
      digitalWrite(m1IN3, HIGH); digitalWrite(m1IN4, LOW);
      digitalWrite(m1ENA, HIGH); digitalWrite(m1ENB, HIGH); break;
    case '5': // ショルダーDOWN
      digitalWrite(m1IN3, LOW); digitalWrite(m1IN4, HIGH);
      digitalWrite(m1ENA, HIGH); digitalWrite(m1ENB, HIGH); break;
    case '1': // エルボーUP
      digitalWrite(m2IN3, HIGH); digitalWrite(m2IN4, LOW);
      digitalWrite(m2ENA, HIGH); digitalWrite(m2ENB, HIGH); break;
    case '2': // エルボーDOWN
      digitalWrite(m2IN3, LOW); digitalWrite(m2IN4, HIGH);
      digitalWrite(m2ENA, HIGH); digitalWrite(m2ENB, HIGH); break;
    case '8': // グリップ閉
      digitalWrite(m2IN1, HIGH); digitalWrite(m2IN2, LOW);
      digitalWrite(m2ENA, HIGH); digitalWrite(m2ENB, HIGH); break;
    case '7': // グリップ開
      digitalWrite(m2IN1, LOW); digitalWrite(m2IN2, HIGH);
      digitalWrite(m2ENA, HIGH); digitalWrite(m2ENB, HIGH); break;
    case '3': // ベース時計回り
      digitalWrite(m1IN1, HIGH); digitalWrite(m1IN2, LOW);
      digitalWrite(m1ENA, HIGH); digitalWrite(m1ENB, HIGH); break;
    case '4': // ベース反時計回り
      digitalWrite(m1IN1, LOW); digitalWrite(m1IN2, HIGH);
      digitalWrite(m1ENA, HIGH); digitalWrite(m1ENB, HIGH); break;
    case '9': // 全停止
      digitalWrite(m1IN1, LOW); digitalWrite(m1IN2, LOW); digitalWrite(m1IN3, LOW); digitalWrite(m1IN4, LOW);
      digitalWrite(m1ENA, LOW); digitalWrite(m1ENB, LOW);
      digitalWrite(m2IN1, LOW); digitalWrite(m2IN2, LOW); digitalWrite(m2IN3, LOW); digitalWrite(m2IN4, LOW);
      digitalWrite(m2ENA, LOW); digitalWrite(m2ENB, LOW);
      digitalWrite(m3IN1, LOW); digitalWrite(m3IN2, LOW); digitalWrite(m3IN3, LOW); digitalWrite(m3IN4, LOW);
      digitalWrite(m3ENA, LOW); digitalWrite(m3ENB, LOW); break;
    case 'A': // 前進
      digitalWrite(m3IN1, HIGH); digitalWrite(m3IN2, LOW);
      digitalWrite(m3IN3, HIGH); digitalWrite(m3IN4, LOW);
      digitalWrite(m3ENA, HIGH); digitalWrite(m3ENB, HIGH); break;
    case 'D': // 後進
      digitalWrite(m3IN1, LOW); digitalWrite(m3IN2, HIGH);
      digitalWrite(m3IN3, LOW); digitalWrite(m3IN4, HIGH);
      digitalWrite(m3ENA, HIGH); digitalWrite(m3ENB, HIGH); break;
    case 'B': // 右旋回
      digitalWrite(m3IN1, LOW); digitalWrite(m3IN2, HIGH);
      digitalWrite(m3IN3, HIGH); digitalWrite(m3IN4, LOW);
      digitalWrite(m3ENA, HIGH); digitalWrite(m3ENB, HIGH); break;
    case 'C': // 左旋回
      digitalWrite(m3IN1, HIGH); digitalWrite(m3IN2, LOW);
      digitalWrite(m3IN3, LOW); digitalWrite(m3IN4, HIGH);
      digitalWrite(m3ENA, HIGH); digitalWrite(m3ENB, HIGH); break;
  }
}

カスタムパーツと組み立てガイド

APKファイル: hydraulic_crane_J6NH7RouoB.apk

スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御 スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御 スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御 スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御 スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御 スマホアプリで操作する油圧クレーン:Arduino UNOとBluetoothで精密制御

製造プロセス

  1. クレーン技術:設計、材料、未来の革新
  2. パイプオルガン:空気駆動音楽の壮大な芸術
  3. 鋼管:種類、歴史、現代製造技術
  4. 集積回路(IC):現代エレクトロニクスを支える微小強力チップ
  5. 温度制御ファンサーキット:メディア家具冷却用DIYリレーシステム
  6. MOSMusicプロジェクトキット: MOSFET、Arduinoで音楽同期照明制御
  7. 高品質油圧パイプベンダー:耐久性・ISO 9001認証取得
  8. 油圧ポンプの基礎:原理、種類、用途と選定ポイント
  9. 3Dプリントが油圧部品の設計と性能をどう革新するか
  10. クレーンモダナイゼーションが主要コンポーネントを変革し、ピーク性能を引き出す仕組み
  11. 油圧クレーンの仕組みと効率性:包括的解説