噴水をコントロールできたら楽しそうなので,マイコンでコントロールする小さいのを試作中です。

噴水装置としては超音波噴霧器(アトマイザー)のモジュールを購入した時に一緒に買った超廉価版のミニポンプを使ってみました。


機材です。
・MCU:Seeeduino XIAO
・ドライバ:ULN2003AN トランジスタアレイ
・ポンプ:ミニウォーターポンプ(水中型)3-5V動作

ポンプは100均の電子レンジでパスタを作るという容器に水を張って入れています(^^)。





配線図です。
 XIAOからanalogWriteのPWMでポンプのモーターを動かすのでシンプルです。

なおULN2003では保護?ダイオードにつながっているCOMピンに電源のプラスをつないでみています。(実はよく理解できていないのですが(^^;;;;;;;)







チェックプログラムを動かした動画です。

プログラム次第で,また噴出口を工夫したり光を当てたりで面白くはできますかね。





上の動作のプログラムです。
MCUのXIAOからはanalogWriteでPWMを使っています。

// Seeeduino XIAO, Program for mini_water_pump Ver.1

void setup() {
 for (byte i=1; i<3; i++){
   pinMode(i, OUTPUT);  // set the pin as output
 }
} // setup end


void loop() {
 int val = 0;          // analogWrite values from 0 to 255
 analogWrite(1, val);
 analogWrite(2, val);
 delay(2000);

 for (val = 150; val < 255; val+=50){
   analogWrite(1, val); //  set pump0
   delay(2000);
   analogWrite(2, val); //  set pump1
   delay(2000);
 }

 val = 0;          // clear output
 analogWrite(1, val);
 analogWrite(2, val);
 delay(2000);

 for (val = 150; val < 255; val+=50){
   analogWrite(2, val); //  set pump1
   delay(2000);
   analogWrite(1, val); //  set pump0
   delay(2000);
 }

 val = 0;          // clear output
 analogWrite(1, val);
 analogWrite(2, val);
 delay(2000);

 for (val = 150; val < 255; val+=50){
   analogWrite(1, val); //  set pump0
   analogWrite(2, val); //  set pump1
   delay(4000);
 }

} // loop end




以上,なんとか動きましたが,,,
ポンプは買った5台の内2台は動作不良でした(^^;;;;;。

またMCUは当初ATtiny404を使ってみたのですが,PWMを2つのピンから出すと動作がおかしくなり,はまりました。タイマーが絡んでいるようですので一旦パスです。

Seeeduino XIAOはこういうハマった時によく使いますね。何しろピンが綺麗に並んでいてイライラしないし,担当動作もはっきりしているのが良いです(^^)。


後は,噴水だけではどこか寂しいのでアトマイザーと組み合わせたいですね。