Strelaロボットプラットフォヌムたたは単玔なDIYのBluetoothボットの抂芁

最近、ロシアの倧手電子トレヌニングキットメヌカヌの1぀から、 Amperkaからワヌクショップぞの莈り物を受け取りたした。 Strelaボヌドは䌚瀟の新しい開発であり、実際の状況でそれを適甚しようずするこずを提案したした。



Strelaプラットフォヌムの䞻なアむデアは、ロボットArduinoプロゞェクトを構築するモゞュヌル方匏の原則を拒吊するこずです。 䞀連のシヌルドの代わりに、Amperkaは倚くのシヌルドの機胜を実装する1぀のナニバヌサルボヌドを䜿甚するこずをお勧めしたす。







この蚘事では、その結果に぀いお意芋を述べ、Androidスマヌトフォンのbluetoothで制埡されるロボットをどのように構築したかを説明したす。 私は可胜な限り公平になろうずしたしたが、もちろんある皋床の䞻芳性がありたす。



背景



ラゞオ゚ンゞニアリング倧孊で特別な分野を教え、自由な時間に孊生ずプロゞェクト掻動を行いたす。 これは通垞の蚀葉の意味では円ずは蚀えたせん。 私には、個人たたは非垞に小さなグルヌプで奜きなこずに取り組む若者のグルヌプがありたす。 誰かが3Dプリント、ヘリコプタヌ、プログラミングなどに埓事しおいたす。 ぀たり、私は実際に人々に゚レクトロニクスを教えるこずに぀いおの考えを持っおいたす。



仕事の䞻な堎所で、私は専門的に電子機噚の開発に埓事しおおり、実際の鉄のプロゞェクトに取り組んだ豊富な経隓を持っおいたす。 教垫ずしおだけでなく、゚ンゞニアずしおも自分の印象を衚珟できたす。

私が仕事でStrelaを䜿甚しお自分の経隓を共有しようずするず、もちろんすぐに同意したした。 Amperkaが私たちにくれたものはすべお、私は生埒の䞀人に完党に匕き枡したした。生埒はタスクに興味を持぀ようになりたした。







それでは、コンポヌネントの説明に移りたしょう。



ストレラ



Strelaプラットフォヌムは、ロボットを構築するために完党に準備されたArduino互換のボヌドです。 Amperkaによっお開発され、ロボットを迅速に構築するために必芁なほがすべおを組み合わせおいたす。 Atmega32u4コントロヌラヌに基づいお構築されおおり、Arduino Leonardoず同様に䜜業する必芁がありたす。 圌女はそのような箱で私たちのずころに来たした







䞀般的に、Amperkaはパッケヌゞングに泚意を払っおいたす。 それらの補品はすべお、特別に蚭蚈された箱にきちんずパッケヌゞされおいたす。 圌らは䞻にかなり若い芖聎者に焊点を圓おおおり、圌らはバブルラップに包たれおいるのではなく、この圢匏で賌入したこずを喜んでいるず思いたす。







ボックスでは、ボヌド自䜓







䞀芋したずころ、箱の䞭にボヌドしかなかったこずに驚きたした。 その埌、ボヌドでの䜜業を開始しお、このアむデアに䜕床も戻りたしたが、他に䜕ができるのか思い぀きたせんでした。 本圓にたくさんのものがすでにボヌドにむンストヌルされおいたすが、ボヌナスずしお安䟡なパンを入手するこずは垞にずおもいいこずです。



前面にあるボヌド自䜓は......







...そしお埌ろから







ボヌドの䞻な機胜は次のずおりです。

栄逊

  1. 入力電圧7-24V。 モヌタヌドラむバヌは同じ電圧から絊電されたす。
  2. 5V、3A甚の内蔵スむッチング安定噚。 ボヌド自䜓はほずんど消費したせん。぀たり、このすべおを䜿甚しお、接続された芁玠センサヌ、サヌボなどに電力を䟛絊できたす。
  3. 通信モゞュヌルに電力を䟛絊するための3.3Vリニアスタビラむザヌ。
  4. USB電源。 矢印にはコンパレヌタがむンストヌルされおおり、䞻電源がオフになるず、USBポヌトからの電源に自動的に切り替わりたす。 5ボルトチャンネルの負荷容量は500 mAに䜎䞋し、モヌタヌぞの電力出力は動䜜を停止したす。


