緑の中に

緑の中に
国立天文台

10/25/2019

グラフ化ー1

グラフ化ー1




(上)DATA文で与えたデータをグラフ化しました


実際はDATA文で数値を与えることはないと思います。

実際はファイルで与えることになると思います。次回、ファイルでの数値の読み込みとグラフ化を行いたいと思います。





 (上)この状態はDドライブのデータファイル名 ABC.TXTを読み込んで、グラフにした状態です




  • ここまでの準備でそろそろPICマイコンで計測データを吐き出させたいと思います。  







10/24/2019

データを書き出す(ファイル) データを読む(ファイル)

データを書き出す(ファイル) データを読む(ファイル)


Dドライブにファイルを作り、計算結果を書き出します







あらかじめDドライブに存在するABC.TXTなるファイルを読み込み、表示した状態です


ファイル操作というテーマになります。今の場合は十進BASICのプログラムです。
C言語でも以前経験しましたが同じように行えます。

Visual C#になり、私は使いづらいです。MicrosoftのVisualStudioよりダウンロードして
ほんの少しだけ試しました。昔の記述式のCの方が使いやすいです!

ビジュアルであることはアプリケーションソフトを使用するユーザには非常に使いやすいと思います。これをGUIというらしいですが。

で、プログラムを作る側からすると従来より余分な記述をしなければいけません。
私にとっては、フレンドリーではありません。

文字(キャラクタ)での記述でプログラムをつくるのでCなになにと3文字で言っているようです。

MicrosoftのVisualStudio Visual C#において、昔風の記述のみでプログラムが試せるといいのにな~ なんてことを思います! サクサクと切れ味良く












10/22/2019

パソコン間のファイル送信-1

パソコン間のファイル送信-1



本来2台のパソコンを使用すべきであるが、1台でCOMポートを2つ使用して実験した
写真でUSB-RS232Cケーブル端子を2か所に入れ込んでいます。着目してください。



デバイスマネージヤーで確認するとそれぞれCOM4とCOM5が割り当てられました。



上段が送信プログラムでありCOM4を介して送信されます。下段が受信プログラムでありCOM5を介して受信されます。
最初に受信プログラムを実行させておき、次に送信プログラムを実行させました。



受信状態です。また、TEXTファイルとして保存もできました。

 DeskTopパソコンとLaptopでも実験しましたが、同じように送信・受信できました。
ただし、COMポートの番号はその時に応じて変わります。


  1. PICマイコンとRS232CドライバーICを基板に組みました(以前)。この基板よりRS232Cケーブルを伸ばしパソコンのUSB端子に接続しました。これにより、PICマイコンの計測データをパソコンへ送ることができました。この事は確認済みです。
  2. パソコンでは取込んだデータファイルをCOMポートを通して他の装置に送信できることができそうな感じがしてきました。
  3. 2の「他の装置」をネットを介して遠隔にあるパソコンに置き換え可能なら、遠隔計測が行えることになります。

  • 十進BASICでもう少しファイルの扱いに習熟する必要がある
  • 「PICマイコンとRS232CドライバーICを基板」(以前)の製作物の再点検の必要があります。または、再度製作する必要があります。
  • 上記3の実現はWebプログラム・ソフトの扱いが必要かも?
  • 上記3の実現は、最初は手動で行う事になると思う。
  • 上記3の実現にはTeraTermで行えないだろうか?
  • 上記3の実現に、Javaで解決できるのか? ならば、Javaを習得しなければ?  


直流電圧0v-5Vを可変抵抗器で分圧してPICマイコンへ入力します。PICマイコンではこのアナログ電圧値をデジタル値に変換します。そして、RS232CドライバーICを介してストレートRS232Cケーブルを通しててパソコンのRS232C端子へ接続します。

この時の、パソコンのDisplay(画面)をお見せしたいとですが、写真データを現在検索中です。改めて実験したいと思います。




10/17/2019

Sort(並べ替え Basicプログラム)


5'---- KENSAKU
7'FILE NAME SORT-1
10DIM D(10)
20D(1)=80
30D(2)=99
40D(3)=60
50D(4)=70
60D(5)=9
70D(6)=12
80D(7)=33
90D(8)=66
100D(9)=36
110D(10)=87
120FOR M=1 TO 9 STEP 1
130FOR N=10 TO M+1 STEP -1
140IF D(N-1) > D(N) THEN *SOKO
150TMP=D(N)
160D(N)=D(N-1)
170D(N-1)=TMP
180*SOKO
190NEXT N
200NEXT M
210PRINT "D(10)=";D(10)
220PRINT "D(1)=" ;D(1)
230END



複素数の扱い-1 (Basic-complex-1)

複素数の扱い-1 (Basic-complex-1)

複素数が使えるぞ!!

これはうれしい



  • 指数表現では記述はできないようです。しかし、実軸、虚軸の成分表示で扱えます。
  • 電気・電子・情報系では複素数が扱えることは重要です。
  • 虚軸をjで表します。電気・電子系では電流記号iとの混在を避けるためです。数学ではimaginary number のiを虚軸として表記しています。




