モーターを動かすところあたりまで進めると、なんとなくラズパイを用いた電子工作のやり方がわかってくる。, 書籍にも書かれているが、ラズパイはそのままではサーボモータを2台までしか動かすことができないらしい。 そこで、今回は3つのサーボモータを組み合わせて輪ゴム鉄砲をラズパイから制御できる「輪ゴム鉄砲砲台」を実現してみましょう。, ●Raspberry Pi Successfully installed pip-19.1.1, pip3 install Adafruit_PCA9685  [Errno 13] 許可がありません, Successfully installed Adafruit-GPIO-1.0.3 Adafruit-PCA9685-1.0.1 adafruit-pureio-0.2.3, Adafruit-GPIO==1.0.3 心が豊かになる方法について 引き続き考えていきたいです。. 二足や四足は姿勢の制御が大変らしい。また、それぞれの足にかかる負担も大きいので、しっかりした構造やサーボが必要な模様。 初代のラズパイや600円台の1コアCPUラズパイ「Raspberry Pi Zero」をサポートするバージョンと、ラズパイ2/3対応バージョンの2種類があります。2018年4月11日時点の最新版は、前者が「berryboot-20180405-pi0-pi1-pi2-pi3.zip」、後者が「berryboot-20180405-pi2-pi3.zip」です。 左から黒(GND)・一個飛ばして緑(GPIO:SCL)・白(GPIO:SDA)・赤(3.3V), ②PCA9685側 心が豊かになる方法について 引き続き考えていきたいです。 ダウンロードしたら各サーボモータの操作範囲を設定します。Raspberry Piのメニューから「アクセサリ」-「Text Editor」を選択してテキストエディタを起動し、ダウンロードしたプログラム「gum_gun.py」を開きます。 できるだけ初心者でも分かるように注釈過多ぎみです。, ここまででPCA9685の簡単な使い方を紹介してきました。 ・RS, また、Raspberry Piを動作させるためのSDカード、ACアダプタ、キーボード、マウス、ディスプレイなどが別途準備する必要があります(参考記事)。, ●サーボモータ(小型) このエントリは「Raspberry Piでスマートロックつくった」の解説2つめになります。 サムターンを回してカギを開閉するためにサーボモーターSG92Rを使います。Pythonでサーボを簡単に扱うライブラリはいくつかありますが、今回はRaspbianに最初から入っているRPi.GPIOを使って動かします。 また、サーボモータ用の電源端子を搭載しており、電池などの電源を接続しておくことで各サーボモータに電源が供給できます。 ラズパイや電子工作の書籍って入門書ちっくなものでも2、3000円するものが多いので、この価格でこの内容はすごくお買い得な感じ。, 書籍の演習で用いるパーツセットが秋月電子通商で購入できるので、それを合わせて購入して学ぶと吉。 気が向いたらもう少し応用的なプログラムを載せたいと思います。, ・https://qiita.com/ttyokoyama/items/935b51128d2d5bb26f15 今回は、サーボモータドライバとして「AE-PCA9685」を利用します。AE-PCA9685は16個のサーボモータを接続して同時に制御が可能となっています。また、I2Cを利用してRaspberry Piから各サーボモータの制御ができるようになっています。, サーボモータドライバを使ってサーボモータを動かしてみましょう。次の図のようにRaspberry Piと接続します。, サーボモータはドライバの上にある「0」と記載された端子に縦向きに差し込みます。この際、茶色の線(GND)を上側にします。, なお、サーボモータを接続する端子の上に記載された数字またはアルファベットはチャンネル番号で、サーボモータを動かす際に対象のチャンネル番号を指定することになります。 電子工作で特にちょっとロボットを作りたい場合 複数のサーボを動かしたい場合がありますよね。 複数のサーボを動かすにはいくつかの方法があります。 今回ご紹介する方法、RaspberryPi+Python+PCA9685で複 […] Next:Raspberry PiにNFCリーダを接続してSuicaを読み取る. トリガーはホーンが下に向くようにして取り付けておきましょう。, 砲台が組み上がったらサーボモータの制御範囲を確認しておきます。確認を怠ると、必要以上にサーボモータが回転してしまい、部品同士がぶつかって壊れてしまいかねません。また、トリガーを動かして輪ゴムが発射できるかの調節もしておきます。 輪ゴム鉄砲の向きを動かすのに利用します。輪ゴム鉄砲本体や取り付け冶具、サーボモータといった複数の部品を乗せた状態で動かすのである程度のパワーが必要となります。このため、比較的パワーのあるサーボモータ「SG-5010」を利用します。2個必要となります。, ●サーボモータドライバ 18から20行目の「trig_」から始まる変数にトリガーを制御するサーボモータの設定をします。「trig_ch」に接続したサーボモータドライバのチャンネル、「trig_off」にトリガーを引かない状態のパルス幅、「trig_on」に輪ゴムを発射する場合のパルス幅を指定します。 ラズベリーパイ4 コンピューターモデルB 4GB Raspberry Pi 4 Computer Model B 下記のスターターキットはラズパイを使うまでに必要なものが全て揃っています! šãŒï¼“本必要です, 色々書いてありますが、重要なことは回転角度が -90°~+90°まで指定できるってことです。, 2.5~12.0を入力すると、それに応じた角度へ回転します, 先のサンプルではPWMのDuty Cycleである2.5%~12%を指定して回転させていました。分かりやすくするために角度(Degree)で指定するための計算方法を紹介します。先程の仕様を詳しく見てゆきます。, これは周波数にすると 1 / 0.02 = 50Hz です, Duty Cycleにすると 0.5 × 50 / 1000 ~ 2.4 × 50 / 1000 、つまり 0.025 ~ 0.12 でパーセントを単位にすると 2.5% ~ 12% という意味です, 制御パルスに対し、制御角が決まります。つまり、2.5% で -90° 回転、12% で +90° 回転 ということです, これらを考慮すると、DutyCycleは次の計算式でDegreeから求まります, 実行すると、-90°の位置へすぐに移動し、その後ゆっくりと+90°の位置まで回転して終了します先程の計算式を活用しています, Web上で様々な応用例がありますので、参考にしてみてはいかがでしょうか?, キャラクターの腕を動かすhttps://www.youtube.com/watch?v=UjV1oy0o7qU, キャラクターを載せて動かすhttps://www.youtube.com/watch?v=xDxv_ow_Ilw, 飛び出すキャラhttps://www.youtube.com/watch?v=JB2AUmH3zAM, キャラクター全体を動かすhttps://kkooddoommoo.work/entry/bird/, キータッチhttps://qiita.com/anzaitetsu/items/a66213c97fdb04d9baa7, 壁スイッチhttp://tasdg.co.jp/wot/tips/post-40/, ふみきりhttps://www.youtube.com/watch?v=VdT2fqFhdbU, ゴルフhttps://www.youtube.com/watch?v=nscu1RC83wU, 以上、ラズパイでサーボモーター動作でした!, 最大180°回転を想定し、0.3sec以上待つ, 回転終了したら一旦DutyCycle0%にする, https://www.youtube.com/watch?v=UjV1oy0o7qU, https://www.youtube.com/watch?v=xDxv_ow_Ilw, https://www.youtube.com/watch?v=JB2AUmH3zAM, https://qiita.com/anzaitetsu/items/a66213c97fdb04d9baa7, https://www.youtube.com/watch?v=VdT2fqFhdbU, https://www.youtube.com/watch?v=nscu1RC83wU, サーボモーターのオレンジ色がGPIO4. Adafruit-PureIO==0.2.3, が入っていました。注意点として、importするときはAdafruitの後ろにはハイフンではなくアンダースコアになります。, ラズパイの操作はWindowsマシンからrealVNC Viewerでリモートしているのですが、ラズパイ側のidleに書いたスクリプトをcnt+c しても Windows側にcnt+v できません。, コツがありまして、ラズパイ側のText Editorに一旦貼り付けた後に、それをcnt+cしてから、Windows側にcnt+v すると、しっかりと貼り付けられます。, こんにちは すうがく を こよなくあいする だそうです。 PCA9685の外部電源として充電池(1.2v)を直列に4つなので4.8vを入れてます。RaspberryPiからの5Vだけでも良いのですが、念の為です。, 5.ジャンパーワイヤー また、サーボモータの動力には乾電池(単三4本)を用いる。前述の書籍連動キットには電池ボックスが含まれるので、それを使う。 複数のサーボモータを動かす(配線) 電池ボックス、pca9685、ラズパイをそれぞれ接続する。 ”二代目 圧倒的 かず まなぶ (´・ω・`)” です また、複数のモデルが販売されていますが、Raspberry Pi/2/3、Raspberry Pi Zero/Wのいずれでも問題ありません。わからない場合は最新版の「Raspberry Pi 3 Model B+」を購入しましょう。主な購入可能なサイトは以下の通り。 特に、電流や抵抗の話から説明してくれるのはとてもありがたかった。「そういえば小中学校でやったような…」という程度の知識しかなかった、つまり知識が全くなかった私も、すんなり理解することができた。 Duty Cycleにすると 0.5 × 50 / 1000 ~ 2.4 × 50 / 1000 、つまり 0.025 ~ 0.12 でパーセントを単位にすると 2.5% ~ 12% という意味です. HiLetgo PCA9685 16チャンネル 12-ビット, 4.外部電源 制御角:±約90°(180°) 制御パルスに対し、制御角が決まります。 つまり、2.5% で -90° 回転、12% で +90° 回転 ということです プログラムでパルス波を作成する場合は、他の処理などによって影響を及ぼし、パルス幅が微妙に変化します。また、パルス幅が大きく変化し、挙動がおかしくなることもあります。 以下のリンクから、プログラム「gum_gun.py」をRaspberry Piにダウンロードします。, また、前のサーボモータの制御で利用した「pca9685.py」も必要となるので、ダウンロードしたファイルと同じフォルダー内に配置しておきます。 Help us understand the problem. 本記事では、手作りした輪ゴム鉄砲を取り付けて操作できるようにします。取り替えも可能なので、子供自身で手作りした輪ゴム鉄砲を取り付けて楽しめるようにできます。 また、サーボモータの動力には乾電池(単三4本)を用いる。前述の書籍連動キットには電池ボックスが含まれるので、それを使う。, https://snapguide.com/guides/bezeri-pi-tosabodoraibanojie-sok/, ネジを緩めて、コードを差し込んで、閉める。右(V+)が赤、左(GND)が黒。 Plus - デバプラ. 2020年11月現在、ラズベリーパイ4が日本で手に入るコスパが良いモデルです! By following users and tags, you can catch up information on technical fields that you are interested in as a whole, By "stocking" the articles you like, you can search right away. ・KSY 商品説明に「サーボモータに」とかかれていますけど、別にledの明るさ制御などにつかってもよさそうです。 はい。 今回はこれで複数のサーボモータの制御を試してみます。. 当初から予定していた6足なら、3本ずつ足を前に出すことで安定して歩行できる。という理由もあり、6(+2n)足で歩行するロボットを作ることに決定。, 色々調べる中で、日本では他国と比べて多脚ロボットの人気が低いらしい、という話を読んだ。真偽はわからないものの、確かにロボットといえば二足歩行のイメージが強い。漫画やアニメの影響が強いのかもしれない。多脚好きとしては少し悲しい。, 「ラズパイ サーボ 複数」でググるとこれを使うといいらしいことがわかる。 サーボモータには3本の配線が取り付けられています。配線は、赤線が電源、黒線がgnd、オレンジ線が制御信号用配線となっています。 今回利用するサーボモータ「mg90d」は、4.58から6.6vの電圧を供給する必要があります。 ブログを報告する, 前回はロボットの頭部を作った。 nyabot.hatenablog.com 今回は…, 格安デルタ型3Dプリンター「Kossel Linear Plus」の購入から動作確認まで. サーボモータの取り付け部分を中心に説明します。 つかうサーボモータです。 sg90、比較的安価で小型ですし入手しやすいのでアマゾンで10個入りを買いました。 By following users and tags, you can catch up information on technical fields that you are interested in as a whole, By "stocking" the articles you like, you can search right away. 商品説明に「サーボモータに」とかかれていますけど、別にledの明るさ制御などにつかってもよさそうです。 はい。 今回はこれで複数のサーボモータの制御を試してみます。. 「ロール」とは、左右の向きを変更する動きです。本記事では、下の台座に装備して、その上を左右に回転させています。, 「チルト」は上下の傾きを変化する動きです。本記事では、ロールを制御するサーボモータの上に取り付けて上、下を向けられるようにしています。, また、向きを変更するだけでなく、輪ゴムを発射するトリガー部分の操作にもサーボモータを利用します。サーボモータをトリガーの近くに設置して、サーボモータを回転させるとトリガーが引いた状態になり、輪ゴムが発射できます。, 2つのサーボモータで向きを変更できるようにし、1つのサーボモータで輪ゴムを発射できるようにしてみましょう。, 第1回で紹介したように、Raspberry Piに直接接続してプログラムでサーボモータを制御できます。しかし、サーボモータに送るパルス波は、数十μ秒の精度が必要となります。もし、パルス幅が変化してしまうと、サーボモータの挙動にも影響し、細かく震えたりと安定性が保てなくなります。 なお、他のチャンネルに接続した場合は、チャンネル番号を変更することで操作できます。ただし、チャンネル番号は16進数で表記されています。AからFはそのままでは指定できないので、「0xa」のように16進数であることを明示する必要があります(10進数に変換した値を指定してもかまいません)。, 砲台の本体を作成しましょう。 第1回で調べたようにMD90Dの動作範囲は800μ秒(右側)から2300μ秒(左側)となっています。動作範囲内で左側の端より少し内側となる2200μ秒をトリガーを引いていない状態とします。以下のように実行してサーボモータを動かします。, サーボモータと砲台の準備ができたら、サーボモータにホーンを取り付けます。ホーンは取れてしまわないよう付属のねじで固定します。 ”二代目 圧倒的 かず まなぶ (´・ω・`)” です 設定が完了したら以下のように実行します。, すると各サーボモータが初期の位置に移動し、スタンバイ状態になります。 ※メルカリで4個買ったのですが1個ギアが壊れていたものがあったので修理するまでは3個です。, この方がわかりやすく記事を書いてくれているのでこちらを参考にコマンドで動作確認まで行ってください。 トリガーを引いて輪ゴムを発射するために利用します。ここでは、前回利用した模型などに利用されるサーボモータ「MG90D」を利用します。1個必要となります。, ●サーボモータ(大型) とりあえずAmazonで購入する。高いものもあるけど、精度を求めないなら安いやつでいいらしい。懐に優しい。, HiLetgo PCA9685 16チャンネル 12-ビット PWM Servo モーター ドライバー IIC モジュール Arduinoに対応 ロボット, サーボモータも必要数購入する。メジャーな製品だと、TowerProのSG90というものがよく使われるらしい。秋月電子通商で1個400円。, 同じ大きさで、別のメーカーが出しているものもあったりする。壊れやすいらしいがよくわからない。安いものだと、10個セットで2,000円強くらいでAmazonで売っている。, Quimat 10個セット9g サーボモーター ロボット arduino Raspberry Pi 小型ヘリコプター RCカーなどに自作用, 今回は12個(6足×2自由度)、または16個(8足×2自由度)、将来的には24個(8足×3自由度)+αくらい使いたいなと思っていたので、安価なもので試してみることに。 現在、ものづくりをしたいメンバーを集めて電子工作を利用した作品などを制作する「サッポロ電子クラフト部」を主催(https://sapporo-elec.com/)。誰でも参加可能ですので、ご参加をお待ちしています。, Raspberry PiやArduinoを使った電子工作から、 また、操作についても今回はキーボードを利用しましたが、ジョイスティックを接続したり、独自にスイッチを取り付ける、ネットを介して操作できるようにするなどさまざまな応用もできます。, 札幌在住のライター。電子工作やパソコン、Linux、スマートフォンなどの記事を執筆。「ラズパイマガジン」や「日経Linux」へ記事の執筆。著書として「これ1冊でできる!ラズベリー・パイ ・https://sites.google.com/site/memorandumjavaandalgorithm/raspberry-pi-jiang-zuo9-pwmkontorora-pca9685  ロボコン出場ロボットを徹底解剖した紹介資料まで! ACアダプタからモータドライバに電源を供給するためにコネクタの変換が必要です。使用したのはこちら。, サーボモータはひとつの軸の対して回転するため、第1回で実現したような1軸の回転する応用ができました。しかし、複数のサーボモータを組み合わせることでより複雑な制御が可能となります。 | 本記事では、「ロール」と「チルト」の動作をそれぞれのサーボモータで制御できるようにします。 つかうサーボモータです。 sg90、比較的安価で小型ですし入手しやすいのでアマゾンで10個入りを買いました。 今回はサーボモータを16個同時に動かすことができるサーボドライバPCA9685を使って、SG90とSG92Rを同時に動かしてみようと思います。, はサーボモータを接続します、左から0~15番が振られてあり合計16個のサーボモータと接続できます。, pip3 install Adafruit_PCA9685 したところ拒否されました。, pip3 install –upgrade pip3 と書いたところ pip3でなくてpipで書けみたいなことを言われました。, pip install –upgrade pip と書いたところ許可がないといっております。, Successfully uninstalled pip-19.0.3 配線:茶=GND、赤=電源[+]、橙=制御信号 6から10行目の「pan_」から始まる変数は、パンを制御するサーボモータの設定項目です。「pan_ch」はサーボモータドライバに接続したチャンネル番号です。「pan_neutral」は中央の値の「1500」を指定し、「pan_max」と「pan_min」にサーボも動作範囲のパルス幅を指定しておきます。「pan_delta」は1回のキー操作で変化するパルスの幅を指定します。この値が大きければ速く動き、小さくすれば細かく調節できます。