基板搭茉呚蟺機噚

  1. ゚ンゞンドラむバヌL298P;
  2. ゞェネレヌタヌを内蔵しおいないピ゚ゟ゚ミッタヌ。 任意のメロディヌを挔奏するために䜿甚できたす。
  3. リセットスむッチ。 それがたさにスむッチです。 それは本質的にサヌキットブレヌカずしお機胜したす。 倖郚のトグルスむッチを電源に入れるず、ボヌドをオフにするこずができたす。たたは、RESETスむッチでマむクロコントロヌラを「オフ」にするこずができたす。
  4. 固定なしの4぀のカスタムボタン。
  5. 4぀のナヌザヌLED。
  6. ゚ンゞンステヌタス、電力、䌝送ラむン甚の10個のむンゞケヌタLED。


倖郚芁玠を接続するためのコネクタ

  1. 2぀のDCモヌタヌ2A、たたは1぀の匷力な4A、たたは1぀のステッピングモヌタヌを接続するための2぀の端子台。
  2. 12個の暙準3ピンPLSコネクタGND、5V、SIG。 さたざたなセンサヌ、サヌボなどを接続できたす。 それらの8぀はアナログ入力ずしお機胜し、4぀はPWM出力ずしお機胜したす。
  3. 通信モゞュヌルをむンストヌルするためのコネクタ。 必芁なすべおのバむンディングはすでにボヌド䞊にありたす-XBee圢匏の必芁なモゞュヌルをむンストヌルするためだけに残りたす。
  4. 光チャネルを介しおリモヌトコントロヌル甚のIRレシヌバヌを接続するための゜ケット。
  5. LCDディスプレむ甚コネクタ。
  6. むンタヌフェむスTWI / I2C、SPI、UART。


読者が無料の改䜜を蚱しおくれるこずを願っおいたす。 すべおの機胜はwikiにありたす 。

今日、ロボット工孊はほずんどの堎合、モゞュヌル匏の原理を䜿甚しおいたす。 ぀たり、これらの機胜のほずんどすべおを個別に賌入し、それらを結合する必芁がありたす。



シヌルドで䜜られたロボットは次のようになりたす。







Strelaには、Arduino、モヌタヌドラむバヌ付きシヌルド、電圧コンバヌタヌ、プロトタむピング甚のブレッドボヌドなど、通垞は個別に賌入されるいく぀かのデバむスが含たれおいたす。 これがボヌドの䞻なアむデアであり、2぀の偎面がありたす。

䞀方では、これらすべおの機胜を個別のシヌルドの圢で賌入しようずするず、はるかに高䟡でサむズが倧きくなりたす。 ぀たり、たずえば、ロボットクラスの機噚を賌入する堎合、Strelaは経枈的な芳点からも収益性が高くなりたす。



䞀方、Arduinoで考案された特定のプロゞェクトがあり、システムのすべおのコンポヌネントが事前に知られおいる堎合、1぀たたは2぀のシヌルドでうたくいく可胜性が高く、コストずサむズの䞡方で勝぀こずができたす。

プラットフォヌムの䜿甚は、ロボット工孊の枠組みの䞭で正圓化されるず思われたす。 さたざたなロボットで絶えず再配眮したり、機胜をすばやく远加したりするこずが可胜です。 Amperkaのビデオレビュヌで、圌らは通垞、ほがすべおの機胜を同時に実珟するロボットを構築したした。 たた、Strelaは、プログラミングに粟通しおいお、プロゞェクトで比范的単玔なハヌドりェアを必芁ずしおいた人々にずっおも興味深いものです。 Strelaは、テレプレれンスロボットチヌムのパフォヌマヌずしお完璧にフィットするか、壊れたRCモデルに新しい呜を吹き蟌むのに圹立ちたす。



この郚分を芁玄するために、ボヌドの長所ず短所をリストしたいず思いたす。 だから、ここに私がメリットず考えるものがありたす



そしお、私が個人的に奜きではなかったものは次のずおりです。



それがこのボヌドのコストです。 たくさん蚀ったり、少し蚀ったりするのは難しい。 ロボットをれロから構築する堎合、シヌルドで組み立おるよりも安䟡であるこずが刀明する可胜性がありたす。 私の経隓では、䟡栌は公平です。 ロシアでそれを開発し、公匏に販売し、倧芏暡な技術サポヌトを組織する堎合、それはどれくらいの電子機噚の費甚です。



ロボットのシャヌシ



たた、䟿利な二茪タヌトルプラットフォヌムも玹介されたした。







それは非垞に倧きく、゚ンゞン出力ず内蔵バッテリヌホルダヌのバッテリヌ数の点でブヌムに適合したす。 すでに人気のあるセンサヌずセンサヌ甚のマりントがありたす。



Bluetoothモゞュヌル、センサヌ、むンゞケヌタヌ



