緑の中に

緑の中に
国立天文台

12/14/2020

OP-AMP実験

 OP-AMP実験

データを蓄積しています。細かい作業ですが忍耐強くデータを収集します。

出力側のコンデンサーCo2の容量の変化を調べました。以下の状態でした。

・Co2=47μF-->10μF、3.3μF、1μF 変化なしで、使えた

・Co2=47μF-->0.47μFで無音となり使えなかった。



12/13/2020

OP-AMPの帰還回路

 帰還回路




帰還率β、フィードバック量Fを計算したりしてゲイン特性・位相特性なるボード線図を作成するとこのAMPの安定性が分かります。

OP-AMP実験

 OP-AMP実験






 

12/12/2020

OP-AMP実験

 オペアンプ実験 

この回路から突き詰めていく!

ノイズをカットできた。





11/16/2020

Zoom 会議・講演ー音響構成

 Zoom 会議・講演ー音響構成

これによりZoomに音声を載せ、かつ自会場にもその音声を拡声できました

 

 
このミキサーの場合、最大マイクロフォンを4本接続できます。写真↓ではマイクロフォン1本をミキサーに差しています。





 

11/15/2020

温度Data Logger

 温度Data Logger

順調に毎日自動で記録を採り続けています

バックグランドで動作させています

暑い夏も過ぎ去り寒い日となりました。外気は9℃とか寒いのですが室温はそれなりに温度を保っています。このデータの真値というかこの値の変化の仕方は正しいのでしょうか?

実際本当にこの様な激しい? 変化をしているのだろうか? 

何かがおかしい? センサー部に風が通過すると? しっかり調べる必要がありそうです。

ここまでで、とにかく記録を自動で継続させる事ができました。








11/07/2020

臼田宇宙空間観測所へ






JAXA  臼田宇宙空間観測所
Usuda Deep Space Center
 
64mパラボラアンテナ


先日、アンテナを見学に行きました
私の撮影映像です




 ・このアンテナが初代はやぶさのピンチを救出しました。

宇宙空間で迷子になった初代はやぶさの信号を受信したのです。感動です!!


 本日、2020.12.5(JST)

 はやぶさ2は順調に地球に向かっています。

内之浦34mが主局、臼田宇宙空間64mアンテナがバックアップとなります。

再突入カプセルの電源を内部バッテリーに切り替え、外部電源を切断した様子です。

本日14時(JST)ころ、カプセルを切り離すとのことです。



 



 

10/31/2020

Zoom会議ー音響構成

 

Zoom会議ー音響構成

■用意した機材・部品

