ブログトップ

電子工作やってみたよ

リンゴを持って先日頂いた柿のお礼に行ったら、丁度干し柿を作っているところでした。
同じ渋柿でも甘くする方法はいろいろあるのですね。
先日頂いたのは、木になっている状態で渋抜きをしたので、実も生のままで歯ごたえが適度にあり美味しかったですが、
この干し柿は柿の皮をむいて白い粉がふくまで乾燥させるそうです。
この干し柿の一番おいしい時は白い粉のふく直前だそうです。
柔らかくてトローンとして最高だそうです。
「御馳走するからまたおいで」と言われたので、こうい時はごくごく素直に言う事を聞いちゃいます。

c0335218_20062993.jpg



c0335218_20323388.jpg


皮をむいてこれから吊るすところですね。
皮をむく専用の機械は300万円もして買えないから、電気ドリルを改造して作ったというものを使っていました。
何でも回転させるスピードに工夫があって回転が早すぎると実までむけちゃうし、遅いと仕事が進まないので苦労したそうです。
また消毒にも気を付けて作業をすすめているそうです。
凄いですね、80歳過ぎのおじいさんが創意工夫しながら良いものを作ろうと頑張っているなんて尊敬しちゃいますね。
こういう仕事にあこがれますね。 わたしも死ぬまで仕事をしていたいです。

c0335218_20074819.jpg


村の中を散歩している途中にあるリンゴ屋さん。
葉っぱがちょっと萎れてきたようなので、リンゴがより熟したところでしょうか。
品種はなにかな?   たぶん「ふじ」だと思いますが。こういうのまったく 疎いのですいません。

c0335218_21044243.jpg


c0335218_21020806.jpg


このブログの題名 「電子工作やってみたよ」 はどうなったのでしょうか。
いちおう気にはしているので、あたたかく見てやってください。




# by telmic-gunma | 2017-11-28 20:36 | 季節の風景 | Trackback | Comments(0)

日産ノートに自転車を積もうとするとどうしても後部座席を倒して積むしかありません。
これだと後部座席に荷物を積んだり人を乗せたりすることが出来ません。
出張に行く機会が結構多いのですがいつも荷物がかなりあり、自転車といっしょに積むことが出来ませんでした。
そこで何とか後部座席は人や荷物の為に温存しておいて、昔で言うところのトランクに自転車を乗せることが出来ないか、いろいろやって見ました。
なぜ 仕事に行くのに自転車が必要なんだ、と聞かれると返事に困るのですが、私の家の周りは冬の間、雪が積もったり道路が凍結したりで自転車にあまり乗れません。
ならば、途中の雪のないところで、自転車に乗れればいいな、と思って今回のチャレンジでした。


これ 最終的になんとか押し込みました。 バックミラー使って後ろ見ること出来そうもないな。大丈夫か。
自動車のスペアタイヤが無ければ、丁度いい高さまで下がると思うけれど。
c0335218_20281950.jpg



まずはフレームだけ載せてみた。車輪は前後とも外しましたが、フロントフォークは付けたままですみました。
チェーンにはカバーを付けて周りが汚れないようにしてあります。

c0335218_20285435.jpg



これはいままでの積み方、後部座席を倒して自転車を積みます。車輪は前後とも外してあります。
当然 後ろの席には人は乗れませんし荷物もほとんど積めません。

c0335218_20291139.jpg



自転車を乗せる前の状態です。 スペアタイヤが置いてありますが、本来は積まない設定だそうです。
これが無ければ楽々自転車が載せられるのですけれどね。
自転車ではしょっちゅうパンクしていますが、自動車でパンクしたこと記憶にないですね。
だからと言ってスペアタイヤを積まないなんて、臆病な私にはできないですね。
高速道路でも時たまパンクした車が路肩に停まっていますもの。 
いまスペアタイヤは車を買った時付いてこないのですね。
冬用タイヤに履き替えたところですので、このスペアは夏用タイヤを積んだものです。夏になったら逆にするだけ。
そう 今日2017年11月19日(日曜日)初雪が降りました。朝 畑が真っ白でしたが太陽が照ったら消えてしまいました。

いつも思うのですが、事前に準備や対策をしてあるとトラブルは起きなくて、油断して準備をしてないと取り返しのつかないトラブルが起きるようですね。
事前の準備や対策にはかなりのお金や時間がかかるのに、ほとんどが無駄になります。
しかしこれは無駄になることが良い事であって、本当の意味では無駄ではないのですね。
それでも仕事上でのトラブルは起きたとしても、お金と時間をかければ解決できることがほとんどと思います。
ただ個人の場合、準備や対策がしてないでトラブルが起きた場合は、人生そのものがかなりの確率でとんでもない方向に行ってしまうようです。
(わたし 準備しておいたつもりでもとんでもない方向に行きましたけれど。)
原因は二つ、 借金と健康(借金借りるほうも貸す方も) 親戚や仲間のトラブルはみなこの二つです。
なので、わたし 少しでもボケ防止になるようにこのブログ書いてます ???。

c0335218_20273247.jpg


庭に咲いた?、「南天」の木です。 これは白の実をつけています。
よく 重箱に詰めたお赤飯の上に載せてありましたね。

c0335218_20310124.jpg


こちらも「南天」の実 赤です。 白と赤は全く別の木ですね。 一つの木に赤と白の実がなることはないみたいです。

c0335218_20303848.jpg



# by telmic-gunma | 2017-11-19 21:46 | サイクリング | Trackback | Comments(2)

前回 π(パイ)円周率 を求めるのにモンテカルロ法を使って遊んでみましたが、調べる範囲が解っているのになぜ乱数使ってやるの? 
と疑問が湧いたのでモンテカルロ法をちょっと変えてやってみました。
図のNo1はモンテカルロ法で、ひとつの真四角の中に乱数でランダムに点を置いて半円(1/4円)の内側にあるかを調べて数の比率で円周率を求めます。
しかし 調べる範囲が決まっているのだから、なにも不安定な乱数でやることはないと思います。
No2は端から順番に均一に調べていく方法です。 これならばらつきもなく精度が上がるのでないかと思いやってみました。
とりあえず 演算時間もあるので真四角を立て横100等分して合計10000点で調べました。



c0335218_18194215.jpg



c0335218_10462042.jpg


全プログラムリスト 

HP32Sのプログラムです。
10000点のデータが出るまでに20分かかりました。

A01 LBL A
A02 0
A03 STO X
A04 STO Y
A05 STO T
A06 STO P

B01 LBL B
B02 RCL X

C01 LBL C
C02 XEQ H
C03 0.01
C04 STO +Y
C05 RCL Y
C06 1
C07 X>Y ?
C08 GTO C
C09 0
C10 STO Y
C11 0.01
C12 STO +X
C13 RCL X
C14 PSE
C15 1
C16 X>Y ?
C17 GTO B
C18 RCL T
C19 RCL P
C20 STOP

H01 LBL H
H02 1
H03 STO +T
H04 RCL X
H05 X^2 Xの2乗
H06 RCL Y
H07 X^2
H08 +
H09 1
H10 X<Y ?
H11 RTN
H12 1
H13 STO +P
H14 RTN


使用した変数
X
Y
P
T

結果
円の内側の点  7953
真四角の全点 10000

円周率  ( 7953 * 4 ) / 10000 = 3.1812

モンテカルロ法より悪いですね。 縦横100等分ではまだ粗いということでしょうか。
しかし HP電卓でやてみるとこれでも20分かかりました。



************************************************************************

同じ動作をするものを PC9801のN88Basicで組んでみました。(古いですね)
内部演算をバイナリでやっているため、計算の終わりに近づくと少しづつ誤差が累積してきます。
演算時間は30秒くらいでしょうか。

X=0: Y=0: T=0: P=0

WHILE X < 1
PRINT X
WHILE Y < 1
T = T + 1
L = ( X^2 + Y^2 )
IF L < 1 THEN P = P + 1
Y =Y + 0.01
WEND
Y = 0
X = X + 0.01
WEND
PRINT T
PRINT P




これで終わりです。





親戚の農家から柿を貰いました。
柿の品評会で金賞を何度もとったことがあるそうです。
この家の周りには、手入れをされた柿の木がなん十本もあります。
今は 80歳をとうに過ぎていますが、柿を作り始めた歳がなんと70歳だそうで、今の私より歳をとっていたんだ。 弟子入りして教わろうかな。
最初木になっている時は渋柿ですが、木になっている状態でビニール袋を被せ渋抜きをして甘くするそうです。
柿を切って見ると断面にはゴマというのですか黒いつぶつぶがたくさんあります。 当然種なしです。
実は固くて歯ごたえがあり、とても美味しいです。
さて 悩むのは、お返しをどうしよう、ということですね。
もう少したつとりんごがもらえる予定なのでそれ持ってお返しかねて遊びに行ってみようかな。
ついでに言ってしまうと、我が家のネギの苗もこの親戚からもらったものです。
プロというか年期が入っていて市販されている苗よりもとても元気の良いものを作ります。
写真の左下にあるのはHP29c電卓です。大きさ比較のために置きましたがじゃまでしたね。
電卓の上下の長さは13cmです。  この柿を貰う前日スーパーで一つ100円の柿買ってきて食べましたが、それよりもこの方が大きくて美味しいです。

c0335218_19432926.jpg




# by telmic-gunma | 2017-11-16 11:20 | HP電卓 | Trackback | Comments(0)

回路シミュレータで数学のe (ネイピア数)を導いているのをみつけました。
先日(2017年10月29日)のブログでHP電卓を使ってeを求めて見ましたが、同じ値がアナログ電子回路だけで出てくるなんてとても不思議ですね。
ただこれはあくまでシミュレータ上での動作です。
本物の回路で動作させるには疑問点がありますね。
ひとつは 無限大を使うために10kVをアンプに入れていますが、現実にはこの電圧を入力できるものは存在しないと思います。
もうひとつ べき乗器 XのY乗なんて動作するアンプは存在するのかしら。
掛け算器やlogアンプは在りますけれど、これをうまく組み合わせるとべき乗器が出来るのでしょうか。
このへん実物で動作するか、トライしてみたいですね。
数式が書いてありますが、まったく回路図と同じですね。 まあ これが本当のアナログコンピュータなのでしょう。

c0335218_21521085.jpg


c0335218_21194189.jpg

この回路の出典は、 サーキットビューア(回路シミュレータの商品名称)のサンプル回路に載っていました。




わが家の庭のイチョウの木です。 本物はほぼ黄色なのに写真で見るとかなり緑色なのですね。
手入れが大変なので高さを2m位(背の高さよりちょっと高いだけ)にしたのに今は3m位に伸びてますね。
また思い切り短くしようかな。

c0335218_09373956.jpg





# by telmic-gunma | 2017-11-12 22:23 | シュミレータ | Trackback | Comments(2)

