LV2
ランダムコントローラー2
値を設定していざ動かしてみると思ったより音が煩かったり
チクニー後半に乳首が慣れてきて物足りない
と集中できなかったのでまずは回転速度の調整を付けました
ON、OFFは電源抜き差しか、スイッチ付きの電源を使います
設定された回転速度の最小~最大の範囲で強弱できます
■作り方
1.配線を組みパソコンとArduinoをUSBで繋ぐ
配線は以下画像を参照
実際の写真
2.下記スケッチをコピーしてArduino IDEのスケッチに貼り付ける
(IDEに元からあるスケッチは消してから貼り付ける)
3.書込み(コンパイル)で出来上がり。
これを2個作りタッパー等でケースを作って出来上がり
※時間を元にしたランダム処理なので左右タイミングをずらして電源ONしてください
※作成、使用、部品の購入は自己責任でお願いします
//#############################################
//スケッチはここからコピー
//#############################################
//プログラムの配布は人様の関数を使っているため禁止とさせて頂きます
#include <time.h>
//中くらいで長い回転 ※電源はUSB 5Vを使用して下さい
const int pwr_min = 175; //回転速度の最小値※低すぎると動かない
const int pwr_max = 255; //回転速度の最大値※MAX255まで
const int dly_min = 500; //回転時間の最小値※1000で約1秒
const int dly_max = 1000; //回転時間の最大値※1000で約1秒
const int m1_cw = 10; //正回転ピン
const int m1_ccw = 11; //逆回転ピン
const int a_pin = 0; //アナログピン番号(ボリューム用)
void setup() {
}
//メイン処理
void loop() {
RCtrl(); //ランダム
}
//「苦C」ランダム関数:minからmaxの間のランダム値を返す
int GetRandom(int min, int max){
static int flag;
if (flag == 0) {
srand((unsigned int)time(NULL));
flag = 1;
}
return min + (int)(rand() * (max - min + 1.0) / (1.0 + RAND_MAX));
}
//回転OFF
void Roff(){
analogWrite(m1_cw,0);
analogWrite(m1_ccw,0);
delay(1);
}
//ランダムコントロール関数
void RCtrl(){
int lrot;
lrot =GetRandom(0,1); //回転方向ランダム
if (lrot==0){ //回転速度と時間ランダム
analogWrite(m1_cw,GetRandom(pwr_min,volume ()));
delay(GetRandom(dly_min,dly_max));
} else if (lrot==1) {
analogWrite(m1_ccw,GetRandom(pwr_min,volume ()));
delay(GetRandom(dly_min,dly_max));
}
Roff(); //回転OFF
}
//ボリューム値をpwr_minからpwr_maxに変換
int volume () {
int val;
val = map(analogRead(a_pin), 0, 1023, pwr_min, pwr_max);
return val;
}
//#############################################
//スケッチはここまでコピー
//#############################################
部品の購入等はこちら
自作にかかったコストをまとめてみました 一部曖昧な表記や値段が変わっている物もあります 消費税や送料は計算には入れておりません ■必須工具類 1,490円~ 元々持っている物が結構あると思いますが一応計算に含めました はんだこて、はんだをダイソーで済ませば少し安くなります。当ブログの工作程度なら十分か...
- 関連記事
-
-
スローモーター用パターン2(LV3以上用) 2021/03/17
-
iOS端末で意外とランダム(パソコン不使用) 2021/03/03
-
スマホでモーター制御(パソコン不使用) 2021/02/16
-
スローモーター用パターン(LV3以上用) 2021/02/11
-
新旧接続端子対応 2020/09/21
-
ランダムコントローラー 2020/08/05
-
LV4 2020/08/03
-
LV3 2020/08/03
-
LV2 2020/08/02
-
LV1 2020/08/02
-
LV0 2020/07/31
-
コメント