10/05/2019

2019年10月19日(土曜日) 講座(マイコン)受講者募集

マイクロコンピュータ講座 開催します

あなたの参加をお持ちしています

       16:30に一度終了とします


その後、継続してプログラミングを行いたい方のため
会場は17:30まで確保しています。


*講座時間が長いと思われるようでしたら、前半のみご参加下さい。

2-刷





10/03/2019

f(x)=(x+2)(x-3) X-Y座標のみ15度反時計回りに回転、関数のみ反時計回りに15度回転、軸およびグラフともに反時計周りに15度回転

f(x)=(x+2)(x-3) の単純描画

X-Y座標のみ15度反時計回りに回転、

関数のみ反時計回りに15度回転、

軸およびグラフともに反時計回りに15度回転








!------------------------------------------------------------------------------------------------------------

!色指標0の色は背景色で,特別な意味を持つ。また,各描画命令は,特に指定がない場合には色指標1の色を用いる。

!  本BASICでは,色指標は0から255までが利用でき,あらかじめ次のように割り当てられている。

!  0白, 1黒, 2青, 3緑, 4赤, 5水色, 6黄色, 7赤紫,

!  8 灰色,9 濃い青,10 濃い緑,11 青緑, 12 えび茶,13 オリーブ色,14 濃い紫,15 !------------------------------------------------------------------------------------------------------------

!色指標0の色は背景色で,特別な意味を持つ。また,各描画命令は,特に指定がない場合には色指標1の色を用いる。

!  本BASICでは,色指標は0から255までが利用でき,あらかじめ次のように割り当てられている。

!  0白, 1黒, 2青, 3緑, 4赤, 5水色, 6黄色, 7赤紫,

!  8 灰色,9 濃い青,10 濃い緑,11 青緑, 12 えび茶,13 オリーブ色,14 濃い紫,15 銀色,・・・

!SET COLOR MIX(色指標) 数値式,数値式,数値式

!  色指標に対応する色を変える。色指標は数値式で与える。

!  3つ並んだ数値式は,赤,緑,青の順に強度を0~1の数値で指定する。銀色,・・・

!SET COLOR MIX(色指標) 数値式,数値式,数値式

!  色指標に対応する色を変える。色指標は数値式で与える。

!  3つ並んだ数値式は,赤,緑,青の順に強度を0~1の数値で指定する。

!例

!  SET COLOR MIX(1) 0,0,1

!を実行すると,以後,1番の色が青になる。

!---------------------------------------------------------------------------------

!軸・格子を描く組込みの絵定義

!DRAW GRID 

!  x軸方向 間隔1,y軸方向 間隔1の格子を描く。

!DRAW GRID(p,q)

!  x軸方向 間隔p,y軸方向 間隔qの格子を描く。

!DRAW AXES 

!  目盛り間隔がx軸方向1,y軸方向1のx軸とy軸を描く。

!DRAW AXES(p,q)

!  目盛り間隔がx軸方向p,y軸方向qのx軸とy軸を描く。

!DRAW GRID0 

!DRAW AXES0 

!  上述と同様であるが,目盛りの数字を描かない。

!  上述の組込み絵は,通常,15番の色を用いる。

!軸・格子の色を変えたい場合は,SET COLOR MIXを用いて15番の色を変更する。

!-------------------------------------------------------------------------------------------------------------------------------------------



!SET COLOR MIX(15) 0,0,0      !  軸:黒色実線  格子:灰色(銀色)破線  この命令を削除すると、実線軸・破線格子・目盛り数値、が灰色(銀色かな)

SET COLOR MIX(15) 0,0,0       !  軸:黒色実線  格子:灰色(銀色)破線  目盛り数値:黒色

!SET COLOR MIX(15) 0,0,1      !  軸:青色実線  格子:青色破線 目盛り数値:青色





SET WINDOW -5,5,-10,5          !  SET WINDOW -4,4,0,8   x座標の範囲を-4~4,y座標の範囲を0~8にする。


!DRAW grid(2,2)                !  メモリ数値 XY共に2Step



!SET COLOR MIX(15) 0,0,1      !  軸:青色実線  格子:青色破線 目盛り数値:青色


OPTION ANGLE DEGREES  ! 

!座標軸が回転します
DRAW grid(2,2)  WITH SCALE(1)*SHIFT(0,0)*ROTATE(15)     ! **********   メモリ数値 XY共に2Step。  この命令を削除すると、軸・格子・目盛り 無しとなる。


DRAW grid(2,2)  




!SET COLOR MIX(15) 0,0,1      !  軸:青色実線  格子:青色破線 目盛り数値:青色


SET LINE COLOR 7              ! Lineの色を 1黒   7赤紫  



DEF f(x)=(x+2)*(x-3)                  ! ^は累乗を意味します


PICTURE zu1  
   FOR x=-4 TO 4 STEP 0.01
      PLOT x,f(x);                 ! 末尾がセミコロンであれば,描点がonのままとなる
   NEXT x