HP電卓の入門解説書(モデル67,07)が本棚の奥から出てきました。
これは YHP(横河ヒューレット・パッカード株式会社)が作ったもので、逆ポーランドの動作や、HP電卓の操作がとても解りやすく書いてあります。
HP電卓においては機種が違っても逆ポーランド法の基本はすべて同じです。
上位機種になるほど命令の種類やメモリーがふえるだけです。
ですので ここに載せたモデル67/モデル97の基本のところはたの機種にもそのまま使えます。

この冊子をスキャナで読みjpgファイルにしてパソコンで読むにはくっきりと大きな文字で読みやすいのですが、ブログに転送すると途端に小さな文字となり読みにくくなってしまいます。
いろいろ試したのですが jpgファイルの大きさにより違いがあるようです。
あるサイズ以下ならば拡大され、あるサイズを超えるとそのままか縮小されてしまうようです。
もう少し試してみます。とりあえずは大小混在していますが、ガマンしてください。


c0335218_23353432.jpg

c0335218_08453438.jpg

c0335218_08460848.jpg

c0335218_08474937.jpg

c0335218_08490040.jpg

c0335218_08495602.jpg

c0335218_08503585.jpg

c0335218_08515099.jpg

c0335218_08530244.jpg

c0335218_08535581.jpg

c0335218_08545157.jpg

c0335218_08572368.jpg

c0335218_08594930.jpg

c0335218_09013315.jpg

c0335218_09033212.jpg

c0335218_09043306.jpg

c0335218_09052911.jpg

c0335218_09064069.jpg

c0335218_09081649.jpg

c0335218_09102264.jpg

c0335218_09112729.jpg

c0335218_09125588.jpg

c0335218_09281082.jpg

c0335218_09143865.jpg

c0335218_09302151.jpg

c0335218_09315866.jpg

c0335218_09370363.jpg

c0335218_09354987.jpg

c0335218_09380429.jpg

c0335218_09391805.jpg

c0335218_09403267.jpg

c0335218_09414487.jpg

c0335218_09423894.jpg

c0335218_09433998.jpg

c0335218_09484526.jpg


# by telmic-gunma | 2017-11-07 21:24 | HP電卓 | Trackback | Comments(2)

円周率(パイ π)はいろいろな事で人々を楽しませていますね。
もちろん楽しむ為に存在しているのではなく学問や土木、工業などあらゆる方面で役に立っているわけですけど。
円周率の楽しみ方のなかで一番人気があるのは、いかに多くの数字を記憶するかということでしょうか。
日本人で10万桁も覚えたひとがいるそうですね。
私も中学生のとき友達と何桁まで覚えられるか競争したことがあります。
勉強へのやる気はなかなか起きないのに、こういう事にはやたら一生懸命になれるんですね。
そしてこのように遊びながら本気でやったことはいつまでも覚えていられるようです。
いま紙に書きながらテストしたら26桁出来ました。(3. 14159 26535 89793 23846 26433)
なのに 昨日言われたことはすぐ忘れてしまうのですよ。 これはなんなのでしょうか。
今までの人生でこの円周率覚えていたことで役立ったことないですね。
だからと言って ゆとり世代の「円周率は3」というのはどうだかなーと思いますが。

もう一つ円周率の楽しみは、いかにして計算するかですね。
ネットで調べたら10種類くらいありそうです。
その中で 一番電卓向きと思われる モンテカルロ法をHP電卓を使ってやってみます。
HP32S を使いました。  最近はこればかりになっちゃいました。

c0335218_18194215.jpg


モンテカルロ法をやるには まず乱数の発生のばらつきが均一でなければ正しい測定はできないのでまず乱数を計ってみます。


全プログラムリスト 

A01 LBL A **************************
A02 123.4567  乱数発生器の初期値 何でもよい
A03 SEED    乱数初期値セット
A04 CR VARS  すべての変数をゼロにする

B01 LBL B **************************
B02 RANDOM  乱数の発生 0 ~ 1まで
B03 10     I 乱数を10倍して 0~10までとする
B04 X I
B05 1      乱数に1を足して 0,1,2, を 1,2,3,とする
B06 +
B07 STO i   乱数データが配列のポインターとしてセットされる(少数部分に何かあっても整数部分のみ自動的にポインターになる)
B08 1
B09 STO (i)  発生した乱数に対応する変数を一つ加算する 0~1の時はAが+1 1~2の時はBが+1 2~3の時はCが+1
B10 GTO B


出力されたデータ (30分間測定)
変数名  データー範囲   出力回数
 A     0~1     3920
 B     1~2     3913
 C     2~3     4075
 D     3~4     3937
 E     4~5     3937
 F     5~6     3965
 G     6~7     3925
 H     7~8     4007
 I     8~9      4017
 J     9~10     3983

最大値  4075
最小値  3913
差    162

生データの合計  39677 
データの平均値  39677 / 10 = 3967.7
差 / 平均値   162 / 3867.7 = 0.040829
乱数の発生頻度のバラツキ  4.08%

ばらつき 4% こんなものでしょうか。

最初測定1分間でデータの数150個でやりましたが ばらつきが16%にもなったので 30分間やり直しました。

これで終わりです。




乱数の発生のばらつきはほどほどに働いているので 次 モンテカルロ法でやってみます。
これは x,y 二つの値を乱数でだして座標としそれが円の内部にあるか外部なのかで円周率を求めるものです。 

全プログラムリスト 


C01 LBL C **************************
C02 123.4567  乱数発生器の初期値 何でもよい
C03 SEED    乱数初期値セット
C04 CR VARS  すべての変数をゼロにする

D01 LBL D **************************
D02 1
D03 STO +C  全体の回数 カウントアップ
D04 RANDOM  乱数作成 X
D05 X^2    2乗してaにしまう
D06 STO A
D07 RANDOM  乱数作成 Y
D08 X^2    2乗する
D09 RCL A
D10 +     乱数のXとYを足す
D11 1     乱数を2乗して足したものが1を超えたか
D12 X < Y ?
D13 GTO D   超えていたらデータ無視して次の乱数の計算に入る。
D14 1
D15 STO +D  1以内ならばDをカウントアップする
D16 GTO D   次の乱数の計算に戻る


測定は30分間やりました。
変数名  データー
 A    Xのランダム数
 B    未使用
 C    全体のポイントの回数    30分ごのデータ  23999
 D    1以下のポイントの回数   30分ごのデータ  18861

円周率  ( 18861 X 4 ) / 23999 = 3.14363098   すごい  これ 嘘じゃないの?

誤差の計算  (測定値 ー  真の円周率 )/ 真の円周率
誤差の計算  (3.14363098 - 3.14159265) / 3.14159265 = 0.00064882

これで終わりです。


計算した円周率 3.14363098   
誤差      0.064%

乱数のばらつきが4%あるのに最終誤差がどうしてこんなに減るのだろう。
モンテカルロ法 こんなので精度は出るはずないと思っていたのだけれど。
測定誤差か 計算ミスか  これが正しければ モンテカルロ法ってすごいんだ。 

HP32Sの乱数発生は品質いいみたい。 これソフトで同等の精度のものを作ろうとしたら、結構大変じゃないかな。
配列データの関節指定 ( i ) はうまく使うとコンパクトで解りやすいですね。これ IF文 でやったら、ぐちゃぐちゃになりそう。
HP電卓でプログラムを組むのは もうゲームですね。 役立つかどうかは二の次。

この次は 10種ほどあるという 円周率の計算 別のものでやって見ます。


追記
再現性があるか確認するために次の日(2017年11月1日)に乱数の種データを変えてモンテカルロ法(同じソフト)でやってみました。

乱数の種データ  2.718281828
電卓のRUN時間  30分 (HP32Sにて)
結果       C = 全体のポイントの回数 23734
  D =1以下のポイントの回数 18638

円周率  ( 18638 X 4 ) / 23734 = 3.141147721

誤差の計算  (測定値 ー  真の円周率 )/ 真の円周率
誤差の計算  ( 3.141147721 - 3.14159265) / 3.14159265 = 0.000141627

計算した円周率 3.141147721   
誤差      0.01416%

再現性はいいですね。 しかし気分はデータ良すぎて納得できないな。


これ 次回ブログ作るときの参考の枠です。 関係ないけどここに置きます。

全プログラムリスト 

これで終わりです。



# by telmic-gunma | 2017-10-31 22:06 | HP電卓 | Trackback | Comments(4)

この式 オイラーの等式と呼ばれ数学の式のなかでも最も美しい式の一つだそうです。
わたしは、このシンプルな式の美しさなんとか解りますが この式がどのように導かれたのか、また何の役に立つのか皆目わかりません。
この式 以前ブログに載せた 小川洋子さんの「博士の愛した数式」の中に出てきましたね。

天邪鬼な私としては、この式をHP電卓で計算して成り立つのかいなかを見たいと思いました。
電卓のマニュアルや数学の本、ネットなど、一週間ほど調べてみました。

c0335218_12334551.jpg





調べて解ったことは 次の展開された式の Θ (シータ)が π (パイ)の時になりたつということです。
直接 オイラーの等式を電卓に入力して答えを出す方法は解りませんでした。

c0335218_12335367.jpg
このΘ(シータ)にπ(パイ)を代入すれば cosπ(パイ)は -1 となり sinπ(パイ)はゼロとなりますから電卓の出番もなく
-1 +1でゼロとなりこの式は合っているとなります。

HP電卓でなく 最近の「数式通り」の電卓ならば答えが出るのでしょうか。
ぜひ トライしてみたいですね。


これで終わりでは寂しいのでこの e (ネイピア数)を導く式をHP電卓で計算してみます。

c0335218_12373178.jpg
Xが1の時に e の値になりますので、Xのところはすべて1になって計算は単純になりますね。



全プログラムリスト (HP32S を使用)

変数名
A:   右辺 分母の数値  0, 1, 2, ~ 一つづつ増加する
B: e の積算値


A01 LBL A   *******

A02 0
A03 STO A   右辺 分母の数値  0, 1, 2, ~ 一つづつ増加する
A04 STO B    e の積算値

B01 LBL B   *******
B02 X !     右辺 分母の階乗計算
B03 1/X     右辺 分数計算 
B04 STO +B  右辺 e の積算
B05 1      
B06 STO +A   右辺 現在の桁位置加算  
B07 15     右辺 計算終了させる桁位置の数値     
B08 RCL A   現在の桁位置
B09 X < Y ?   終了位置まで行ったか
B10 GTO B   終了位置前なので次の桁での計算をする
B11 RCL B e の積算値を読み出す
B12 STOP 


これで終わりです。


答えは1秒で出ます。

2.71828182846 なので正解ですね。 演算の繰り返しは15より小さくしてもいいですね。



c0335218_21395957.jpg

庭に咲いているとは言えないかもしれませんが、真っ赤になった「ほおづき」です。
ピントがちょっと合っていませんけれど。
葉っぱはもう枯れています。


c0335218_21394858.jpg



# by telmic-gunma | 2017-10-29 20:43 | HP電卓 | Trackback | Comments(2)