・サウンドカード (Ugreen 通販 USB端子に差して(マイク入力端子+音声出力端 

  子を構成します)  

・ミキサー (ハードオフにて)

・マイクロフォンアンプ(audio technica)

・パワーアンプ(BOSE Wave SoundTouch  music systemも一考)

・ダイナミックマイクロフォン (SOUND HOUSE ,ハードオフ)

・外付けWebカメラ (HD 1080P Web Camera, ほかUSB延長ケーブル3m~5m)

■Zoomで会議をする場合はどのような条件を満たす必要があるか考えてみましょう。

自分側会場×相手側会場 

・自分側会場音声を相手側会場に送る必要があります。

・相手側会場音声を自分側会場に拡声する必要があります。会議は多人数です。一人ではありません。拡声する必要があります。一人会議ならイヤフォン1つで良いのですが。

・映像をプロジェクターなどで拡大する必要があります。多人数で相手会場の映像を見ることが必要になります。一人会議ならパソコンの映像を独り占めして見れますが、多人数ですから映像の拡大が必要です。または、人数分のマルチデスプレイなどの方式が考えられます。

●Zoom システムの特徴を理解して回路構成をつくりました。

 「パソコンに向かって話した時、自分の音声は自分のパソコンのスピーカーからは発出しないこと」これが基本です。

 もし、自分のパソコンのスピーカーから自分の話した音声が発出した場合は、増幅された音声が再びマイクロフォン入りハウリング・発振を引き起こします。

● 側音防止回路,増幅,発振,ハウリング,帰還(Feed Back), 正帰還(Positive Feed Back),  負帰還(Negative Feed Back), 位相 

 上記が増幅・発振についてのキーワードです。

■ 自分側会場が多人数です。一人ではありません。相手側会場の音声を受信し増幅拡声する必要があります。そこで、構成図にはアンプ(AMP)が配置してあります。20W+20Wでしかありません。アンプのパワーが不足なら100Wに変更してください。

私の場合、BOSE Wave SoundTouch  music system がありました。これでアンプ+スピーカーとしても使えるように工夫しました。信号切り換え装置を作り配置しました。

さらに自分側会場のマイクに話した音声も拡声する必要があります。とりあえずマイク1、マイク2の2本のマイクロフォンの音声を自分側会場に増幅拡声します。そのためミキサーも使用し、その混合信号をマイクロフォンアンプで増幅します。マイク3、マイク4と必要ならミキサーにマイクを追加すれば可能です。

ステレオアンプには入力にR(赤)L(白)、出力にR(赤)L(白)が備わっています。RLをそれぞれに活用します。R(赤)をメインスピーカ L(白)をモニタースピーカー用としています。モニター用スピーカー側にはさらに音量調節・OFFを設けました。

R(赤)のメインスピーカー側回路は切り換え装置により、BOSE側とパワーアンプ側を選べるようにしました。




マイクロフォンアンプの既製品


マイクロフォンアンプの既製品を

 audio technica のマイクロフォンアンプを買いました。
全くノイズもなく快適です。(1/4)inch=6.35φ ,3.5φのプラグを差し込めます。

出力は背面のRCA端子(赤、白)からです。

モノラル、ステレオ切り換えスイッチがありました。
私のマイクロフォンの使用はモノラルを想定しています。





                            

9/07/2020

検索キーワード 「MinGW C RS232C」

 検索キーワード 「MinGW  C  RS232C」


C 言語のRS232C通信プログラムが見つかりました。

==================================================

https://123a321.wordpress.com/2010/02/01/serial-port-with-mingw/

++++++++++++++++++++++++++++++++++++++++++++++++

上記、Web中に

https://docs.microsoft.com/en-us/previous-versions/ms810467(v=msdn.10)?redirectedfrom=MSDN#opening-a-port

へ飛ぶこともできました。

Serial Communications in Win32    なるタイトルです

=================================================

英文資料ですが、これからじっくり研究したいと思います。
このことが理解でき自在にコンパイルできれば見晴らしい展望が待っていると思います。

祈るだけです。

8/31/2020

C/C++ でRS232C通信プログラムのヒントは

 

C/C++ でRS232C通信プログラムのヒントは


東京工業大学 ロボット技術研究会」 

12月23 「CとWin32APIで書くRS232Cプログラム」

めかとろの玩具箱 ロボット

ここが参考になります。
私は、MINGWのgcc でコンパイルしてみました。
Compile 結果と実行結果のみ記したいと思います。


-------------------------------------------
以下 Compile メッセージです
------------------------------------------------
■C:\MinGW\RS232C> mingw32-gcc  RS232C~3.C
RS232C~3.C: In function 'int main()':
RS232C~3.C:131:13: warning: unknown escape sequence: '\220'
      printf("COMポート構成情報の変更に失敗しました.\r\n");
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RS232C~3.C:136:14: warning: unknown escape sequence: '\220'
       printf("COMポート構成情報を変更しました.\r\n");
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

---------------------------------------------------------------------
以下 実行結果の様子です 
コンソール窓が開きます。Copyが効かないので手で写し取ります
------------------------------------------------------------------------
C:\MinGW\RS232C>a.exe
COMポートは正常に開けました.
送受信バッファの設定が完了しました.
送受信バッファの初期化が完了しました.
COMポート告ャ|情報を変更しました.
タイムアウトの設定に成功しました.
-----------------------------------------------------------------------------
文字化けがありますがおそらく「告知情報」でしょう。

みごとコンパイルエラーが出ませんでした。
やれやれです。

ありがとうございました。
さらに参考となる情報を得ました。後日、記します。

8/05/2020

自作マイクロフォンアンプ良好です


動作良好です






7/23/2020

マイクロフォンアンプの自作を

マイクロフォンアンプの製作です


 必要になりました。NetなどにはPowerアンプは見かけます。
しかし、適切なマイクロフォンアンプはなかなか探せませんでした。

マイクロフォンをPowerAMPへ接続してもスピーカを駆動できません。
Powerアンプの前段に前置増幅器(プリアンプ)が必要です。
これがマイクロフォンアンプと呼ばれているものです。







 




6/24/2020

温度自動記録装置への活用

温度自動記録装置への活用

装置名 温度Data Logger B-1 と命名しました

温度センサの実験と検討
下記2種類のセンサが手元にありました。実験の様子を記します。
・サーミスタ
・電子半導体LM35

書きかけ



6/02/2020

プログラム上の特異日?

プログラムに関しての特異日?


 
毎日観測したデータをグラフ表示するプログラムを作っています。

20分間隔で採取したデータです。日にち、時、観測値をファイルに記録しています。

昨日と現在のデータをグラフにします。
ここで、少しややこしいことがあります。それは、本日において昨日はどのように検索すると良いのでしょうか?

「本日の日付けー1」で良さそうです。しかし、これでは問題が発生します。
昨日のデータは本日の(日付-1)の論理プログラムを作りました。


1-1=0となり、0日なる日付日はおかしなこととなりました。

先月の最終日付が30日の場合と31日の場合があります。

すると、月日の何月かも知る必要があります。

仮に本日が1日と仮定した場合は、1-1=0となります。
1-1=30  または 1-1=31  となる必要があります。

本日の日付はプログラムを通じてパソコンのシステムから取得できます。簡単です。

現在月-1=先月 よりこの先月が大の月、小の月に応じて「31]「30」と決定すれば解決します。

