ようこそテクノおじさんホームページへ!(2022年6月1日号)

旧アイテム(1月)は過去ログ倉庫を参照ください。202201_1
旧アイテム(2月)は過去ログ倉庫を参照ください。202201_2
旧アイテム(3月)は過去ログ倉庫を参照ください。202202_1
旧アイテム(4月)は過去ログ倉庫を参照ください。202204_1
旧アイテム(5月)は過去ログ倉庫を参照ください。202205_1
6月になりました。今年は関東が先に梅雨入りになりました。西日本より早いのは珍しいとのことです。相変わらず暗いニュースが聞かれますが世の中が早く
明るくなってほしいものです。
今月はほぼ十年ぶりとなるPC自作について書きました。
C言語講座は今回から応用編としてArduinoを用いて種々のデバイスをコントロールすする方法を解説します。
お暇なときにお読みください。

以下は組み立て後の感想です。

私はゲームはやらないのですが世の中はPCのベンチマークはゲームのベンチマークばかりです。
しかしPCの性能はゲームの速さもあるでしょうが長年PCを使ってきた私としては次のようなことで
その性能を評価しています。
①OSの立ち上げが早い
②Windowsのアップデートが短時間で終わる
③Microsoft Officeのマクロ実行速度が速い
④電力消費が小さい(:静音性)
などなどです。
今回作成したPCは今まで使っていたPC(ex. Corei7 5820K 6 core 12 thread )と比べ隔世の感があります。
タスクマネージャーで各CPUの動作状態に大きな違いがあります。上記の今まで使っていたPCでは各スレッドが
かなり均等に動作しているのですが今回のはあるスレッドに大きな負荷がかかり均等ではありません。しかし
CPU動作が速いためか負荷の時間は短いです。全コアの平均負荷はかなり小さく通常使用ですと数パーセントです。
これは驚きです。如何に処理能力が向上しているかがわかりました。


    C言語の学び方 実用編

    ーーーーArduinoを用いたデバイスコントロールの方法ーーーー

    C言語が学べしかも実用的なシステムが組めるということではArduinoのソフト開発が適していると考えます。
    Arduinoのソフト開発はPC上のIDE環境で行います。
    IDE 【Integrated Development Environment】とは 統合開発環境を意味します。ソフトウェア開発に必要な
    ソフトウェアを一つに組み合わせ、同じ操作画面から統一的な操作法で利用できるようにしたソフトウェアパッケージ。
    Arduino IDEはhttps://www.arduino.cc/en/software からダウンロードできます。対応OSはWindows,MAC、Linuxなど多岐にわたります。


    <IDEのセットアップ>

    main
    メイン画面です. Void Setupと Void loop が表示されます。Setupでデバイスの初期化などを行います。一回だけ実行されます。Loopにはメインのソフトを記述します。

    ①Arduinoのボードを選択する  Arduinoにはたくさんの種類があります。使う機種に応じてソフトが異なります。
    ここではArduino Unoを選択しています。ArduinoのほかにESP32のような非Arduinoのボードも使えます。
    main
                       ツール画面です
    main
                       ボード選択画面です
    ②ライブラリを構築する

    Arduinoのライブラリーには以下のようなものが用意されています。

    Communication (1065)
    Data Processing (275)
    Data Storage (144)
    Device Control (867)
    Display (439)
    Other (405)
    Sensors (997) Signal Input/Output (388)
    Timing (202)
    Uncategorized (182)
    main

    main
    ツール→ライブラリーの管理と進みます 上記の例はFFT演算関係のライブラリーです。たくさんあります。
    ③シリアルポートを設定する
    シリアルポートはArduino IDEで重要です。コンパイル後の実行モジュールの送信、動作状態をモニターする場合に使います。
    最近のPCにはシリアルポートがついていない場合が多いのでUSBポートと経由でのシリアル通信になります。Arduino基板には通常
    USB-シリアル変換チップが搭載されていますのでUSBケーブルでPCとArduinoを接続すればシリアル通信が可能になります。
    ツール→シリアルポートと進めばArduinoのシリアルポートが選択できます。

    <スケッチ>

    「スケッチ」はArduinoにおけるプログラムのことです。Arduinoボードにアップロードして実行するひとまとまりのコードを意味します。
    Arduinoのスケッチは、最小限次のsetup()とloop()の二つが必須で順番に実行されます。たくさんのスケッチ例がネット上にあります。

       void setup()

       {
       }
    電源投入、またはリセットされたあとスケッチの実行の最初に一度だけ実行されます。voidは関数の型で戻り値のない関数であることを示しています。
       void loop()
       {
       }
    スケッチの処理を行うメイン部分です。先頭から順番に処理を実行し処理が終われば先頭まで戻り、電源が切られるかリセットされるまで繰り返します。
     

    例としてLEDをオンオフするもっとも簡単なプログラムを紹介します。

    main

       pinMode( 13, OUTPUT )で、ボードの13番に接続されたLEDを指定
       digitalWhite( 13, HIGH )で点灯
       delay(100)は点灯する時間(100msec)
       digitalWhite( 13, LOW )で消灯
       delay(500)は消灯する時間(500msec)
    この処理がループで繰り返され、LEDが点滅する
    スケッチ→マイコンボードに書き込む を選択するとコンパイルと実行モジュールのArduinoへの書き込みが始まります。

    今月のTips

    <参議院選挙>

    いつも参議院選挙で思うこと。「国民を馬鹿にしているのか!」と思わせる候補の多いこと。
    AKBの選挙でもあるまいし。
    国民民主も立件民主もどちらも「民主党」でエントリー。何考えてるんだ!

    <電力のひっ迫>
    猛暑になるといつも電気予報が出る。国民に「大変だよ」と言っている。毎年である。電力会社は当然わかっているのだろうが敢えて対策をしていない。
    これは早く原発再開を認めよと訴える姿勢からであろう。自宅は太陽光発電で昼間はエアコン電力は十分まかなえる。にもかかわらず騒ぐのは原発を
    稼働させないと将来が危ないという危機感を持たせるためだろう。マスコミもただ騒ぐのではなくもう少し頭を使って深読みした報道をしろ。
    一方、電力が余っているときの有効活用など一切国民には知らせていない。大量の燃料の無駄遣いが起きているはず。夜間電力使用促進もエネルギーの無駄遣い。
    貴重な電気エネルギーを熱源に使うのは愚の骨頂。
    火力発電の要求電力増加に対する応答の遅さも技術的課題。蒸気タービンは回り始めてから安定稼働できるまでかなりの時間を要する。これは長いタービン軸が
    熱で膨張し一定の長さになるまでの時間が必要だからである。それなら緊急負荷増に対応できるような装置を開発すればよい。例えばガスタービンエンジン、
    あるいはもっと大きい出力が得られるジェットエンジンを用いた小型大出力発電機である。当然高回転のため発電周波数は商用周波数よりも高いため整流→直流→
    商用周波数交流変換が必要。頭の良い日本人なら高性能機械技術、電気電子技術で実現できるのではないか。