「バイクパッキング入門」 田村浩著 が出版されました。
これは いままでの「自転車キャンピング」と言われていた方法をガラっと変えて超軽量の装備で自転車キャンプをしようというものです。
いままで キャンピング車というと頑丈なフレームに大きなキャリアを付け太いタイヤを履いた重たい自転車ということになっていました。
それが 重たいキャリアなど付けずにバッグだけに必要な物を積んで軽量なロードバイク(自転車)でキャンプをするわけです。
当然 キャンプの装備などすべてのものを超軽量なものにしていますね。
わたしも これにならってぜひやって見たいですね。

c0335218_22231078.jpg

着替えから寝袋、マット、テント、炊事道具やコンロなどすべて入っています。
山登りの方で、ウルトラライトキャンピングという超軽量な装備でやる方法がありますが、それの自転車版が始まったということですね。

c0335218_22232481.jpg

この写真を見ると ただのサイクリングという感じですよね。 キャンプ道具を積んでいるとはとても見えません。
c0335218_22233871.jpg

これは 4年前 私が埼玉県の堂平にある東京天文台のキャンプ場に仲間と行ったときの写真です。
超重戦車という感じ。  テントも寝袋も寝るときに敷くシートもどでかいですね。
自転車後部がべらぼうに重かったです。
この時 坂道でスピードがでるとハンドルがふらついて、かなり危険な思いをしました。
キャンピング用の頑丈な自転車のはずなのになぜだろうと思っていました。
この田村さんの本には、このことに関して説明があり 自転車の重心から離れたところ重いものがあるとハンドルがとられて危険な状態になるということでした。
この知識を得ただけでも本代金の元は取れたとおもいます。
早く バイクパッキングの準備をしてキャンプ出かけたいですね。

c0335218_21343863.jpg


# by telmic-gunma | 2017-10-25 23:26 | サイクリング | Trackback | Comments(0)

プログラムコンテストとは関係ないけど、kusakaさんが送ってきたプログラムです。

以下 kusaka さんのプログラム  3時休みの10分間で作ってしまったそうです。
若いですね、うらやましいなー

***********************

1~1000までの素数を見つけて合計するっていうのはどうですか?簡単かな

三時休みでできちゃった。難しい問題ないかなー

全プログラムリスト 

number of prime = 169
sum of prime = 76128
#include <stdio.h>

void main()
{
    int i;
    int a;
    int num_ans = 0;
    int sum_ans = 0;
    int prime = 0;
    for(i = 1; i <= 1000; i++){
        prime = 1;
        for(a = 2; a < i; a++){
            if(i % a == 0)
                prime = 0;
        }
        if(prime){
            printf("%d\r\n", i);
            num_ans++;
            sum_ans += i;
        }
    }
    printf("number of prime = %d\r\n", num_ans);
    printf("sum of prime = %d\r\n", sum_ans);
}


これで終わりです。

kusakaさんのC言語 シンプルですね。


c0335218_13073923.jpg

以下わたしが HP32S で組んだものです。
私の答えは 
素数の数   168
素数の加算値 76127

kusakaさんの値より、なぜかどちらも 1つ小さいです。
演算時間は丁度30分かかりました。
えーと ソフトを作った時間は、ないしょ
フローチャートなど事前に作らないとソフトを組むことできないですね。

全プログラムリスト (HP32S を使用)

変数名
A:   調査する数      初期値1として+2づつ増やし 奇数のみ調査する。
B: 調査する数を割る数  初期値1として+2づつ増やす、奇数でのみ調査する。
C: 素数を加算した合計  最初の素数2は初期値として置いておく
D: 素数の累積の数    1を最初とする。(素数2を置いてあるから)



A01 LBL A   *******

A02 3
A03 STO A   調査する数 素数2は既知とし3から調べる
A04 STO B   調査する数を割る数
A05 2
A06 STO C   素数を加算した合計 最初の2のみ手で入れておく
A07 1
A08 STO D   素数

B01 LBL B   *******
B02 RCL A   調査する数
B03 RCL B   調査する数を割る数
B04 X=Y
B05 GTO F   値が一致していれば素数なので G へ行く

C01 LBL C   *******
C02 ÷     調査する数を順次割って割り切れるかチェックする
C03 FP   (少数以下を取り出す)
C04 X=0
C05 GTO G   少数以下ゼロ、(り切れた)なら素数ではないので次の数値を調べに行く
C06 2
C07 STO +B  割る数を2増やしてチェックし直す 
C08 GTO B

F01 LBL F   ********
F02 RCL A   素数だったので今の値を素数の積算値の足す
F03 STO +C
F04 1
F05 STO +D  素数だったのでカウンターに1を足す 

G01 LBL G   *******
G02 3
G03 STO B   割る数を出発点の3に戻す
G04 2
G05 STO +A  調べる数を2増やす。
G06 1000   上限値の1000
G07 RCL A   調べる数を読み込む
G08 X>Y    調べる数が上限値を越えたか調べる
G09 GTO H   上限値を越えたのでHへ行く
G10 GTO B   まだ上限値でないのでさらにチェックを続ける

H01 LBL H   *******
H02 RCL C   素数積算値を表示する
H03 STOP   停止して終わり

これで終わりです。



C言語だとフローチャートなどなくてもリストだけで全体の動きが見られますね。
これ 図形としてプログラムの形も表現されているからでしょうか。

HP電卓の方は、コメントがあったとしても、一つづつの動作を追っていかなければ理解が難しいですね。
ましてや コメントのないリストは知恵の輪を解くようなものですか。 
これが 結構楽しいのですけけれどね。


追記
プログラムを作っていて頭が混乱してきたのでフローチャートを作りました。
これ 最初にやるべきでしたね。

c0335218_20210497.jpg

素数かいなか調査するときの数値を追って考えました。
この絵を書いたことにより頭がスッキリしました。
やはり絵で表現すると脳が理解しやすいのでしょうか。


c0335218_20213508.jpg

上の続きです。


c0335218_20221011.jpg


# by telmic-gunma | 2017-10-23 14:56 | HP電卓 | Trackback | Comments(4)

久しぶりに映画を見に行ってきました。
「ドリーム」というアメリカ映画です。
1961年 まだ人種差別の激しかったころのアメリカのNASAでのはなしです。
ロケットで人間を宇宙に送り出すための軌道計算をする黒人女性たちの物語。
(実在の人の話だそうです。)
コンピューターが出来る前で、計算係の女性の机に機械式の電動計算機がドカンと置いてありましたね。
計算尺は出てきませんでした。当時の実写の写真では女性が計算尺を持っている姿が写っていたのに。
それからほぼ10年後の1970年でしたか、アポロ13号が月に行くときに事故を起こしたときの実写でも コントロールルームの中で計算尺を持って悩んでいる人が写っていました。
映画になるとそういうのが消えちゃうのでしょうか。

マーキュリー計画とかフレンドシップセブンとか懐かしい言葉が出てきました。
ソ連のガガーリン少佐がアメリカより早く宇宙飛行に成功したので、アメリカは焦ってやっていたのですね。
その先を越された時の計算センターの所長の言葉が印象的。

これからは残業続きになる。
その見返りは無い。
ついてこれない人は、今までの働きに感謝する。
( クビにするのに こういう言い回しがあるんだ。)

そく思いました。
わたしの知っている会社も昔はこうだったな。
いまは、法令順守がうるさいほどですけれど。


子供3人もいるおばさんが、シャカシャカ数式作っちゃうからすごい。

c0335218_20371774.png

これが机の上に置いてあるやつ。
これって加減乗除しか出来ないのじゃないのかな。

c0335218_20374127.png

やがてIBMのコンピュータが入るが、なかなか使いこなせない
c0335218_20375861.png

打ち上げ近くになり コンピューターの出す値が昨日と今日で違うと騒ぎになり、また人間が計算しなおして人間の方が信頼できるということやってました。
ここのところは、作り話でしょうけれど、わたしも同じような事してました。
普通の関数電卓(SIN、COSなどはあるけれどプログラムはくめない)が世間に出てきたのは、1970年代の初めでしょうか。
HP電卓はまだ知らなかったですね。カシオだけでなくソニー、松下などほとんどメーカーが出していました。
私はサンヨー電気のものをかいました。
SINを一つ出すだけでも数秒かかっていたとおもいます。
最初は電卓の出した答えが信じられなくて、必ず紙の上で計算のし直しして「あっている」なんてやってました。
毎回 電卓と手計算の二つをやっていた訳ですね。 
いまでは 考えられないことでしょうが。



庭に咲いている花もなくなりました。 名前解らないけれど 直径5cmほどの花です。
c0335218_21380441.jpg





# by telmic-gunma | 2017-10-17 21:47 | いい映画 | Trackback | Comments(2)

ディスコのプログラムコンテストをネットで見たら 問題はチラシ広告だけでなくネット上にも在り合計3問出ていたのですね。
3問目は文字列を扱うので電卓では無理だけど2問目はできそうなので挑戦してみることに。


c0335218_13073923.jpg

2問目
1~1000までの間で3と5の両方で割り切れる数の
20番目と40番目と60番目の合計は?

3問目
次の300 個の名字の文字列の中で、
3 番目に多いアルファベットとその数は?
解答は「アルファベット」「数」を
カンマで区切り、記入ください。
( この後 ダウンロードするクリックがある これは HP電卓ではできません )

2問目の解き方を考えるため電卓いろいろいじっていたらプログラムを組むまでもなく答え 1800が出てきてしまった。
ここで用事頼まれて用足しして戻ってきたらメールが来ており kusakaさんは2問目も3問目もプログラムで解けたということです。
こちら もうやる気無くしていたのですが後から答えの1800が出るプログラム作ることに。
こんなの たしか大昔に読んだ星新一のショートショートにあったですね。
人間がプログラム作らずに神様の御利益を受け取っていたけれど、後になって神様は人間に「プログラムを作らないと滅ぼすよ」と言ってきて
人間は必死にプログラムを作るというような話だったかなー

2問目  kusakaさんのソフト
***********************************************

前回のでなれたから5分で出来ました。

答え1800

3問目はあまり扱わない配列、文字列なので手こずりましたが

30~40分で出来ました。


2問目 全プログラムリスト    kusakaさん作

#include <stdio.h>

void main()

{

    int ans = 0;

    int i;

    int c = 0;

    for(i = 1; i <= 1000; i++){

        if(i % 3 == 0 && i % 5 == 0){

            c++;

            if( c == 20 || c == 40 || c == 60){

                 printf("find\r\n");

                ans = ans + i;

            }

        }

    }

    printf("ans = %d\r\n", ans);

}


***********************************************************
以下はわたしの HP32Sii RPNでのソフトです。

2問目 使用されている変数 A,E,F

A01 LBL A
A02 0
A03 STO A    現在実行中の数 1~1000
A04 STO E 5と3で割れた回数
A05 STO F    20,40,60の時の数を加算したもの