仮に現在が1月の場合は 1-1=0月となります。
この場合は12月となるようにすれば問題ありません。

以上の事を考慮してプログラムは完成しました。

私は 「1」「30」「31」 を特異日と呼ぶことにしました。

2月28日も考える必要があります。

実際にプログラミングした後に、この日にちが到来する事が待ち遠しくなりました。
来年の2月28日、3月1日まで待ってその日にプログラミングすれば一番でしょう。

そんな訳にも行きません。プログラム中にデバッグ用に分岐を入れ込みました。
おそらく、現実にプログラムを作る方は何か良い方法があるのでしょう。
OS側で現在日時を高速に変更する? 
















5/30/2020

夏期講座予定(夏休み親子)について


夏期講座予定(夏休み親子)について


コンピュータのハードとソフトを体験します


2020年8月5日(水曜日) (全 1回)
午前9時30分~午後1時30分 予定終了時刻が早まる場合もあります
受講者持ち物 筆記具
教材費 不要

*現在(5月30日)、実施予定としています

*変化がありましたら、追加情報を記載してまいります。

5/15/2020

基板を筐体に収納しました

筐体に収納しました


 

上写真  点検保守のため回路図を収納しました






上写真
樹脂BOXの加工ではRS232Cコネクタ部の穴あけに次の工具を使いました。
ここの加工が一番手間を要します。

上写真 
電動トリマー  黄色がφ4mm  赤φ3mm  




上写真  グラフ描画のLine(線)を太くしました。見やすくなりました。

順調に動作します。受信データ保存記録の文字バケは一切ありません。素晴らしいものです。



2020 5月6月 講座中止の連絡

2020.5.19,6.10 講座「外界の計測データをパソコンに記録させます」



2020.5.19,6.10 講座

「外界の計測データをパソコンに記録させます」

講座中止のご案内

+++++++++++++++++++++++++++++++++++++++++++++++
 新型コロナウイルス(COVID-19)の感染拡大防止のため、県からの指導により会場から開催中止の要請がありました。

よって、第1回5月19日(火曜日)・第2回6月10日(水)の講座「外界の計測データをパソコンに記録させます」は中止とさせていただきます。
ご了承下さい。
++++++++++++++++++++++++++++++++++++++++++++++++

この新型コロナウイルスの終息後、再度同一テーマの講座を計画する予定にしています。
その時は宜しくお願いします。



4/18/2020

2020.5.19,6.10 講座「外界の計測データをパソコンに記録させます」

2020.5.19,6.10 講座

「外界の計測データをパソコンに記録させます」

こんにちは。受講を希望していただき、ありがとうございます。
身近にこのような講座は殆どございません。
興味・関心を寄せていただきありがとうございます。
私で可能な範囲で精いっぱいアシストさせていただきます。
よろしくお願いします。

別件ですが、新型コロナウイルス(COVID-19)の終息を願うばかりです。

人間にダメージを与えないウイルスなら共存できるのですが。とにかく、事態の収束を願うだけです。
 
------   5月の連休明けに事態の推移を確認して、再度ここにメッセージを載
せます。

+++++++++++++++++++++++++++++++++++++++++++++++
 新型コロナウイルス(COVID-19)の感染拡大防止のため、県からの指導により会場から開催中止の要請がありました。

