Arduinoを使用してオートレーシングシューズを作成するにはどうすればよいですか?

現代では、科学者やエンジニアはすべてを自動化しようとしています。それは、人間の努力なしにすべてがそれ自体で機能することを意味します。非常に一般的な問題は、靴ひもを自分で結ぶのに苦労している人がいるという社会で確認されました。これらの人々には、障害者、腰痛のある人々、子供、およびある程度の視覚障害者が含まれます。したがって、これらの人々がこれを問題と見なさないように解決策を講じる必要があります。



Instructablesから撮影した写真

このプロジェクトでは、人間の努力なしに自動的に靴ひもを結ぶ自動靴ひもショーを作成します。靴の中に足を入れるとすぐに、マイクロコントローラーボード、モーターシールドセンサー、サーボモーターの助けを借りてそれを行います。



Arduinoを使用してショーをAutoLaceする方法は?

プロジェクトの概要がわかったところで、さらに情報を収集し、Arduinoを使用してこのAutoLaceシューズを作成する手順を実行してみましょう。



ステップ1:コンポーネントの収集

プロジェクトを開始するための最良のアプローチは、コンポーネントのリストを作成し、これらのコンポーネントの簡単な調査を行うことです。コンポーネントが不足しているという理由だけでプロジェクトの途中にとどまりたくないからです。このプロジェクトで使用するコンポーネントのリストを以下に示します。



  • Arduino uno
  • モーターシールド
  • サーボモーター
  • 導いた
  • 1kオームの抵抗器
  • メタルストリップ
  • プラスチック製の結束バンド
  • 1/8
  • ジャンパー線
  • 電池

ステップ2:コンポーネントの調査

プロジェクトの要約がわかり、すべてのコンポーネントの完全なリストもあるので、一歩進んで、使用するコンポーネントについて簡単に説明します。

Seeeduino v4.2 は、マイクロコントローラーAtmega 328MCUをベースにした世界最高のArduino互換ボードの1つです。使いやすく、安定していて、他の多くのボードよりも見栄えが良いからです。これは、Arduinoブートローダーに基づいています。 UARTからUSBへのコンバーターとしてATMEGA16U2を搭載しているため、FTDIチップとして使用できます。それは一般的にアンドロイドケーブルと呼ばれるマイクロUSBケーブルを使用してコンピュータに接続されています。 DCジャックを使用してボードに電力を供給することもできます。入力電力は7Vから15Vでなければなりません。

Seeeduinoボード



Arduinoモーターシールド Arduinoを利用してモーターの方向と速度を簡単に制御できます。 Arduinoピンにアドレス指定するだけで、あらゆるモーターを簡単に運転できるようになります。さらに、最大12vの異なる電源でモーターを制御するオプションを使用できます。何よりも、シールドは非常に簡単に見つけることができます。これらすべての理由から、Arduino Motor Shieldは、ラピッドプロトタイピングや一般的な実験のために武器庫に少し持っておくと便利です。

モーターシールド

力センサー抵抗器(FSR) 非常にシンプルで使いやすい圧力センサーです。 FSRの妨害は、検出領域に適用される重みに依存します。あなたが適用する重みが大きいほど、反対は低くなります。障害物の範囲は非常に大きく、>10MΩ(重量なし)から約200Ω(最大重量)です。ほとんどのFSRは、100gから10kgの範囲の電力を検出できます。 FSRは、2つの層とスペーサー接着剤で構成されています。導電層は、重量がかからない場合、細いエアギャップによって隔離されます。フィルムの1つには、テールから検出領域(丸い部分)までの2つのトレースが含まれています。これらのトレースは一緒に織り込まれていますが、接触していません。もう一方のフィルムは、主要なインクで覆われています。センサーを押すと、インクが2つのトレースを、重量に依存する反対側と一緒に短絡します。

力センサー

サーボモーター は、正確な増分で制御および移動できる回転式またはリニアアクチュエータです。これらのモーターはDCモーターとは異なります。これらのモーターにより、角運動または回転運動を正確に制御できます。このモーターは、その動きに関するフィードバックを送信するセンサーに結合されています。

サーボモト

ステップ3:動作原理

このプロジェクトの動作原理は非常に単純です。力センサーは、足がショーに配置されているかどうかを検出するために使用されます。足を検出すると、Arduinoボードに信号を送信し、Arduinoモーターシールドを使用してサーボモーターを動かします。このサーボモーターは、すべての靴ひもを一度に引っ張るような動きをします。したがって、靴のすべてのひもを自動的に結びます。