B01 LBL B
B02 1
B03 STO +A   調べる数値を加算する
B04 RCL A
B05 5      調べる数値を5で割る
B06 ÷
B07 FP (FRACのこと)
B08 X キ 0 ?   5で割り切れたかチェック
B09 GTO B    割り切れなければ LBL B へ戻る
B10 RCL A
B11 3      調べる数値を3で割る
B12 ÷
B13 FP
B14 X キ 0 ?   3で割り切れたかチェック
B15 GTO B    割り切れなければ LBL B へ戻る
B16 1      5と3で割り切れたのでカウンターを1上げる
B17 STO +E   Eに1加算する
B18 RCL E    Eを読み込む
B18 20      カウンターが20になったかチェック
B20 X キ Y ?
B21 GTO C    20でないなら LBL C へ行く
B22 RCL A    現在実行中の数を読み込む
B23 STO +F   現在実行中の数をFに加算する
C01 LBL C
C02 RCL E    現在の5と3で割り切れた数を読み込む
C03 40     40か否か
C04 X キ Y ?   比較する
C05 GTO D   40でないなら LBL D へ行く
C06 RCL A
C07 STO +F   現在実行中の数をFに加算する
D01 LBL D
D02 RCL E    現在の5と3で割り切れた数を読み込む   
D03 60
D04 X キ Y ?   60か否かチェック
D05 GTO B    60でないなら LBL B へ行く
D06 RCL A
D07 STO +F   60の時の値を加算する
D08 RCL F    20,40,60の時の値の加算されたものをXレジに読み込む
D09 STOP    答えが表示されておわり

これで終わりです。


使用した電卓は HP32Sii です。 答えの”1800”がでるまでに48秒くらいかかりました。
このソフトでは一つづつすべての数値を調べていますが、kusakaさんに指摘で5の倍数だけ調べればいいわけですから
B02の1を5に変えることにより20秒で済むようになりました。

前回 HP32S を使い今回 HP32Sii を使ったのですが、デバッグ時の使い勝手は HP32S の方が良いですね。
HP32Sの方が多少機能が低いようですが プログラムモードの時ステップ送りをするのに1キーですむのにたいして
HP32Sii ではキーを2回押さなければならずデバッグ中にプログラムを壊してしまうことがありました。



# by telmic-gunma | 2017-10-14 13:12 | HP電卓 | Trackback | Comments(2)

kusakaさんから同じ問題をC言語で解いたもの送っていただいたので載せてみます。

********************************************************************
私はRasberry Pi+Cで解いてみました。(Raspberry Piとは6千円程度のワンボードコンピューターで64ビット1.2Gで動作します。)
完成までは、なんだかんだで3時間以上かかったと思います。
大した計算量ではないようですが、電卓だと5分もかかるんですか。 Raspberry Piだと一瞬でした。
c0335218_09510123.png

全プログラムリスト

#include <stdio.h>

long money = 200000;
long menu_a = 650;
long menu_b = 780;
long menu_c = 980;
long ans_a, ans_b, ans_c;
long max_count(long, long);
long max_combination(long, long, long);
void print_results(void);

main()
{
int i;
long a = max_count(money, menu_a);
//printf("hello %ld\r\n",a);
for(i = 0; i < a; i++){
ans_a = a - i;
//printf("b\r\n");
if(max_combination(money - (ans_a * menu_a), menu_b,menu_c) != 0){
print_results();
return 1;
}
}
printf("No ansuer!\r\n");
}
long max_count (long l, long price){
return l/price;
}
long max_combination(long m, long lo_price, long hi_price) {
long c;
int d;
long lest;
c = max_count(m, hi_price);
lest = m;

for(d = 0; d < c; d++){
lest = m - (hi_price * d);
//printf("m = %d ", m);
//printf("d = %d ", d);
//printf("lest of money = %d\r\n", lest);
if(lest % lo_price == 0){
ans_c = d;
ans_b = lest / lo_price;
return 1;
}
}
return 0;
}
void print_results(void)
{
printf("Max combination is\r\n");
printf("650_menu x %d\r\n", ans_a);
printf("780_menu x %d\r\n", ans_b);
printf("980_menu x %d\r\n", ans_c);
printf("Total = %d\r\n", ans_a * menu_a + ans_b * menu_b + ans_c * menu_c); }


Max combination is
650_menu x 286
780_menu x 3
980_menu x 12
Total = 200000




以前 教えていただいた アルストロメリアの花です。
今日 2017年10月11日 まだ咲いています。寿命がながいですね。

c0335218_10262574.jpg


おくらの花です。
シンプルで綺麗、好きですね。  これもまた 長生き。

c0335218_10265969.jpg


# by telmic-gunma | 2017-10-11 10:33 | HP電卓 | Trackback | Comments(4)

HP電卓を操作しやすくするために、写真のような台を発砲スチロールで作って見ました。
HP電卓の液晶画面は見る角度があまり斜めになると数字以外の記号などが表れて見ずらくなるのですが、
すこし角度を付けてやると見やすくなり且つキー操作もやりやすくなりました。

c0335218_18194215.jpg
さて 本題はこれではありません。
山梨にいる友達から以下のプログラムコンテストのチラシをもらいました。

c0335218_18183228.jpg

コンピュータ言語は C, Java, VBA から選択となっていました。賞金は20万円 
裏にサンプルプの問題が載っていました。

c0335218_18190557.jpg
本番にでる気はありませんが、この問題ならそんなにメモリーも必要とせずHP電卓で解くにはちょうどいいのでないかと思い挑戦してみました。
答えを先に言ってしまうと

きつね蕎麦  286
山菜蕎麦     3
鴨南蛮蕎麦   12

計算は数の大きい方からスキャンしていき答えも大きい方にあったので、計算時間はHP32Sで5分ほどだったと思います。
片手間に農作業をやりながらの製作で一日半かかりました。 こんなに時間かかってはコンテスト参加は無理ですね。
CやVBAなど他の言語で作ればもっと早く出来ると思いますが、やはりHP電卓でやるところに意味があると思います。( なぜなら わたしはHP電卓のファンだから ただそれだけですけど )
最初は連立方程式を作れば解けると思っていたのですが、やはりプログラムで一つづつ値を変えながら試すしか方法が無いようです。
それなりに苦労をした結果を載せてみます。


全プログラムリスト (HP32S を使用)


A01 LBL A
A02 RCL E 全合計目標金額
A03 RCL X  きつね蕎麦の単価
A04 ÷    きつね蕎麦での最大皿数
A05 LP (INTのこと)  整数部のみ取り出す
A06 STO A  きつね蕎麦での全皿数をしまう

B01 LBL B
B02 1
B03 STO -A きつね蕎麦の全皿数を一つ減らす
B04 XEQ C  この状態で山菜蕎麦と鴨南蛮蕎麦の数を計算する
B05 RCL A きつね蕎麦の数を読み込む
B06 PSE 現在計算中のきつね蕎麦の数を表示
B07 GTO B 次の数のきつね蕎麦を計算

C01 LBL C
C02 RCL A きつね蕎麦の数
C03 RCL X きつね蕎麦の単価
C04 X きつね蕎麦の合計金額
C05 RCL E 全合計金額目標
C06 X<>Y 全合計金額目標ときつね蕎麦の合計金額の比較
C07 -   きつね蕎麦の残金
C08 STO F きつね蕎麦の残金
C09 RCL Y 山菜蕎麦の単価
C10 ÷   山菜蕎麦の数
C11 IP (INTのこと) 整数部のみ
C12 STO B 山菜蕎麦の数

R01 LBL R
R02 RCL B 山菜蕎麦の数
R03 RCL Y 山菜蕎麦の単価
R04 ✖   山菜蕎麦の全額
R05 RCL F きつね蕎麦の残金
R06 X<>Y きつね蕎麦の残金ときつね蕎麦の残金の比較
R07 -   山菜蕎麦、きつね蕎麦の残金
R08 STO G
R09 RCL Z 鴨南蛮蕎麦の単価
R10 ÷   鴨南蛮蕎麦の単価で割る
R11 STO C
R12 FP (FRACのこと)少数点以下を取り出す
R13 X=0 ? 鴨南蛮蕎麦の単価で割り切れるか
R14 STOP 割り切れたら終了
R15 1
R16 STO -B 山菜蕎麦を一つ減らす
R17 RCL B  山菜蕎麦の数を読み込む。
R18 X キ 0 ? 山菜蕎麦の残数がゼロでないか
R19 GTO R  ゼロでないなら減らした山菜蕎麦で計算しなおす
R20 RTN   ゼロならばきつね蕎麦の数を減らして計算をやり直す


変数表
A きつね蕎麦の数
B 山菜蕎麦の数
C 鴨南蛮の数
D
E 全合計目標値 ( 200,000 ) 初期値入力しておく
F きつね蕎麦の残金
G きつね蕎麦と山菜蕎麦を取ったあとの残金
L ループ表示カウンター
X きつね蕎麦の単価 ( 650 ) 初期値入力しておく
Y 山菜蕎麦の単価  ( 780 ) 初期値入力しておく
Z 鴨南蛮の単価   ( 980 ) 初期値入力しておく

これで終わりです。


それなりにある程度頑張れば出来るという、このくらいの問題が丁度いいですね。
ちょうどバズルを解く楽しみなんでしょうか。
そうそう 今回この問題が解けた理由がまだありました。
一週間以内に解けなければ一杯おごると約束をしたからです。
私が何か行動を起こすには、適度なプレッシャーが必要みたいです。
べつに解けない方でも良いのですけれどね。


次 現在の畑の状況です。
白菜は一個50円の苗を20個買ってきて植えて19個が大きく育ちました。

c0335218_21164680.jpg


チンゲン菜は 種をまきすぎたので一杯生えすぎました。 間引きながら食べてます。
やはり 種をまくときに計算しておかないといけないのですね。
チンゲン菜 二度目だと思うのですが、なかなか学べないです。

c0335218_21173644.jpg










# by telmic-gunma | 2017-10-09 21:30 | HP電卓 | Trackback | Comments(2)

ちょっと頼まれて 高圧電源を作ってみました。
あまり詳しくは書けないのですが、了解をもらったので簡単に書いてみます。
この装置の内部では高圧は発生せず外部にある昇圧回路に電力を供給して高圧を発生させ、そこからフィードバックされた電圧で高圧を制御するものです。
装置の上にある赤いランプは高圧が発生されている時には点灯して注意を促すものです。
回路はマイクロチップのdsPICを使いPWM信号を発生させてIGBTを駆動しそこから外部の昇圧回路に行ってます。
フィードバックされた電圧信号はdsPICの12bit ADコンバータで読み取りC言語でPID計算をさせて制御しています。
ちょっと昔はOPアンプなどを使ったアナログ回路やロジック回路を組み合わせて作っていましたからどうしても複雑になってしまいました。
それに比べデジタルでは回路がとてもシンプルになり、仕様の変更や制御定数の変更などソフトをいじるだけで簡単に出来る事です。また異常検出や保護回路などもソフトだけで済むことが多いことです。
ただ、わたしが疑問に思うことは、制御の精度や質となるとどうなのでしょうか、ということです。
頭の中で考えるとデジタルではADコンの分解能や変換速度に上限があるわけですしパワーの出力側も細かくみれば階段状になっているはずなのでppmレベルでの比較をすれば、どうしてもアナログには劣ることになるとおもうのですが。
こんな事言ってるのは もう古い人間ということでしょうか。
LPレコードとCDを比較しているようなものですか?