よって、第1回5月19日(火曜日)・第2回6月10日(水)の講座「外界の計測データをパソコンに記録させます」は中止とさせていただきます。
ご了承下さい。
++++++++++++++++++++++++++++++++++++++++++++++++

この新型コロナウイルスの終息後、再度同一テーマの講座を計画する予定にしています。
その時は宜しくお願いします。




 

4/03/2020

ついにグラフ化

 ついにグラフ化に着手

上図 観測データを1時間おきにグラフにしました

・Decimal Basicプログラムでの描画です。
現在のデータは照度データであり、0mvから5000mvの範囲を示します。単位のmvは非表示でグラフ化しました。

・グラフ化において、このプログラムの成熟度は良いとは言えません。
 その理由をこれから述べます。

  ---途中 
   
 

3/29/2020

LoggerA-1の電源電流を測定しました. 5mA

LoggerA-1の電源電流を測定しました


●  5V-4.47mAでした。  
  
■  5V-4.5mAになります。
  
  ・装置の電源PILOT_LEDを含んで10.59mA を測定しました。
   LEDの規格により違いはありますが、電源PILOT_LEDの消費電流として5mAを
   見込みます。
■ LoggerA-1の電源は3Vとしても動作しました。電流はまだ測定していません。
  

● 5V 6700mAh スマホのBattery  
  --> 6700mAh/11mA=609   11X609x1h より609時間可能である。
    609/24H=25.4days  
  
       
  電源PILOT_LED をOFFで使用するなら
  6700mAh/5mA=1340h      1340h/24h=55 days     

 以上、机上計測と計算です。現在、大容量のバッテリーがあります。あくまでも机上理論で、実際にバッテリーの環境によってはその性能通りとはなりません。

Logger装置をパソコンと遠く離れた場所に置く状態を想像しました。
どのような状況になるかイメージします。

・RS232Cケーブルを延長する。数十メートル? 保証内の規格?
・RS232Cケーブルは延長しないで、センサ―部のリードを延長する。

「有線から無線へ」 この考えに行きつきます。












  











 

3/24/2020

Logger A-1 動画をご覧ください

Logger A-1 動画をご覧ください


   

3/15/2020

Stage A-1 完了

■■■■■■■■■■■■■■■■

Stage A-1 完了

■■■■■■■■■■■■■■■■■■■■

Stage A-1 をマイコン形式とその周辺プログラムと位置づけました。
Stage A-2 を製作・工作1と位置づけます。
Stage A-3 を検証・理論づけと位置づけます。
Stage A-4 をプログラム改善・改良・言語変更と位置づけます。 

AはData Logger (観測記録)方式とし、-(ハイフン)番号は開発工程レベルとします。
  
では、B、C、--- は何を意味するか? 例えば同じようなData Logger (観測記録)でも、AD変換ICを使用したハード部の形式などに使用したいです。
あるいは別装置に位置づけて区分使用したいと考えます。

  



■■■■■■■■■■■ Stage A-1 までの所感 ■■■■■■■■■■
 8ピンの小型PICマイコンは研究しやすく配線がとにかく少なく済むことに魅力を感じました。8ピンのPICマイコンの幾種類ある中からPIC12F675についてこのマイコンの機能のすべてを知りたくなりました。
 
PIC12F675はA-D変換機能を内蔵しています。この事より、A-D変換後のデジタルデータをとにかくどこかに送る必要があります。手っ取り早くパソコンに送り、パソコンで受信して確認したくなります。また、そのような書籍もあります。

------------- 主な参考書籍 ------------------------------ 下記書籍が参考になりました

・C言語ではじめる PICマイコン フリーのCコンパイラではじめよう
 中尾真治 著 オーム社

・たのしくできる PIC12F 実用回路 鈴木美朗志 著
 東京電機大学出版局

・特集 PICマイコンを使おう ECB No.4 
 CQ出版
------------------------------------------------------------------
そのために、「伝送」「通信」「COMポート(コミュニケションポート)」「RS232C規格」 ---- 

次はパソコン側をどうするのか? どのようなソフトを起動すると送られてくるデータを受信して見れるのか?

ターミナル受信ソフトについて知る必要となりました。
ターミナル受信ソフトで受信したデータをファイルにする。この為のプログラム。

定刻に記録していく方法。などなどです。