ステップ4:コンポーネントを組み立てる

このプロジェクトの背後にある主なアイデアと動作原理がわかったので、一歩先に進み、すべてを組み立てて、自動的に自分自身をリースするショーを作りましょう。最終製品を作成するには、以下の手順を実行します。

  1. まず、ショーの裏側に固定されるように小さな金属板をトリミングします。恒久的に固定され、緩まないように合成を使用してください。金属板とショーの間に隙間を残してください。その隙間からケーブルタイを通過させます。
  2. 次に、2つのサーボモーターを取り、ホットグルーで金属プレートに取り付けます。これを恒久的に固定するには、これらのサーボモーターが後で動かないように、それらの周りにジップタイを使用します。サーボモーターのペースが合ったら、残っている余分なケーブルを切断します。
  3. 次に、バッテリーケースをモーターの下に取り付けて、電源スイッチが外側になるようにします。
  4. 次に、Arduinoボードをモーターに取り付けます。モーターシールドをArduinoに接続する前に、回路にいくつか追加する必要があります。
  5. LEDを取り、抵抗器をその正のレッグにはんだ付けし、短い長さのワイヤーを負のレッグと抵抗器のもう一方のレッグにはんだ付けします。次に、このアセンブリをArduinoに接続し、未使用の靴紐ソケットの1つに押し込みます。
  6. 今すぐ取る 力センサー かかとが休む靴に入れます。はんだごての熱でセンサーのプラスチックが溶けてしまう可能性があるため、力センサーのピンをはんだ付けすることはお勧めしません。それで、あなたがそれを接着するか、それをダクトテープで留めるならば、それはより良いです。
  7. 最後に、ジップタイを使用してすべての靴ひもをサーボモーターに結び、モーターが回転すると、すべての靴ひもを一度に引っ張るようにします。

LEDのプラス線がArduinoのピン2に接続されていることを確認してください。フォースセンサーのVccとアースピンはArduinoの5Vとアースに接続され、フォースセンサーのINピンはArduinoボードのA0ピンに接続されます。最後に、間違った接続をしないように、サーボモーターのピンをモーターシールドに慎重に差し込みます。

ステップ5:Arduino入門

以前にArduinoIDEに慣れていない場合でも、心配しないでください。以下では、ArduinoIDEを使用してマイクロコントローラーボードにコードを書き込む明確な手順を確認できます。 ArduinoIDEの最新バージョンはからダウンロードできます ここに 下記の手順に従ってください。

  1. ArduinoボードがPCに接続されたら、「コントロールパネル」を開き、「ハードウェアとサウンド」をクリックします。次に、「デバイスとプリンター」をクリックします。 Arduinoボードが接続されているポートの名前を見つけます。私の場合は「COM14」ですが、パソコンによって異なる場合があります。

    ポートを見つける

  2. サーボモーターを使用するには、ライブラリを含める必要があります。ライブラリは、コードとともにダウンロードリンクに添付されています。に移動 スケッチ>ライブラリを含める> .ZIPライブラリを追加します。

    ライブラリを含める

  3. 次に、ArduinoIDEを開きます。ツールから、Arduinoボードをに設定します Arduino / GenuinoUNO。

    セッティングボード

  4. 同じツールメニューから、コントロールパネルに表示されているポート番号を設定します。

    設定ポート

  5. 以下に添付されているコードをダウンロードして、IDEにコピーします。コードをアップロードするには、アップロードボタンをクリックします。

    アップロード

コードは次の方法でダウンロードできます。 ここをクリックしてください。

ステップ6:コード

コードはかなりよくコメントされており、自明です。それでも、コードについては以下で簡単に説明します。

1.最初に、サーボモーターをマイクロコントローラーボードと統合してプログラムできるように、特別なライブラリが含まれています。サーボモーターで使用する2つのオブジェクトが作成されます。モータードライバーに接続されるいくつかのピンまたはArduinoが初期化され、いくつかの変数も宣言されて、後でメインプログラムで使用されるいくつかの一時的な値を保存します。

