前提・実現したいこと
Arduinoでサーボモータと測距センサを用いて1秒、数度間隔で距離を計測するプログラムを製作したいのですが、サーボモータの方がうまく動作しません。
発生している問題・エラーメッセージ
サーボモータが動作しなくなる
該当のソースコード
Arduino
1#include <Wire.h> 2#include <LIDARLite.h> 3 4const int SV_PIN = 3; // サーボモーターをデジタルピン3に 5#define FEEDBACK_PIN 2 6 7int PULSE_WIDTH = 1520; // PWMパルス幅を1520マイクロ秒に設定 8LIDARLite myLidarLite; 9 10 void setup() { 11 Wire.begin(); 12 Serial.begin(115200); 13 myLidarLite.begin(0); 14 myLidarLite.configure(0); 15 16 pinMode(SV_PIN, OUTPUT); // デジタルピン3を出力に設定 17 } 18 19 void loop() { 20 Serial.print("distance:"); 21 Serial.println(myLidarLite.distance()); 22 23 digitalWrite(SV_PIN, HIGH); // デジタルピン3をHIGHに 24 delayMicroseconds(PULSE_WIDTH); // パルス幅分停止させる 25 digitalWrite(SV_PIN, LOW); // デジタルピン3をLOWに 26 delay(1000); // 1000ms停止させる 27 28}
試したこと
サーボモータに関してはデジタル出力でPWM信号を生成し直接サーボモーターを制御していて、測距センサに関してはI2C通信制御方式をとっております。両者ともに単体での実行は問題なく動作したのですが一緒にすると測距センサのプログラムだけ動作し、サーボモータは動作しなくなります。電源に関しては測距センサはArduinoから直接、サーボモータは外部電源6Vをとっております。
補足情報(FW/ツールのバージョンなど)
使用デバイス
LIDAR-Lite v3
Parallax 360度ハイスピード・フィードバックサーボ
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/17 06:01
2021/12/17 06:05
2021/12/17 06:33