---------------------  主な材料  ---------------------
パソコン
PICkit3  --->PIC12F675にプログラムを書き込む装置です
半田こて、はんだ
ワイヤーストリッパー
プラスドライバー 
小型マイナスドライバー ---> PICを抜くとき使用
USB-RS232C変換ケーブル(FTDIチップ) 1本  
DC5Vアダプタ 1台   ---> 容量1Aぐらい
DCジャック 1個 --->DC5Vをブレッドボードにつなぐため
ブレッドボード 1台     --->  E-CALL  EIC-1204-1B
配線用より線 赤黒 各1m
ミノムシクリップ 赤黒 各1個 
配線用単線  1m
 PIC12F675 1個
MAX232C  1個
照度センサ(NJL7502L) 1個   
RS232Cコネクタ(メス)  1個
0.01μFコンデンサ 5個
抵抗器 100KΩ 1本
抵抗器 20KΩ 1本
抵抗器 510Ω 1本
シングルヘッダーピン 6列  ---> PICkit3を接続用に 
----------------------------------------------------------------------------

----------------------- スキル -----------------------------
MPLAB-x-IDEのインストール  [無料]
XC-8 でCプログラム Build 
PICkit3の扱い

TeraTerm(テラターム)のインストール  [無料]
TeraTermの扱い
RS232Cの簡単な知識

DecimalBASICのインストール [無料]
DecimalBASICの扱い COMの扱い ファイルの扱い 文字と文字列の扱い

MINGW Cのインストール [無料]
Cの扱い ファイルの扱い 文字と文字列の扱い
Lcpad Editorのインストール
Lcpadの扱い
サクラ Editorのインストール[無料]

windows 10 OS のタスクスケジューラの設定扱い
-------------------------------------------------------------------------
* ソフトはすべて無料で入手できます。
一つの言語環境を構築するだけでも少し忍耐が必要です。

-----------------------------------------------------------------------------

 MINGWのインストールは頑張ってください。インストール後は快適に使えます。Lcpadも優れものです。
 これらのインストールによって初めてC言語の文法の学習ができる状態になります。
必要に迫られ、ポインタ、ファイルや文字や文字列の操作を本格的に調べました。
その結果やっとここまで来た感じがします。
 以前は文字や文字列の文法を見ても空言でした。しかし、ここで何とか思っていることを実現するために文字や文字列処理を避けるわけには行きませんでした。また、C言語開発環境の整備の問題もありました。もちろん自身のパソコンの環境整備です。無料で構築できます。以前は購入してインストールしたときもありました。
 やっと腰を据えてC言語を調べる環境が整った感じです。そのうち、言語も進化して++だの#だのVisualだの進化して、追いかけることをためらってしまいます。

 技術の進展は停滞しません。「追いかけることをやめる」は置いて行かれることを意味します。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

照度センサ(フォトトランジスタ)の個体差を確認する方法


照度センサ(フォトトランジスタ)の個体差を観測




上写真 2個の照度センサ

同一商品の2個のセンサに違いは?

Push-ON :オレンジ色のスイッチを押している間、緑色のリード線に接続してあるセンサの回路が出来上がります。 
Push-OFF:スイッチ操作なにもしない時、黄色のリード線に接続してあるセンサの回路が出来上がります。 


上写真
スイッチ回路構成図です。手動操作自動復帰のスイッチです。
このスイッチは俊敏に操作できます。プログラム走行中、操作します。
  


上写真
おおよそ同一時刻・同一場所の明るさを感知していますが、値に違いがあります。
センサAのリード部は黒く変色してきています。今回以前から、実験で使用してきています。

センサBはセンサAに比べて400mv程大きな値を返します。
要するに個体差があることです。特に両者を比較して使用するものではありません。

観測上の成り行きで計測したまでです。
この時使用したプログラムがFMVreceive-append_Bmode.bas です。

観測データのフォーマット(形式)が上写真の様になります。
ハード等のメンテナンスで必要なときもあると思いプログラムは作っておきました。

このプログラムは都度、タイムスタンプと一連のデータ(7個)の記録を残すように作りました。必要に応じて手動でRUN実行させます。
通常観測にこのプログラムは実行させません。すなわち、バッチファイルにこのプログラム実行の記述はしません。

*機器メンテナンス専用のプログラムが必要になります。




3/13/2020

1号器ブレッドボードと2号器ブレッドボード



 ■ 受信文字の文字化けがあるため原因を追究しました。
◯ハード部のトラブルか
◯ソフト部のトラブルか
この区分けで追及するため、ハード部をもう一台組みました。ブレッドボード上ですが。
さらに、USB-RS232C変換ケーブルもさらに購入しました。

 原因:ソフト部でした。
  PIC12F675のプログラムでした。 