#include //サーボモーターをマイクロコントローラーボードServomyservoとインターフェースするライブラリを含めます。 //サーボオブジェクトを作成します1Servo myservo2; //サーボオブジェクト2を作成しますintforcePin = 0; //力センサーに接続されたアナログピン0int ledPin = 2; // LEDに接続されたデジタルピン2int switchPin = 19; //ロック解除スイッチをアナログピン5に設定しますintvalF; //力センサーの値intvalS; //スイッチの値intthresHold = 500; //力センサーの圧力しきい値を定義しますintservoUnlock = 0; //メインサーボをニュートラルアンレース位置(0度)に設定しますint ServoLock = 180; //メインサーボをひもで締めた位置(180度)に設定しますintservoUnlock2 = 180; //補助サーボをニュートラルアンレース位置(0度)に設定しますintservoLock2 = 0; //補助サーボをひもで締めた位置(180度)に設定します

2.2。 void setup() マイクロコントローラの電源がオンになっているか、イネーブルボタンが押されたときに、起動時に1回だけ実行される機能です。この関数では、Arduinoのピンが初期化されてINPUTまたはOUTPUTとして使用されます。以前にサーボモーター用に作成されたオブジェクトは、サーボモーターをArduinoボードの特定のピンに取り付けるために使用されており、サーボは初期の紐なし状態に移行しています。この関数では、ボーレートも設定されます。ボーレートは、マイクロコントローラーが接続されている外部デバイスと通信する速度(ビット/秒)です。

void setup(){Serial.begin //マイクロコントローラーのボーレートを設定しますpinMode(ledPin、OUTPUT); //デジタルピン2はLEDの出力ですpinMode(switchPin、INPUT); //アナログピン5はスイッチmyservo.attach(9);の入力です。 //サーボをピン9に接続しますmyservo2.attach(10); //サーボをピン10に接続しますmyservo.write(servoUnlock); //サーボ1をレースされていない位置に移動しますmyservo2.write(servoUnlock2); //サーボ2をレースされていない位置に移動します}

3.3。 void loop() ループで繰り返し実行される関数です。まず、力センサーによってアナログ値が読み取られます。次に、力センサーの値がしきい値を超えるのを待ちます。足がその場所に完全に落ち着くのを待ち、両方のサーボをロック位置に設定します。スイッチが押されると、サーボはロック解除に設定され、LEDが7回点滅するまで待機します。

void loop(){valF = analogRead(forcePin); //力センサーの値を読み取りますvalS = digitalRead(switchPin); //スイッチの値を読み取るif(valF> = thresHold){//力センサーが圧力しきい値と等しくなるか通過するのを待ってから:delay(1000); //足が靴の所定の位置に落ち着くのを待ちますmyservo2.write(servoLock2); //補助サーボをロック位置delay(1000);に設定します。 // 1秒待ちますmyservo.write(servoLock); //メインサーボをロック位置に設定delay(1000); // 1秒間待機しますdigitalWrite(ledPin、HIGH); //サーボのロックが解除されるまでLEDをオンにします。バッテリーの寿命を延ばすために、この行を削除してください。 } if(valS == HIGH){//スイッチが押されるのを待ってから:myservo2.write(servoUnlock2); //補助サーボ遅延のロックを解除します(1000); // 2秒間待機しますmyservo.write(servoUnlock); //メインサーボdelay(500);のロックを解除します//待ってから、LEDを7回点滅しますdigitalWrite(ledPin、LOW); delay(200); digitalWrite(ledPin、HIGH); delay(200); digitalWrite(ledPin、LOW); delay(200); digitalWrite(ledPin、HIGH); delay(200); digitalWrite(ledPin、LOW); delay(200); digitalWrite(ledPin、HIGH); delay(200); digitalWrite(ledPin、LOW); delay(200); digitalWrite(ledPin、HIGH); delay(200); digitalWrite(ledPin、LOW); delay(200); digitalWrite(ledPin、HIGH); delay(200); digitalWrite(ledPin、LOW); delay(200); digitalWrite(ledPin、HIGH); delay(200); digitalWrite(ledPin、LOW); delay(200); digitalWrite(ledPin、HIGH); delay(200); digitalWrite(ledPin、LOW); // LEDをオフにしますdelay(1000); }}

これが、サーボモーター、マイクロコントローラー、モーターシールドを使用して、靴ひもを自動的に結ぶショーを作成するための手順全体でした。この手順全体を知っているので、自宅でAutoLacingShowを作成して楽しんでください。