c0335218_20235484.jpg


今日 2017年9月30日 まだこの花 庭に咲いています。 寿命長いですね。

c0335218_20242710.jpg








# by telmic-gunma | 2017-09-30 21:14 | 電子工作_電源 | Trackback | Comments(2)

今 9月30日 今月はブログを まだ一つも書いてなかった。
幸い またアケビをいただいたので写真をのせます。
味の方は去年と同じく ほのかな甘みで美味しかったです。
今回は このアケビの種を畑に植えてみました。
来年 芽が出るか楽しみですね。


c0335218_20171865.jpg

# by telmic-gunma | 2017-09-30 20:18 | 季節の風景 | Trackback | Comments(0)

マインドストームのバラ部品を小学一年生の孫に預けておいたら、遊びながら2時間ほどで組み立ててしまいました。(くわがたリモコンロボ) もう びっくりですね。 
私が小学一年生のころは、おもちゃと言えばまだブリキのものや木製のものしか無い時代でした。
今の子は小さいときからガンダム(これも古いのかな)などのプラモデルを作っているので、このようなものに抵抗なく入れるのでしょうね。
プログラムはこれから教えるつもりですが、この調子だとすぐ追い越されてしまいそう。 小学生低学年では無理などと思っていたのは間違いかもね。


c0335218_19272981.jpg


c0335218_19265632.jpg


この花 アルストロメリア 未だ咲いています。 長いですね。 最初にブログに載せたのは6月12日ですので、もうまる2か月咲いていることになりますね。
他の花はもう終わってしまったのに、これだけはずーっと咲いています。



c0335218_14035237.jpg











# by telmic-gunma | 2017-08-18 20:46 | レゴ マインドストーム | Trackback | Comments(2)

21年前の林道サイクリングの本を手に入れました。

「秘蔵版MTBツーリングブック」 
著者 山岳サイクリング研究会  出版社 山海堂 1996年8月10日初版発行

山海堂はすでにつぶれており、この本は中古の物をやっと手に入れました。
しかし 見かけや中身も 新品同様にきれいでした。

c0335218_13433371.jpg

実際に山岳サイクリング研究会の人達が走って細かく調査したもので関東地方の主なサイクリングに適した林道が70コース載っています。

c0335218_13455663.jpg

特にうれしいのは、我が家の周り、群馬県北部のコースが沢山載っていることです。
あと問題は、20年前の調査ですので現在はどうなっているかですね。
折角のダート(泥道?)が舗装されてしまっていては、面白さがありませんものね。
最近 クマやいのしし、鹿など日本中が野生の王国と化していますが、その対策も気をつかいますね。

これは わが家に一番近い「栗原川林道」です。
ダートの長さが40kmあるそうです。 途中には日本100名山の皇海山の登山道入り口があります。
この「栗原川林道」の入り口付近は何度も車で通過していますが、そんなにいいところなんて知りませんでした。

今年 埼玉と長野の間にある三国峠から中津川林道へ行く予定でしたが、台風で道が壊れて通行止めとなりました。
なので まずこの「栗原川林道」に挑戦してみようと思っています。

c0335218_13462887.jpg



わが家の庭に今「オクラ」の花が咲いています。 直径10Cmくらいです。とてもきれいですね。
この花が散ってから、オクラの身が出来てきます。

c0335218_14030225.jpg


# by telmic-gunma | 2017-08-15 15:29 | サイクリング | Trackback | Comments(2)

ジャイロボーイのプログラムいじり出してから もう 3か月も経ちました。
時間の過ぎるのは、早いですね。
この夏休みに孫が遊びにくるということなので、マインドストームを渡すことが出来るように何とかジャイロボーイソフトを終わりにしたいのですが、なかなか納得いくまでの理解が出来ません。
あの天才と言われた将棋の加藤九段も77歳でC級2組から落ちて現役を辞めるとニュースになっていましたが、天才でも若い時のままというわけにはいかないのですね。
ましてや、ただの凡人が歳を取ったらどうしたらいいのでしょうか。
まあ 無理せずに最善を尽くしてみます。

c0335218_20413527.jpg
ネットで「倒立振子」を検索したら「半日で作る倒立振子」というのが出てきました。
この人のブログ 素晴らしいですね。 丁寧に解りやすく書かれており、プログラムなども全部発表されて細かく説明されています。
その中で、倒立振子の制御動作を一言で分かりやすく説明している式がありました。

転載始め***************************************************

モータの回転力= k1 × 躯体の傾き(角度)
          +k2 × 躯体の傾きの変化率(角速度)
          +k3 × 車輪軸の移動速度
          +k4 × 車輪軸の移動距離

転載終了***************************************************

これ ジャイロスコープ EV3ソフト と全く同じですね。
実際にはこの式に積分要素などが入ってきますが基本的には全く同じ。
アメリカで考えられたものも、遠く離れた日本で考えられたものも目的が同じならば同じ形になるのはすごいですね。
特に3行目と4行目の項 k3 × 車輪軸の移動速度 と k4 × 車輪軸の移動距離
よく思いつくものですね。 これは倒立振子の制御では常識なのでしょうか。
私は、これ無くても制御できるのではないかな、と思い3行目と4行目の項 外してやってみました。
K1,K2にあたる係数をいろいろ変えてやって見たのですが足の動きがオーバーシュートしてしまい制御できませんでした。
この3行目と4行目の項が理解できれば、今回の勉強はおしまいということにしたいのですけれど。
この方は エクセルを使って倒立振子のシュミレーションも発表されています。
わたしは 回路シュミレーターのサーキットビュアーにのせてみたいですね。


わが家のアジサイです。 周りの家には真っ白なのが多いですが我が家にはありません。
分けてもらっておこうかな。

c0335218_22344960.jpg
作っていたトウモロコシ ついに食べられてしまいました。
まだひとつだけですが、器用に皮をむいてありました。
四つ足動物に皮むけるのでしょうか。 サルが出たのでしょうか。
やるやると言ってながらまだ「網」つけてなかったですからね。
やはり 言葉より行動ですね。







# by telmic-gunma | 2017-07-30 23:29 | レゴ マインドストーム | Trackback | Comments(0)

7月9日(日曜日)アユ釣りが解禁になりました。
場所は我が家のすぐ近く(200m位)の薄根川 水の流れているところの幅は5mにも満たない小さな川です。
今年は土手の工事の関係で川の流れが大きくかわり、どこが釣りに良いところか皆目わかりません。
そこで釣りクラブの会長にたずねたら「この辺りが一番いいよ、粘って一日いれば釣れるはず」と教えてもらえました。
私「すごいですね、どうしてわかるのですか?」と問い直したら
「昨日 ここに沢山アユを放流したから」ととても単純明解な答えが返ってきました。
朝6時花火の音を合図に始まったのですが 1分もしないうちに最初の1匹が釣れました。
それ以後 1時間ちょっとの間に15匹釣れました。 もちろん上手な人はその何倍も釣り上げていましたけれど。
(他の場所では一匹も釣れなかったという人が結構いたようです。)
アユ釣りでは河原の中を移動することが多いのですが、足を滑らせて冷たい川で初泳ぎをしてしまいました。
もう 早々に退散です。 (まあ 例年のことですが)
写真は家で2日ほど生きのびたアユです、食べてしまうのは忍びないので(かわいそうなので)また川にもっていき放流してきました。
(熱帯魚のブクブクを使い餌を工夫すれば結構長生きさせられるようです.
研究して挑戦してみようかな。)
釣りの年会費10000円チョットでひと夏遊ぶことが出来るなら安いでしょう。パチンコと比べれば。
毎回アユのおとり代2匹1000円は別途かかりますけれどね。

こういう趣味でも人間性というのは大きく出るのですね。
この会長みんなが釣りをしているときでも、一人カマを持って釣りをやりやすいように雑草をかったり、また腰以上に深いところにあるゴミを片づけたりとみんなのために頑張っていました。  なかなか真似できません。




c0335218_14503518.jpg


スイカが成長してきました、と言ってもまだ電卓程度の大きさですけれど。
去年は半分ほど雑草に占領されたので今年は真面目に除草しています。


c0335218_14512179.jpg


トウモロコシも順調に育っています。
去年は最後何者かにかじられたのでそろそろ本気で何か対策考えようかな。
種は日にちをずらして3回植えました。
これは最初に植えたものです。小さなトウモロコシが出来ています。
これから余分な幹をカットします。
c0335218_16344796.jpg

これは 2番目に種を植えたものです。
c0335218_14515248.jpg

キュウリは真面目に手入れしているので順調です。
毎日沢山採れています。



c0335218_14530373.jpg


この花は以前載せたアルストロメリアの花です。
いまだ沢山咲いています。寿命長いですね。

c0335218_14522962.jpg


これ アジサイ?ですか、 真っ白なはなです。

c0335218_14535327.jpg
名前忘れました。
夜は閉じて太陽が出てくると開いてきますね。


c0335218_14543694.jpg


# by telmic-gunma | 2017-07-11 15:55 | 季節の風景 | Trackback | Comments(2)

ジャイロボーイをいじっていて、いままでに解ったこといくつか書いて見ます。
アフレルに聞いたことや、私がいじってみて類推したことです。
正解である保証はありません。

デバッグでの問題点
1.ジャイロボーイのEV3ソフトには、ブレークポイントがありません。
2.変数の内容(数値)をパソコンで見ることが出来ません。
3.変数の内容を見るのはEV3の顔に表示して確認します。これはリアルタイムで変化が見えるのでいいですね。
  テキストのグリッドモードで10行表示できます。変数10個表示できるわけですね。
4.センサーの内容(数値)はデーターロギングのオシロスコープモードで見える。
  これは値の変化がチャートに残るので動きがわかります。

ジャイロボーイのEV3ソフトで解ったこと
1.自立制御のループは1回転10mSec位の時間で回っている。
  動作処理時間は8.5mSecで1.5mSecの無駄時間が加算されているようです。
  タイマー割り込みは使用せずに時間処理しているようです。
2. ジャイロセンサーを角度モードで使用するとゼロ点のドリフトが大きい、20度くらいずれる。
  このため角速度モードで使用しているのかな。
3.変数 gAng  角度データ(ジャイロセンサーの角速度を積分して作っている)
4.変数 gSpd  角速度データ(ジャイロセンサーの角速度をちょっと加工して使用)
5.変数 mSum モーターの回転角度を読み取り積分してスタート地点からの移動距離
6.変数 mSpd  モーターの回転角度から計算した移動速度。



c0335218_20420525.jpg







# by telmic-gunma | 2017-07-01 20:56 | レゴ マインドストーム | Trackback | Comments(2)

