obnizのフォーラムは新しいシステムに移行しております。
新しいフォーラムはこちらになりますM5StackでPCA9685を使う方法がわかりません
-
こんにちは(^_^)
M5StackにobnizOSをインストールしてHobbyライセンスで色々実験して楽しんでいるのですが、わからないことがあるので教えてください。
Document>JS Parts Library>PCA9685 のページで
var driver = obniz.wired("PCA9685", {scl:22, sda:21});
var pwm0 = driver.getPWM(0);
pwm0.freq(50);
pwm0.duty(12);をtest runすると正常にサーボが動作するのですが、開発者コンソールで
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>obnizOS on M5Stack</title>
<script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
<script src="https://unpkg.com/obniz@2.4.0/obniz.js"></script>
<script src="https://unpkg.com/m5stackjs/m5stack.js"></script>
</head>
<!DOCTYPE html>
<html>
<body>
<div id="obniz-debug"></div>
<script>
var obniz = new M5Stack(“xxxx-xxxx”);
obniz.onconnect = async function () {
var driver = obniz.wired("PCA9685", {scl:22, sda:21});
var pwm0 = driver.getPWM(0);
pwm0.freq(50);
pwm0.duty(12);
};
</script>
</body>
</html>を実行すると下記エラーが出ます。
Error: No More i2c Available.
Object{message:No More i2c Available., url:https://unpkg.com/obniz@2.4.0/obniz.js, line:7864, colmun:11}どこを修正すればよろしいでしょうか?
よろしくお願いいたします。
-
@JK さん
I2Cが最大数使われていてこれ以上使えないエラーが出ています。
obnizOS for ESP32ではI2Cが1本まで使えますが、
m5stack.jsが内部で使用しているため、新しく使おうとするとエラーになってしまいます。これはobniz.wiredの書き方で、共通のi2cを使う設定ができますので、そちらで試していただけないでしょうか。
obniz.wired("PCA9685", {i2c:obniz.m5i2c});
-
@kido 動きました!
ありがとうございました。