END PICTURE 


DRAW zu1 WITH ROTATE(15)  ! 描画関数のみ15度反時計方向に回転させる

END

! 正常に描画した関数のグラフを左15度傾けた図となった。





  • 回転について、各手順がプログラムに記述してあります。
  • コメント扱い !を各箇所にいれ変化を観察します。すると、その命令の効果が確認できます。









描画グラフ・図形の回転

描画グラフ・図形の回転



プログラム

ここでは、座標軸は固定です。描画グラフを回転させます。
プログラムも考え易く、実用に使えそうです。



SET bitmap SIZE 500,500 



SET WINDOW -10,10,-10,10 


OPTION ANGLE DEGREES

SET COLOR MIX(15) 0,0,1              !  軸:青色実線  格子:青色破線 目盛り数値:青色
SET COLOR MIX(1) 0,1,0    ! 以後,1番の色が青になる。 RGBのBを有効にした。

DRAW grid 


PICTURE line1
   SET LINE COLOR 7          ! Lineの色を  1黒  7赤紫  10濃い緑  赤紫となるところであるが  SET COLOR MIX(7) 0,0,1    ! 以後,1番の色が青になる。 RGBのBを有効にした。
   PLOT LINES:0,0;5,5    
END picture


DRAW line1

DRAW line1 WITH ROTATE(90)


PICTURE line2
   SET LINE COLOR 1          ! Lineの色を  1黒  7赤紫  10濃い緑  黒となるところであるが  SET COLOR MIX(1) 0,1,0    ! 以後,1番の色が緑になる。RGBのGを有効にした。
   PLOT LINES:0,0;4,1    
END PICTURE


DRAW line2


DRAW line2 WITH ROTATE(-90)







END

10/02/2019

座標の回転

座標軸の回転



プログラムはこのようになります

15度の回転を行いました
十進BASICの扱いです
たのしいですよ
!------------------------------------------------------------------------------------------------------------
!色指標0の色は背景色で,特別な意味を持つ。また,各描画命令は,特に指定がない場合には色指標1の色を用いる。
!  本BASICでは,色指標は0から255までが利用でき,あらかじめ次のように割り当てられている。
!  0白, 1黒, 2青, 3緑, 4赤, 5水色, 6黄色, 7赤紫,
!  8 灰色,9 濃い青,10 濃い緑,11 青緑, 12 えび茶,13 オリーブ色,14 濃い紫,15 銀色,・・・
!SET COLOR MIX(色指標) 数値式,数値式,数値式
!  色指標に対応する色を変える。色指標は数値式で与える。
!  3つ並んだ数値式は,赤,緑,青の順に強度を0~1の数値で指定する。
!例
!  SET COLOR MIX(1) 0,0,1
!を実行すると,以後,1番の色が青になる。
!---------------------------------------------------------------------------------
!軸・格子を描く組込みの絵定義
!DRAW GRID 
!  x軸方向 間隔1,y軸方向 間隔1の格子を描く。
!DRAW GRID(p,q)
!  x軸方向 間隔p,y軸方向 間隔qの格子を描く。
!DRAW AXES 
!  目盛り間隔がx軸方向1,y軸方向1のx軸とy軸を描く。
!DRAW AXES(p,q)
!  目盛り間隔がx軸方向p,y軸方向qのx軸とy軸を描く。
!DRAW GRID0 
!DRAW AXES0 
!  上述と同様であるが,目盛りの数字を描かない。
!  上述の組込み絵は,通常,15番の色を用いる。
!軸・格子の色を変えたい場合は,SET COLOR MIXを用いて15番の色を変更する。
!-------------------------------------------------------------------------------------------------------------------------------------------

!SET COLOR MIX(15) 0,0,0      !  軸:黒色実線  格子:灰色(銀色)破線  この命令を削除すると、実線軸・破線格子・目盛り数値、が灰色(銀色かな)
SET COLOR MIX(15) 0,0,0       !  軸:黒色実線  格子:灰色(銀色)破線  目盛り数値:黒色
!SET COLOR MIX(15) 0,0,1      !  軸:青色実線  格子:青色破線 目盛り数値:青色


SET WINDOW -5,5,-10,5          !  SET WINDOW -4,4,0,8   x座標の範囲を-4~4,y座標の範囲を0~8にする。
!DRAW grid(2,2)                !  メモリ数値 XY共に2Step


OPTION ANGLE DEGREES  ! ************
!座標軸が回転します
DRAW grid(2,2)  WITH SCALE(1)*SHIFT(0,0)*ROTATE(15)     ! **********   メモリ数値 XY共に2Step。  この命令を削除すると、軸・格子・目盛り 無しとなる。



SET LINE COLOR 7              ! Lineの色を 1黒   7赤紫  

DEF f(x)=(x+2)*(x-3)                  ! ^は累乗を意味します

FOR x=-4 TO 4 STEP 0.01
   PLOT x,f(x);                 ! 末尾がセミコロンであれば,描点がonのままとなる
    
NEXT x
END