全年全月24日の投稿[36件](3ページ目)
2022年8月 この範囲を時系列順で読む この範囲をファイルに出力する
帰宅して確認したところ裸族のPiがチンチンに熱くなって止まっていました。
HDD4台同時にフォーマットを実行しましたので過負荷だったのかな?
とりあえず冷ましてHDDを1台毎に再フォーマット。
#ガチ工作
HDD4台同時にフォーマットを実行しましたので過負荷だったのかな?
とりあえず冷ましてHDDを1台毎に再フォーマット。
#ガチ工作
作業部屋があまりに酷い。自分以外の人が見たら単なるゴミ部屋状態で作業がし難い。
とりあえず、分解されている品からボチボチ仕上げることにしました。
まずは、センチュリー社製の「裸族のカプセルホテル」にRaspberryPi4Bを内蔵した「裸族のPi」を1台仕上げました。
RaspberryPi4Bを手に入れるのに難儀しましたが組まないと意味がありません。
動作確認を兼ねてHDDのフォーマット大会をしています。
#ガチ工作 #RaspberryPi
とりあえず、分解されている品からボチボチ仕上げることにしました。
まずは、センチュリー社製の「裸族のカプセルホテル」にRaspberryPi4Bを内蔵した「裸族のPi」を1台仕上げました。
RaspberryPi4Bを手に入れるのに難儀しましたが組まないと意味がありません。
動作確認を兼ねてHDDのフォーマット大会をしています。
#ガチ工作 #RaspberryPi
2022年7月 この範囲を時系列順で読む この範囲をファイルに出力する
これまではPIC16系でI2Cを扱う方法はデータシートを読んでも理解出来なかったのですが、次のページのサンプルプログラムを読みながらフラグの意味を整理したところなんとなくわかってきました。
「I2Cのスレーブモードの使い方」
サンプルソースはPIC18系っぽいですが、違いを読み変えればPIC16系のサンプルにもなります。
SPIもそうですが、シフトレジスタ系の通信方法で重要なことは受信値を処理して次の受信コンディションが整うまで送信を一次停止させることです。
I2Cではこの処理をハードウェア的に行うことが可能です。SSPCON2:SENをセット(フラグを1に)しておくと1バイトの受信が終わったところでクロックストレッチングと呼ばれる一時停止がハードウェア的に自動発生するモードになります。クロックストレッチングを解除し受信コンディションにするにはSSPCON1:CKPをセットするだけです。
スレーブ受信処理の流れは、
1)SSPCON2:SENとSSPCON1:CKPをセットして受信コンディションにする(SSPCON2:SENのセットは初期化処理の時だけでいい)
2)バイトデータが受信されたらSSPBUFからデータを取り出す(この時点でSSPCON1:CKPはハードウェアでクリアされクロックストレッチングが発生している)
3)データを取り出したら(取り出したデータの処理が済んだら)SSPCON1:CKPをセットし次の受信コンディションにする
4)以下、ストップビットが検出されるまで(2)から繰り返し
となります。
スレーブ送信(返信)の場合も同様で、所定のレジスタにデータを入れた後、SSPCON1:CKPをセットするとマスターがクロックを刻み始めて送信となります。
所定のレジスタにデータを入れると自動的にSSPCON1:CKPがセットされて送信が始まるモードもあるようです。
ただ、SSPCON3:AHENとSSPCON3:DHENの意味がわかったようなわからないような状況です。両方ともクリア(=0)で良いような気もしますが、便利機能かもしれないのでデータシートを良く読んで整理しましょう。
I2Cは敷居が高いイメージがありましたが、ハードウェアによる自動処理が多くソフトウェアで細かいタイミングを考える必要が無いため、この調子で整理していけば案外簡単に使えるかもしれません。
PICでI2Cを扱うことが可能になれば、今回のパラレルバスLCDなどのI2Cに対応していないデバイスをI2C化することが容易になります。
通信速度や即応性、RTOS的なリアルタイム性を求めるのは難しいと思われますが、7bitアドレスのノーマルモードでもI2Cバス上に126個のデバイスを置けますので、RaspberryPi、Arduino、ESP32などの製作の幅が広がるような気がします。
#電子工作
「I2Cのスレーブモードの使い方」
サンプルソースはPIC18系っぽいですが、違いを読み変えればPIC16系のサンプルにもなります。
SPIもそうですが、シフトレジスタ系の通信方法で重要なことは受信値を処理して次の受信コンディションが整うまで送信を一次停止させることです。
I2Cではこの処理をハードウェア的に行うことが可能です。SSPCON2:SENをセット(フラグを1に)しておくと1バイトの受信が終わったところでクロックストレッチングと呼ばれる一時停止がハードウェア的に自動発生するモードになります。クロックストレッチングを解除し受信コンディションにするにはSSPCON1:CKPをセットするだけです。
スレーブ受信処理の流れは、
1)SSPCON2:SENとSSPCON1:CKPをセットして受信コンディションにする(SSPCON2:SENのセットは初期化処理の時だけでいい)
2)バイトデータが受信されたらSSPBUFからデータを取り出す(この時点でSSPCON1:CKPはハードウェアでクリアされクロックストレッチングが発生している)
3)データを取り出したら(取り出したデータの処理が済んだら)SSPCON1:CKPをセットし次の受信コンディションにする
4)以下、ストップビットが検出されるまで(2)から繰り返し
となります。
スレーブ送信(返信)の場合も同様で、所定のレジスタにデータを入れた後、SSPCON1:CKPをセットするとマスターがクロックを刻み始めて送信となります。
所定のレジスタにデータを入れると自動的にSSPCON1:CKPがセットされて送信が始まるモードもあるようです。
ただ、SSPCON3:AHENとSSPCON3:DHENの意味がわかったようなわからないような状況です。両方ともクリア(=0)で良いような気もしますが、便利機能かもしれないのでデータシートを良く読んで整理しましょう。
I2Cは敷居が高いイメージがありましたが、ハードウェアによる自動処理が多くソフトウェアで細かいタイミングを考える必要が無いため、この調子で整理していけば案外簡単に使えるかもしれません。
PICでI2Cを扱うことが可能になれば、今回のパラレルバスLCDなどのI2Cに対応していないデバイスをI2C化することが容易になります。
通信速度や即応性、RTOS的なリアルタイム性を求めるのは難しいと思われますが、7bitアドレスのノーマルモードでもI2Cバス上に126個のデバイスを置けますので、RaspberryPi、Arduino、ESP32などの製作の幅が広がるような気がします。
#電子工作
色んなデバイスを考えますと表示装置は避けて通れない課題となります。
数個のLEDで済む事もありますが、ガッツリモニタを組まないといけない事もあります。この中間が望ましいこともあります。
案外必要にして十分なのが16字×2行や20字×4行くらいのLCDディスプレイモジュールです。ただ、制御は難しくありませんが、パラレル信号なので面倒が少なくありません。ならばエスケープシーケンスをシリアルやI2cで受けて動く様にしたらどうかと。PICでインターフェースを作るワケです。
幸い16F1939が沢山あるのでコレを使えばI/Oピンに余裕を持って作れます。
色んなアイデアを出しても製作が進まないのは補助的な周辺機器を作らんからかもしれません。
#ガチ工作 #電子工作
数個のLEDで済む事もありますが、ガッツリモニタを組まないといけない事もあります。この中間が望ましいこともあります。
案外必要にして十分なのが16字×2行や20字×4行くらいのLCDディスプレイモジュールです。ただ、制御は難しくありませんが、パラレル信号なので面倒が少なくありません。ならばエスケープシーケンスをシリアルやI2cで受けて動く様にしたらどうかと。PICでインターフェースを作るワケです。
幸い16F1939が沢山あるのでコレを使えばI/Oピンに余裕を持って作れます。
色んなアイデアを出しても製作が進まないのは補助的な周辺機器を作らんからかもしれません。
#ガチ工作 #電子工作
2022年6月 この範囲を時系列順で読む この範囲をファイルに出力する
RaspberryPi4Bがどうしても必要になったので、すこしお高いamazonでポチリました。
それがなんと中1日で入荷。あるところにはあるんですねぇ。やはり買い占め転売されているのかな?
イギリスにオーダーした物は操作を間違えたのか何なのかキャンセルになっていました。もちろん今は在庫なし。
追記
千石電商さんにRaspberryPi4Bの4GBモデルと8GBモデルが出ていました。お一人様1個ですが手に入るのはありがたい。
価格はネットの小売り界隈では最安値。もちろん過去の最安値よりはお高いですが、RaspberryPiが入手しずらくなる直前の価格とほぼ同等。半導体不足や円相場を考えれば良心的過ぎ。市場原理はアリアリでも本家は定価で出していますから、2万前後の価格は乗せすぎだと思うのですけどね。
RaspberryPi4Bは自宅サーバーの分も含めて10個くらい欲しいのでポチリました。
#RaspberryPi
それがなんと中1日で入荷。あるところにはあるんですねぇ。やはり買い占め転売されているのかな?
イギリスにオーダーした物は操作を間違えたのか何なのかキャンセルになっていました。もちろん今は在庫なし。
追記
千石電商さんにRaspberryPi4Bの4GBモデルと8GBモデルが出ていました。お一人様1個ですが手に入るのはありがたい。
価格はネットの小売り界隈では最安値。もちろん過去の最安値よりはお高いですが、RaspberryPiが入手しずらくなる直前の価格とほぼ同等。半導体不足や円相場を考えれば良心的過ぎ。市場原理はアリアリでも本家は定価で出していますから、2万前後の価格は乗せすぎだと思うのですけどね。
RaspberryPi4Bは自宅サーバーの分も含めて10個くらい欲しいのでポチリました。
#RaspberryPi
2022年3月 この範囲を時系列順で読む この範囲をファイルに出力する
勇み足で手配してしまった3Dシュミレーターに使うパソコンが入荷しました。以前のが復活したのでダブつき状況ですが、予備機があるのは悪くありません。ヤフオクとはいえ専門店からですが、中一日とは早いですね。
これのセッティングは来週以降になりそうですが、古いとはいえ、こんなにキレイな物が1万円しないとは驚きです。32bitのWindows10が入っていますので、メモリを追加して64bitにしようと思います。メモリの規格は一世代前のDDR3ですが、半導体不足でも古い規格の流通在庫品は値段が上がっていないようです。
#パソコン
これのセッティングは来週以降になりそうですが、古いとはいえ、こんなにキレイな物が1万円しないとは驚きです。32bitのWindows10が入っていますので、メモリを追加して64bitにしようと思います。メモリの規格は一世代前のDDR3ですが、半導体不足でも古い規格の流通在庫品は値段が上がっていないようです。
#パソコン
2022年2月 この範囲を時系列順で読む この範囲をファイルに出力する
Pythonはオブジェクト指向な書き方が出来ると驚くほど書きやすいですね。人気No.1言語なのが納得です。
継承におけるsuper()の使い方が感覚に入ってきていませんが、今日書いたテキスト画面の基本制御classを継承して定型画面を表示するclassを書いて習得しましょう。
出来るだけ細かくclassで書いておけばC++への移植で都合が良いかもしれません。C++はゴリゴリのオブジェクト指向言語ですから、方言的な違いをclass単位でホローすれば全体の構造はそのまま行けるだろうという皮算用です。もしくは、全部をC++化しなくても、重い処理や繰り返しが多い処理だけPythonにimport出来るクラス・ライブラリとしてC++で書き直せば良いかもしれません。
#Python
継承におけるsuper()の使い方が感覚に入ってきていませんが、今日書いたテキスト画面の基本制御classを継承して定型画面を表示するclassを書いて習得しましょう。
出来るだけ細かくclassで書いておけばC++への移植で都合が良いかもしれません。C++はゴリゴリのオブジェクト指向言語ですから、方言的な違いをclass単位でホローすれば全体の構造はそのまま行けるだろうという皮算用です。もしくは、全部をC++化しなくても、重い処理や繰り返しが多い処理だけPythonにimport出来るクラス・ライブラリとしてC++で書き直せば良いかもしれません。
#Python
オレメモ
Pythonで文字列からANSIエスケープシーケンスを取り除く方法
ソース
import re
text_ansi = '\033[2KTest\033[2;3HText'
pattern = re.compile( r'\\033\[[0-9;]{1,}[a-zA-Z]{1}' )
text_noansi = pattern.sub( '', text_ansi )
print( text_noansi )
実行結果
TestText
参考にしていた書き込みが間違っていました。
制御文字(\や[)に対するエスケープ[\]がありませんでした。
解決に時間がかかったのは自分の無知が故です。up主に文句を言ったらいけません。
文字数を{}で指定しなくてもいいのですが、自分としてはこの方がメンテナンス性がいいかなと。
あ、ここに書く時もそうなのですが、[\]を表示させるには注意があります。
[\]を表示させるには[\\]としないといけない場合があります。
「\\033」や「\[」と表示するには「\\\033」や「\\[」と打たねばならん事があるということです。システムによって若干違うようですが。
これが原因でup主の書き込みがおかしくなっていたのかな?
それにしても奇妙な字面です・・・
#Python
Pythonで文字列からANSIエスケープシーケンスを取り除く方法
ソース
import re
text_ansi = '\033[2KTest\033[2;3HText'
pattern = re.compile( r'\\033\[[0-9;]{1,}[a-zA-Z]{1}' )
text_noansi = pattern.sub( '', text_ansi )
print( text_noansi )
実行結果
TestText
参考にしていた書き込みが間違っていました。
制御文字(\や[)に対するエスケープ[\]がありませんでした。
解決に時間がかかったのは自分の無知が故です。up主に文句を言ったらいけません。
文字数を{}で指定しなくてもいいのですが、自分としてはこの方がメンテナンス性がいいかなと。
あ、ここに書く時もそうなのですが、[\]を表示させるには注意があります。
[\]を表示させるには[\\]としないといけない場合があります。
「\\033」や「\[」と表示するには「\\\033」や「\\[」と打たねばならん事があるということです。システムによって若干違うようですが。
これが原因でup主の書き込みがおかしくなっていたのかな?
それにしても奇妙な字面です・・・
#Python
出来るだけclass記述を用いてPythonを書いていますが、慣れるといいですね、コレ。
そういうモノなので当たり前ですが、自分で書いたライブラリが通常のライブラリと同じ様に使えます。通常関数か、スレッドか、プロセスか、その辺りの書き分けもclass側に持たせること出来るのでメインソースがかなりシンプルになります。
ただ、後で迷わないようにするために、ソースコード内のコメントに使い方を記述するなど、運用のコツを掴まないといけません。
書いた本人が後日も使えるようにしておくのが一番難しかったりして・・・
#Python
そういうモノなので当たり前ですが、自分で書いたライブラリが通常のライブラリと同じ様に使えます。通常関数か、スレッドか、プロセスか、その辺りの書き分けもclass側に持たせること出来るのでメインソースがかなりシンプルになります。
ただ、後で迷わないようにするために、ソースコード内のコメントに使い方を記述するなど、運用のコツを掴まないといけません。
書いた本人が後日も使えるようにしておくのが一番難しかったりして・・・
#Python
ポリエステル樹脂が硬化しなかった原因は予想の通り添加した顔料の量でした。
顔料は色によって許容添加量が違うらしく、最初に試した青は最大8%ですが、黒は最大4%です。お察しの通り、黒を青の量でやってしまったのです。
今回は黒の顔料を2%、アセトンを15%添加したのですが、5時間経過でベタ付きが無くなっています。アセトンが揮発して完全に硬化するには丸一日かかりそうですが、解決が見えたので一安心です。
黒の顔料は2%でも完全な真っ黒になったので、今後は1%くらいでも良さそうです。添加物は少ないに越したことはありませんからね。他に比べ価格の割りに量が少ないのですが、少ない量で効果が出るなら安いと言えます。
塗布方法ですが、FRP用のローラーを使って解決。このローラーは一晩アセトンに付け込んでも劣化する様子はありません。専用品ですから当たり前?
ブラシが硬いためかペーパーで下地を均しても表面の仕上がりが僅かに波打つので避けていたのですが、書き物をする面ではありませんし、少し凹凸があるとゴム脚が滑りにくく貼り付きません。エアガンは平らに仕上がりますが、周囲への被害を考えると避けたい選択肢です。FRP用ローラーが妥協線かなと。
客席テーブルver4.5はトップコートとして顔料無添加のポリエステル樹脂を塗布して完成にしたいと思います。艶消し剤を添加しなくても半艶に仕上がるので機械強度を第一にします。
#ガチ工作
顔料は色によって許容添加量が違うらしく、最初に試した青は最大8%ですが、黒は最大4%です。お察しの通り、黒を青の量でやってしまったのです。
今回は黒の顔料を2%、アセトンを15%添加したのですが、5時間経過でベタ付きが無くなっています。アセトンが揮発して完全に硬化するには丸一日かかりそうですが、解決が見えたので一安心です。
黒の顔料は2%でも完全な真っ黒になったので、今後は1%くらいでも良さそうです。添加物は少ないに越したことはありませんからね。他に比べ価格の割りに量が少ないのですが、少ない量で効果が出るなら安いと言えます。
塗布方法ですが、FRP用のローラーを使って解決。このローラーは一晩アセトンに付け込んでも劣化する様子はありません。専用品ですから当たり前?
ブラシが硬いためかペーパーで下地を均しても表面の仕上がりが僅かに波打つので避けていたのですが、書き物をする面ではありませんし、少し凹凸があるとゴム脚が滑りにくく貼り付きません。エアガンは平らに仕上がりますが、周囲への被害を考えると避けたい選択肢です。FRP用ローラーが妥協線かなと。
客席テーブルver4.5はトップコートとして顔料無添加のポリエステル樹脂を塗布して完成にしたいと思います。艶消し剤を添加しなくても半艶に仕上がるので機械強度を第一にします。
#ガチ工作