プログラミング素人のArduino

技術屋の末端。プログラミングは専門外。 電気回路も専門外です。 コードに間違いなど見つけられたら、気軽にコメントください。 VC#、ラズパイ始めました。

Visual Studioで間違ってClickイベントができてしまったら

Visual StudioC#コーディング中、よく起きるのが、まちがってフォームクリックイベントを作ってしまうこと。

private void Label1_Click(object sender, EventArgs e)
{

}

これをだからといって、Codeから消そうとすると、DesignerがErrorを出す。
f:id:s51517765:20170323230004j:plain

正しい解法は↓

1.デザイン画面で、イベントハンドラを消したいコントロールを選択。
2.プロパティウインドウのイベント一覧ボタン(雷マーク)をクリック。
3.消したいイベント名(一覧左側のClickとか)を右クリック。
4.「リセット」を選択。

detail.chiebukuro.yahoo.co.jp

Visual Studioでフォームデザインが表示されないと思ったら

Visual StudioでVC#プログラミングをしているとき、何かの拍子にForm1.cs[デザイン]のタブがいなくなった。

f:id:s51517765:20170224213628j:plain

このように、Form1.csに対して、

f:id:s51517765:20170224213632j:plain
のようなもののことだが。

通常、プロジェクトファイルは、VS上で ファイル¥開く¥プロジェクト/ソリューションと 選択するか、
f:id:s51517765:20170224213859j:plain

直接エクスプローラから選択すると、通常は開発画面が復旧する。

しかし、Form1.cs[デザイン]がいなくなってしまった状態では、いない状態しか現れない。
エクスプローラからForm.csやForm1.Designer.csは開けるが、Form1.cs[デザイン]はない。
f:id:s51517765:20170224213905j:plain
かといって、プロジェクトが壊れてしまったとか、関連付けがなくなってしまったわけではないようで、Debug/Release機能を使えば正常にアプリが動作しているのである。

ぐぐるが似たようなキーワードの現象は見つかるものの、ちょっと違うようなのである。

www.google.co.jp

試行錯誤の結果、右側のソリューションエクスプローラから開くことができた。
Form1.cs をダブルクリック。
f:id:s51517765:20170224215342j:plain

うーん、やれやれ。

ちなみに↓は6章まで読み進めた。

ゴールからはじめるC# ~「作りたいもの」でプログラミングのきほんがわかる

ゴールからはじめるC# ~「作りたいもの」でプログラミングのきほんがわかる

オブジェクト思考、クラス、インスタンスといったところが分かりにくいが、すべてはわからなくても何とかなる。

Visual Studio 2015によるWindowsアプリケーション作成

Visual Studio Community 2015によるWindowsアプリケーション作成を始めました。

もともとはC言語によるプログラミングをやっていましたが、コマンドプロンプトで動作するプログラムだけではなく、Windowsアプリを作ってみようと思いました。

そこで、Visual Studioをつかえばそういったことができるとわかりました。
しかし、Visual StudioC言語はできなくはないけど、すでに推奨環境ではないことがわかりました。

ようするに、Windowsアプリをこれから始めようとするなら、 Visual C#または Visual Basicのほうが良いということです。

Visual Studio Communityでも標準インストールではC/C++はインストールされません。

Visual C#C#の拡張でWindowsアプリなどを作ることができるものですが、C#C/C++Java? の拡張らしいです。

ちょっと調べてみると、C#はCの類推だけでもかなり理解できそうだとわかりました。
しかも、文法の許容範囲が広く、むしろ簡単のようです。
(文法の制限が緩いということは、意図しない動作を許容することになるので必ずしもいいことだけではありませんが)

そんな感じで作ってみたのが
f:id:s51517765:20170205112053j:plain

開発画面はこんな感じ。
f:id:s51517765:20170205112101j:plainf:id:s51517765:20170205112710j:plain
金利計算は簡易的です)

参考にしたのは↓

コマンドプロンプトで動作するコンソールアプリケーションと言われるものとVisual C#のもっとも違う点は、
Formでのボタンクリックや、テキストボックスからの情報の取得です。
それ以外はこれまでに学んできたCの基本がそのまま使えます。


ボタンクリックで動作する内容は、Form画面で設置した”ボタン”をダブルクリックすると、このようなコードが自動生成します。
この中にコードを記述します。

  private void button1_Click(object sender, EventArgs e)
        {
      }

テキストボックスへの出力はこのような形。

label3.Text = year + "年で達成できます。";

この本には各章ごとに練習問題があり、この本を購入するとそのコード全文も見ることができます。
ですから、自分ではわからないことはどのように記述すればいいかも答えを見ることができます。

たとえば、4章の章末問題はこのようなもの。
f:id:s51517765:20170205120039j:plain

ゆっくり勉強しても2週間ぐらいでこれぐらいまでできるようになりました。

ちなみにこの本はKindle版もあるようですが、これに限りませんが視認性は紙に限りますね。

抵抗の並列接続とは

直流電源に対して、抵抗を接続するとき、所望の抵抗が無ければ(ラインナップに無かったり単純に手元に無かったりすれば)合成抵抗という手法を用いる。

 

