何でも実習生の実習日誌

電子工作、模型スチームエンジン工作など、何でも工作が大好きです。
手持ちの工作機械は卓上ボール盤だけ、全て手作りです。

リモコン呼び出しは便利だ

2023-01-30 14:34:39 | 電子工作

2023・01・28(土曜日) 晴れ

 

最近、オイらは耳が遠くなって不便を感じるようになりました。

作業部屋に篭って工作に熱中していると、階下でお代官が呼ぶ声に気が付かないことがあります。

何度呼んでも応答ががないので頭に来たお代官が怒って来ます。

「何度呼んだらわかるのよ!」

何とかしなくっちゃ・・・ 手持ちの部品を使って呼び出しリモコンを作りました。

お代官が持つ呼び出し機は一応ケース(段ボールで作った)に入れました。

使い方もわかるようにしてあります。

呼び出し信号を受けて警報音を出す受信機はむき出しのままで作業机の上に置いてあります。

 

でもこれは結構邪魔になるし、配線も外れてしまうこともあるのでケース(段ボール製)にいれました。

 

中身はこんな感じです。

受信機はオイらが作業しているときは常時動作させていますので(お代官が何時呼ぶかは

わかりません!)電源アダプタ(DC5V)から供給しています。

単三電池はスピーカー駆動用電源です。(結構大電流(150mAぐらい)が流れます。

マイコン用電源から供給すると動作が不安定になるので電池で駆動しました。)

 

完成した呼び出し機、受信機です。

 

 

 

呼び出し機の箱には使い方を書いたラベルを張り付けました。

機械音痴のお代官でも使いこなせます。

これでオイらも安心して工作に熱中できます。

お代官も便利だと言ってます。 めでたし、メ・デ・タ・シ・・・・

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

リモコンらしく工作しました

2023-01-15 08:37:34 | 電子工作

2023/01/15 (日曜日) 曇り一時小雨

2階のオイらの作業部屋で工作に熱中していると、階下で叫んでいるお代官の声が
聞こえないことがあります。
しびれを切らしたお代官が2階まで上がってきてオイらの耳元で「何度呼んだら
分るの、まったくもう!!!」と怒りの声をあげます。
「おぉ、ゴメン、ゴメン、気が付かなかったよ。」
オイらは最近、聴力が落ちてこんなことがちょくちょく起きるようになってしまい
ました。 
そこであり合わせの部品で無線でコントロールするアラーム音発生装置を工作しま
した。  ブレッドボードにマイコンを取り付けてむき出し状態でのテストは何と
かうまくいきました。
クライアントは「お代官が操作しなくてはなりませんので、むき出しではNGです。
そこで段ボールでケースを作りました。



段ボール工作はハサミとノリ(接着剤)で済むので安直にできます。




ブレッドボードと電池ケースを収めたところです。




配線を済ませてパソコン(ARDUINO)からプログラムをロードしました。


テストの様子です。 何とかうまくいきました。


クライアントの回路図です。



クライアントのプログラムはこんなものです。
開発システムはARDUINOです。


// ESP32→ESP32 UDP通信 
// リモコン・クライアント

#include  ≺ WiFi.h ≻      
#include  ≺ WiFiUdp.h ≻

#define LEDgreen 13     //Green
#define LEDyellow 12     //Yellow
#define LEDblue 32      //Blue

char ssid[] = "ESP32_wifi";   // SSID
char pass[] = "esp32pass";   // password

WiFiUDP wifiUdp;

char *kRemoteIpadr = "192.168.4.1";   //送信先のIPアドレス
int kRmoteUdpPort = 7700;       //送信先のポート
int sw[8] = {25,26,27,14,15,18,4,5};
int swdata[10] ;

void WiFi_setup(){
  static const int kLocalPort = 5000;     //自身のポート
  WiFi.begin(ssid, pass);

  while( WiFi.status() != WL_CONNECTED) {
    digitalWrite(LEDgreen,HIGH);
    delay(200);
   }

  wifiUdp.begin(kLocalPort);

  digitalWrite(LEDgreen,LOW);
  digitalWrite(LEDblue,HIGH);

 }


void setup(){

  pinMode(LEDyellow,OUTPUT);
  pinMode(LEDblue,OUTPUT);
  pinMode(LEDgreen,OUTPUT);

  for(int i = 0; i < 8; i++){
   pinMode(sw[i],INPUT_PULLUP);
  }

  digitalWrite(LEDyellow, HIGH);
  digitalWrite(LEDgreen, LOW);
  Serial.begin( 115200 );
  Serial.println(" ");

  WiFi_setup();
   Serial.println(" ****** PROG START ******" );
  }


void loop(){
  digitalWrite(LEDyellow,HIGH);

  for( int i = 0; i < 8; i++){
   if( digitalRead(sw[i]) == 0 ){
    swdata[i] = 0;
    } else { swdata[i] = 1; }
   }

  for(int i = 0; i < 8; i++){
   Serial.print( "swdata[i] = ");
   Serial.println( swdata[i]);
   }

  Serial.println(" ***** UDP PACKET SEND ******");

  wifiUdp.beginPacket(kRemoteIpadr, kRmoteUdpPort);

  for(int i = 0; i < 8; i++){
    wifiUdp.print(swdata[i]);
   }

  wifiUdp.endPacket();

  delay(200);

}


これはサーバーの回路図です。



プログラムはこんなものです。


//ESP32-ESP32_UDP_SWReadSend_SERVER
//リモコン・サーバー


#include  ≺ WiFi.h ≻      
#include  ≺ WiFiUdp.h ≻


#define LEDblue 12    
#define LEDyellow 13   

