ミニエレベーター
コンポーネントと消耗品
> |
| × | 1 |
必要なツールとマシン
|
アプリとオンラインサービス
> |
|
このプロジェクトについて
これは機能している5階建てのエレベーターです。高さは3フィートです。これには多くの労力を費やしました。
追いかけましょう…これがその仕組みです!
クイックリンク:
- コード
- 配線図(近日公開)
インスピレーション
私たちはここ数年、Arduinoと組み込み処理/ IoTで遊んでいますが、私たちが行ったほとんどのプロジェクト(そして私たちが見たほとんどのプロジェクト)は非常に単純です。私たちは長い間、「本物の」何かを探していました。
この夏、私は素晴らしいサマーキャンプ、プロジェクトエンバーに行きました。それはサンフランシスコベイエリアにあり、それは素晴らしいです!子供たちは電動工具を使って大きな木造構造物を設計および製造します。それができるとわかったら、物理的な建物とArduinoを組み合わせたいと思いました。これが結果です!
アプローチ
これを理解する上で最も難しい部分は、モーターと床の検出技術でした。実際のエレベータは、おそらく各フロアの場所にセンサーを備えた巨大なA / Cモーターを使用しています。確かに小規模でもこのアプローチは使えますが、各フロアにセンサーを設置するのは配線が多く、感度や位置合わせなどが気になります。一方、ステッピングモーターは正確に配置できます…。私たちがどこにいるのか、そしてそれを行うためにどこまで行かなければならないのかを正確に知る必要があります。
幸い、以前の「ファンシーカレンダー」プロジェクトでも同様のことを行いました。そこで、ステッピングモーターを使用する方法、さらに興味深いことに、それらの位置を不揮発性メモリ(ArduinoのEEPROM)に保存する方法を理解しました。したがって、ここでは同じアプローチを使用します。このように、位置センサーはまったく必要ありません。ステッピングモーターを動かすステップ数をカウントする能力だけを頼りにしています。
他の設計上の懸念は、エレベータの呼び出しボタンに関するものでした。それらは瞬間的な接点スイッチを点灯する必要がありますが、ライトはボタンとは独立して制御可能である必要があります。 eBayで適切なものをいくつか見つけました。
材料
個別のライトが付いたボタン(eBayから購入したもので、次のようになります:
<図> <図>- Arduino Mega2560 –プロジェクトのすべてのベルとホイッスルにGPIOピンが多いため、これを選択しました。オフィシャルを購入する–模倣品/互換性のあるものをより安く入手できる場合があります。
- 矢印を表示する8×8のLEDマトリックス購入(Amazon)
- フロア番号を表示する7セグメントディスプレイ購入(SparkFun)
- 車を動かすためのステッピングモーターとドライバーボード5パックを購入(Elegoo)注:使用するのは1つだけですが、さらに必要になる場合があります。そして、あなたは彼らが入ってくる箱を再利用することができます。🙂
- Mega2560プロトタイプボード、ワイヤーを接続するために購入(BangGood)上部のヘッダーをはんだ除去しました。その必要はありません。
- ネジ留め式端子(10×2)購入(frys.com) 4つ必要です
- スレッドスプール
以下のすべての資料は、最寄りのホームデポまたはその他のホームセンターで見つけることができます。
- エレベーターと車の成形でファイバーボードと3/4平方。
- モーターを保持するためのアルミニウム製アングルブラケット
- 各種ネジ
- スプール内のブッシングとして機能するホース
- ストリング(頑丈なナイロンカイトストリングを使用)
ビルド
シャフトと車はファイバーボードとモールディングでコーナーを補強しました。
エレベーターシャフトから始めました。側面と背面(前面が開いている)のファイバーボードを3枚36″ x8″にカットしました。次に、長さ36インチの3/4インチの正方形のモールディングを4つ使用して、ファイバーボードをねじ込み、垂直シャフトを作成しました。上下の正方形のファイバーボードがすべてを正方形に保ちます。
次はエレベーターカーです。ファイバーボードの壁、天井、床、松のモールディングサポートなど、同じ種類の構造を使用しています。シャフトのほぼ全幅ですが、松の前と後ろの間にあります(したがって、深さよりも幅が広くなります)。車の上部にアイフックを取り付けて、紐からぶら下がるようにしました。
<図>車を出し入れできるようにする必要があるので、シャフトの底を早めに置かないように注意してください。テストが完了したら、下部を追加できます。
モーターはエレベーターの上にあります。モーターのシャフトに通常の木製スプール(ミシン糸から)を取り付けました。これは少し注意が必要です。モーターシャフトのエッジはフラットですが、もちろんスプールの穴は丸いです。そこで、スプールにドリルで穴を開けてタップし、モーターシャフトの平らな端を固定するためにネジを入れました。また、スプールの穴はモーターシャフトよりも大きくなっています。スペースをとるためのブッシングとして機能するために、適切なサイズのゴムホースの非常に短い部分を使用しました。
<図> <図>次に、モーターを山形のアルミニウム片に取り付け、それをシャフトの上部にねじ込みました。スプールの反対側を支えるために、2番目の山形アルミニウムにネジを入れます。これにより、エレベータの重量によってスプールがモーターシャフトから引き離されることがなくなり、水平に保たれます。
ボタンパネルの作成には、より多くのファイバーボードを使用しました。左側では、呼び出しボタンにシャフトの高さのボードを使用しました。赤と緑のボタンを交互に使用しました。ダウンは赤、アップは緑。最上階は赤のみ、最下階は緑のみです。 「エレベーター内」パネルは右側にあります。ボタン用の5つの穴に加えて、LEDマトリックスと7セグメントディスプレイ用の穴を開けました。
<図> <図>4つのスクリューボックスを取り付けました。コールパネルに2つ、「内部-」エレベーターパネルの隣に2つ。
配線
配線が多いので配線が難しい! Arduino Megaプロトタイピングシールドを使用することを選択しました。これは、すでに1つあるためです:-)。しかし、本当の動機は、非常に多くのワイヤがあるため、標準のArduinoピン接続を使用しただけでは、必然的に何かが切断されるのではないかと心配していたことです。プロトタイピングシールドを使用すると、ワイヤを直接はんだ付けして、そのリスクを回避できます。また、7セグメントディスプレイに必要な抵抗器などを置くのに便利な場所になりました。
<図>とはいえ、これらのさまざまなパネルをすべて一緒に配線する必要はありませんでした。間違えた場合、修正するのが非常に難しいためです。したがって、すべてのワイヤには、ある種の取り外し可能な端があります。スイッチパネルとArduinoの間にネジブロックを使用しました。7セグメントおよびLEDマトリックスの場合、ワイヤの一方の端はまだクイックディスコネクトピンです。
<図>ボタンパネルには、ボタン端子に完全にフィットする圧着メススペードコネクタを使用して、独自のワイヤリングハーネスを作成しました。各ボタンには2つのアースが必要だったため(1つはボタン用、もう1つはライト用)、すべてをArduinoに接続すると、多くのアース線が必要になります。そこで、代わりに、それらすべてを素敵なカスタムワイヤリングハーネスでデイジーチェーン接続しました。信号ピン(スイッチ用と各ボタンのライト用)はすべて別々で、ネジブロックまで伸びています。
<図> <図>最後に、ネジブロックには別の利点があります。プロトタイピングシールドにはんだ付けするために単線を使用しましたが、ボタンの背面への圧着コネクタにはより線を使用しました。ネジブロックは、はんだ付けせずに一方から他方に切り替える場所を提供してくれました。
プログラミング
コードには多くの改訂がありましたが、現在のバージョンは次のとおりです。ソフトウェアの最も複雑な部分は、エレベータかごがどこに行くべきかを理解するためのロジックです。 2階にある場合、内部の誰かが3に行きたいと思っています。誰かが、4から下に行き、1から上に行きたいと思っています…最初にどこに行きますか?
もう1つの複雑な部分は、ステッピングモーターライブラリが通常機能する方法は、モーターが動いている間、Arduinoの「loop()」関数を何も呼び出さないことです。それでも、エレベータの移動中に誰かがボタンを押すことは機能するはずです。そのため、1つのステップで目的地まで行くことはできません。一度に少しずつ移動し、途中でボタンが押されているか(場合によっては目的地が変更されているか)を確認する必要があります。
Arduinoのスケッチはこちらからダウンロードできます。
コードをアップロードするには:
これらのライブラリをダウンロードする必要があります:
- LEDControlMS
- SevenSeg
コードをアップロードします:
- 適切なボードを選択してください:この画像をご覧ください
- ポートを選択します:同様ですが、「ポート」に移動します。 MacOSでは/dev/cu.usbmodem1411のようになりますが、WindowsではCOM2のようになります。
- コードをアップロードします。
もしそうなら、おめでとうございます!テストに進みます。うまくいかなかった場合は、手順5に戻ります。それでもうまくいかない場合は、配線を再確認してください。 それの場合 うまくいきませんでした。上部のリンクを使用してお問い合わせください。
- ArduinoIDEをダウンロードします。 arduino.cc
- コードを開きます。
- ライブラリをインストールするには、このチュートリアルをご覧ください。
- エレベーターはセルフテストを通過する必要があります。すべての呼び出しボタンが順番に点灯し、次に5つのエレベーター内ボタン、7セグメントディスプレイが循環し、マトリックスに上下の矢印が表示されます。完了すると、7セグメントディスプレイにエレベータかごの最後の既知の階数が表示されます。
テスト/キャリブレーション
ステッピングモーターは各フロアの停止場所を正確に知る必要があるため、手動で1回指示する必要があります。これは不揮発性メモリに記憶されます(つまり、電源が切断されている場合でも保存されます)。
調整するには:
- 右側のパネルの上部ボタンと下部ボタンを押し続けます。マトリックスはC(キャリブレーション用)を示している必要があります。
- これらの上部ボタンと下部ボタンを使用して、7セグメントに示されているフロアに車を手動で移動します。適切な場所に配置されたら、中央のボタンを押します。
- 5つのフロアすべてに対して手順2を繰り返します。完了すると、マトリックスがオフになります。
次のステップ
このようなプロジェクトは決して真に行われることはありません!エレベーターとシャフトの構造をレーザーカット部品で再構築したいと思います。これを行うためにハンドヘルドジグソーを使用したため、カットはそれほどまっすぐではありません…それが部分的に「摩擦の問題」を引き起こしている原因です。同時に、より優れたモーターマウントを設計し、より優れた高速モーターを実現します。
電子的には、多くの実際のエレベータと同様に、エレベータのドアが開くたびにベルまたはチャイムを追加するように要求されました。私たちもそうします。
このプロジェクトについての考えや提案があれば、コメントでお知らせください!
バージョン履歴
注:Googleドライブのリンクはバージョンごとに自動的に更新されます。
バージョン2:現在のフロアの外部からエレベータを呼び出すとソフトウェアがハングし、リセットボタンを押す必要があるバグを修正しました。
コード
ArduinoLEDマトリックスライブラリ
https://github.com/shaai/Arduino_LED_matrix_sketchhttps://github.com/shaai/Arduino_LED_matrix_sketchSevenSegライブラリ
https://github.com/sigvaldm/SevenSeghttps://github.com/sigvaldm/SevenSegArduinoスケッチ
製造プロセス