2号ブレッドボード 


2号ブレッドボード 



上図 2号ブレッドボード

1号ブレッドボードにおいて、受信が不安定であったり文字化けが発生したので
敢えてハード部をもう一台作り、原因を追究しました。

これにより結論として次のことが判明しました。

「1号ブレッドボードに使用したPIC-12F675のプログラムの不具合」が判明しました。 

◎ そこで、PIC-12F675のソースファイルを修正しました。
そしたら、全く文字化けの発生もなく「美しく見事な受信」をしました。    
 
プログラムの仕様は2400bpsの速さになっています。
あまりにも速すぎて、受信画面は一瞬にしてスクロールしてしまいます。そこで、Cプログラム中にdelay(--)を25msec~50msecを入れました。

・MPLAB-X IDE v4.05 でXC8 にてソースプログラム(AD-sender-2040.c)を作
 りました。これをBuildし、AD-sender-2040.hex を作りました。

・PICkit3の端子を上写真の6Pinへ接続します。2040.hex をPIC-12F675へ書き込みま
 す。(解説省略)
 
・受信確認はTeraTermを起動して行います。
 Deimal Basic側でも良いのですが、TeraTermが簡単に起動操作できるからです。 


上図 2号ブレッドボードと照度センサ 




上図 照度センサ(フォトトランジスタ)

 照度センサ(フォトトランジスタ)をケースに収めました。
 工作途中ですが、屋外に設置可能となります。
 
現在私の机上に置いて、プログラムメンテナンスを行っています。
机上ではセンサに対して意図的に照度の変化を与えやすく、プログラム・ハードのメンテナンスに都合が良いからです。

センサ部は将来的に温度センサ・湿度センサ・気圧センサ・風速センサなど発展イメージが浮かびました。センサによては別回路の付加の必要もあると考えます。

将来センサを全体で3個にしたとき、切り換えが必要になると考えます。どのようにするか検討する必要があります。今現在は考えていません。

チャネルCH3のような概念が入り込むと想定しています。

3/09/2020

マイコンのプログラム再度メンテナンス


PIC12F675-マイコンプログラムのメンテナンスしました



プログラムを調整しました。AD変換後はRS232Cでパソコン側で受信です。そのとき、ターミナルソフトとしてTeraTermを起動して様子を確認します。

受信の文字化け、受信スピードを確認します。
静止画です。動画であれば受信スピードのスピード感を紹介できますが。

プログラム中にdelayを入れて、最適と思える値にしました。

delayを入れないと速すぎて、下記画面が一瞬にして一杯となりスクロールしてしまいます。その時が、2400bpsの伝送速度と思われます。 
  
私のプログラムのある個所のdelayを50msecあたり、パソコンMR4400Eにおいて
目で追える程度にスピードを落とすことが出来ました。

この時のソースファイル名をAD-sender-2000.c   2000-20240番としました。
ソースファイルは大切にしようと思います。


USB-RS232Cケーブルを買いました


USB-RS232C変換ケーブルをもう1本買いました




 Amazon でUSB-RS232C変換ケーブルを買いました。 総額 1700円ぐらいでした。
FTDIチップをあえて求めました。 前回、UGREENのFTDIで良好動作でしたので。

今度は金メッキです。

Cプログラムを思案中です

https://edu.clipper.co.jp/pg-2-42.html
プログラミング講座 cClip  シークリップ


上図
このプログラムを理解する必要が発生しました。このプログラムはNetで入手しました。
私の手持書籍を調べましたが、良い解説がありませんでした、

どのような技が必要になったかと言いますと、「ある文字列の先頭よりm番目からn番目の文字を抜き出す」技です。

ファイルへの書き込みのタイムスタンップの表示方法を変更するためです。

[20200305 17:36:03] ----> [2020/03/05  17:36:03] なる表示としたい。
理由は見やすいからです。

年、月、日、時刻 を個別に抜き出し、各変数へ格納します。
変数は

Stamp_year
Stamp_month
Stamp_day
Stamp_time

を予定します。





 





2/03/2020

24時間Running Test結果を

24時間の10分インターバル(間隔)Running Test結果

 

上写真
このbatch(バッチ)<一括処理>にトリガーをかけます。
Win10のタイムスケジューラにこのバッチを10分間隔に起動するように設定します。
 このバッチファイルのファイル名は、Go-FMVA53A.bat となっています。そして
下記内容となっています。