char ssid[] = "ESP32_wifi";     // SSID
char pass[] = "esp32pass";     // password
int localPort = 7700;        // ポート番号

IPAddress ip(192, 168, 4, 1);     // IPアドレス(ゲートウェイも兼ねる)
IPAddress subnet(255, 255, 255, 0);  // サブネットマスク

char Wifibuff[30]; 

int ledNo[]={14,27,26,25,33,32,15,2};

int soundflag;
int soundcount;
int soundtime;

WiFiUDP udp;

void setup() {

  pinMode(LEDblue, OUTPUT);
  pinMode(LEDyellow, OUTPUT);

  for( int i = 0; i < 8; i++){
    pinMode(ledNo[i], OUTPUT);
   }

  digitalWrite(LEDblue, LOW);
  digitalWrite(LEDyellow, LOW);

  Serial.begin(115200);

  WiFi.softAP(ssid, pass);       // SSIDとパスの設定
  delay(500);            // 追記:このdelayを入れないと失敗する場合がある
  WiFi.softAPConfig(ip, ip, subnet);   // IPアドレス、ゲートウェイ、サブネットマスクの設定

  Serial.println(" ");

  Serial.print("AP IP address: ");
  IPAddress myIP = WiFi.softAPIP();
  Serial.println(myIP);

  Serial.println("Starting UDP");
  udp.begin(localPort);         // UDP通信の開始(引数はポート番号)
  digitalWrite(LEDyellow, HIGH);
  Serial.println("*** Receve Starat ***");
  Serial.print("SSID: ");
  Serial.print(ssid);
  Serial.print(" PASSWORD: ");
  Serial.println(pass);
  Serial.print("Local port: ");
  Serial.println(localPort);

  soundtime = 150000;         // サウンド鳴動タイマ

 }

void loop() {

   digitalWrite(LEDblue, HIGH); //PIN 14 blue

   if (udp.parsePacket()>0) {

     udp.read(Wifibuff,8); //S追記

     Serial.print("SERVER Wifibuff = ");
     Serial.println(Wifibuff);

    }

   if (Wifibuff[0] == '0'){

     digitalWrite(ledNo[0],HIGH);      // sound起動表示
     digitalWrite(ledNo[4],HIGH);      // K1 LOW 
     digitalWrite(ledNo[5],LOW);      // K2 LOW
     digitalWrite(ledNo[7],HIGH);      // sound電源ON

     soundflag = 1;
     soundcount = 0;
    }else{digitalWrite(ledNo[0],LOW);}


   if(soundflag == 1){

     soundcount = soundcount + 1;

    }

   if(soundcount > soundtime){

      digitalWrite(ledNo[7],LOW);
      soundflag = 0;

    }

  udp.flush();

}

テストの様子を動画でご覧ください。




お代官がオイらを呼んでいるときの想像図です。
こういう風にうまくいけば良いんだけどね・・・・・・



明日、お代官にリモコンの使い方を教えます。
うまく使ってくれますように・・・ナンマイダァ!!!

コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

音が出るリモコンを工作してみた

2023-01-08 21:27:00 | 電子工作

2023・01・08(日曜日) 晴れ

正月休みは毎日、朝から晩まで大好きな電子工作をして過ごしました。

もっともオイらは毎日が日曜日だから正月やすみだろうが何だろうが

関係ないけど、やっぱり正月休みはうれしい気がします。

でも、また一つ年老いてしまいました。

そのせいか、最近は耳が遠くなった感じがします。

自分の部屋に篭って工作に夢中になっていると、階下でお代官が呼ぶ声に

気が付かないことがあります。

ご立腹のお代官のお怒りが収まるまではひたすら平身低頭、逆らいません。

階段の下に呼び鈴をつけて鳴らしてもらおうか・・・

おぉーそうだ、先日工作したマイコン同士のUDP通信でクライアントの

スイッチを押すと、離れた場所にあるサーバーのLEDが点灯する、あれを

使えば良いかもね。

お代官が用事があるときはお代官の近くに置いたクライアントのスイッチを

押してもらうと、オイらの手元にあるサーバーのLEDが点灯するので

すぐ「お返事」ができるというわけです。

でも、あの小さなLEDの点灯では気が付かないかもしれません。

お代官がスイッチを押したら、オイらの耳元で「プーっ、プーっ」とか

「ピーっ、ピーっ」と音がするのが良いです。

あっ、そうだ、ずーっと以前に工作友人のジャンジャンジャンさんから頂いた

パトカーとか、救急車のサイレン音を発生させるICを使ってみれば良いかも

しれない。

ジャンク部品箱を引っ掻き回してそのICを探しました。 ありました!!!

それがこのICです。

そのICにブレッドボードに挿入できるように足をハンダ付けしました。

そのICを単体でテストしてみました。

ICは4種類の音が出せました。 スピーカーから出るその音は結構、大きな音でした。

これならどんなに工作に夢中になっていても気が付くでしょう。

サーバーのプログラムを改造して、スイッチを押すと一定時間の間音を出し続けるように

しました。

サーバーはこんなものです。

クライアントはこんなものです。

サーバーを呼び出すSWは1個だけです。

 

そして机上でテストしました。

 

実際にスイッチを押して擬音を出した時の様子を動画にしてみました。

どうぞご覧ください。

 

 

電波は10mぐらいは届くようです。

小さな家の中では十分使えると思います。

でもこの裸のままではまずい・・・何か適当なケースに収めなくてはなりません。

その工作がちょっと大変かもしれません。

いずれまたご報告したいと思います。

JANJANJANさん、頂いた擬音発生ICが役立ちました。 ありがとっ!!!

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

新年ご挨拶

2023-01-01 00:00:00 | その他

2023・01・01

新年ご挨拶

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする