ESP-WROOM-02というWifi付きのワンチップマイコン使えば簡単にサーボ制御可能だということは昨日述べた。
今やっているパワコンのデータ解析でリモコンの表示を変更しながら流れてくるデータの対応がわかるようにして記録を10分以上、できれば1時間とかもっと長時間記録する必要があり、リモコンのボタンをずっと押しつづけるのは大変なので、かわりにサーボモータに押さそうかということで、別の用途で使っていた基板をとりあえず流用してボタン押し装置を作成した。(できれば基板はちゃんと起こしたものを使いたいなぁ)
とりあえずデモなんで、2つのサーボモータを一定時間間隔ごとに90度づつと60度づつ首振りさせるプログラムを書き込んでみた。
一応動作の動画も貼っておく。
本番はもう少し長めの3秒とか5秒おきに、積算電力と発電電力のボタンを自動に押させるつもり。
プログラム的にどんだけ簡単なのかを下記にあげておく。
#include <Servo.h>
#include <Ticker.h>
Servo servo0;
Servo servo1;
Ticker ticker;
int cnt = 0;
void setup(void){
servo0.attach(4);
servo1.attach(16);
ticker.attach_ms(500, tickerFunc);
}
void tickerFunc() {
cnt++;
}
void loop(void){
servo0.write(cnt % 3 * 90);
servo1.write(cnt % 4 * 60);
}
昔のワンチップマイコンとかで制御していた人間からすると、これだけで動作するってどういうことよという感じ。
この基板の流用元は実はパンチルト付きカメラと自動再起動用の装置を作っていた最中だったものだ。
ブレッドボードにサーボのコネクタを差し込んでいると、パンチルトの振動とかでそのうち抜けてきたりして、基板を起こさないといよいよダメだなとおもってそのままになっていた。
いい機会なので基板に起こそうと思う。
コメントを残す
コメントを投稿するにはログインしてください。