投稿

検査に進む前に、流れの確立を下記の様なコードを1セットとして実行しようとしているのだが、うまくいかない。   Space押す cap.set(cv2.CAP_PROP_EXPOSURE, -3) device2.write(RELAY_ON_CMD21) #LED ON、LED保有1個なので今はダミー time.sleep(2)安定化待ち ret, frame = cap.read() #4656x3496 frame_resized = cv2.resize(frame, (1280, 1024)) #リサイズ1280x1024 window['-IMAGE-'].update(data=cv2.imencode('.png', frame_resized)[1].tobytes()) #画像の更新 time.sleep(1) # 1=1秒、点灯状態を視認しやすくする■■割愛可■■ device2.write(RELAY_OFF_CMD21) #消灯 cap.set(cv2.CAP_PROP_EXPOSURE, -4) device2.write(RELAY_ON_CMD22) #LED ON、実際に点灯 time.sleep(2)安定化待ち ret, frame = cap.read() #4656x3496 frame_resized = cv2.resize(frame, (1280, 1024)) #リサイズ1280x1024 window['-IMAGE-'].update(data=cv2.imencode('.png', frame_resized)[1].tobytes()) #画像の更新 time.sleep(1) # 1=1秒、点灯状態を視認しやすくする■■割愛可■■ device2.write(RELAY_OFF_CMD22) #消灯 画像の更新を2回するはずが、なぜか1回しか更新せず、更新した画像も ・ダミーの点灯無し ・点灯あり ・点灯無しと点灯ありの混じったもの と、わけがわからない。 単に上書き更新を繰り返したいだけなのに。
 昨日、不気味な現象が発生した。 winsoundを使って、ビープ音を何Hzにしようかとチェックしていたところ、ビープ音が終わった直後に、音楽が鳴りだした。 それも、きらきら星。 プログラムを記すが、どこにもそのようなものは無い。 # Python 3.x import winsound import time frequency = 250 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 440 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 500 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 1000 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 2000 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 3000 duration = 500 winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 4000 duration = 500 winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 5000...
 PySimpleGUIで文字が真っ黒になる問題の件 Teratailに質問を投稿 した結果、 とりあえず、timeout=の時間を長くすれば応急処置ができそうな兆しが見えたので、この問題の改善は、一旦終了する。 # 起動中ウィンドウのレイアウトを定義 sg . theme ( 'LightGreen' )   # 画面の配色テーマ layout = [[ sg . Text ( ' ' )],[ sg . Text ( '検査ソフト起動中' , font = ( 'Helvetica' , 20 ), justification = 'center' )],           [ sg . Text ( ' ' )]] # タイトルバー無しの起動中ウィンドウを作成 window0 = sg . Window ( 'Window Title' , layout , no_titlebar = True , keep_on_top = True , finalize = True ) event , values = window0 . read ( timeout = 100 ) # timeout=10以上、文字が表示されなければ長くする
 PythonのPySimpleGUIで苦労したので、自分にとってわかりやすいPySimpleGUIの資料作成も兼ねて、ホームページの作成も行うことにする。 プロバイダのホームページ作成は、20MBまでなので、基本テキストベースのホームページにする予定。 ホームページの作成なんて、約25年ぶり。当時はサクラエディターを使って作ったが、さすがに手抜きがしたい。 OpenOfficeで作り、当時も使っていたFFFTPでのアップでいいか。 Python プログラミング資料 これを自分がわかるようにしていく予定。
  動作状態の色のLEDランプを光らせる方法は、調べても 積層信号灯ぐらいしか出てこない。 USB 5Vの、プログラムで色を切り替えるLEDパネルなんて需要が無いのか? 積層信号灯は、設置場所に困るし、全周囲に対する発光が検査結果に影響するようなことがあっても困るので、ディスプレイの写真撮影位置に、動作状況の画像を表示することで、対応しようと思う。
検査プログラムの動作の遅さがネックと感じている。1人が複数の検査ユニットを使うことで、動作の遅さをカバーすることを検討開始。 Pushスイッチを押してすぐ離れても、隣のユニットから動作しているところが確認できるようにする。 キー入力したら、音が出て、動作状態の色のLEDランプが光り、キー入力が受け付けられ、動作していることが少し離れたところからもわかるようにするべく調査開始。 音は、windowsベースを予定しているので、 winsound でいいかなって。 調べても winsound がマルチスレッドに対応しているかわからなかった。 さしあたり、0.5秒程度のBeep音で音程を変えて実装し、気が向いたらファイル音源に挑戦することにした。 import winsound import time frequency = 250 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 440 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 500 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 ) frequency = 1000 #単位は Hz 値は 37 から 32,767 duration = 500 #ms winsound . Beep ( frequency , duration ) time . sleep ( 1 )
 約1.5か月改善できなかった、キー認識に関する問題があった。 PySimpleGUIの方がTKinterよりシンプルなコードで簡単に組めそうと、PySimpleGUIでウィンドウを作り、Webでの情報を参考にマウスで操作する条件分岐処理が簡単に書けたので、当初予定の EHUASHINA USB カスタマイズ スイッチ SPACE のスペースキーを押すと撮影検査を1回処理するべく、キーボード入力での操作に変更しようとしてツボにはまった。 ついでにESCキーでのプログラム終了も実装しようとしている。 下記のようなコードを書いたが、キーを押しても認識されない。 ut_now = datetime . datetime . now () print ( ut_now , 'MAIN Start' ) while True :     ut_now = datetime . datetime . now ()     print ( ut_now , 'KEY' )     event , values = window . read () # timeout=数字msキー入力待ち、(key, value)のタプル形式でイベントを受取     ut_now = datetime . datetime . now ()     print ( ut_now , event , values )     if event == sg . WIN_CLOSED :         break     elif event == 'Escape:27' :         break     elif event == ' ' :         ut_now = datetime . datetime . now ()         print ( ut_now , 'Space' ) ウィンドウの右上の終了ボタン...