Win10のタイムスケジューラの設定はここでは述べません。
ただ言えることは、実際に動作するか確認をすることが重要です。
また、インターバル間隔は最初から長時間とすることはよくありません。
最初は、3分間隔そして5分間隔、さらに10分間隔に変更していきます。

そして、インターバル時間を1時間とか日に1回などの様にしていきます。

Win10のタイムスケジューラの設定で意味不明と思える? 自分の理解不足?
このような設定部分があります。よって、なお一層動作確認を要します。



上写真
受信直近のデータそのものです。このファイルは受信の都度更新されます。




上写真
タイムスタンプ付きデータです。このファイルは追記タイプです。
これより過去の採取データもありますが、紙面の関係で一部の紹介となります。

ご覧の通り、私が夜9時頃部屋の照明を消灯したことと一致しています。
この日は、9時ころ就寝しました。
見事、10分間隔で自動採取していきました。



上写真
 ブログに載せるためにこのファイルを開いた時刻あたりまでの受信データです。

私のおおよその起床時刻がこのデータで分かります。

♦このデータ収集システム(Logger)は2種類のファイルを更新して、管理しています。 

 

 上写真
国立天文台 宇宙電波観測所の受信データ画面です
タイムスタンプがあります。





国立天文台電波観測所の受信画面は

国立天文台電波観測所の受信画面は

 

上写真
タイムスタンプが入っています。
JSTにて西暦・月日・時刻 しっかり管理しています。

10分インターバル観測です。太陽からの電波の受信監視です。






1/22/2020

Decimal Basic で採取しよう うまくいったぞ

Decimal Basic で採取しよう


自動で走行をStop出来ないTeraTermはあきらめました。

DecimalBasicで目的とすることが出来ました。現在、試行実験で1分間隔で採取しました。その都度、新規ファイルとして記録しました。

これなら行けそうです!!

 





###### うれしいな ####   ###### うれしいな ####  です
 
・HELPの一部です。このあたりを参考にCOMの設定など通信条件を合わせます。
ほか、ファイルや文字操作もHELPにあります。参考プログラムがHELPに載っています。



-------------------------------------  Decimal Basic HELP の一部抜粋 --------------
COMポート(シリアルポート)

1.通信条件の設定
 COMポート(シリアルポート)の通信条件の設定は,Windowsコントロールパネルの「システム」の「デバイスマネージャ」で行う(Windows NT4.0ではコントロールパネルの「シリアルポート」)。ボーレート,ビット数,パリティ,ストップビット長,フロー制御方式を通信相手と一致させる。
<Note> 通信相手がRTS/CTSを用いてフロー制御を行うとき,PC側はフロー制御を「ハードウェア」に設定する。

2.OPEN文
 COMポートを使う場合には次のような形のOPEN文を実行する。
例 OPEN #1: NAME "COM1"
 OPEN文の実行が終わると,受信が可能な状態になり,INPUT文を実行しなくてもバッファに受信されていく。OPEN文の実行前に受信したデータは破棄されるので,接続された機器からのデータの送信は,かならずOPEN文の実行後に行うこと。
<補足>
 ポート名に続けてコロンを書くと,Windowsのmodeコマンドと同様の書式で通信条件を書くことができる。
例1 OPEN #1:NAME "COM1: baud=9600 parity=N data=8 stop=1"
例2 OPEN #1:NAME "COM1: 9600,n,8,1,p"
例2の形式の場合,
 第1引数 ボーレート(baud rate)
 第2引数 パリティ n(なし),e(偶数),o(奇数)のいずれか
 第3引数 データビット長 通常,7または8
 第4引数 ストップビット長 1, 1.5, 2 のいずれか
 第5引数 x(xon/xoffを用いるフロー制御)
      p(ハードウェア ハンドシェイクによるフロー制御)
--------------------------------------------------------------------------------------

次の課題はタイムスケジューラへの書き込み設定です。
少し、この課題で悩むと思います。しかし、ご安心ください。
後日、投稿します。是非参考にしてください。

作業をしている途中で次のようなことを思案しました
・採取時刻の「分」を換算して「時」に入れる。ただし、「時」は少数表示もする。
この少数表示の「時」はグラフの描画で、精度上げることができる。また、分単位をも考慮したグラフ化となる。

・参考までに、国立天文台 野辺山宇宙電波観測所の装置は10分単位で採取しています。
 参考写真をご覧ください。
 写真後日

・私は、採取起動のごとに新規ファイルを作り(ただし、次の起動時には書き換えられて
しまいます。<Over Write>)。

