39ギター

35年ぶりに弾き始めたクラシックギター
神経痛と戦いながら
どこまでバッハに迫れるか
蝶も花もアーチェリーもあるよ

大きなドツボにハマっています

2019-10-31 21:52:48 | 日記

こんばんは

 

Processing言語を勉強しています

試しに迷路のプログラムをPythonから移植していますが、ある部分で大きなドツボにハマっています

それは配列です

Pythonの配列は柔軟性がありほぼ直感的に操作ができますが、Processing言語の場合はいまのところさっぱり訳がわかりません

見た目はちゃんと定義してちゃんと操作しているつもりなんですが、いざコンパイルすると訳のわからないエラーが頻出します

しかも本当のエラーの場所とエラーの内容を表示するわけではなく違うことを言ってきます

{波かっこ}がおかしいとか足りないとか言われて調べてみてもおかしくない、おそらくその箇所の少し前のどこかでエラーがあるんでしょう

JavaとかC言語の{波かっこ}とセミコロン;が大嫌いなので余計にイライラしています

候補を少しずつ絞り探ってみるとどうやら二次元配列の要素の追加や条件文の中での記述などがおかしいらしい

ネットで調べても「二次元配列の要素の追加」「二次元配列の条件式」など都合の良いものは出てきません

散々調べてみてやってみて多少の糸口を見つけているところです

ArrayListと言うライブラリーがあるのでそれを調べてみようと思っています

 

Processing言語はほぼJava言語と同じで僕としては初めてなんですが、他の色々な言語とはそうたいして違いはない感じで捉えていました

どうもどこか考え方が大きく違っているようでPythonのような直感で使える言語のようにはなりません

まあ新しい言語の取得時は大抵こんな感じのことがあるので、いつものようにしつこく食い下がるようにはしていますが、寄る歳波でしょうか気力が萎えてきそうです

 

そこで、アマゾンでProcessing言語の入門書を注文しました(今月の予算オーバー)

後半がリファレンスになっているのでネットよりも調べやすくなるでしょう

ただこの本も入門書だけに深くつっこんだ内容についてはあまり期待できませんし、リファレンスもネットで公開されているリファレンスとほぼ同じでパラパラとめくって調べられるのが便利なだけでしょう

ほとんどJavaなのでJavaの本も調べた方が良さそうです

 

やってもやっても調べても調べても悩んでも悩んでも、全然前に進めない

そんな時こそ「なにくそ!」と食い下がってなんとか前に進んできたではないか・・・

 

 

葛花(秋の七草)

ツルがメッチャはびこって感じの悪い雑草ですが、花は割と綺麗です

クズの根は葛粉とか葛根湯になる便利な植物です


アート・デザイン・プログラミング・数学が融合した本

2019-10-30 22:54:04 | 日記

こんばんは

 

電子工作

2色表示32x32ドットマトリクスLEDはハード的には完成しましたが、結局ラズパイの処理速度が追いつかずチラチラしたままです

迷路の作成と探索は正常に動いて、赤色で作った迷路の中を緑色のドットが走りその軌跡を緑の線が追いかけます

ドットが行き止まりにまると少しずつ緑の軌跡を消しながら後戻りし、また新しい道を進み最後にゴールに達します

その動きを見ていると楽しくなりますが、眠たくもなります

 

その動きがチラチラしてしまうのは残念なことですが仕方ありませんね

このシャープ製の16x16ドットマトリクスLEDパネルは他のものとは違い何かの製品用の横流しのような感じで、趣味用と言うよりプロ用な感じがします

ドットあたり80mA流せると言うところがそもそもプロっぽく、おそらくそれぐらい電流を流して屋外で見えるほど光るんだと思います

いまの状態は60mAぐらい流れていてこれでも結構な明るさになると思うんですが、それほど光っているようには思えません

もっと大きな電流を流せる外部電源にすればいいのでしょうがいまのところは3AのACアダプタしかありません

それに大きな電流を流すとソースドライバが無理になり、その代わりFETなどを使う大袈裟な回路になります

そんなことになると大変なのでこれはいまのところこれで終わりにします

 

と言うことで次は何をしようかと考えていますが、ここで工作から少し離れてプログラミングの方を勉強しようかと思っています

しばらくArduinoIDEのC言語とそれと相性の良いProcessing言語を並行して勉強します

Raspberry PiのPython言語もまだ勉強が足りません

これらの言語はブレッドボードを使った回路製作とセットになり、電子回路の勉強にもなります

少し電子回路や言語関係を学習したところでまたハードの工作を始めても良いですね

本を見ながらの勉強だけではきっと飽きてしまうのでハード工作もしたいのですが、いまのところ課題が見つかっていません

 

自作のLEDパネルを使った落ちものゲーム

気象センサを使った気象データロガー

