Pi:Co V2 体験記

刮目せよ! 新製品Pi:Co V2 その7 進め!たまには戻ってヨシ

Pi:Co V2 体験記

こたつでマウスの時期がやってくる

こんにちは、広報DTP担当のサナエです。
このブログは技術畑ではない広報がアールティの新製品Pi:Co V2と仲良くなり、その魅力をアピールする体験記です。
前回はセンサの値でブザーを鳴らしてみました。プログラムは綺麗にまとまるように書くのが必要なんだなぁ、そういえば自分のノートはテキトーだわ落書きはあるわでひどかったなというのを思い出しました。

もうちょっとしたら休みが来るので今のうちにいかがですか

Pi:Co V2(ピーコブイツー)は、アールティの教育や研究開発用小型移動ロボットのプラットフォームであるPi:Co Classic3同様、ソフトウェア開発の基礎を学びたい方に手に取っていただきたいロボットです。Pi:Co Classic3の機能やデザインイメージをそのままに、半分のマイクロマウスサイズになりました。
マイクロマウス競技に準拠しているのでもちろん大会参加もできます。

Pi:Co V2はESP32-S3マイコンを搭載しており、Arduinoで開発できます。
移動型ロボットのビギナーや、研究者、開発者まで幅広い方々にご利用いただけるロボットです。
Arduinoサンプルスケッチと解説書が付属するので、プログラミング初心者にもおすすめです。

動く…動くぞ!!

さてさて今回からモータを動かしますよ!LEDが光るのも嬉しいけど、モータが動くのもロボットを触ってる感があって大変うれしゅうございます。
いそいそstep5のサンプルを入れてポチっとしてみました。今回は2区画前進して止まるというものです。

ウホー!私の手で!動きましたよ!恐る恐る感のある奥ゆかしい2区画前進ですよ!キュンキュン来ますねたまりませんね!

ボタンが小さいのでうまく押さないと真ん中からずれそうな気がするので要練習です。
だから小さい機体を使う方々はセンサでスイッチのオンオフをしたりするのかもですね。自分なりになんとなく納得しました。

今回のお題

機体の調整をしていないのにすんなりまっすぐ走ってちょっとびっくりしつつ今回のお題

【製作者からの課題5】 2区画(90×2=180mm)直進した後、後ろ向きで2区画戻ってくるようにしてください。 ヒント:モータの回転方向を逆にするとバックします。

んッ!!!回転方向を逆にするのはわかるぞ!イメージはね!
どんな書き方をしてるのかマニュアルを眺めます。
今回はRLを目印に見ていきました。そうするとどちらの車輪がどんな動きをしているかがなんとなく見えました。
途中、CW_Rとか = 24 . 7 *π / ( 35 / 10 * 20 * 8 )って何?とか思ってたらちゃんと書いてあって、目が滑りそうで不安だったけど何とか読めてたらしいとちょっとだけ嬉しみ!
そしていつものO君に登場してもらい、細かい語句の説明をしてもらいました。

じんわりと解りつつある気分になって、じゃぁバックするにはどうやって書こうか…
ええと、前進と違うことをさせるわけなので~ 動いてるところはどこだ?

このあたりからかな?サンプルでは45mm、90mm、45mm進んでいるところでLEDも一緒に点灯していっていたけど、とりあえず動くところだけ抜き出してloopのとこに入れてみよう。
accelerateで前進なのでとりあえず名前をbackに変えて、decelerateにbackを付けるとなんか意味的に落ち着かないから他のにはb_をつけちゃえ…

もしかして何か綺麗な書き方とかあるのかなぁと思いつつ、思いつかなかったのでまずはこう。
ヒントにあった回転の方向はrun.inoっぽいので同じように…
ムウッ!どこからコピーしようか、なんか全部大事そういやきっと全部必要だこれ!

そういえば今回からタブが増えるってことで増やし方も書いてあったので、タブを増やして丸ごと入れてみよう
主張激し目にback_を付けてみました。

お、おう…!!しまった タブを増やすのに夢中になって回転の方向を変えてなかった!タブの名前だけじゃ動きは変わらないよね。
でもとりあえず動作は追加されたし、後半LEDが付かなかったので確認ができたということでヨシ!

今度はどうかな

さっきなんだこれと思ったCW_R、Lがここに出てくるぞ!ちゃんとマニュアル読めててよかった!

HIGHとLOWを入れ替えて、そうだvoidのところもacceleraterをbackに変えて…ここだけ変えてとりあえず動かしてみたら45mmだけ下がってまた直進していきました。よし、このタブの中を変えれば大丈夫そうだ!今度はどうだ!?

イェエエエエエイ!!!バックしたー!!!嬉しい!!!!

HIGHは信号が入力されてLOWは入力されないというなんとなくのイメージがあるので動くことがなんだか落ち着かないけど、書き換える時にわかりやすくていいな。
後から聞いたらPi:Co Classicのほうは基板の配線をクロスしてあるので、右も左もHIGHでいいとのことでした。へぇええええ!
O君がPi:Co ClassicのArduinoを見つつ教えてくれているので、HIGHとLOWのところで「んんん?」って言ってたのですが、こういう違いがあったからなんですね。

製作者のコメント

課題5達成おめでとうございます!関数名の命名ってむすかしいですよね。Pi:Co V2のサンプルプログラムは、Arduino IDEとESP32のライブラリを除いて、関数名はキャメルケース(camelCase)、変数名はスネークケース(snake_case)で統一して記述してあります。

動作確認も一気に書き直すのでなく、少しずつ動作を確認してプログラミングしているところはすばらしいです。次回もO君に相談しながらSTEP UPしていきましょう!!

多分何かしら決まりはあるんだろうなと思っていましたが、テキトーにつけすぎましたね…!
キャメルケースとスネークケースというものがあるんですね。
キャメルケースは空きがつかえない時に詰めて書いて、空きの後の文字を大文字にする表記法
timerAlarm とかがそうなのかな?
スネークケースは全部小文字にして空きを「_」にする表記法
g_timer2 とかかな。

今回作ったback_run.inoで名前を変えたところはキャメルケースぽいので、backAccelerate とかにしておけばよかったのかな?そうするとoneStepのところは悩ましい悩ましい…
自分専用だし今回は backOnestep とか許されるのかなー
誰が見てもわかる名前を付けるのも大事ですね!

年末年始のお楽しみにも

Pi:Co V2は2024年6月25日に販売開始しました。
組込みや自律制御の基本要素を学ぶ方々はぜひ本製品をご利用ください。
Web shopにて、定価60,000円(税込)で絶賛発売中です。ご利用をお待ちしております!

 

タイトルとURLをコピーしました