たとえば、300Ωが必要なら100Ωと200Ωを直列にする。

このように使えることを前提にして抵抗値のラインナップは飛び飛びの値しか用意されていない。

 

ところで、抵抗接続接続にはもうひとつ並列接続というのがある。

 

直列接続では合成抵抗はそれぞれの抵抗値を足せばいいのに対して、並列接続では掛けたものを足したもので割る。

これがどういう意味か考えてみる。

 

たとえば電圧Vの電源にR1ΩとR2Ωの抵抗を並列に繋いでみると、それぞれの抵抗両端の電圧はVである。

またR1に流れる電流をiとすると、

V= R1*iでまた、R2に流れる電流をjとすると

V =R2*jである。

 

並列接続のとき電流は2つの抵抗を流れる電流の和なので、i+j = V/R1 + V/R2

 

電圧はVで電流は上記なので

抵抗RはV/(i+j)= 1/(1/R1 + 1/R2)

R= (R1*R2)/(R1+R2)

 

Win10にVisual Studio Communityをインストール

Visual Studio Communityをインストールした。

Visual StudioWindowsで定番のIDEである。
高機能な反面、重いことでも有名。

www.atmarkit.co.jp

このへんを参考にインストールを進めようとしたが、記事のなかでは日本語になっているのにサイトは英語しかない。

www.visualstudio.com

どうやら、英語のみになったらしい。

日本語化パッチも同時に入手しておく。

qiita.com

インストールが始まって20分以上たったが、まだ継続中。
C++に限定すれば早かったのかな?
f:id:s51517765:20170106214140p:plain

できた。ここまで1時間半ぐらい。
初めて起動するときはMSアカウントを入力する必要がある。
Win10のsetupで使ったものだが、なければここで作成する必要がある。
f:id:s51517765:20170106223705p:plain

次に日本語化パッチを起動。
f:id:s51517765:20170106223716p:plain
こちらも20数分。

日本語化パッチのインストールがすんだらVCをまた起動して、メニューのTool¥Option¥Environment¥International Settingsから日本語を選択。
etclsc.hatenablog.jp

つぎにプロジェクトの作成にすすむ。
メニューのファイル¥新規作成¥プロジェクトからVisual C++を選び、2015 Tools for Desktopを選択しインストール

ここでまた、インストールに30分ぐらい。もっとかかったか?
f:id:s51517765:20170107124929p:plain
これで、こんどこそインストール完了。

チュートリアル: Win32 コンソール プログラムの作成 (C++)

[ファイル] メニューの [新規作成] をポイントして [プロジェクト] をクリックすることにより、プロジェクトを作成します。
[Visual C++] プロジェクトの種類ペインで、[Win32] をクリックし、次に [Win32 コンソール アプリケーション] をクリックします。
プロジェクトの名前を入力します。
既定では、プロジェクトを含むソリューションはプロジェクトと同じ名前になりますが、別の名前を入力してもかまいません。 プロジェクトの場所として別の場所を入力することもできます。
[OK] をクリックして、プロジェクトを作成します。
Win32 アプリケーション ウィザードで、[次へ] をクリックし、[空のプロジェクト] をクリックし、[完了] をクリックします。
ソリューション エクスプローラーが表示されない場合は、[表示] メニューの [ソリューション エクスプローラー] をクリックします。
次のように、プロジェクトに新しいソース ファイルを追加します。
ソリューション エクスプローラーで、[ソース ファイル] フォルダーを右クリックし、[追加] をポイントして、[新しい項目] をクリックします。
[コード] ノードの [C++ ファイル (.cpp)] をクリックし、ファイル名を入力して [追加] をクリックします。
ソリューション エクスプローラーの [ソース ファイル] フォルダーに .cpp ファイルが表示され、ファイルが Visual Studio エディターに開かれます。
エディターのファイルで、標準 C++ ライブラリを使用する有効な C++ プログラムを入力するか、サンプル プログラムをコピーしてファイルに貼り付けます。

f:id:s51517765:20170107125920p:plain

できた。

Win10にArduino IDEを導入

Win10 タブレットを入手した。

Asus Transbook T102HA


↓多分このへんだと思う。 (Link修正1/10)

似たような機種がいくつかあるようなので一応、手元のスペックを張り付けておく。
f:id:s51517765:20170110165700p:plain

これにarduino開発環境IDEを導入した。

特になにも考えることなく公式ページからWindowsIDEをdownloadし動作させることが出来た。

結果的に↓のページと同じことを行ったようで、これが再現したということになる。

http://blog.goo.ne.jp/pearlwing/e/3565bb55ba2a28d245bb32185a839055

100均フルカラーLED

100円でフルカラーに点灯するLEDを発見。
f:id:s51517765:20161230111757j:plain

これは、3本足のフルカラーLEDが入っているに違いない!

と思って買ってきて分解してみるも、制御IC内臓のタイプだった。

f:id:s51517765:20161230111949j:plain
f:id:s51517765:20161230111957j:plain

ほんとにこれだけですよ。なんとまぁ。

f:id:s51517765:20161230112040j:plain
こいつも同様。