そして、つぎの採取起動前に整形加工プログラムを実行します。このプログラムはCで書きました。ある時刻の代表値1個が必要なだけですので、この実現のためのプログラムです。

「ある時刻」をどのように決めるか。10分間隔、20分間隔、30分間隔、60分間隔 ?
これは、測定しようとする事象ごとに違うと思います。さきの、宇宙電波観測所の装置は
太陽からの電波の受信です。

私の場合、1秒変化のデータまで必要ありません。その理由で整形加工プログラムが必要となりました。不要部分を捨てます。代表値1個を確保します

追記モードの検討も必要です。これはあとで十分です。

1/19/2020

Run(プログラム走行)はするが、もう止められない! 

Run(プログラム走行)はするが、もう止められない! 


TeraTermを起動すると、起動し観測データを表示する。
起動のModeは、設定-- 各設定 を読み込んで端末画面を立て上げ観測データを次から次へと表示します。どうにも、止まらない!!

しかし、手動でしかStop・停止・終了が出来ません。
プログラムなどからのコマンド(命令)でStop・停止・終了を実現させたいのです。

本当に困っています。

マクロによる .ttlでも私は今のところ、不可能です。困りました。

1/12/2020

コンピュータプログラムのファイル名について

    File Name ファイル名はどのような名が良いか 

コンピュータプログラムのファイル名の命名に悩むことがあります。
何本も似たようなファイルを作る時がありますが、私の場合最後に番号を入れていきます。 
XXXは拡張子です。 FileName-100. XXX ,  FileName-101.XXX ,FileName-102.xxx
そして、ある程度まとまりのついたプログラムには FileName-120.xxx とかFileName-130.xxx と10番刻みにします。

さらに完成度の高くなったプログラムは,FileName-200.xxx ,FileName-300.xxxと100番刻みにしていきます。

FileName-uvw.xxx  を FileName_uvw.xxx とアンダーバーとするときもあります。
アンダバー「_」はキーボード操作において、右手でSHIFT+「ろ」を同時に押下することで入力ができ操作性に優れている面もあります。

さて、本題のFileName を」どうするか?
これは悩みます。
英語、日本語読みのローマ字を活用してプログラムの内容とイメージが一致するようにします。

次にエディターでそのァイルを開いたときに何が見え、表示されるかが重要です。
私の場合 ■-------■ , ■■--------- ■■ 強調します。
そこには、プログラムの概要、プログラムの進化の様子を自分なりの言葉で書きます。
そうしますと後で見たとき自分の記憶が呼び戻されます。

他人が見て分かりよいかは疑問です!  
あとで何回もプログラム中のコメント(注釈)は、適切な用語などに変更します。
自分で書いた個所を後で見たら意味が通らない? 何を言わんとしているのか? よくあります。

このあたりを修正していくと他人が見てもわかりよいプログラムとなるようです!!

やっぱり、英語は頻繁に使いますね。くやしいですが。

1/11/2020

文字型を数値化

文字型を数値化


 やっと、数値化できました。写真のdata_4 が整数型の数値です。
 16進数   printf("%x\n",data_3[0]);  -----   printf("%x\n",data_3[3]);
  34,37,39,34 の表示で1桁目に目的の数値としたい文字(4794) が現れました。
 16x3=48   この数を何とかする?

「シフトJISの1バイトコード(半角文字)のエリアマップ」をじっと見ながら試行錯誤しているうち理解出来ました。

 

 



1/09/2020

文字列より文字を抜き出し、数値型に変換

文字列より1文字を抜き出し、数値型に変換

-------------------------------------------------------------再検討メモ----
    以下のプログラムは不要と判明しました。
 もっとスマートにスッキリ数値化を行えることが分かりました。
 別ページに載せました。ご覧ください。
------------------------------------------------------------------------
  1. 文字列の中より必要個所の文字を取り出す方法です。
  2. 取り出した4文字を数値に変換し、4桁の数値とします。

 *マイコンが吐き出すデータが数値型なら苦労しません。マイコンは文字型で吐き出しています。
 Teratermのlogでたとえば「8745」という4文字データを受信したとします。
順次1文ずつ取り出し、数値に変換します。最後に千・百・十・一の重みづけをします。
これにより「8千7百4拾5」の大きさを持つ数値となります。

ご覧下さい。

C言語プログラムで2次加工する予定でいます。DecimalBASICでも可能であろうと思いますが、プログラムのメンテナンスから今はCでプログラムしています。