マインドストームのジャイロボーイのプログラム EV3ソフトからC言語(もどき)に書き換えが済んで、おぼろげながら少し分かってきました。
変数の内容については、アフレルで教えてもらった方法でひとつづつ変数の値をジャイロボーイの顔に表示して調べ始めたところです。
変数を一つ表示すると前に表示していた変数が消されてしまうので効率わるいです。 何か考えないと。

画面を見やすくするためにジャイロボーイの形をかえました。 重心が高くなりモーメントが変わったためでしょうか、少し不安定になりました。
ソフトの定数はもとのままです。

c0335218_18161801.jpg

以下が、2輪自立動作をする部分のフィードバックプログラムのところです。
最初の方は、イニシャライズの部分ですので、実際の自立動作をするところは意外とコンパクトという感じをもちました。
8個あるマイブロックはみな一回しか使われずかつネスティングは1段なので メイン1本の形にして見やすくしました。

変数の内容が解ってきたら、細かなコメントをこれに書き込みますね。

「引用元)EV3 model program descriptionsGyroBoy Program Descriptions」

→リンク先
https://le-www-live-s.legocdn.com/sc/media/files/ev3-program-descriptions/ev3-program-description-gyroboy-8f351eb6ca8c99121f27be9cb2b12ad6.pdf

ジャイロボーイの全プログラムリスト

[M] ループヘッド

(RTS) マイブロックの先頭
Lモーター(右足)PortA イニシャライズ
Lモーター(左足)PortD イニシャライズ
ジャイロセンサー Port1 リセット
タイマー2リセット

mSum = mPos = mD = mDP1 = mDP2 = mDP3 = cDrv = 0;
cLo = gAng = pwr = st = Cstr = Cdrv = 0;
ok = X

Sleeping


( gOS )
Do
gMn = 1000;
gMx = -100;
gSum = 0;

For ( i = 0; i<200; i++ )
{
gyro = [ ジャイロセンサーの角速度値];
gSum = gSum + gyro;
if ( gyro > gMx ) gMx = gyro;
if ( gyro < gMn ) gMn = gyro;
wait(0.004) // 4mSec wait
}
while(( gMx - gMn ) >= 2 )
gOS = gSum / 200;

gAng = -0.25;
speed_up( );
Awake( );
st = 1;

// ここ迄が自立動作初期化ルーチン
// **********************************************
// ここ以後が二本足自立動作を行うところ。

[BAL] // 二本足自立のバランス処理ループヘッド

if ( cLo == 0 ) // ( GT head )
{
tInt = 0.014;
Timer1 = 0; // タイマー1をリセット
}
else
{
tInt = Timer1の経過時間 / cLo;
}
cLo = cLo + 1; // ( GT end )

タイマー1の経過時間測定;

a = 0.005; // ( GG head )
gOS = (ジャイロ角速度 × a ) + ( 1 - a ) × gOS;
gSpd = ジャイロ角速度 - gOS;
gAng = gAng + ( gSpd × tInt ); // ( GG end )


buff = mSum // ( GM head )
mSum = ( モーターAの回転角度測定値) + ( モーターDの回転角度測定値)
Diff = ( モーターAの回転角度測定値) - ( モーターDの回転角度測定値)
mD = mSum - buff;
mPos = mPos - mD;
mSpd = (( mD + mDP1 + mDP2 + mDP3 ) / 4 ) / tInt; //( GM end )
mDP3 = mDP2;
mDP2 = mDP1;
mDP1 = mD;

mPos = mPos - ( tInt × Cdrv ); // ( EQ head )
buff2 = ( 0.8 * gSpd ) + ( 15 * gAng );
pwr = ( -0.02 * Cdrv ) + buff3 - buff2;
if ( pwr > 100 ) pwr = 100;
if ( pwr < -100 ) pwr = -100; // ( EQ end )

mPos = mPos - ( Cdrv * tInt ); //(cntrl head)
右駆動 = pwr + ( Cstr * 0.1 );
左駆動 = pwr - ( Cstr * 0.1 ); //( cntrl end )


if ( | pwr | ) < 100 ) Timer2をリセット // ( CHK head )
if ( Timer2 > 1 ) ok = 真; // ( CHK end )

b = GGの直前の時刻; Timer1使用
a = 現在の時刻; Timer1使用
待機時間の値 = 0.005 - ( a - b );
wait( 待機時間 );

while( ok <> 真 )
{ ; );

GOTO BAL




この前 教えていただいた アルストロメリアの花です。
だいぶ数が増えたのでまたのせます。

c0335218_18181931.jpg
この調子でいくと、ブログごとに新しい花を乗せられるかも。









# by telmic-gunma | 2017-06-18 19:48 | レゴ マインドストーム | Trackback | Comments(4)

ジャイロボーイのマイブロック GM, EQ, cntrl について調べてみました。


c0335218_20413527.jpg


***************************************************************************
Label GM

buff = mSum

mSum = ( モーターAの回転角度 測定値 )+( モーターDの回転角度 測定値 )

mDiff = ( モーターAの回転角度 測定値 )ー( モーターDの回転角度 測定値 )

mD = mSum - buff

mPos = mPos - mD

mSpd =(( mD + mDP1 + mDP2 + mDP3 ) / 4 ) / tInt

rtn

***************************************************************************
Label EQ

mPos = mPos - tInt * Cdrv

buff2 = ( 0.8 * gSpd ) + ( 15 * gAng )

buff3 = ( 0.08 * mSpd ) + ( 0.12 * mPos )

pwr = -0.02 * Cdrv + buff3 - buff2

IF pwr > 100 THEN pwr = 100

IF pwr < -100 THEN pwr = -100

rtn


***************************************************************************
Label cntrl

mPos = mPos - ( Cdrv * tInt )

右駆動 = pwr + ( Cstr * 0.1 )

左駆動 = pwr - ( Cstr * 0.1 )

rtn

***************************************************************************


数学の拡張命令における掛け算や足し算などの優先順位は以下の通り通常の数学と同等でした。

2 + 3 * 4 => 2+ ( 3 * 4 ) 答えは 14です。


a * b + ( 1 - a ) * c => ( a * b ) + ( ( 1 - a ) * c )





いま 庭に咲いている花です。  名前は不明です。

c0335218_20123857.jpg




# by telmic-gunma | 2017-06-12 08:33 | レゴ マインドストーム | Trackback | Comments(2)

ジャイロボーイ マイブロック GG 調べました
機械的にBASIC言語もどきには、すぐできたのですが、ではここで何をしているのと、言葉で説明するところまで理解できていません。
また 使われている変数の意味、内容も分かりません。
まずは、全体をこんな感じで流してみて、それから相関関係など調べながら理解を進めるということでしょうか。
こつこつ行くしかないでしょうね。


c0335218_20413527.jpg

位置的に対応するところの下にBASIC言語もどきで書いてみます。
昔の象形文字を翻訳しているようなものですか。
ロゼッタストーンでしたか、歴史で習いましたね。

「引用元)EV3 model program descriptionsGyroBoy Program Descriptions」

→リンク先
https://le-www-live-s.legocdn.com/sc/media/files/ev3-program-descriptions/ev3-program-description-gyroboy-8f351eb6ca8c99121f27be9cb2b12ad6.pdf

c0335218_20111562.jpg
こちらは まとめて書いてます。
まだ 変数や個別の動作など分かりません。
理解できたら書き直します。



c0335218_20112738.jpg



今日も採れたイチゴです。 孫に食べさせてあげたいけど、宅急便では送れないよね。

c0335218_20120671.jpg





# by telmic-gunma | 2017-06-03 20:42 | レゴ マインドストーム | Trackback | Comments(0)


ジャイロボーイのソフト 初期設定のマイブロック gOS(サブルーチン)
私なりに理解できたので下に記載します。
全体から見ればごく一部ですけれど、まとまってから発表しようとするといつになるか分らないので出来たところから発表します。

まずは、言葉だけで表現していきます。 つぎにBASIC言語もどきで書いてます

gOS は自立するためのフィードバック制御がかかる前の処理です。
ジャイロセンサーの値が0.8Secの間(4mSecごとに200回データをとる)、連続して2より小さい値になるとここを抜け出します。 
すなわち ジャイロボーイをスタンドに座らせて0.8秒間ふらつかずに安定したら次の自立動作に進むということですね。

数値の単位は、たぶんですがジャイロボーイを90度前に倒すとジャイロセンサーの出力が90の数値になるので数値の1が角度の1度とおもわれます。 ちなみに後ろに倒すとー90となります。

オリジナルのソフト見やすくするため3つに分けて拡大してあります。
つながる部分は、解りやすくするため重複しています。

「引用元)EV3 model program descriptionsGyroBoy Program Descriptions」

→リンク先
https://le-www-live-s.legocdn.com/sc/media/files/ev3-program-descriptions/ev3-program-description-gyroboy-8f351eb6ca8c99121f27be9cb2b12ad6.pdf

c0335218_13241778.jpg

c0335218_13242567.jpg


c0335218_13243275.jpg

上記のオリジナルソフトをBASIC風に書いてみました。
このまま動くものではありません。
流れや考え方が解りやすくならないかなと思い書きました。
もし おかしいな と思われるところがありましたら、コメントで教えてください。
c0335218_16183118.jpg

私のように マインドストームの適正年齢を遥かに超えた人間にとっては動作の流れを見るのは、このほうが考えやすい気がします。

ただ どっちのソフトがいいの なんて言ってはいけないのでしょうね。
各々気に入った方を使えばいいのですから。
やはり 子供に初めていじらせるには、マインドストームの方がゲーム感覚でいじれるから良いのでしょうね。

このソフト 初めてみた時は、皆目解からなかったのですが、あちこちの方向から何日かかけてアタックしていたら少しづつ霧が晴れるような感じで見えてきました。
マイブロックは全部で8個あるので、まずはこれらを一つづつ片づけてからですね。

忘れないで書いておきたい事なのでここに書いておきます。
メインのルーチンは大きく分けて2つあります。
(A)自立だけのコントロールをする部分と、(B)カラーセンサーなどで感じて何か動作をするルーチンです。
このうち B の部分を抹消してブログラムを書き込み動作させても自立動作は正常でした。
今後はこの状態でテスト、解析するつもりです。





これ 庭に満開で咲いている「なでしこ」です。(たぶん)
ネットでみたら形は似ているけれど違う種類が100個くらいあるのにびっくりです。
c0335218_17041722.jpg


# by telmic-gunma | 2017-06-01 17:19 | レゴ マインドストーム | Trackback | Comments(2)

ジャイロボーイの基本的な数値を計ってみました。

全重量(充電式バッテリー搭載して)   817g
身長(高さ 接地部からてっぺんまで)  235mm
幅(タイヤ接地部外側)         130mm
ジャイロセンサーの中心の高さ(接地部より)75mm
重心の高さ(接地部より)        125mm
車輪の直径                55mm


ジャイロセンサーのプログラム上の使われ方について

