ラズパイでステッピングモータを動かすの、ちょっとつまりまくってる。大体の例がPythonなんだけど、できればNodeJS使いたい。とりあえずテストでPython使って回してみてから~~とか思ってたけど、ネットに転がってるPythonのサンプルコード見ながらJSに書き換えたら楽勝でしょ:ブイサイン:
とりあえずLチカしてみる。
Raspberry piでLチカ pic.twitter.com/VmPOxtWKD7
— イイノテン (@ntenten_Q) 2020年3月19日
qiita.com
これ参考にした。
setInterval(() => { gpio.setup(LED_PIN, gpio.DIR_OUT, () => { // LED_BLINK_DELAY_MS毎にLED ON/OFF gpio.write(LED_PIN, true); console.log("switch on") gpio.setup(LED_PIN, gpio.DIR_OUT, () => { // LED_BLINK_DELAY_MS毎にLED ON/OFF console.log("switch on, one more!") gpio.write(LED_PIN, false); }) }) }, 500);
点灯した直後に消灯をいれこむことで
一瞬だけ点ける。ドライバとかとやり取りする信号とかに使えそう pic.twitter.com/GJcMIO2GHg
— イイノテン (@ntenten_Q) 2020年3月19日
こんな感じにできてよさげ
JavaScript(Node.js) で sleep() アラカルト - Qiita
ふたつめのやりかたがわかりやすくてよさそう。
github.com
あとラズパイのGPIOいじるライブラリを変えた。こっちのほうがモードの切り替えとか(入出力の切り替え)いちいち設定せずに済んでよい
ステッピングモータが動いた。
やっとステッピングモーター動かせました pic.twitter.com/hWcpUHozxH
— イイノテン (@ntenten_Q) 2020年3月19日
let dirMode = true; while (1) { for (let index = 0; index < 200; index++) { rpio.write(LED_PIN,rpio.HIGH) sleep(3); rpio.write(LED_PIN,rpio.LOW) sleep(5); } if (dirMode) { rpio.write(DIR_PIN,rpio.HIGH) dirMode = !dirMode; } else { rpio.write(DIR_PIN,rpio.LOW) dirMode = !dirMode; } }
自力でPWM出力しようとしてる。これが正しいのかは知らん。
ArduinoとA4988でステッピングモータを回転してみる – 自作のいろいろ
これ参考にした。アルディーノ使えるんならPWM出力デフォルトでできるやろ、とか思っちゃう。知らんけど