投稿

7月, 2020の投稿を表示しています

フルパスファイル名と日付をサブディレクトリ込みで取得する方法

フォルダに分かれた大量のファイルがあって、今日更新されたファイルを探したいとき、フルパス+日付でファイル一覧が取れると、後は適当な処理で探せるのだが、DOSコマンドだけでやるのは意外と難しい。以下でBatファイルでやる方法が紹介されていました。 Win: サブディレクトリも含めて、ファイル一覧をフルパスで取得する方法 シンプルでいいですね。 「FullPath_date.bat」と名前をつけて保存しました。ファイル一覧をdir.txtに保存してくれます。 %%を%にするとコマンドラインでも実行できます

KiCad ガーバーデータ出力

ガーバーデータ出力方法 「KiCad(ver.5.1.5)」 KiCADからガーバーファイルを出力する方法 Seed このあたりを参考に。

KiCadでオートルーター(自動配線)

しばらく使わないと忘れるなあ。 FreeroutingとJava をダウンロードする。 自動配線のやり方

M5Stackで温湿度センサー DHT11を動かす方法

Arduinoで温湿度センサ(DHT11)を使う より。ライブラリを2つインストールする必要があるらしい。 M5stackで温湿度センサーを動かす こちらにM5Stack用のソース BME280を含め、知るべき温度/湿度/気圧センサ8選! こちらに温湿度センサーの各種紹介あり。 BME280 を M5stack で使って再びハマったこと、BOSCH 純正ドライバの使用について 温湿度に加え気圧も測れるBME280はこちらで紹介されています

PythonでQRコード生成

Python:10行でQRコード画像を生成する より モジュールをインストール py -m pip install pillow qrcode コード # coding: utf-8 import qrcode, os # ライブラリ読み込み file_name = "qr_code.png" #保存するQRコードのファイル名 print("QRコードに変換したい文字列を入力してください: ", end="") qr_string = input() # キーボードから変換したい文字列を入力させる img = qrcode.make(qr_string) # QRコード画像データ生成 img.save(file_name) # 画像ファイルとして保存 current_dir = os.getcwd() # 現在のディレクトリ位置を取得 print("「{0}\\{1}」にQRコード画像を保存しました".format(current_dir, file_name)) # 終了メッセージ出力

M5Stack ボタンA,B,Cを押すとDA出力した信号を異なった時間出力するサンプルソフト

イメージ
DAポート26から0.6VをA,B,Cボタンを押したときそれぞれ10秒、60秒、180秒間だけ出力するサンプルソフト。これが作りたくて色々調べてた 別な回路の動作確認用に使うのに必要だった。M5StackはLCD,ボタンがあって楽だ。

M5Stack ボタンA,B,Cを押すとポート26へ異なる電圧をD/A出力するサンプルソフト

ボタンA,B,Cを押すとボート26へ異なる電圧をD/A出力するサンプルソフトを書いてみた

M5Stack 入出力

M5StickCのIOについて調べてみた こちらより。M5Stick用ですが、動くでしょう M5StickC.h → M5Stack.h に書き換えています。 digitalRead() デジタル入力 0(1.65V未満) or 1(1.65V以上)どのピンでも使用可 analogRead() アナログ入力 0(0V)-4095(3.3V) dacWrite() アナログ出力 0(0V)-255(3.3V) dacWrite()はIO26でしか使えません。(内部的にはIO25でも可能) digitalWrite() デジタル出力 LOW(0V) or HIGH(3.3V) IO36はIOがInputのみなので、出力には不可、それ以外のPINは可 ledcWrite() PWM出力 PWMはdigitalWrite()で出力を定期的にON/OFFさせることで、擬似的なdacWrite()に似た動きになります。PWMは4PIN同時に利用することが可能で、細かい設定はledcSetup()で行っています。サンプルは周波数が 12KHz で分解能が8ビット(0-256)になっています。 8ビットの場合、256分割してそのうち何個を出力するかの指定なので、出力しないの0と全部出力するの256までの257段階で制御が可能です。

M5Stack回路図 ピン配置

イメージ
M5Stack Basic より M5Stick回路図 M5Stackを試す1 (はじめに) に外部へのピンアサイン これがあれば大体わかる。実機見てもいいけど。 M5 Stack ハマりどころ にバスのピンアサイン

ソースコードの記述

C言語の「<」が入ると崩れる。 ソースコードの記述(pre要素とscript要素)

ArduinoにWatch Dog Timer

Arduinoで遊ぼう - ウォッチドッグタイマを使う より #include <avr/wdt.h> void setup(){ wdt_enable(WDTO_2S); } void loop(){ do_something(); wdt_reset(); } 特にライブラリの追加もなく動いた。組み込み機器の開発やってると、Watch Dog Timerはどうしても入れたくなる。自作のモニターに追加した。

M5Stick 回路図

M5Stick回路図 https://lang-ship.com/reference/unofficial/M5StickC/

M5Stack Wifi Telnet

Wifi接続してTelnet

M5Stickでキー検出

M5.Lcd.setTextSize(3)だと17列×10行くらいのサイズになる。デフォルトフォントサイズは小さすぎて読めない M5.update():ボタンの状態を調べる M5.BtnA.isPressed():ボタンAが押されているか M5.BtnA.wasPressed():ボタンAが押されていたか M5.BtnA.pressedFor(uint32_t ms):ボタンAがmsミリ秒押されていたか #include void setup() { M5.begin(); M5.Lcd.setTextSize(3); //17×10 M5.Lcd.println("Start"); } void loop() { M5.update(); if(M5.BtnA.wasReleased()){ M5.Lcd.print("A"); }else if(M5.BtnB.wasReleased()){ M5.Lcd.print("B"); }else if(M5.BtnC.wasReleased()){ M5.Lcd.print("C"); }else if(M5.BtnA.wasReleasefor(700)){ M5.Lcd.clear(BLACK); M5.Lcd.setCursor(0,0); } }

M5Stick Hellow World

コンパイルにかなり時間がかかる #include // the setup routine runs once when M5Stack starts up void setup(){ // Initialize the M5Stack object M5.begin(); /* Power chip connected to gpio21, gpio22, I2C device Set battery charging voltage and current If used battery, please call this function in your project */ M5.Power.begin(); // LCD display M5.Lcd.print("Hello World"); } // the loop routine runs over and over again forever void loop() { }

M5StackでQRコード表示

スケッチ例そのまま #include <M5Stack.h> void setup() {   M5.begin();   // Display QRCode   M5.Lcd.qrcode("http://www.m5stack.com");   // M5.Lcd.qrcode(const char *string, uint16_t x = 50, uint16_t y = 10, uint8_t width = 220, uint8_t version = 6); } void loop() { }

M5STACK のセットアップ

https://raspberrypi.mongonta.com/howto-start-m5stack-arduinoide/ こちらにHellow Worldまで書いてあります。 LECとスイッチ、WLAN内蔵で32BitCPUの ESP32ボードは色々使えそうです。