JavaScript(johnny-five)でArduinoのFirmata方式で、PCA9685複数サーボを動かす!

前に、RaspberryPiとPythonとPCA9685を使って、複数サーボを動かす方法をご紹介しましたが

今回は、ArduinoとJohnny-fiveを使って、JavaScriptで、PCA9685を使って、

複数サーボを動かす方法をご紹介したいと思います!

そうなんです、JavaScriptで電子工作までできてしまうんです!笑

まず、こちらの記事を先にお読みになることをお勧めします。

RaspberryPi+Python+PCA9685で複数のサーボを制御する!簡単!

目次

ハードウェア

①まずは、主役のPCA9685です!前回と同じです!

こちら!

緑のソケットは、複数の大出力サーボを動かすときに電力を補強するときに使います。

PCA9685がPythonでRaspberryPiで簡単にサーボを動かせますが

留意点として、ACモーターと100% デジタルサーボは動作しないことです、気をつけてください。

②もちろんRaspberry Pi

③Arduino

④動かすサーボたち!

⑤ブレッドボード一枚

接続

PCA9685側の接続は前回の記事と全く同じで

そのまま、Raspberry Piに接続したワイヤーをArduinoに接続し直します!

(色がちょっと変えましたので、色を見ないで、しっかり下記の配線説明通りに接続して見てください。)

PCA9685 GND -> Arduino GND

PCA9685 VCC->Arduino  3V3 (大事!)

PCA9685 V+ ->Arduino 5V サーボ駆動電源

PCA9685 SDA ->Arduino  A4(写真の黄色)

PCA9685 SCL ->Arduino A5(写真の緑)

 

プログラム

今回はJavaScriptとなります!

node.jsがインストールしているRaspberry Pi環境をご用意ください。

まだnode.jsをインストールしていない場合は、下記の記事をご参考ください。

世界一簡単なRaspberryPiにnode.jsを入れる方法

http://johnny-five.io/examples/servo-PCA9685/

var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  console.log("Connected");

  // Initialize the servo instance
  var a = new five.Servo({
    address: 0x40,
    controller: "PCA9685",
    pin: 0,
  });

  var b = new five.Servo({
    address: 0x40,
    controller: "PCA9685",
    range: [0, 180],
    pin: 1,
  });

  var degrees = 0;

  a.to(degrees);
  b.to(degrees);
});

上のプログラムは、2つのサーボしか動かすことしかしません。

画像は、こちらから引用:http://johnny-five.io/examples/servo-PCA9685/

8個まで動かすように、プログラムを改修してください。

また、 package.jsonは下記の通りとなります。

今回は、johny-fiveが必要です。

 

{
  "name": "pca9685",
  "version": "1.0.0",
  "description": "pca9685",
  "main": "board.js",
  "dependencies": {
    "johnny-five": "^0.14.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

好きなフォルダに格納して、コマンド npm install を実行してください。

いざ実行!

node pca9685.js

サーボが動きました!

まとめ

前回と合わせて、RaspberryPi+Python+PCA9685で複数サーボの動かし方と今回の

RaspberryPi(PCも)+JohnnyFive+Arduino(Firmata)+PCA9685で複数サーボの動かし方をご紹介しました。

いかがですか?

1つの目的を達成するには、様々な方法、アプローチがありますね。

どれが絶対良いというよりは、実際の応用にによって、どれが、コストパフォーマンスが良いか

どれが実装しやすい、メンテナンスしやすいかなど様々な観点から、総合的に判断するものですね。

では、また、他のやり方を調査しましたら、また共有します!

ご機嫌よう!

[amazonjs asin=”B0044X2E5S” locale=”JP” title=”【永久保証付き】Arduino Uno”]

[amazonjs asin=”B01KXB1KGS” locale=”JP” title=”Johnny-Fiveでマイコン制御 Raspberry Pi偏”]

[amazonjs asin=”B00U5W3EQU” locale=”JP” title=”OSOYOO(オソヨー) マイクロサーボ (10個セット)”]

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close