プログラム上の使用箇所  3か所
   マイブロック RST   リセット
   マイブロック gOS  測定ー角速度
   マイブロック GG   測定ー角速度

とりあえず 上記のものを調べました。 忘れないうちに書いておきます。

疑問点は、ジャイロセンサーで「角度」を測るのではなくて、「角速度」を計っていることですね。(角度の測定モードは付いているにもかかわらず。)
累積誤差が出ないのかしら。
前回のジャイロボーイの動画では誤差の累積は見受けられませんね。
まあ 1時間とか動作させていれば、そのうちやってみます。




c0335218_20413527.jpg

庭に咲いたはなです。  名前はちょっとわかりません。
c0335218_10011358.jpg


# by telmic-gunma | 2017-05-31 10:11 | レゴ マインドストーム | Trackback | Comments(2)

マインドストームのジャイロボーイの動画を撮れたので載せます。
すごく安定しています。
これから いろいろ調査、勉強したいと思います。






c0335218_20413527.jpg


イチゴが色づいたのでたべました。
苗を植えて二年目、今回 初めて採れましたが、思いのほか大きかったです。
野イチゴみたいなのを考えていたのでスーパーで売っているのとそん色ない大きさには嬉しくなりました。
甘さは今一かな。 砂糖と牛乳で食べればいいかも。 ジャムもいいね。


c0335218_21065252.jpg


# by telmic-gunma | 2017-05-30 07:16 | レゴ マインドストーム | Trackback | Comments(2)

ジャイロボーイのソフト どうなっているのか勉強を始めてみたのですが、思いのほか難しくてわからない。
そこで代理店のアフレルに「ジャイロボーイのソフトの説明書有りませんか」、と聞いてみたら英文のソフト説明を教えてくれました。
こう言っちゃあなんですが、英語はからっきしなので、もう無条件に翻訳ソフトを通過させてみました。
グーグルの「英文和訳」で検索して最初に出てきたグーグルのものを使って翻訳してみました。
日本語として少しおかしなところもあるけれど、 私よりは遥かに頭いいですね。
なにも 完璧である必要はなく たった一言でもヒントとなってスカッとわかることありますものね。


もし これを読んだ人で 「ここの意味こうじゃないの」というのがありましたら コメントで教えて下さい。

どこかで読んだのですが、この マインドストームの適正年齢は10歳から21歳と書いてありました。
私なんか この上限を3倍以上過ぎてしまっているのですよ。 どうしたらいいのでしょうか。


「引用元)EV3 model program descriptionsGyroBoy Program Descriptions」

リンク先
https://le-www-live-s.legocdn.com/sc/media/files/ev3-program-descriptions/ev3-program-description-gyroboy-8f351eb6ca8c99121f27be9cb2b12ad6.pdf

c0335218_18520597.jpg



ジャイロボーイ メインまとめ

**************************************************************************
ジャイロボーイ Overview

Gyroboy runs two parallel program string.
The first string, loop M, handles the data collection and balancing equations.
These are all tuned to the robot and should not be changed without advanced knowledge.
The second loop, BHV,handles the behavior of the robot.
It allows basic control and sensor feedback.
By changing the varables Cdrv and Cstr, you can make the robot do what you want


Gyroboyは2つの並列プログラム文字列を実行します。
最初の文字列、ループMは、データ収集とバランシング方程式を処理します。
これらはすべてロボットに調整されており、高度な知識がなければ変更しないでください。
2番目のループBHVは、ロボットの動作を処理します。
基本的な制御とセンサフィードバックが可能です。
変数CdrvとCstrを変更することで、ロボットはあなたが望むことをすることができます


**********************************************************************
ジャイロボーイ Overrview 1

Loop M begins with My Block RST, this will reset all motors and sensor.
My block gOS checks to see how still the robot is.
Once complete, the robot sets up its launch sequence.
On display graphics show an expression for the robot.


Loop MはMy Block RSTで始まり、すべてのモーターとセンサーをリセットします。
マイブロックgOSは、ロボットがまだどれくらいの状態であるかを確認します。
完了すると、ロボットは起動シーケンスを設定します。
ディスプレイグラフィックスでは、ロボットの式が表示されます。

**********************************************************************
ジャイロボーイ Overview2

Loop BAL takes all of the data from the Gyro Sensor and Motor sensores to process then to balance
Time is also used in the calculations
Timer1 is used to calculate the time it take to run the equation, and regulated,and requlates the time between getting the data and running the balancing equation.
The time needs to be regulate in order to have a more stable robot.
The Unregulated Motor Blocks for Motor A and D are used to make sure that only the balancing equation requlates the movement.
not any other internal calculations.
Myblock CHK is there to check if the robot has fallen and ends the loop with Variable ok ifit dose.
The My Blocks are show as they are to improve readability and possible customization.


ループBALは、ジャイロセンサーとモーターセンサーのすべてのデータを処理してバランスを取る
時間も計算に使用されます
Timer1は、方程式を実行するのにかかる時間を計算するために使用され、調整され、データを取得してバランシング方程式を実行するまでの時間を再計算します。
より安定したロボットを使用するためには、時間を調整する必要があります。
モーターAとDの調整されていないモーターブロックは、平衡式だけが動きを再現することを確認するために使用されます。
他の内部計算ではありません。
Myblock CHKは、ロボットが落ちたかどうかをチェックし、用量が変わったらループを終了します。
My Blocksは、読みやすさとカスタマイズ可能性を向上させるためのものです。

**********************************************************************
ジャイロボーイ Overview 3

Loop Mends by stopping the motors and behaviors
Achange in graphics,sound and brick light display
indicate the fallen status and is ready to reset.
the user to put the robot back on the stand,then by pressing the touch sensor the robot can start again


モーターとビヘイビアを停止してループを作成する
グラフィック、サウンド、ブリックライトディスプレイのAchange
落ちた状態を示し、リセットする準備ができています。
ユーザがロボットをスタンドに戻すようにしてから、タッチセンサを押すことによってロボットは再び始動することができる

**********************************************************************
ジャイロボーイ Overview 4

Loop BHV controls the behavior of the robot
State variable S is wired to A switch in Numeric Mode with 3 options.
If Variable S is 0, the Variables CDrv and Cstr are set to 0 and this is the idle state of the robot.
If S is 1.
the robot does a launch sequence.
Variable CDrv is set to 40 for 4 seconds.
then back to zero then Variable S is changed to 2 in order to begin the movement state


ループBHVはロボットの動作を制御します
状態変数Sは3つのオプションで数字モードのAスイッチに接続されています。
変数Sが0の場合、変数CDrvとCstrは0に設定され、これはロボットのアイドル状態です。
Sが1の場合
ロボットは起動シーケンスを実行します。
変数CDrvは4秒間40に設定されます。
次にゼロに戻り、変数Sが2に変更されて移動状態を開始する

**********************************************************************
ジャイロボーイ Overview 5

when Variable S is 2,
it is the main operating and interctive state of the robot.
The Color Sensor is checked and for each available color,
this is a different value for variables Cstr and Cdrv.
The next Switch in Ultrasonic Mode checks to see if an object is in front of the robot.
if there is,the robot stops and saves its last driving condition,
then prepares to tum away by moving slightly back, and waving its arms.
The robot than turns randomly left or right for a few seconds and goes back to its
previous driving state.


それはロボットの主な動作状態および活動状態である。
カラーセンサーがチェックされ、使用可能な色ごとに、
これは変数CstrとCdrvの値が異なります。
次の超音波モードのスイッチは、物体がロボットの前にあるかどうかをチェックする。
ロボットが停止していれば、その最後の運転状態を保存し、
やや後ろを動かして腕を振って脱走する準備をする。
ロボットは数秒間ランダムに左右に振り回され、
前の運転状態。

******************************************************************


ジャイロボーイ サブルーチン オールまとめ


*************************************************************
ジャイロボーイ サブ RST

My Block RST resets all motors, sensors, timers and variables that are needed in this program.


マイブロック RSTは、このプログラムで必要とされるすべてのモーター、センサー、タイマー、および変数をリセットします。

*************************************************************
ジャイロボーイ サブ gOS

My Block gOS makes an offset value of the Gyro Sensor in its steady position.
If the Gyro is slightly drifting.
this will keep the value requlated as the robot moves.
The offset is also dynamically calclated while the robot is running.
To calculate this value the gyro value is read and added together 250 times.
In each addition,
the value is checked at maximum and minimum values to make sure the robot is steady.
After Loop gChk ends, the difference between gMax and gMin is checked,
if the value is less than 2,
the calculation will continue, otherwise the robot will check the gyro again.
The average of the gSum is takenby the Math Block dividing by 250, and then this is wired to the Variable gOS.


マイブロック gOSは、ジャイロセンサのオフセット値を安定した位置にします。
ジャイロがわずかに変動している場合,これは、ロボットの動きに応じて値を再設定します。
オフセットは、ロボットが動作している間も動的に計算されます。
この値を計算するために、ジャイロ値を250回読み取り、加算します。
各追加において、値は最大値と最小値でチェックされ、ロボットが安定していることを確認します。
ループの終了後、gMaxとgMinの差がチェックされ、値が2未満の場合、計算が続行されます。
そうでなければ、ロボットはジャイロを再度チェックします。
gSumの平均は250で除算された数学ブロックによって取り込まれ、次にこれは変数gOSに配線されます。

*************************************************************
ジャイロボーイ サブ GT

My Block GT calculates a time interval based on a timer and loop count.
Timer 1 is divied by Variable cLo,
witch represents the loop count and wired to the Variable tlnt.
One is added to Variable cLo after the calculation.


マイブロックGTはタイマーとループカウントに基づいて時間間隔を計算します。
タイマー1は変数cLoで除算され、witchはループカウントを表し、変数tlntに配線されています。
計算後に1が変数cLoに追加されます

*************************************************************
ジャイロボーイ サブ GG

My Block GG gets information from the Gyro Sensor.
Variable gOS, from the My Block gOS,is used to create a dynamic offset.
The Gyro Sensor,reading degrees/seconds is used to create a newoffset.
The difference between the gyro reading and Variable gOS creates Variable gSpd.
This way is faster than using the direct readings from the gyro and compensates for drifting in the gyro as it happens on the robot.


マイブロック GGはジャイロセンサーから情報を取得します。
マイブロック gOSからの変数gOSは、動的オフセットを作成するために使用されます。
度/秒を読み取るジャイロセンサーを使用して、新しいオフセットを作成します。
ジャイロの読み値と変数gOSの違いは、変数gSpdを作成します。
この方法では、ジャイロからの直接読み取りを使用するよりも高速で、ロボットで発生するジャイロのドリフトを補正します。

*************************************************************
ジャイロボーイ サブ GM

My Block GM gets information from the motors.
First,the motor position is calculated by adding the degree values of Motor A and D and subtracting that value from a prevous calculation.
Variable mD is the initial difference.
The difference is added to an old mPos and makes the new mPos.
Motor speed,Variable mSpd,is created by taking an average of 4 motor differences and dividing by Variable tlnt.
The last blocks move the motor differences to other variables in succesion.