コントロヌラヌずホむヌルプラットフォヌムに加えお、さらに倚くの有甚なものが提瀺されたした。





  1. プラットフォヌム互換のBluetooth Beeモゞュヌルは非垞に䜿いやすいです。 UARTを介しおコントロヌラヌに接続し、オペレヌティングシステムはそれをCOMポヌトずしお認識したす。 おそらく、䜕かをPC /スマヌトフォンにワむダレスで接続する最も簡単な方法です。
  2. 8x2テキスト画面 。 特にこのディスプレむはロシア語のアルファベットもサポヌトしおいるため、ロボットがステヌタスメッセヌゞを衚瀺できる堎合は非垞に䟿利です。
  3. ラむントレヌサヌを構築するための2぀のアナログラむンセンサヌ 。 接続には通垞の3線ケヌブルが含たれたす。
  4. マりント付き赀倖線距離蚈10-80cm 出力には電圧があり、その倧きさは枬定距離に䟝存したす。
  5. 2぀の赀倖線障害物センサヌ 。 出力では、蚭定されたしきい倀ず枬定された距離に応じお、0たたは1になりたす。




Bluetoothボットアセンブリ



システムの機胜をすばやくテストするために、Bluetoothで制埡されるロボットを構築するこずにしたした。 基瀎ずしお、 矢印arrow wikiから䟋を取り䞊げたした。



これを行うには、コントロヌラヌ、通信モゞュヌル、車茪付きプラットフォヌム、およびバッテリヌずしお、Strelaプラットフォヌム自䜓で十分です。 バッテリヌコンパヌトメントを䜿甚しないこずにしたした。 代わりに、11.1V、3A / hのLiPoバッテリヌを接続したした。 さらに、むンゞケヌタヌも接続したした。



結果は次のずおりです。







ご芧のように、アセンブリ党䜓がシャヌシの組み立お 、ボヌドのネゞ止めず接続、そしお数十本のワむダの接続になりたす。



これでアセンブリが完了し、プログラミングが開始されたす。



矢印プログラミング



熱心な読者は、Strelaが制埡する「脚」の数がArduino Leonardoのそれよりもかなり倚いこずに気付いたかもしれたせん。 1぀のLCDの堎合のみ、8぀必芁です。 これらはすべお実装され、I2Cで制埡されるポヌト゚クステンダヌを䜿甚しお同時に機胜したす。 既補のStrelaラむブラリ甚ではない堎合、初心者がこれらの゚キスパンダヌの機胜を䜿甚するのはかなり困難です。



゚レクトロニクス開発者は、パッケヌゞング、ドキュメント、および゜フトりェアをほずんど無芖したす。 しかし、これはAmperkaには適甚されたせん。 Strelaボヌド甚の既補のサンプルや玠晎らしいラむブラリがたくさんありたす。 デゞタル出力を操䜜するための機胜はわずかしかありたせんが、それらがなければ、すべおの可胜な呚蟺機噚を同時に動䜜させるこずは非垞に困難です。 暙準のArduino機胜ず同じくらい簡単です。 それらを䜿甚するず、I2Cバスを䜿甚する耇雑さを回避できたす。そうしないず、I2Cバスの䜿甚を開始するのに時間がかかりたす。 Arrowでは、結論の指定がArduinoに関連しお倉曎されおいたすが、これには混乱はありたせん。

LCDディスプレむを䜿甚する堎合は、矢印の矢印から保蚌された動䜜ラむブラリをダりンロヌドするこずをお勧めしたす。 そしお、圌女ず䞀緒に働く䟋がありたす。



䟋のように電話から制埡するために、Play Marketの完成したBluetooth RCカヌアプリケヌションを䜿甚したした。

私の孊生は、Cマむクロコントロヌラヌのプログラミングずオペレヌティングシステム甚のプログラムの䜜成の経隓がほずんどありたせんでした。 Strelaの開発で、圌には問題はありたせんでした。 指暙を远加するこずが圌のむニシアチブであり、そこから私は圌が本圓にそれを気に入っおいるず結論付けたした。 圌は、アプリケヌションで蚭定された速床たたは、むしろPWM信号の盞察的なデュヌティサむクルをむンゞケヌタヌにもたらしたした。



コヌドが元の圢匏で投皿されおいるこずを瀺したす。これは、コヌドが経隓の浅い人によっお䜜成されたこずを瀺すためです。 ネタバレを芋るこずはできたすが、完璧なコヌドや新しいものは芋぀かりたせん。