モーターを使った自動走行車(ライントレーサーもあり)

色々と考えておきましょう

 

毎日の散歩コースに本屋さんを入れてあるので毎日のように本屋の棚をチェックしています

新しい本を見つけました

表紙がコミックポイですが中身は幅広く、Raspberry PiやArduinoそれにMathematicaまで使って色々と話題豊富な本です

 

本屋さんのデザイン関係の棚にある本で、著者は数学者

内容は数学的な話やデザインや色彩の話など色々で、綺麗なデザインサンプルが掲載されています

使われているプログラミング言語はProcessing言語で、アート・デザイン・プログラミング・数学が融合した本です

 

来月になったらこの2冊とProcesing言語のリファレンス本の計3冊をアマゾンで購入する予定です

最近の本は高いので3冊で1万円近くなり、予算(お小遣い)管理が大変ですが、楽しみにしています


もう少し落ち着いて考えてみよう

2019-10-29 22:57:24 | 日記

こんばんは

 

電子工作

秋月から部品が届いたので早速作業

2色表示のテスト基盤に150Ω抵抗を取り付けた

 

次にマイクロUSBをブレッドボード に接続するための端子を作った

 

5V3AのACアダプターも調達したので、これでLED基板に与える電源をラズパイから独立させることができる

 

忘れてはいけないのがGNDをラズパイのGNDと共通にすること

電源をつないでいよいよ電源投入の時がきた

いつものように最初は緊張する

祈りながらスイッチオン

いつものように何事もなく立ち上がっている

プログラムを走らせる

ちゃんと迷路を表示して探索をしている

 

次は大きな基板だ

同じように電源を繋ぎ、祈りながらスイッチオン

プログラムを走らせると

前よりは安定した動きになっている

しかし、チラつきは依然として残る

これがラズパイの速度の限界か・・・

プログラム的に少し変更してほんの少し早くなったが、もはや処理速度は限界に達しているようだ

 

う〜ん・・・

もう少し落ち着いて考えてみよう


ウワノソラにならないように気をつけよう

2019-10-28 22:40:10 | 日記

こんばんは

 

Processing言語とArduinoの連携について調べていますが、本やネットで調べた通りに打ち込んでも書いてあるようにはなりません

まだまだ理解が足りない

Processing言語の本を早く買わなければ

巻末にリファレンスがついているので便利そうです

Processing関係の本は近くの本屋にはほとんど置いてないので、ネットで注文するか街のもっと大きな本屋に行ってみるしかないですね

 

秋月に注文した部品が明日届きます

その中に150Ωの抵抗があるのでそれを2色表示のテスト基板につけたら5vでテストができます

今日はその基盤の今ついている抵抗を外しました

小さな基盤の狭い所についているのでハンダゴテで他の部品を焼かないかと気を使いますよね

 

明日から仕事がちょっとあるので上の空にならないように気をつけよう


好奇心の輪がさらに広がりそうです

2019-10-27 22:33:20 | 日記

こんばんは

 

日曜日の今日はいつものアーチェリーランドで健康的にアーチェリーを楽しんできました

特にこれと言って進歩はないのですが、リリーサーを2種類交互に使ってどちらでも同じように的に当てる練習

リリーサーが違うと射形が異なり必ずしも矢は同じ所には当たりません

これをできるだけ近づけるように考えながら射つと色々と気づくところが多くあり次第に両方共正確に打てるようになります

まあとにかく色々と変えながら練習したと言うことです

 

電子工作

今のところすることがないので、Arduinoに迷路のプログラムを移植するときのことを考えて見ました

言語がPythonとCなので大きく異なります

特に気になるのは配列の扱い方で、Pythonの方は至れり尽くせりなんですが、C言語の方は固定長の配列しか扱うことができないらしくこれでは困ってしまいます

ポインタを使った連結リストとか難しいことをすればできそうですが、どうもやる気になりません

そこで色々と調べるうちに気づいたのは、じゃあProcessingならどうなんだと言うことです

文法的に貧弱なArduinoIDEのC言語をProcessingで強化すると言うことです

Processing言語を調べてみると配列に対するメソッドが色々と用意されており、配列の拡張や切り取り末尾への拡張と末尾からの取り出しなどが可能です

つまりスタックのpushとpopができるのでこれさえできればなんとか迷路の作成と探索は実現できそうです

Processingで配列を使い迷路の作成と探索をして、その表示をArduinoが担当すると言った具合です

 

ますますProcessing言語について興味が湧いてきました

来月の5日になったらProcessing関係の本をアマゾンで買います(カード決済の関係で)

それまでは今まで作った基盤の5v化をして、おきます

Arduinoに手を出したために、また新しい言語の習得など思わぬ方向に趣味の世界が拡張しそうです

どこまでできるかわかりませんが、好奇心の輪がさらに広がりそうです