USBリレーの使い方(備忘録)
amazonでUSBリレーを購入しました。
pythonを使ってUSBリレーを制御したかったのですが、日本語で自分が理解できるレベルの記事が見当たらず四苦八苦したので、備忘録として記事にしてみます。
筆者はpythonしか分からないプログラミング初心者です。OSはwindows。
あくまで備忘録です。間違っている情報があるかもしれませんので、本記事を参考にされて何かしらのトラブルが起こったとしても筆者は責任を負いません。あらかじめご了承ください。
まず2021年4月現在でamazonで購入できるUSBリレーには大きく分けて2種類あるかと思います。
1.「仮想COMポート接続」のUSBリレー
CH340というチップが載ってるやつはたぶんこれ。接続するケーブルはUSBだけど、内部ではシリアル接続として認識されるらしい。転送レートを指定しなきゃいけないのが特徴かも。
2.「HID接続」のUSBリレー
今回はこちらを使いました。
https://www.amazon.co.jp/gp/product/B081SMPTC6/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
現在は在庫切れのようです。
チップの型番は「ATMEL 1920 ATINY 45 20SU」というものでしたが、ググってもヒットしません。それっぽい型番のデータシートを見ても「ただのマイコンかな?」くらいしか分からず。
調べると、どうやらチップの型番は重要ではないみたいです。
amazonの商品紹介にHID接続とかHID準拠って書いてあるやつはHID接続だと思って良さそうです。
HID接続は、キーボードやマウスを接続するときに使われるくらい割と標準的な接続方法みたいです。
今回はこちらのサンプルプログラムを参考にさせてもらいました。
こちらのサンプルプログラムでは「pywinusb」というpythonモジュール(ライブラリ)が必要みたいなので、事前にインストールします。pipコマンドで簡単にインストールできました。
さて、今回のUSBリレーを使う上で必要な情報は3つ。
1.ベンダーID(vender_id)
2.プロダクトID(product_id)
3.操作するための数値(FF FE ... のような16進数の数値)
これらの情報をサンプルプログラムに入れてしまえば、動作しました。
ベンダーIDとプロダクトIDに関してはデバイスマネージャ/ヒューマンインターフェース/HID 準拠ベンダー定義デバイス のプロパティ/詳細タブ/ハードウェアIDから参照できました。
操作するための数値に関しては、類似品である
こちらの商品のレビューを参考にしました。
参考までに、今回使用したUSBリレー「
WINGONEER DC 5V 2チャンネルリレーモジュール無料ドライバーUSBコントロールスイッチPCインテリジェントコントロール
」
では、
1.vender_id = 0x16c0
2.product_id = 0x05df
3.1リレー1をONにする
3.2リレー1をOFFにする
3.3リレー1と2をONにする
3.4リレー1と2をOFFにする
という感じで入力、実行したら動作しました。
単純にUSBリレーの動作確認をしたい場合は、
こちらのリンクのフリーソフトが使えるかもしれません。
英語の記事なので海外サイトかもです。
以上、備忘録でした。
参考になれば幸いです。
プログラミングできるからITエンジニアにならなきゃいけないわけではないと思う話。
プログラミング学習を始めて2か月程度になります。
隙間時間を使ってゆっくりまったりやっているので進みは遅いですが、着実にやっています。
プログラミングを始めてからいろいろと考えることがありました。
今の会社の業務で「この作業はプログラムで解決できそう」と思えるタスクが何件か見え始めたこと。
とある機械のNCプログラムでは、通常では「:」が最後に付くのがルールだけど、その機械だけは「/:」と入れないと動かないという独自ルールがあって、今までは手作業で打ち込んでいたから、たまに付け忘れてたりして途中でエラー出して止まってしまうということがあったんです。
これを今学んでいるpythonで、プログラムのチェックと加工を行えないかと考えました。
とかね。
プログラム的には言うほど難しいものではないと思うんですよ。
でもね、私からしたら参考書には文字のチェックとか加工なんて載ってないので自分で検索しなきゃいけないし、実際に打ち込んでみてもエラー出てしまったりで、難しく感じるわけです。
「この程度のプログラムはこんなものでしょ」と打ち込んでみたモノが全く動かないとき、呆然としてしまいました。逆に自分の実力がこんなものだと認識できました。
実務としてプログラミングするITエンジニアの方々は本当にすごいと思います。
youtubeのエンジニアチャンネルで、クラウドワークスの数十万円の案件を1日足らずでやってしまう動画見たのですが、「プログラミングで稼ぐってこういうことなんだ」と心折れそうになりました(笑)
それと同時に「プログラミングができるからITエンジニアにならなきゃいけないわけではないかな」「今の業務をプログラミングで解決していくという方向でやっていってもいいかな」と思いました。
私が勤めている小さな工場ではもちろんプログラミングできる人なんていないので、プログラミングで効率化、自動化できる業務は探せばたくさんあるはず。そういう小さなことから積み重ねていこうと思います。結果としてITエンジニアになれれば最高だけど、業務支援としてプログラミングできる人であってもいいかなと思いました。
以上です。
毎日続けることの重要性を感じた出来事(いきなりやることはできない)
私は金属加工のプレス作業を仕事にしております。
それとは別に、電気工事士の資格も持っていて、電気配線や制御盤をいじるスキルも一応は持っています。
昨日のことなのですが、いきなり会社の上司から「この設備をこの機械に取り付けしたいからやってくれ」と頼まれました。制御盤の配線をいじる作業になるので、個人的には好きな仕事です。
まずは制御盤の中身を理解する必要があります。配線図を読み、新しい設備の電気配線の接続ポイントを探します。(だいたい古い設備だと改造されてて書面通りに配線されていないので)実際の配線を辿って・・・なんてやってました。
ものの数分の話なのですが、また上司に呼び止められ「そんなに悩むくらいなら金になる仕事してろ」と言われ、早々に別の仕事を振られてしまいました。
普通に残念な気持ちになったのですが、それと同時に「毎日配線作業やってる人の方が早いし、それで稼ぐなら質もスピードも、今の自分では通用しないんだな」ということを痛感しました。
そう、私の1日の殆どは金属加工に時間を費やしており、設備的な仕事は数か月に1度の話、熟練度が設備を毎日いじっている人とは雲泥の差があるのです。
いくら制御盤を組み立てる技能士の資格を持っていても、毎日やっていなければ腕も勘も鈍るわけです。(その点溶接の技能検定が更新制になっているのも納得です)
利益を出すという観点から言えば、毎日続けていることでなければ、いきなりやっても上手くはいかないということを痛感した出来事でした。
毎日の積み重ねは大事ですね。
水分不足
冬です。
我が家の温湿度計は常に「乾燥注意」のマークが点滅しっぱなしです。
室内で洗濯物を干してもあっという間に乾きます。寒いので冷たいからまだ乾いてない気が一瞬するんですけど、手の熱で少し温まると乾いてるのが分かります。
ということは、その環境にいる人間も、乾燥しやすい状態にあるということだと私は思うのです。
だいたい毎朝、こたつでうたたねしてしまうのですが、起きた時に無性にのどが乾いてしまいます。それも痛いくらいに。
コロナ禍で風邪もうかつに引けない状況ですし、そもそもこたつでうたたねを習慣化してる自分が悪いのですが()体の節々も痛くなるしで、きっと体が乾燥しているからだ!と思い込むことにしました(こたつでうたたね対策として、こたつのコンセントは常時抜くことにしました)
そこで、夜寝る前にコップで3杯の水道水を飲む、ということを1週間続けてみました。
のどの乾燥も酷くなくなりましたし、実践前にあった体のダルさがかなり軽くなった気がします。
夏にも同じようなことをやっていまして、そのときはトイレが近くなった気がしたのですが、冬ではそういうことも起こることなく過ごせています。
きっと乾燥した空気のせいで、無意識のうちに体から水分が飛んで行ってしまっていたのだろうと思ってます。
これからも余分に水分を取る習慣を続けたいと思います。
以上です。
ステンレスのプレス加工でよく金型が逝ってしまう話
また金型が壊れた・・・
そんな毎日を過ごしていますが、皆さまはいかがお過ごしでしょうか?
金型損傷のために定時間内では仕事が終わらず、本日12/30ですが、今日も出勤して納期に間に合わせようと頑張っております。ちゃんと休日出勤分は手当付くからそこは良しとしよう。
製造業の中でも、今私がやっているのはプレス加工。
今の会社に入ってからプレス加工というものを学び、作業主任者の資格も取りました。
ステンレスとか真鍮とか、普通の鉄のプレス加工の方が経験少ない気がするが気のせいだろうきっと。
今は大量受注頂いているステンレス材のプレス製品を加工しているのですが、これが上手くいかないのです。
パンチは折れるし、ダイパンチは割れるし。
しかも普通の丸穴だけじゃないから、パンチは特注品。社内に作れる人がいるからいいけど、折れる度に作ってもらってる始末で今日も道連れ出勤。申し訳ない気持ちです。
なんでこんなに折れたり割れたりするの?ってずっと考えているんだけど、どうにも答えが出ない。
ダイパンチはちゃんと逆テーパーダイになってるからカスは詰まりにくいはず。それなのに、カスが詰まる。カスが詰まってダイパンチが膨れて、内側からの圧力で割れる。
パンチはいつも根本からボッキリ折れる。たぶん引っ張られる力、逆ストリッパ型の金型だから製品が出来上がるとパンチに製品が食い込んで、それをノックアウトで押し出して排出するわけだけど、その製品にパンチが食い込んだままパンチが折れて出てきちゃう感じ。
なんかね、かれこれ20年以上受注している製品で、今までもずっと上手くいってないんだって。
それを聞いたのは昨日。あれ?私この製品やり始めてから3か月くらい経つんだけど。。。
逆にこの製品が上手くいけば良いドル箱になりそうだから一生懸命に問題解決しようと思うのです。
こんな感じなので転職活動もプログラミング学習もストップしたまま。冬休みにやれたらいいなと思ってはいたけど、どうも出来そうにないので諦めて羽休めの冬休みにしたいと思ってます。
では皆さん、良いお年を。
作業時間と品質と効率
仕事をしていて思うところがありましたので備忘録として残します。
皆さんは1時間当たりに自分がどれだけの利益を生んでいるか、意識したことはありますか?
うちの会社に限った話かもしれませんが、誰もそんなこと考えずに仕事しています。
製造業なので、1個あたりの単価が決まっていて、あとは作業時間で割れば1時間当たりの利益が計算で出せます。
しかし、この1時間当たりの利益を増やすことって難しいよねって話です。
目の前の仕事を終わらせるために必要な時間というのは、個々の能力値で決まると私は思っています。
その必要な時間より、短い時間で終わらせようとすれば品質が下がるし(雑な仕事をすることになる)、必要以上に時間をかければ無駄が多いという判断になる。
そう、
必要な作業時間=(仕事量+無駄)/能力値
だと思うんですよね。
それでは能力値を上げればいいじゃんって話にもなるけど、それが短期的には爆発的に上がることはないよねって話。
人間がやる以上、集中力が途切れることもあるから小休憩という無駄が必要になるし、休憩なしで仕事してても惰性でやり続けることに変わりないから作業効率は下がって、結果として休憩挟みながらやるより長い時間が必要になったりする。
短期的に成果を上げるために必要なこと、自分が思うには、一定のルールを作って、その上でシステム的に自分が動いていくことが、結果として能力値を上げるきっかけにもなったりすると思うんです。
中途半端ですが出勤時間なのでここまで。
chromeさんはRAM4GBでは足りない説
パソコン環境の話です。
当方の環境は、以前はRAM6GB積んでいたのですが、2GBを別のPCに移植した都合で4GBです。
windows10 64bit環境です。
最近の格安PCでも、windows10 64bitでRAM4GBって構成のPC多いですよね。
ブラウザにはchromeを使っているのですが、このはてなブログを開こうとしたらメモリ不足で開けませんでした。
タブは一つだけ。
常駐プログラムもwindows標準以外は起動していないし、chrome以外ではタスクマネージャくらいしか起動していない。
この状態でメモリ使用量3.4GBです。
chromeのキャッシュを解放することで対処しましたが、たぶんこの先は定期的にキャッシュを解放しないと使えないんだろうと予測しています。
メモリは4GBでは足りないという時代がちゃんと来てたんですね。
新品買うときは最低でもメモリ8GB、欲を言えば16GBは欲しいと思いました。
以上です。