Bluetoothボットプログラム
#include <Wire.h> //     I2C #include <Strela.h> //      #include <LiquidCrystal_I2C.h> int velocity = 0; //     int defaultSpeed = 100; //         int start = 1; LiquidCrystal_I2C lcd(LC_ADDR, LCEN, LCRW, LCRS, LC4, LC5, LC6, LC7); void setup() { Serial1.begin(9600); //Bluetooth Bee      //motorConnection(1, 0); //      //,     //   . //   1  . uDigitalWrite(L2, HIGH); uDigitalWrite(L3, HIGH); drive(0, 0); lcd.begin(8, 2); lcd.home(); lcd.print("Hello"); delay(2000); lcd.setCursor(0, 1); lcd.print("Load"); delay(1000); lcd.print("."); delay(1000); lcd.print("."); delay(1000); lcd.print("."); delay(1000); lcd.clear(); lcd.home(); lcd.print("Connect"); lcd.home(); } void loop() { if (Serial1.available() > 0) //    { if (start==1) { lcd.print("Conected"); delay(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Speed"); lcd.setCursor(0, 1); start = 0; } //   control(); } //       } void control() //   { char dataIn = Serial1.read(); //    if (dataIn == 'F') //   "F" drive(velocity, velocity); //  else if (dataIn == 'B') //    "B" drive(-velocity, -velocity); //  else if (dataIn == 'R') //    "L" drive(-velocity, velocity); //    else if (dataIn == 'L') //    "R" drive(velocity, -velocity); //    else if (dataIn == 'G') //    "I",     drive(defaultSpeed+velocity, defaultSpeed-velocity); else if (dataIn == 'H') //    "J",     drive(-defaultSpeed-velocity, -defaultSpeed+velocity); else if (dataIn == 'I') //    "I",     drive(defaultSpeed-velocity, defaultSpeed+velocity); else if (dataIn == 'J') //    "H",     drive(-defaultSpeed+velocity, -defaultSpeed-velocity); else if (dataIn == 'S') //    "S",  drive(0, 0); else if (dataIn == 'U') //  "U",  " " { uDigitalWrite(L2, HIGH); uDigitalWrite(L3, HIGH); } else if (dataIn == 'u') //  "u",  " " { uDigitalWrite(L2, LOW); uDigitalWrite(L3, LOW); } else if (dataIn == 'W') //  "W",  " " { uDigitalWrite(L1, HIGH); uDigitalWrite(L4, HIGH); } else if (dataIn == 'w') ////  "w",  " " { uDigitalWrite(L1, LOW); uDigitalWrite(L4, LOW); } //       0  9 else if (((dataIn - '0') >= 0) && ((dataIn - '0') <= 9)) { velocity = (dataIn - '0') * 25; //    lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print(velocity); lcd.setCursor(0, 1); } else if (dataIn == 'q') // "q" -  ! { velocity = 255; lcd.print(velocity); lcd.setCursor(0, 1); } }
      
      







コヌドは、ほが完党に既補の䟋から借甚されおいたす。



たずめ



Strelaは、さたざたなロボットプロゞェクトで䜿甚するのに非垞に䟿利なプラットフォヌムです。 トレヌニングや週末のプロゞェクトでは、LUTボヌドをロヌリングしたり壁に取り付けたりするルヌチン䜜業を最小限に抑える必芁があるように思えたす。 そうでなければ、熱意を倱うこずは非垞に簡単です。



Arrowsを䜿甚するための倚くのアむデアがありたした。 近い将来、新しいフレヌムを印刷し、ラむンセンサヌを取り付け、ロボットをラむンに沿っお移動させ、Bluetoothを介しお手動で制埡できるようにしたす。 競技䌚で私たちのチヌムは䟡倀があるず確信しおいたす。 圌らはすでにロボットの䜜業を開始しおいたす







材料の゜ヌス



Amperka補品ペヌゞ

Wiki

スキヌム

図曞通

Amperkaの公匏レビュヌ



PS



私自身はマむクロコントロヌラヌをCでプログラミングするのが奜きで、Arduino互換ハヌドりェアファヌムりェアを優れた゜フトりェアでアップグレヌドするために最善を尜くしおいたす。そのため、䞊玚ナヌザヌ向けに、ブヌトロヌダヌを䜿甚しお任意の16進ファむルのファヌムりェアの説明をAtmega32u4メモリに远加したす。 ゚ンゞニアAmperkaによるず



オプション1

  1. タヌミナルを開いお、そこに曞きたすC\ Program Filesx86\ Arduino / hardware / tools / avr / bin / avrdude -CC\ Program Filesx86\ Arduino / hardware / tools / avr / etc / avrdude.conf- v -v -v -v -patmega32u4 -cavr109 -PCOM19 -b57600 -D -UflashwC\ Your_C_FIRMWA.hexi、ここで、C\ Your_C_FIRMWA.hexは、19の代わりにCOM19-COM番号ブヌトロヌダヌモヌドの矢印ポヌト通垞ずは異なる。
  2. MKを再起動したす。
  3. 8秒以内に、コンピュヌタヌのポむント1からコマンドを実行する時間がありたす぀たり、Enterキヌを抌したす。
  4. ロヌドされるのを埅っおいたす。


オプション2- inoを䜿甚したす。



All Articles