Good!
月: 2015年4月
タッチセンサー代わりにしてみる
FDD をよく見てみたら、センサーっぽいのを発見。基盤をみるとなにやら配線があって。使えるかもと試してみました。
裏面には基盤があって、なにやら3本線が出てます。
ブルーをGNDに、黄色と赤のアナログ値を読んでセンサー代わりに使ってみます。
コードはこんなのをテストで書きました。
/* Junk FDD Stepper Motor Control Sample. Analog Censer? JunkHack 2015.04.19 */ #include <Stepper.h> int steps; int movement = 1400; int Delay = 200; int dirPin = 2; int stepPin = 3; int a0; // sencer ? int a1; // sencer ? void setup() { pinMode(dirPin, OUTPUT); pinMode(stepPin, OUTPUT); digitalWrite(dirPin, LOW); digitalWrite(stepPin, LOW); steps = 1; // Serial.begin(9600); // debug用 a0 = analogRead(0); a1 = analogRead(1); } void loop() { if ( a0 > 200 ){ // センサーっぽいのを読み取り digitalWrite(stepPin, HIGH); delayMicroseconds(Delay); digitalWrite(stepPin, LOW); delayMicroseconds(Delay); steps += 1; // Serial.println("A0"); // Serial.println(a0); } if ( steps < movement ) { // 移動量を超えてなければ digitalWrite(dirPin, HIGH); a0 = analogRead(0); a1 = analogRead(1); } if ( steps > movement ) { // 移動量を超えたら digitalWrite(dirPin, LOW); a0 = analogRead(0); a1 = analogRead(1); } if ( steps > movement * 2 ) { // 往復したら steps = 1; } }
すると、筐体に触るとスイッチ代わりに動作!
動画を載せたほうがわかりやすいんですが、普段編集しないので扱いが、、、、勉強しておきます。で、動画つくりました。
こんな感じで、タッチセンサーっぽくなっています。
[youtube https://www.youtube.com/watch?v=CoXw4ywPP0g]
このセンサーはなんていうやつなんでしょうかね。ぐぐっても出てこないので、なんという名称のセンサーなのかは不明ですが、スイッチらしきなのは確かで、原理的に静電容量とか見ているんでしょうかね? 手を接近させると、値があがります。タッチセンサーのような原理なんですかね?どなたかご存知の方、通りがかりましたらコメントをよろしくです。
とにかく、このモーターと稼動部分はプロッターのどこかに使えそうです。あと2つFDDをばらして3軸作れば、FDDプロッターができそうですね。
そう、これをarduino で作りたいんですよ。
[youtube https://www.youtube.com/watch?v=Z0vQIaUZGu4]
EasyDriver
1個160円くらいのEasyDriverを3つゲットして、まずは1つを半田付け。
ブレッドボードも新調しました! 前使ってたのが、ピンがめちゃくちゃ入りにくくて。今度のは、いいですね。挿しやすくてイライラしない。で、こんな感じに差し込んで半田付け。
で、ステッピングモーターを用意してなかったので、フロッピーディスクか、CD-ROMを分解してステッピングモーターを取り出すことに。
Junk物色中。配線中、、、、完了。接続。、、、、うごきません。!!!
寝る!
・・・ 起床後、ふと見るとEasyDriver 側のLEDがついていないのを発見。電源が入っていませんでした。
5Vをモータードライブ用に入れていたんですが、仕様的に、6~30Vとか書いてあるので、手持ちに8Vくらいのしかなかったので、それを印加。
サンプルは、ネットで見たのをコピペ。PINのアサインは、PIN2 に Direction (正逆の回転方向)と、PIN3 にStep パルスを。
ほほー、な感じです。他にもPinがあるけども、深追いせず。Sleep とか PFD とか何に使うんでしょうかね。
/* Junk FDD Stepper Motor Control Sample. JunkHack 2015.04.19 */ #include <Stepper.h> int steps; // ステップカウンター int movement = 1400; // 片道移動量 ( step 数) int Delay = 200; // 遅延 ms int dirPin = 2; // 回転方向出力 Pin int stepPin = 3; // ステップパルス Pin void setup() { pinMode(dirPin, OUTPUT); // 回転方向の出力PINを指定 pinMode(stepPin, OUTPUT); // ステップ出力PINを指定 digitalWrite(dirPin, LOW); // PIN出力をLOWで初期化 digitalWrite(stepPin, LOW); // PIN出力をLOWで初期化 steps = 1; // ステップカウンターを初期化 } void loop() { if ( steps < movement ) { // 移動量を超えてなければ digitalWrite(dirPin, HIGH); // 回転方向出力PIN は HIGH (5V) } if ( steps > movement ) { // 移動量を超えたら digitalWrite(dirPin, LOW); // 回転方向出力PIN を LOW (0V) } digitalWrite(stepPin, HIGH); // ステップ出力 PIN を HIGH (5V) delayMicroseconds(Delay); // 遅延 digitalWrite(stepPin, LOW); // ステップ出力 PIN を LOW (0V) delayMicroseconds(Delay); // 遅延 steps += 1; // ステップカウンターを +1加算 if ( steps > movement * 2 ) { // 往復したら steps = 1; // ステップカウンターリセット } }
続々と素材をゲット
夜な夜な面白いパーツを探してちょこちょこと購入していました。
この1ヶ月くらいで、ゲットしたパーツを紹介します。購入先は面白いものが無限に広がる、Aliexpress です。
EasyDriver Shield stepping Stepper Motor Driver V4.4
※schmalzhaus.com より
実際に届いた物は、こちら。袋から出すといじりたくなるので、お仕事がひと段落するまで、封印してました。意外と速く届いた感じです。
そのほか、ESP8266 ESP-12 っていうWiFi の開発ボードみたいなやつ。これで、IoTデバイス作ろうかなと。
そのブレッドボードにピッチを買えるやつや、本体を別に5個づつゲット。
あと、あまりの安さに手を出したPro Mini 168 Mini ATMEGA168 5V/16MHz をゲット。10個入りで一個180円くらいですかね。
意外と、ピンと本体が仕切りが別になっている梱包で印象よかったです。
猫にコンバンワさんのサイトで
紹介されていたUSBシリアルコンバーターなどもゲット。微妙にパッケージが違うのは届いてからわかりました。使えると嬉しいんですが。どうでしょうかね。5Vと3.3Vの両方に対応しているのかどうか?
CP2102 Male USB 2.0 to TTL UART Module Serial Converter
他にもあれこれ、小物をゲットしましたが、またおいおい。
とりあえず、EasyDriver を半田付けしますかね。