2016年1月29日金曜日

ESP + 2軸サーボ


いやー、やっぱり金曜日の夜はサーボに限りますな(意味不明)。

某Elecrowは基板だけでなく、いろんな電子部品も扱っています。ある日、2軸のサーボモータを使ったカメラ台?を見つけたので、すぐに注文する私であった。

Elecrowのサイトより

で、買ってそのまま忘れるのが私のいつものパターン。

で、思い出したのですぐ作る。

基板は、今や我が家の電子工作標準品となったESP-WROOM-02のバグあり試作品ボード(笑)。Tx-Rx-Vin-GndあたりはFTDIとつないだ方がラクなので足長ソケット、その他はブレッドボード用のヘッダピンを取り付けました。

机の塗装塗り直そう(と毎回思う

回路は、サーボモータのVCCとUSBシリアルのUSB 5V(VIN)、GNDとGND、上のサーボの信号線(黄色)とIO12、下のサーボの信号線(黄色)とIO13をつなぎます。その他、VINとGNDの間に1000μFの電解アルミコンデンサをブチ込んでやります。サーボの中身はモータなのでかなりノイズ乗ったり電源に悪さをしますので。今回、サーボモータ用のコネクタ(JRタイプ?)を買い忘れたので、テフロン線をひんむいてヒシチューブ加工し、IO12/IO13とつなぎました。

まだ何に使うか決めていないので、とりあえず試運転。レーザーポインターでも買ってくるかな。



そういえば高校時代(物理部)で、物理室にあったレーザーチューブを使ってレザリアムとかやったなー。当時ものすごく効果だったHe-Neレーザなので、先生に壊すな壊すなくれぐれも壊すなと顔を見るたびに言われたっけ。レーザーの値段は当時の1/1000ぐらいになったんじゃないかなぁ。あの頃1mWのレーザで10万円してたもんね。i8255の先にお手製のラダー型DACをつないでステレオのアンプでスピーカーを駆動し、スピーカーにミラーを取り付けてレーザーを当てる式。表面反射ミラーじゃないと像が二重になるんだけど、高いので銀鏡反応でプレパラートにメッキして試したもんだった。制御に使ったのはTRS-80。1.78MhzのZ80では当然アセンブラではないと間に合わず、カセットテープからアセンブラを読み込んではテストラン、テストランしてはアセンブラをロードしなおし、の大変つらい開発じゃった。



…昔話の方が長くなってすみません。

/*
ESP tilt/pan servo motor demo
by k.kurahashi 2016-01-29
based on 'Sweep' by BARRAGAN <http://barraganstudio.com>
thanks!
this code is in the public domain
*/
#include <Servo.h>
Servo lower;
Servo upper;
// upper = io12, 30 - 180
// lower = io13, 0 - 150
void setup()
{
upper.attach(12); // attaches the upper servo(up/down) on GIO12 to the servo object
lower.attach(13); // attaches the lower servo(right/left) on GIO13 to the servo object
}
void loop()
{
int pos;
for (float r = 0.0; r < 360.0; r += 0.005) {
float x = sin(r*2);
float y = cos(r);
upper.write(x * 60 + 60 + 40);
lower.write(y * 60 + 60 +10);
delay(2);
}
}

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。