マイブロック GMはモーターからの情報を取得します。
まず、モーターの位置は、モーターAとDの次数値を加算し、その値を前の計算から引いて計算されます。
変数mDは初期差です。
差異は古いmPosに追加され、新しいmPosが作成されます。
モータ速度、変数mSpdは、平均4つのモータ差をとり、変数tlntで除算することによって作成されます。
最後のブロックは、モーターの違いを他の変数に移動します。

*************************************************************:
ジャイロボーイ サブ EQ

My Block EQ is the balancing equation.
Using the variables mPos,mSpd,gAng,gSpd and Cdrv, the Veriable pwr is created.
First create a target mPos using Variable Cdrv.
Next,Multiply gAng with .8 and gSpd with 15.
The same is done with Variables mPos, with .12 and mSpd with .08.
These multipliers give weight to the variables that are added together in a Math Block.
All arefinally added together with Cdrv and multiplier -.02 to create the pwr Variable.
Lastly, Variable pwr is checked if it is greater than 100 or less than -100 and sets the value to the maximum or minimum if needed.


マイブロックEQはバランスの取れた式です。
変数mPos、mSpd、gAng、gSpd、およびCdrvを使用して、Veriable pwrが作成されます。
最初に、変数Cdrvを使用してターゲットmPosを作成します。
次に、0.8でgAngを乗算し、15でgSpdを乗算します。
変数mPosでは.12、mSpdでは.08と同じことが行われます。
これらの乗数は、算術ブロックで一緒に加算される変数に重みを与えます。
すべてがCdrvと乗算器-.02と一緒に追加され、pwr変数を作成します。
最後に、変数pwrが100より大きいか-100より小さいかどうかがチェックされ、必要に応じて値が最大値または最小値に設定されます。

*************************************************************
ジャイロボーイ サブ Ctrl

My Block Ctrl uses teo variables to control the robot.
Cdrv is again used to create a target motor position.
The Variable Cdrv is multiplied by tlnt and subtracted from the previous mPos to create the target.
Variable Cstr is multplied by .1and, when added to the power,
Variable pwr will wire to the left drive motor.
By subtracting the wire will go to the right drive motor.


マイブロック Ctrlは、ロボットを制御するためにteo変数を使用します。
Cdrvを再び使用して目標モータ位置を作成する。
変数Cdrvにtlntを掛け、前のmPosから減算してターゲットを作成します。
変数Cstrは.1で乗算され、電力に加えられると、
変数pwrは左の駆動モーターに配線されます。
ワイヤを差し引くことにより、右側の駆動モーターに送られます

*************************************************************
ジャイロボーイ サブ Chk

My Block Chk checks if the robot has fallen.
If the power is 100 for more than 2 seconds,
the Variable ok will end the balancing loop and robot can be placed on the stand again.


マイブロック Chkは、ロボットが落ちたかどうかをチェックします。
電源が100秒間2秒を超える場合、
[OK]ボタンを押すとバランシングループが終了し、ロボットを再びスタンドに置くことができます。

*************************************************************

庭のイチゴに実がなってきました。まだ花が咲いているのに早いですね。
赤くなるまでもうちょい、イチゴジャム できるかな。

c0335218_15060424.jpg








# by telmic-gunma | 2017-05-20 18:57 | レゴ マインドストーム | Trackback | Comments(2)

マインドストームのジャイロボーイ(自立二輪ロボ)うごきました。
メカを組み立てるのは部品点数が多くてたいへんだったですが、ソフトの方はメーカーが作った物を転送するだけなので簡単でした。
一発で動いたのにはびっくりでした。

電卓(HP29C)は大きさ比較のため置いてあります。 組みあがってみると意外と大きいですね。
c0335218_20413527.jpg




c0335218_20420525.jpg





c0335218_20424262.jpg
動画がうまく撮影できなかったのでうまく行ったら後で載せます。

この後やりたいことは ジャイロボーイのソフトを解読することですね。
初めての言語を覚えるのは、上手な人が作ったソフトを徹底的に解読するのが一番身に着く気がします。

またアフレルに聞いたら、回路図なども公開されているので、面白いセンサーや出力装置を手作りしてつなげてみたいです。

これ いつまでも孫にわたさないで私が勉強していたのでは(楽しんで?)、そのうち怒られそうですね。



我が家の庭にさいた「スイセン」です。
c0335218_20430924.jpg


長ネギの苗をうえました。 おじさんのところから貰ったもので、市販されている苗よりも大きくて元気がいいです。 
c0335218_20433916.jpg


# by telmic-gunma | 2017-05-11 21:56 | レゴ マインドストーム | Trackback | Comments(2)

NHK 大科学実験を見ていたら「坂の下であいましょう」というテーマをやっていました。「サイクロイド曲線上ならばどこからボールを転がしてもスタートが同時ならばゴールも同時」ということです。
大科学実験の売りは「答えはやってみなくちゃわからない」ですけれどこれ計算だけで確認できたら面白いなと思い挑戦してみました。
高校時代の物理の教科書を出してきて勉強を始めました。

c0335218_14250776.jpg


これは Eテレの画面です 白い曲線がサイクロイド曲線と呼ばれる一番短時間で通り抜ける曲線です。
c0335218_14251437.jpg


サイクロイド曲線上での自由落下、曲線のままでは難しいので、最初のステップとして直線を何本も組み合わせて折れ線近似でやるように計画しました。
まず 大きさは 後で実物模型で実験ができるように直径1mの円を転がしたときにできるサイクロイド曲線で計算してみます。
近似直線のつなぎ目は転がる円の20度ごとにしました。  
実際は当然上下逆になりますが、数学としてのグラフはこのままにしたあります。

c0335218_14261852.jpg


計算に使用する公式などは以下のものを使いました
c0335218_14264704.jpg
サイクロイド曲線の売りは、坂のどこからスタートさせても到達するまでの時間は一緒ということなので以下の3種について計算してみます。

0度~180度

c0335218_14252743.jpg

60度~180度

c0335218_14253849.jpg


120度~180度

c0335218_14254899.jpg


計算は、はじめHP29Cを使いましたが、メモリオーバーになったので HP32SIIに乗り換えました。
頑張って節約すれば入ったでしょうが、これ一か月以上やっていたので人間のエネルギーがなくなりました。

HP32SIIでのソフト
c0335218_11434333.jpg

使用変数名表
c0335218_11252601.jpg
結果
0度~180度   0.710557578秒

60度~180度 0.715087422秒 (+0.64%)

120度~180度  0.734847684秒 (+3.42%)

最後の120度~180度が大きくずれていますが、この間は3本と少ない直線で近似しているため誤差が大きくなったものと思われます。
まあ これならスタート地点が変わっても時間は同じと言えるのではないでしょうか。

この後のやりたいこと。
*120度~180度の間は 折れ点の数を10個くらいに増やして結果がどうなるか確認してみたい。
*直径1mの円で実物のサイクロイド曲線を作りビー玉を転がして時間を確認したい。今回の計算はトンチンカンの値かもしれない。
*折れ線の近似曲線ではなく数式通りのサイクロイド曲線で答えを出してみたい。(かなり勉強が必要でしょうか?)
*大科学実験の実験装置の計算をしてみたい。
*サーキットビュアー(回路シュミレーター)に乗せてやってみたい。

この事でちょっと自信が付きました。 これなら 他の物にも同じ調子で、あきらめずにぶつかっていけば何とかなるかもしれないとおもいます。


我が家の庭に咲いた イチゴの花 です。 
雪の下に埋もれていたのに元気です。 大きな実がなるといいですね。
c0335218_16250093.jpg








# by telmic-gunma | 2017-05-04 16:31 | HP電卓 | Trackback | Comments(4)

飛びすぎるグライダー

家の近くにある農協の駐車場でバルサ(とても軽い木材)を使った飛行機の作り方を教えている人に出会いました。
お名前は米谷義博さんという方で歳は私とほぼ同じ。
子供たちに、モノ作りの楽しさを教えて行きたいということでした。
(ここに すごく共感しました)
いろいろお話を聞いてみると、呼ばれてあちこちで飛行機作りの講習会を行っているそうです。
たくさん置いてある飛行機の一つを取って飛ぶところを見せていただきましたが、もうびっくり。
高く上がってなかなか降りてきません。屋根の上に上がってしまいそうでヒヤヒヤでした。
うまく調整すると1分以上飛んでいるそうです。
私が若いころゴム飛行機大会のタイムが52秒でしたから(頑丈にしてゴムをいっぱい積んでみたのですが)
わずか20cmほどの飛行機がそれ以上の時間を動力無し飛んでいるなんて信じられませんね。
こういうのは、設計がよくて、バルサを使った作り方が良くて、調整の仕方が良くてなんでしょうけれど、
やはりコツというか肝というか、基本というか一番大事な事を会得した人だけができるのでしょうね。
この飛行機を見て今までの私の知識と大きく違うところは、重心位置が主翼中央からやや後ろ気味というところでした。
いままでは主翼前縁から1/3位と思っていました。
あと主翼の迎角がほとんどないことですね。尾翼も水平です。
聞いたら主翼の迎角は0.5度くらいと言ってました。そんなの無いのと同じですよね。

c0335218_22325888.jpg


c0335218_22335284.jpg

c0335218_22345525.jpg

今回の話はこれで終わりということではなくてまだありました。
ひと月程前に、物置の奥でこんな本を見つけました。

c0335218_22361244.jpg


購入した記憶は全然残っていません。 
おしりのページに「明倫館書店」のラベルが貼ってありました。
これ 神田の技術書の古本屋さんで買ったのですね。定価2900円となってました。
700ページほどあり、とても厚いです。
購入したのは40年近く前と思われます。
そして購入以来一度も読んではいないということですね。
こういう本、多いです。(はずかしい)
不思議ですね。 
模型飛行機の名人に会うのと飛行機の本を見つける時期が数十年のスパンを経て同じになることが。
こういうのを「引き寄せの法則」というのでしょうか。


c0335218_22371226.jpg
この本は、昭和43年1月10日 第1版発行となっています。
中には 難しい計算式やグラフがたくさん載っていますが、これ計算はどうやったのでしょうか。
昭和43と言えば大型計算機が少し出てきたあたりでしょうか。 まだ電卓やパソコンは無いですね。
計算尺だけでこんなに計算できるでしょうか。
宮崎駿監督の「風立ちぬ」の中で堀越二郎が飛行機の設計をするのに計算尺を使うシーンがたくさんでてくるけれど
一人で全部計算したのでしょうか。
こんなこと いろいろ思ってみるのも楽しいですね。

追記
使用していた接着剤
   木工用ボンド(速乾性)白いチューブ
   アロンアルファ

やすりは
   耐水ペーパー 240番



我が家の庭に咲いた チューリップ

c0335218_16445935.jpg


# by telmic-gunma | 2017-04-29 00:08 | おもちゃ | Trackback | Comments(2)