なぜか自部署のシステム開発をしている

No Image

私は工場の設備の電気・制御設計がメインなのですが、少し時間が空いたときには、業務(主に自分の)を効率化するためにエクセルマクロや自作アプリを作っていたりします。
会社の基幹システムと完全に結びつけて何か弊害があるとさすがにまずいので、なるべくアプリケーション単体完結できる範囲になりますが。
最近アプリを作る機会が増えてきて、自分勝手に構築できるのが楽しかったりするんですよ。

スポンサーリンク

購入依頼や残業申請、日報入力などなど髪やメールでやりとりしている業務は面倒ですが、なくそうと思ってもなくせません。
むしろ増えていっている印象があります。
事務の人も大変そうです、時々愚痴も聞きますw
紙ベースではコピペもできないですしね。
ISOとかがあって保存する必要があるみたいで、それも結構面倒みたいです。

会社に情シス部門があるのですが、そういうちょっとしたアプリケーションはすぐ作ってくれないという。
今はシステムの刷新に夢中みたいなので、なかなか相手にされない印象です。
依頼しても結構スルーされていたりするので...

そんなことを上司に相談してみたら(雑談気味ですけど)「それなら作ってよ」と軽いノリで言われたので、「じゃあ作るか」とこちらもあえてそのノリに乗ってみました。
もともとC#で自作アプリを作っていることもあって、ある程度の知識はあります。
といっても大規模なものや複数人で進めるプロジェクトなんかは無理なんですけどね...

エクセルのマクロというかVBAも見様見真似でとりあえず構築できています。
エクセルなんてものは検索したら大量の先人の知恵、それもちゃんと日本語のものが出てきますね。
いわゆるエクセル方眼紙で作られている文書も多いのですからVBAがあるとそういうところが簡略化できます。

そういうわけで(?)またコロナの影響もあって仕事が少なくなってきた今月はほぼ自部署のシステムを開発していました。
今月は日報のシステムを作っていました。
自分が何屋か分からなりそうですが、こういう少し暇なときにしかできないので今のうちです。
C#やSQLを使いこなせるようになることでプライベートのものづくりの幅も広がると思っています。

会社で学んだことでプライベートの充実度を上げられるなら少しやる気が出ますよね。
といってもずっとパソコンに張り付いていますし、周りはそういうのをまったく分からない人ばかりなので「暇なのか」とか「サボってる」などと言われてしまうのが困りものなんですが...
そこさえ克服できるのであれば、部署内のシステム屋的なポジションに切り替わってもいいのかなと思っています(笑)

なぜか自部署のシステム開発をしている

スポンサーリンク

Leave a Comment

  • 2021/01/02

    こんにちは。

     数年前にアナログメーター時計をつくるを見て作成したいなと思っていました。最近実家にスケール3Vの
    メーターがあると思い出し、探したら偶然にも3個ありました。これは作成しなさいとのお告げか?
     しかし、!プリントアウトしていた電圧計は5V!を使用・・・・・内部抵抗の変更が必要??そもそも
    D9、D10は出力電圧0~5.9Vでリニアになるのでしょうか?Aruduinoに打込むプログラムを開示していただけると、仕組みが理解できるし、勉強になります。自分はデジタルICのみでデジタル時計をだいぶ過去に設計作成しました。水晶発振子から、1Hzを作り(390、4040、192、4511、08で制御)PICは部品数は減るし、分かるんだけど・・・・・プログラムは昔から苦手でして。

     よろしくお願いします。加工・作成は得意なんです。

    Reply
    • 2021/01/09

      チニタオトイネップ 様

      コメントいただきありがとうございます。
      時刻データはPWMを使っていますので出力電圧は直接ドライブするとArduinoの電源電圧に依存します。

      さてプログラムの件ですが、先のrtc_hour はRTC(リアルタイムクロック)から取得するデータですので、その取得プログラムはICに依存します。
      あらかめご了承ください。
      RTCから時刻データを取得して表示する簡易的なプログラムです、ご確認ください。

      #include <Wire.h>
      #include <DS3231.h>
      
      #define HOUR_OUT 9
      #define MIN_OUT  10
      #define SEC_OUT  13
      
      byte rtc_hour, rtc_min, rtc_sec;
      bool h12, PM;
      DS3231 Clock;
      
      void setup() {
        pinMode(HOUR_OUT, OUTPUT);
        pinMode(MIN_OUT, OUTPUT);
        pinMode(SEC_OUT, OUTPUT);
      
        Wire.begin();
      }
      
      void loop() {
        rtc_hour = Clock.getHour(h12, PM);
        rtc_min = Clock.getMinute();
        rtc_sec = Clock.getSecond();
      
        analogWrite(HOUR_OUT, map(rtc_hour, 0 , 24, 0, 255));
        analogWrite(MIN_OUT, map(rtc_min, 0 , 60, 0, 255));
        analogWrite(SEC_OUT, map(rtc_sec, 0 , 60, 0, 255));
      
        delay(200);
      }
      Reply