ストリップに沿っお移動するロボットの䟋ずしおArduBlokを䜿甚したArduinoプログラミング

こんにちは 私は、远加教育の教垫であるAlikin Alexander Sergeevichです。Labinskの子䟛ず青少幎スポヌツセンタヌで、「Robotics」ず「Radio Engineering」のサヌクルを率いおいたす。 ArduBlokプログラムを䜿甚しおArduinoをプログラミングする簡単な方法に぀いお少しお話したいず思いたす。



画像



私はこのプログラムを教育プロセスに導入し、その結果に喜んでいたす;特にシンプルなプログラムを曞くずきや、耇雑なプログラムの初期段階を䜜成するずき、子䟛たちの間で特に人気がありたす。 ArduBlokはグラフィカルプログラミング環境です。぀たり、すべおのアクションはロシア語で眲名されたアクションを含むペむントされた画像で実行されたす。これにより、Arduinoプラットフォヌムの研究が倧幅に簡玠化されたす。 すでに2幎生の子どもたちは、このプログラムのおかげでArduinoでの䜜業を簡単に孊ぶこずができたす。



はい、誰かがScratchがただ存圚し、Arduinoをプログラミングするための非垞にシンプルなグラフィカル環境であるず蚀うこずができたす。 ただし、ScratchはArduinoをフラッシュせず、USBケヌブルを介しおのみ制埡したす。 Arduinoはコンピュヌタヌに䟝存しおおり、自埋的に動䜜するこずはできたせん。 独自のプロゞェクトを䜜成するずき、特にロボットデバむスを䜜成するずきは、Arduinoの自埋性が重芁です。



NXTやEV3などの有名なLEGOロボットでさえ、ArduinoプログラミングでArduBlokプログラムが登堎した生埒にずっおはそれほど興味深いものではありたせん。 Arduinoでさえ、どのLEGOコンストラクタヌよりもはるかに安䟡であり、倚くのコンポヌネントは叀い家電から簡単に取り出すこずができたす。 ArduBlokプログラムは、初心者だけでなく、Arduinoプラットフォヌムのアクティブナヌザヌにも圹立ちたす。



それでは、ArduBlokずは正確には䜕ですか 私が蚀ったように、これはグラフィカルなプログラミング環境です。 ほが完党にロシア語に翻蚳されたした。 しかし、ArduBlokのハむラむトはそれだけでなく、私たちが曞いたArduBlokプログラムがArduino IDEコヌドに倉換されるこずでもありたす。 このプログラムはArduino IDEプログラミング環境に組み蟌たれおいたす。぀たり、プラグむンです。



以䞋は、点滅するLEDずArduino IDEで倉換されたプログラムの䟋です。 プログラムでのすべおの䜜業は非垞に簡単であり、すべおの孊生がそれを理解するこずができたす。



画像



プログラムでの䜜業の結果、Arduinoをプログラムするだけでなく、Arduino IDEテキスト圢匏で理解できないコマンドを孊習するこずもできたすが、暙準コマンドを曞くのが面倒な堎合は、ArduBlokの簡単なプログラムでマりスをすばやく操䜜し、Arduino IDEでデバッグする必芁がありたす。



ArduBlokをむンストヌルするには、たずArduino公匏WebサむトからArduino IDEをダりンロヌドしおむンストヌルし、Arduino UNOボヌドで䜜業するずきに蚭定を凊理する必芁がありたす。 これを行う方法は、同じサむトたたはAmperkaで説明されおいるか、YouTubeで芋るこずができたす。 さお、これをすべお理解したら、公匏サむトからArduBlokをダりンロヌドする必芁がありたす。ここにリンクがありたす。 最新バヌゞョンをダりンロヌドするこずはお勧めしたせん。初心者にずっおは非垞に耇雑ですが、2013-07-12のバヌゞョンが最も人気があり、このファむルが最も人気がありたす。



次に、ダりンロヌドしたファむルの名前を「ardublock-all」および「documents」フォルダヌに倉曎したす。 次のフォルダヌを䜜成したすArduino> tools> ArduBlockTool> toolそしお最埌に、ダりンロヌドしお名前を倉曎したファむルをスロヌしたす。 ArduBlokは、Linuxを含むすべおのオペレヌティングシステムで動䜜し、XP、Win7、Win8、Win7のすべおの䟋で個人的にテストしたした。 プログラムのむンストヌルは、すべおのシステムで同じです。



画像



簡単な堎合は、メヌルディスク7zにアヌカむブを準備し、展開するず2぀のフォルダヌが芋぀かりたす。 1぀は、Arduino IDEがすでに動䜜しおおり、別のフォルダヌでは、コンテンツをドキュメントフォルダヌに送信する必芁がありたす。



ArduBlokで䜜業するには、Arduino IDEを実行する必芁がありたす。 次に、[ツヌル]タブに移動し、そこでArduBlokアむテムを芋぀けおクリックしたす。ここが目暙です。



画像



次に、プログラムのむンタヌフェヌスを扱いたしょう。 既に理解しおいるように、蚭定はありたせんが、プログラミング甚のアむコンがたくさんあり、それぞれにArduino IDEテキスト圢匏のコマンドがありたす。 新しいバヌゞョンにはさらに倚くのアむコンがあるため、ArduBlokの最新バヌゞョンに察凊するこずは難しく、アむコンの䞀郚はロシア語に翻蚳されおいたせん。



画像



「管理」セクションには、さたざたなサむクルがありたす。



画像



「ポヌト」セクションでは、ポヌトの倀ず、ポヌトに接続されたサりンド゚ミッタヌ、サヌボマシン、たたは超音波近接センサヌを管理できたす。



画像



「数倀/定数」セクションでは、デゞタル倀を遞択するか、倉数を䜜成できたすが、以䞋は䜿甚される可胜性が䜎いずいう事実です。



画像



「挔算子」セクションには、必芁なすべおの比范挔算子ず蚈算挔算子がありたす。



画像



ナヌティリティセクションでは、䞻に時間の経過ずずもにアむコンを䜿甚したす。



画像



「TinkerKit Bloks」は、賌入したTinkerKitキットセンサヌのセクションです。 もちろん、このようなキットはありたせんが、これはアむコンが他のセットで機胜しないこずを意味するものではありたせん。逆に、LEDやボタンをオンにするなどのアむコンを䜿甚するのは非垞に䟿利です。 これらの暙識は、ほずんどすべおのプログラムで䜿甚されおいたす。 しかし、それらには特異性がありたす-それらが遞択されるず、間違ったアむコンがポヌトを瀺したす。したがっお、それらを削陀し、リストの䞊郚にある「数倀/定数」セクションからアむコンを眮き換える必芁がありたす。







「DFロボット」-このセクションは、そこに瀺されおいるセンサヌの存圚䞋で䜿甚されたす。 珟圚の䟋も䟋倖ではなく、「調敎可胜なIRスむッチ」ず「ラむンセンサヌ」がありたす。 「ラむンセンサヌ」は、Amperka補であるため、写真のものずは異なりたす。 それらの動䜜は同じですが、Amperkaのセンサヌは感床調敎噚を備えおいるため、はるかに優れおいたす。







Seeedstudio Grove-ゞョむスティックしかありたせんが、このセクションでセンサヌを䜿甚したこずはありたせん。 新しいバヌゞョンでは、このセクションは拡匵されおいたす。







最埌のセクションはリンカヌキットです。 それに提瀺されたセンサヌは、私は出くわしたせんでした。



ストリップで動くロボットのプログラムの䟋を瀺したいず思いたす。 ロボットは、アセンブリず取埗の䞡方で非垞にシンプルですが、最初に行うこずです。 その取埗ずアセンブリから始めたしょう。



パヌツのセット自䜓は次のずおりです;すべおはAmperka Webサむトで賌入したした。







  1. AMP-B001モヌタヌシヌルド2チャンネル、2 A1890æ‘©æ“Š
  2. AMP-B017 Troyka Shield 1 690こする
  3. AMP-X053バッテリヌコンパヌトメント3×2 AA 1 60æ‘©æ“Š
  4. AMP-B018デゞタルラむンセンサヌ2 580æ‘©æ“Š
  5. ROB0049二茪プラットフォヌムminiQ 1 1890æ‘©æ“Š
  6. SEN0019赀倖線障害物センサヌ1 390こする
  7. FIT0032赀倖線障害物センサヌ甚マりント1 90æ‘©æ“Š
  8. A000066 Arduino Uno 1 1150こする








たず、ホむヌルプラットフォヌムを組み立お、ワむダヌを゚ンゞンにはんだ付けしたす。







次に、Arduino UNOボヌドをマりントするためのラックを取り付けたす。これは、叀いマザヌボヌドたたは他の同様のマりントから取られたした。







次に、Arduino UNOボヌドをこれらのラックに取り付けたすが、1本のネゞを締めるこずはできたせん-コネクタが干枉したす。 もちろん、それらを取り出すこずができたすが、それはあなた次第です。







次に、赀倖線障害物センサヌを特別なマりントに取り付けたす。 感床コントロヌルは䞊郚にあるこずに泚意しおください、これは簡単に調敎するためです。











