(USBメモリをパソコンに同期する。

  最近USBメモリ内のデーターが壊れて危うく、大切なデーターを失いかけたので、USBメモリ内のデーターをパソコンに自動でバックアップできるようしたいと思います。

 

同期にはwindowsにもともとある機能のみを用います。

 

■バックアップできるようにする。

1、cドライブに「Backup」>  「USB」という名前のフォルダーを作成

2、バッチファイルの作成

  メモ帳を立ち上げ下記の内容をコピペしUSBメモリのラベル名.bat形式で

  保存。

@echo off

robocopy E:\ C:\Backup\USB /E /FFT /R:1 /W:1

pause

3、バッチファイルを実行。

・ダブルクリックで実行すると、自動で全ファイルがUSBメモリからPCに作ったバックアップフォルダーに保存されます。

 

■バックアップを自動化する。

1、windowsのスタートメニューから「タスクスケジューラー」を実行。

2、右側の「タスクの作成」をクリック。

  すると下図のようになります。

3、名前を適当に決めて最上位の権限で実行するにチェックを入れます。

4、次にトリガーを下図の設定にします。

  イベントIDやソースはこのURLを参考に確認してください。

URL:USBを抜き差しした時のログ(接続履歴)を確認する方法 – Windows11 | 情シスの自由帳

5、続いて新しい操作を下図の設定にします。プログラム/スクリプトの欄は

  作ったバッチファイルの全パスを入力します。

6、条件と設定に関しては、変更する必要はありません。

7、動作確認

  USBメモリに何かファイルを入れてドラックアンドドロップすると、

  次回差し込んだ時にコマンドが立ち上がりコピーが実行されます。

  重複してあるコピーはしないため時間もリソースも食いません。

 

■まとめ

今回はUSBメモリを自動でバックアップするシステムを作ってみました。

またwindowsの機能について体系的に学ぶことができました。そしていろいろな作業を効率化できるノウハウも身についたと思います。便利なので、USBメモリに重要なデーターを入れている人はぜひ試してみてください。そもそも重要なデーターはUSBメモリに保存するものではないと思いますが。

 

参考サイト↓

 

            (6軸IMUセンサーを使ってみた。

  今回は秋月で購入した。AE-LSM6DSV16X搭載の6軸IMUセンサーモジュールを使っていきます。簡単な動作確認をした後8*8LEDマトリクスのドットをIMUの傾けた方向へ移動させることが目標に進めていきます。

 

まず、6軸IMUセンサーは、3軸加速度センサーと3軸ジャイロセンサーを一つにまとめたセンサーです。センサーの中には小さなおもりが入っており重力によってわずかに動くことで、どの方向に重力がかかっているかを知ることができます。

 

■動作確認

まずは、秋月電子の公式サンプルプログラムを使用して動作確認を行います。

注意点として、このセンサーモジュールは3.3V系のマイコン向けです。
5Vでの使用はできません。

ただし、手元のArduinoでも動作確認を行ったところ、問題なく使用することができました。

 

公式ページからコードをダウンロードして書き込みます。

 

ピンアサイン

黒 : GND

赤 : 3.3V (5V不可)

青 : SDA

黄 : SCL

■まとめ

今回は、8×8 LEDマトリクスまで完成させる予定でしたが、時間の都合でそこまでは進めることができませんでした。

毎日投稿を目標にしているため、今回はここまでで投稿します

        (HT16K33を使ってLEDマトリクスを制御する)

 今回はHT16K33を使ってLEDマトリクスを制御します。

前回8*8LEDマトリクスを使ったときは、ダイナミック点灯をloop処理で書いていました。

ですが、HT16K33は座標を指定することで、任意の場所を簡単に光らせることができます。

 

■HT16K33とLEDマトリクスの配線。

LEDマトリクスのピン配列は過去のブログを参照してください。

8×8 LEDマトリクス 使い方 | unbachiのブログ

HT16K33 ROW0 → LED 9
HT16K33 ROW1 → LED14
HT16K33 ROW2 → LED 8
HT16K33 ROW3 → LED12
HT16K33 ROW4 → LED 1
HT16K33 ROW5 → LED 7
HT16K33 ROW6 → LED 2
HT16K33 ROW7 → LED 5


HT16K33 COL0 → LED13
HT16K33 COL1 → LED 3
HT16K33 COL2 → LED 4
HT16K33 COL3 → LED10
HT16K33 COL4 → LED 6
HT16K33 COL5 → LED11
HT16K33 COL6 → LED15
HT16K33 COL7 → LED16

 

■HT16K33とESP32の接続

HT16K33 GND→ESP32_GND

HT16K33 VDD→ESP32_5V

HT16K33 SDA→ESP32_21PIN

HT16K33 SCL→ESP32_22PIN

■座標の確認&LEDを点灯

HT16K33は座標を指定することで、LEDマトリクスを制御します。

まずは基準となる座標(0,0)がLEDマトリクスのどの位置になるか確認します。

以下のプログラムは(0,0)を光らせて座標を確認するためのコードです。

動作確認も兼ねています。

 

・二つのライブラリをインストールしてください。

 →Adafruit GFX Library
 →Adafruit LED Backpack

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_LEDBackpack.h>

Adafruit_8x8matrix matrix = Adafruit_8x8matrix();

void setup() {
  Wire.begin(21, 22);
  matrix.begin(0x70);
  matrix.setBrightness(10);

  matrix.clear();

  // 座標 (0,0) を点灯
  matrix.drawPixel(0, 0, LED_ON);

  matrix.writeDisplay();
}

void loop() {
}

■まとめ

今回はHT16K33を使って8*8ドットマトリクスLEDを座標指定で光らすことができました。しかし、配線が複雑でピン配置などを確認しながらの作業に時間がかかりました。次回は砂時計制作に向けて加速度センサーを使って実験したいと思います。

 

参考:I2C接続のLEDマトリクスコントローラ HT16K33 の使い方

        (DFPlayerminiをESP32環境で使ってみた。)

 今回はDFPlayerminiをESP32の環境で使えるようにします。

 

■使うもの

・ESP32-WROOM-32E開発ボード

・DFPlayermini

・4Ωスピーカー

■配線

DFPlayer VSS <-> ESP32 5V
DFPlayer RX <-> ESP32 GIOP 17 TX2
DFPlayer TX <-> ESP32 GIOP 16 RX2
DFPlayer GND <-> ESP32 GND
DFPlayer SPK_1 <-> スピーカー赤
DFPlayer SPK_2 <-> スピーカー黒

 

■mp3ファイルの準備

①DFPlayer miniを使うために、32Gb以下のマイクロSDカードを準備し、

FAT32形式でフォーマットします。

②microSDカードの直下に、ファイル名「MP3」を作成しその中に、音声ファイルを保存します。

ファイル名は「0001.mp3」「0002.mp3」「0003.mp3」のような形式にしてください。

 

■コード

・ライブラリマネージャーで「DFRobotDFPlayerMini」と検索し「DFRobotDFPlayerMini by DFRobot」をインストール。

#include <DFRobotDFPlayerMini.h>

HardwareSerial mySerial(2);
DFRobotDFPlayerMini myDFPlayer;

void setup() {
  Serial.begin(9600);

  mySerial.begin(9600, SERIAL_8N1, 16, 17);

  Serial.println("DFPlayer init...");

  if (!myDFPlayer.begin(mySerial)) {
    Serial.println("DFPlayer init failed!");
    while (true);
  }

  Serial.println("DFPlayer ready!");

  myDFPlayer.volume(10); // 0〜30

  delay(1000);

  // 1曲目再生開始
  myDFPlayer.play(1);
}

void loop() {
  // 再生終了したらもう一回再生
  if (myDFPlayer.available()) {
    uint8_t type = myDFPlayer.readType();
    int value = myDFPlayer.read();

    // トラック再生終了イベント
    if (type == DFPlayerPlayFinished) {
      Serial.println("Track finished -> replay");
      myDFPlayer.play(1);
    }
  }
}

参考サイト:DFPlayer MiniとESP32電子工作 その7(DFPlayerを使った音声ファイルの再生)

 

      (案件の時給を計算するwindowsアプリの開発)

 今回は、案件ごとの時給を簡単に計算できるWindowsアプリを開発しました。

開発言語はPythonで、コードはすべてAIを活用して作成しています。

ダウンロードリンク↓

 

■作るにあたった経緯

理由は案件ごとの時給を知りたかったからです。

ストップウォッチやExcelを使って計算することもできますが、単に作業時間を記録するだけのために毎回手間をかけるのは効率的ではないと感じていました。

そこで既存の作業時間管理アプリもいくつか試してみましたが、多くは有料だったり、広告が表示されたり、不要な機能が多かったり、逆に欲しい機能がなかったりと、自分の用途には合いませんでした。

そこでAIを使って作ったほうがいいということがきっかけです。

 

■実装した機能

・案件の追加、削除

・作業内容を区別(作業、リサーチetc)

・作業時間の計測

・SQriteへのログ保存

・案件ごとの作業時間を集計

・売上を入力し、作業時間から、時給を計算

 

基本的な機能は一通り揃っていると思います。

今後は実際に使用しながら、必要な機能の追加や不要機能の削除など、バージョンアップもしていくつもりです。
機能面についての意見があれば、コメントに書き込んでください。

■実装する。

AIにプロンプトを入力し、アプリのコードを生成しました。

コードは文字数の関係でブログに張り付けられないのでgithubの

main.py

を参照ください。

githubURL:https://github.com/kawawa-code/work_timer

 

■アイコン作成

affinity photを使ってアイコンをデザインしました。

シンプルでわかりやすくすることを意識しました。

ですが、これでも視認性はあまりよくなかったです。

ただアプリの種類が分かればいいので、これにてアイコン制作は終了。

できたアイコン↓

 

参考にしたyoutube↓

Affinity Photoで矢印をかく

Affinity Photoの文字入力

 

■exe化

次のようにwindowsの実行ファイルを作成しました。

VScodeで「.ico」ファイルをmain.pyと同じフォルダーに入れて

pythonファイル(main.py)を開いた状態で、以下を実行。

pyinstaller --onefile --windowed --icon=app.ico main.py

参考:PyinstallerでPythonプログラムをexe化する手順書(Windows編) #初心者向け - Qiita

 

■githubへ投稿。

①リポジトリの作成

②プロジェクトフォルダでshift+右クリックでpowershellを開く。

③shell内で「git init」「git add .」「git commit -m "first commit"」の順番で実行。

④githubで作ったページにある3行を順番に実行してプッシュ。

 

■完成

・デスクトップ画面

■まとめ

実用的なアプリを作れてよかったです。

これからもどんどん使っていくつもりです。