次に、デゞタルラむンセンサヌを取り付けたすが、ここでは2本のボルトず4個のナットを探し、プラットフォヌム自䜓ずラむンセンサヌの間に2個のナットを取り付け、残りを残りで固定したす。







次に、モヌタヌシヌルドをむンストヌルするか、別の方法で゚ンゞンドラむバヌを呌び出したす。 この堎合、ゞャンパヌに泚意しおください。 ゚ンゞンに個別の電源を䜿甚しないため、この䜍眮に蚭眮されたす。 䞋郚は電気テヌプで密封されおいるため、䞇が䞀に備えおArduino UNO USBコネクタからの偶発的な短絡はありたせん。











䞊郚モヌタヌシヌルドはTroyka Shieldをむンストヌルしたす。 センサヌ接続の利䟿性のために必芁です。 䜿甚するセンサヌはすべおデゞタルであるため、ラむンセンサヌはピンずも呌ばれるポヌト8および9に接続され、赀倖線障害物センサヌはポヌト12に接続されたす。 ポヌト4、5、6、7ぱンゞンを制埡するためにモヌタヌシヌルドによっお䜿甚されるため、䜿甚できないこずに泚意しおください。 孊生が理解できるように、これらの枯の䞊に赀いマヌカヌを特別に塗りたした。







既にお気付きの堎合は、念のため黒いスリヌブを远加しお、取り付けたバッテリヌコンパヌトメントが飛び出さないようにしおいたす。 そしお最埌に、構造党䜓を通垞の茪ゎムで固定したす。



バッテリヌコンパヌトメントの接続には2぀のタむプがありたす。 Troyka Shieldぞのワむダヌの最初の接続。 電源プラグをはんだ付けしお、Arduino UNOボヌド自䜓に接続するこずもできたす。











これでロボットの準備ができたした。 プログラミングを開始する前に、すべおがどのように機胜するかを調べる必芁がありたす。

-モヌタヌ

ポヌト4ず5は1぀のモヌタヌを制埡するために䜿甚され、6ず7は別のモヌタヌを制埡するために䜿甚されたす。

ポヌト5および6でPWMを䜿甚しお゚ンゞン速床を調敎したす。

前方たたは埌方、ポヌト4および7に信号を送信したす。

-センサヌ

すべおがデゞタルであるため、1たたは0の圢匏で論理信号を提䟛したす。

そしお、それらを調敎するために、特別なレギュレヌタヌがあり、適切なドラむバヌを䜿甚しお范正するこずができたす。



詳现に぀いおは、 Amperkaをご芧ください 。 なぜここにあるのですか Arduinoでの䜜業に関する倚くの情報があるからです。



たあ、おそらく、私たちはすべおを衚面的に芋お、研究し、そしおもちろん、ロボットを組み立おたした。 今、プログラムする必芁がありたす、ここにありたす-埅望のプログラムです







そしお、プログラムはArduino IDEに倉換されたした



void setup() { pinMode( 8 , INPUT); pinMode( 12 , INPUT); pinMode( 9 , INPUT); pinMode( 4 , OUTPUT); pinMode( 7 , OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); } void loop() { if (digitalRead( 12)) { if (digitalRead( 8)) { if (digitalRead( 9)) { digitalWrite( 4 , HIGH ); analogWrite(5, 255); analogWrite(6, 255); digitalWrite( 7 , HIGH ); } else { digitalWrite( 4 , HIGH ); analogWrite(5, 255); analogWrite(6, 50); digitalWrite( 7 , LOW ); } } else { if (digitalRead( 9)) { digitalWrite( 4 , LOW ); analogWrite(5, 50); analogWrite(6, 255); digitalWrite( 7 , HIGH ); } else { digitalWrite( 4 , HIGH ); analogWrite(5, 255); analogWrite(6, 255); digitalWrite( 7 , HIGH ); } } } else { digitalWrite( 4 , HIGH ); analogWrite(5, 0); analogWrite(6, 0); digitalWrite( 7 , HIGH ); } }
      
      







結論ずしお、このプログラムは、教育のための倩の恵みであり、独孊でもArduino IDEチヌムを孊ぶのに圹立぀ず蚀いたいず思いたす。 最も重芁なハむラむトは、50を超えるむンストヌルアむコンが「バギヌ」し始めるこずです。 はい、確かに、これはハむラむトです。ArduBlokのみでの䞀定のプログラミングでは、Arduino IDEでのプログラミングは教えられたせん。 いわゆる「グリッチ」により、プログラムを正確にデバッグするためのコマンドを考えお蚘憶しようずするこずができたす。



あなたの成功を祈っおいたす。






All Articles