今日のメモ   

2017.05.13 SAT  チップLED確認用ジグ
チップLEDを使うことが多くなりましたが、発光の確認や極性を調べるのに不便をしていました。ピンセットを利用して楽に確認できるものを作りました。

プリント生基板に金メッキピン(廃物利用)をはんだ付けして両面テープでピンセットに貼り付けています。矢印のところに470Ωの抵抗を入れて電流制限としています。電源は手元の電源装置に簡単に接続できるようにピン端子としています。チップLEDを挟むだけで使えて便利です。電源をボタン電池にしてもいいのですが。

2017.05.12 FRI  久しぶりにAVR
このところ作りたい物が考えつかずもたもたしています。LCDのuartドライブを作りましたが、ATmega48のTQFP(表面実装の正方形のチップです)の手持ちがあるのでこれをスレーブにしてI2CでLCDをドライブすることを企てました。このチップだと厚みが少ない実装ができます。が、なかなか思うようにはなりません。
ジャンク箱にmega48のはんだ付けボードがありました。AVRライターを付けて読み出そうとしましたがエラーでチップが読み取れません。ライターを変えたり、水晶を変えたりしているうちに、なぜか読み取れました。原因はわからずです。ヒューズを書き換えて内蔵発振8MHzに変更しました。

しばらく使わないうちにAVRのC言語を忘れています。初心に帰ってLチカしようと思いましたがビルドで make all は通るのですが make clean やバッチファイルの rm コマンドがエラーになります。今までは問題がなかったのに...
長時間悩んだ末に環境を MinGW にしたのではないかと考えて rmコマンドを探したのですが、やはりありませんでした。近くにあるC:\MinGW\msys\1.0\bin にあることがわかりパスを通して解決しました。
以前に作ったmega48用のLCD表示プログラムから主要部分をコピーして、とりあえずLCDの表示までは進みました。
練習も努力もしていませんが「もの忘れ」だけは随分上手になっています。

2017.05.07 SUN  DC-DC ブーストステップアップ 転換モジュール
リチウムイオン電池や3.3Vから5Vを得る目的で購入しました。amazonの HiLetgo 2A DC-DC ブーストステップアップ 転換モジュール Micro USB 2V-24V to 5V-28V 9V 12V 24V ¥ 110 です。

前回(2016.05.03)のものは出力5V固定でしたが、今回のものは多回転ポテンショメータで電圧を変更できるようになっている。手元の3.3V電源を入力としたときに約10Vの値になっていました。私の場合は3.3〜4V電源から5Vを作るのが目的ですからとりあえず出力を5Vに設定しました。ここに10Ωの抵抗をつなぐと約0.05Vダウンで出力が得られました。短時間ですが500mAを流して異常はありません。公称の2Aは無理だと思いますが通常の使用には十分だと思います。以前にリチウムイオン電池から5Vを作るのに苦労した経験がありますがこのモジュールを使うと小型、低価格で簡単に作れます。

2017.04.08 SAT  オシロスコープ
PCオシロスコープはOWONのVDS1022Iを使っています。が、WIN10のクリーンインストールから使っていないように思って、付属のDVDからインストールを試みました。なぜか途中で止まってエラーになります。取り出してよく見ると薄く線状にキスがついているようで、ここで止まってしまうようです。
webで探し始めましたがなかなか見つかりません。購入したサイトも今ではこの品を扱っていないようです。国産品だと検索も楽なのですが、OWONは中国製か日本のサイトも親切ではありません。日本語サイトの「ダウンロードは英語のサイトにあります」を見つけて探し続け、やっとのことでソフトを見つけました(それでも本当に使えるのかは実行までわかりませんでした)。
ところでそのファイルが.rarだったのです。今まで見たことはありましたが使ったことがありません。webで探すと有名なものは有料とのこと。聞いたことがあるLhaplusが使えるとあってダウンロードしました。なんとか解凍には成功してOWON_VDS_C2_1.0.23_Setup.exeが得られました。
次にUSBのドライバーがありません。インストールしたC:を指定してもロードされません。時間を消費した後に、C:\Program Files (x86)\OWON\VDS_C2 を指定すると(デバイスマネージャー 不明のファイルから)ドライバーを設定することができました。
付属のDVDだと簡単にできたと思うのですが随分な時間を使いました。しかし、無事オシロスコープが使えるようになって一安心です。


2017.01.11 WED  柔らかいリード線
アマゾンで「SODIAL(R)2x 3M 22ゲージのAWGシリコーンゴム線ケーブル赤黒フレキシブル」を買いました。赤と黒を熱収縮チューブ(短いもの)で適当にまとめて電源ケーブルに使っています。

非常に柔らかく(テスターリードのよう)快適です。電源用延長ケーブル、コネクタ変換ケーブル、電池のリードなどに使ってみました。柔らかいリードをお好みの方には最適かと思います。

2017.01.09 MON  リチウムイオン電池パックの分解
下に書いた電池を分解しました。ひとつのセットは3本の電池のうちひとつが極端な容量不足になっていたようです。他のセットは充放電回路が悪いのか、単電池にするとそこそこの性能が残っているようで、結果として5本の単電池として使うことにしました。
接続を簡単にするために1本は溶接されたベロにリードを付けてピンソケットの端子を付けました(手前のもの)。もう一つはベニヤ板で電池ケースを作りました。これもピンソケットの端子を付けています。
さしあたっての用途はないのですがその他の18650と同様に実験用電源などになりそうです。


2017.01.05 THU  リチウムイオン電池パック
大阪日本橋のデジットで購入した中古品です。説明では電池単体は新品ですとありました。中には18650(2000mAh)が3本入っています。貼り付けたメモを見ると5年ほど前のことでした。 たしか¥600だったと記憶しています。
端子に12Vをかけて充電すると、同じ端子から11.1V(公称)が取り出せるという便利なものでした。

充電をして放置していたと思いますがもちろん電圧は出ていません。12Vのアダプタを繋いで電圧をかけると無茶苦茶な電流が流れるようです。爆発したら困るので10Ωの抵抗を入れてしばらく充電しました。その後抵抗を外しても1.4A程度になりましたので外して充電しました。思いの外短時間で充電が完了して1セルあたり4.1V程度になりましたので放電テストに移りました。
12Vの豆球があったので繋いでみると0.2A流れます。そこで点灯してみると...2時間ほどで消灯します。1セルあたり3Vを割っています。2セット買ったあったのですが繰り返しても両方共同じような結果になりました。400mAhほどしか取り出せません。
@内蔵の充電装置が悪い、Aセルに不良品が混じっている、Bすべてのセルが悪い、のいずれかであると思いますがこのままでは使えないのでばらして調べることにします。
なお、改めてググると容量が3000mAhを超えているのですね。

2016.12.23 FRI  USB電圧電流チェッカー
アマゾンの中国製品です。IN・OUT端子がUSBコネクタになっています。ケースには 3.5V−7.0V 0A−3A と書かれていますが、3.3Vでも使えるようです。

5秒間隔で電圧と電流の表示が変わります。"Charger Doctor"と書かれているように充電の目安に使うのが良いかと思います。表示値はまずまずといったところでしょうか。アバウトには使えそうです。
私自身はPCのUSBから電源を取ることはしないので端子は変更したいと思っています。送料込み¥155でしたので、自作の元気がなくなります。

2016.12.21 WED  アマゾンのステレオアンプ
PCモニターにはスピーカーがついてはいるのですが、ごく小さなもので音声がやっと出ている、という感じです。スピーカーを別に付けてみようと思い、以前に購入してあったスピーカー(秋月、口径77mm)に繋いでみようとアマゾンの「EasyWordMall PAM8403 5V 電力 オーディオ アンプ ボード サポート USB 電源 2 チャンネル 3W」を買ってみました。

非常に小さなもので、音量調節ボリウムにアンプが付属している感じです。スピーカーはエンクロージャに入れていなくて裸のままですがモニターを見ながら一人で静かに聞く分には十分な音量・音質であると思います。電源のデジタルノイズも聞こえず、裸スピーカーであるにも関わらずモニター内臓のスピーカーより質・量とも豊かに聞こえます。満足しています。
これで送料込み¥136は良い買い物であったと思います。万一の不良品に備えて2個買いました。スピーカーを箱に入れると音楽にも耐えられるかと思います。

2016.11.04 FRI  電源端子つきUSB中継ケーブル
廃棄した古いノートPCから取り出した20GBのIDEハードディスクがあります。USB変換ケーブルで読み出そうとしましたが、USBのバスパワーでは不足するらしく、まともに起動してくれません。起動しかけて止まります。そこで作ってみることにしました。
USB延長ケーブルを短く切って、緑、白、黒を同じ色どうしつなぎます。そして、メス側の赤(5V+)と黒(GND)にリードを取り付けジャックにつなぎました。これで、信号線はPCにつながり、電源はジャック経由でACアダプターにつながります。
思い通りハードディスクを起動することができました。500mAを超える電源をUSBから取りたいときに活用できると思います。

2016.10.27 THU  気圧センサー BMP280
アマゾンで気圧センサーの新しいものを買いました。BMP180の後継種のようです。送料込み¥250でしたが、今は安くなっているようです。
以前に購入したBMP180とは、3.3Vレギュレーターがなくなったこと、SPIとI2Cの両機能を選択できること、などが違っているようです。
aruduinoもどきのATmega328p(3.3V、8MHz)のブレッドボードでテストしました。Vccは328pのVcc(3.3V)につなぎ、SDA、SCLをI2Cの端子につなぎます。CSBはSPIとI2Cの切り替えで、I2CのときはH(3.3V)につなぎます。SDOはアドレスの最下位になっていて、WEBからDLしたプログラムに合わせてHに繋いでいます。
裏面に端子名のプリントがあるので助かります。このページからライブラリとサンプルプログラムをDLしました。またここからAdafruit_Sensor-masterをDLしました。
この中のサンプルプログラムを実行すると、SDOをHに接続したときに、問題なく気圧が読み取れました。ライブラリの便利さに驚きます(なんの勉強にもならない?)。
#include <Wire.h>
#include  <SPI.h>
#include  <Adafruit_Sensor.h>
#include  <Adafruit_BMP280.h>

#define BMP_SCK 13
#define BMP_MISO 12
#define BMP_MOSI 11 
#define BMP_CS 10

Adafruit_BMP280 bme; // I2C
//Adafruit_BMP280 bme(BMP_CS); // hardware SPI
//Adafruit_BMP280 bme(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);

void setup() {
  Serial.begin(9600);
  Serial.println(F("BMP280 test"));
  
  if (!bme.begin()) {  
    Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
    while (1);
  }
}

void loop() {
    Serial.print(F("Temperature = "));
    Serial.print(bme.readTemperature());
    Serial.println(" *C");
    
    Serial.print(F("Pressure = "));
    Serial.print(bme.readPressure());
    Serial.println(" Pa");

    Serial.print(F("Approx altitude = "));
    Serial.print(bme.readAltitude(1013.25)); // this should be adjusted to your local forcase
    Serial.println(" m");
    
    Serial.println();
    delay(2000);
}

2016.10.23 SUN  回復パーティション
何度かwin10のクリーンインストールをしたのですが、isoファイルからうまく立ち上がらず変則的なインストールでやってきました。そのせいかどうかは分からないのですが、不安定で満足のいくものではありませんでした。
annivarsaryアップデートでクリーンインストールができるという話を聞きましたのでDVDに作ってみたところ今回は思うような結果が得られました。
多くの設定があって、中にはうまくインストールできないものもあって苦労しましたが「落ち着いたかな」という状態にたどり着きました。今まではデータHDDも予備のためにシステムを入れたものを作っていましたが、煩雑なこともあって単純データHDDにすることにしました。

ところが、通常のパーティションは「ディスク管理」で消せるのですが、回復パーティションだけは周りを全部消しても消えてくれません。webによるとコマンドプロンプト(管理者)で、diskpartコマンド → list disk → select disk N(番号) → list partition → select partition N → delete partition override で処理できるとありましたが、最後の命令で「ダメ」になりました。
他の方法 AOMEI Partition Assistant Standard Edition 6.0 を使う方法を試しましたが、500GBのものはうまくいきましたが、1TBは「その機能はない」で使えません。途方に暮れてwebでたまたま見つけた diskpart → select deisk 2 → clean でパーティションを消し、その後フォーマットすることで単一パーティションにすることができました。一時はダメかと思いましたがなんとか目的通りになりました。それにしても困った「回復パーティション」です。

2016.09.10 SAT  AVRのコンパイラ
AVRのコンパイラとして avr-gcc (AVR_8_bit_GNU_Toolchain_3.4.2_939) 4.7.2 が入っていました。その上に、WINAVRをインストールしました。その結果・・・訳の分からないエラーが出て、AVRがコマンドプロンプトでコンパイルができなくなりました。諸般の対策も意味をなさず、本日WINAVRをアンインストールしました。その結果、無事にコンパイルできるようになりました。makeをフルパスで指定しましたがやはりダメでした。この2つfを使い分ける方法があるのでしょうか。

2016.09.07 WED  USBのエンターキー
相談を受けていたエンターキーが、いろいろ触っているうちになぜかできてしまった。
2番ピン(PD0)をGNDに落とすとキーボードのエンターキーを押したのと同様の反応を示します。
このファイルがその.hexです。

2016.08.29 MON  少し落ち着いたかな?
win10がなかなか定まりません。怪しいと思うもののインストールをすべて避けて、どうにか安定といえるほどのシステムができました。クリーンインストールを何度も繰り返しています。ただ、安心のためにクローンをeaseusで作ったのですが、何故か素直に動きません。セクタバイセクタで2回クローンづくりをしてやっとできました。それも、修復プログラムが走りながらの成功でした。win10には呪われているのではないかと思うほどトラブルに見舞われています。

2016.08.20 SAT  トラブル続き(win10)
 visual studio のインストールが途中で止まって動かない。何故かクリーンインストールの直後ではインストールでいるのですが、通常使う機能をインストールしたあとでは途中で止まって何時間待っても動かない。そしてアンインストールもできなくなります。今回は直前に回復ポイントを設定しましたのでインストールされた多数の(ほんとに多い)取り消しができましたが、それでも若干のゴミが残っている感じです。2台のHDDの他方に他の物入れずにvisual studioを入れましたので使いたくなれば立ち上げ直して使ってみようかと思っています。

  htmlファイルの作成にヘテムルクリエイターを使っています。が、zipファイルから立ち上げると妙なエラーが出ます。確かに前にもあったのでその上にベータ版のものをzipで入れるとなくなったようです。

  AVRをコンパイルするためにavr-toolchain-installer-3.4.2.1573-win32.win32.x86をインストールしましたが過去に作った.cファイルをビルドできません。「rm.exe - アプリケーションエラー アプリケーションを正しく起動できませんでした(0xc0000142)。[OK]をクリックしてアプリケーションを閉じてください。」と出て動きません。webを調べると
WinAVRのutils\binのmsys-1.0.dll に問題があるようで、次のリンクからダウンロードした ものに差し替えたらビルドが問題なく実行できました。 http://www.madwizard.org/download/electronics/msys-1.0-vista64.zip
とありましたので差し替えるとビルドできるようになりました。(make allで問題はないのですがmakeではコンパイルしてくれません。理由不明)

2016.08.14 SUN
 LPC1114 mbedのコンパイラー画面が壊れた → 解決
 win10のOSが壊れたものと思い込んで新たなインストールに苦労していましたが、新しくしてもやはり同じでした。試しにMSのエッジで見ると正常です。そこで、Firefoxを32ビット版に戻したところ正常に働きました。
まさかこのブラウザが対応していないとは思ってもいませんでした。こんなこともあるのですね。

2016.08.12 FRI
 LPC1114 mbedのコンパイラー画面が壊れた
このようになってしまって。
全く使えません。ノートパソコンでは正常なのですが。

2016.08.10 WED
 LPC1114の限界(?)SDカード
別項に書いたようにATmega328Pをaruduino-IDEでSDライブラリを使うと温度センサーのデータをLCDに表示するとともにSDカードに記録することができました。
同じことをLPC1114でもしたくて試みたところ、残念ながら"SDFileSystem.h"ライブラリでは使うことができませんでした。他のことはなにもしないでこのライブラリを使って単純な書き込み動作をするとprintf()が使える高機能で動くのですが、binファイルが32kBになります。同時に"TextLCD.h"を入れて表示しようとするとメモリーオーバーになるのかコンパイルができません。 私が探し得ていないとは思うのですがもう少し低機能であっても軽いSDファイルライブラリが欲しいものです。

2016.08.06 SAT
 マイクロSDカードモジュール?の試作
と言ってもカードコネクタをブレッドボードに挿せるようにピンをつけただけです。

左は既成品(3.3Vレギュレーターとレベル変換IC付き)、中央は1作目、右は2作目です。カードコネクタはアマゾンで送料込み10個192円のものです。
簡単にSPI通信に必要な電源を含めて6本のリードを付けただけです。

2GBのカードを付けて回路に挿入してみたところ、mbed(lpc1114)、aruduino(Atmega328p 8MHz)の両方共正常に作動しました。横着してCRの類は何も接続していません。

2016.06.06 MON
 ハードディスクの増設:
HDを3台搭載できるようにPCを改装してありました。しかし、2台なら正常に動くのですが、3台目をつなぐとBIOSでは認識されるのですがエラーコメントがでてつながりません。中古のSATAケーブルが悪いのかと思って新しくケーブルを買いました。
 マザーボードはGIGABYTEのGA-G31M-ES2Cで、SATAのコネクタは4個ついています。新しいケーブルで3台目を繋いだのですが、やはりエラーになります。ドライブ電源が不足しているのかと考えて電源はPCから取りUSB変換コードでつなぐと正常に動きます。電源が原因でないことが分かりました。さらに調べてみると、0番、1番、2番、3番のコネクタの内、0番と2番だけが使えることがわかりました。1番と3番はつながりません。
 時を改めてユーザーズマニュアルを読み直すと上記のように設定されているようだとわかりました。そこでBIOSの設定を変更してみました。
 1 起動時に「DEL」キーを押してBIOSを起動する
 2 メインメニュー3番目の Integrated Peripherals を選ぶ
 3 On-Chip SATA Mode を変更 [auto]→[Non-Combined]にする
 4 SATA Port が 0/2 1/3 ともに有効になる
この操作で3台のHDが使えるようになりました。
(追記)HDを4台使えるように設定するとSATAの4回路が有効になりますが、パラレルは使えなくなります。私のCDはパラレルですからこの設定にするとCDが使えなくなります。

2016.05.15 SUN
リチウムイオン電池の充電器3題。



最上段のものは4月30日に報告したものです。引き続いて新しい充電もジュールが届きましたので、中段の物を作りました(リードとソケットをつけただけです)。モジュールは前回と同じICを使っていますが、更にICが追加されています。話によると(未確認です)このモジュールから電池電源を他に送る端子 OUT+ と OUT- があってそこでは電池の電圧をチェックして規定の電圧(2.5Vの報告あり)になると過放電防止機能が働いて電源が切られるというもののようです。ただし今回は充電機能だけにしています。
この3個に共通の制御ICは抵抗値を変えることで充電電流を変えられるそうです。写真の赤矢印がそれで、1k2の抵抗が入っています。この値で充電電流は1Aになります。電池18650用の値でしょう。
最下段のものはデジカメ用の電池など400〜800mAhに対応するものとして3kΩに変更しています(1k5*2本)。これで充電電流は400mAになりました。
今回のモジュールは電池未接続で 緑点灯+赤微点滅、充電時は 赤点灯、受電完了は 緑点灯 です。電池を接続した時接触不良があればわかるので便利です。なお、値段は送料込みで1個¥190、5個¥450でした。将来の組み込みも考えて5個注文しました。

2016.05.03 TUE
 またまた中国製の基板です。amazonの「SODIAL(R) DC-DC 0.9-5V 600MA電圧ステップアップブーストモジュールUSB充電器ブルー」¥167です。

上のような形ですが、USBソケットを使わないので取り外し常用しているピンソケットに変えています。
フル充電の18650リチウムイオン電池を電源として繋ぎ、出力にとりあえず20Ωの抵抗を付けたところ5.0Vの電圧が得られました。20Ωですから250mAということになりますが、この程度の電流では使えるようです。
なお、私の電源装置から3.2V入力とした時は同じ負荷で4.9Vでした。
リチウムイオン電池から5Vを必要とする時には(電流容量はスペックの600mAは無理でしょうが)ある程度実用性があると思います。

2016.04.30 SAT
中国製のリチウムイオン電池18650用の充電器を試してみました。
長さが27mmほどの小さなものです。
USBミニソケットがついていますが、私はUSBを使わないのでリードをハンダ付けして2.1mmの電源ソケットをつけました。写真の下の方の横向きの抵抗が1.2kで電流制限が1Aになっています。容量の小さい電池ではこれを大きな抵抗値のものに取り替えると充電電流が小さくなります。
上方に2つのLEDがあって(左:赤、右:緑)、スタンバイと充電完了は緑点灯、充電中は赤点灯となっています。
私の常用の電源は5Vで電流計が600mAMaxですから、5VのACアダプタから直接給電しました。終わりの電圧は私のテスタで4.17Vでした。
電池18650を充電したところ、1W近い損失が有るはずですが本体の発熱は感じられず、あえて言えば全体がやや温かいといったところです。
小さいながらよくできていて¥160(送料込み)はお買い得な感じです。

2016.04.25 MON
AVRのtoolchainを更新しました。AVR Toolchain 3.3.0-710からAVR Toolchain 3.4.2-1573 に変更です。このページからダウンロードしました。
新しくなったのは良いのですが prog_char型がなくなったのでプログラムに文字列を置くことには変更が必要になりました。ややこしいので今後は次の方法でごまかすことにします。
  strcpy_P(msg,PSTR("mojiretu123456789"));
  lcd_putstr(msg);

コンパイル時にコンパイラのバージョンを表示させました。
gccversion :
@$(CC) --version
all: gccversion $(PRG).elf lst text eeprom size
makefileに太字の部分を追加しました。

2016.04.24 SUN
 バッチファイルの関連付けを、誤って sakura editor にしてしまった。これを解消することができない。そこで無理やり「test.bat」を作って関連付けた。さらに、このtest.batを削除すれば元に戻ると考えたがダメだった。
regeditを使って、検索で test.bat を探し、commandのデータを空白にすると.batをクリックすると関連がないと文句を言われる。仕方なく cmd と書いた。
これで.batをダブルクリックするとそのフォルダでコマンドプロンプトが起動する。ただし、batファイルは関係しない。なんとも言えない状態だがしかたがないので辛抱する。

2015.11.16 MON
5、6年前に購入した寄せ植えの中で、シクラメンだけが生き残っていました。今までは水やりだけだったので2つ、3つの花をつけるだけでしたが、今年は週に一度液肥を与えると多くの花がつきました。












また、遅植えになってしまったコスモスも一輪咲きました。園芸種の種を蒔いたのですがふつうのコスモスより小輪で小さな花のようです。来年はもっと早く蒔くことにしようと思います。

2015.11.03 THU
シャープ(株)が本社ビルを売却するそうです。少しさびしい話。と言うのは…
16歳の2月に新聞の求人広告を見て、2ヶ月期限の臨時工に応募しました。筆記テスト、身上書(今では問題が多い)、面接を受けて採用されました。
配属は5球スーパー製造の課でした。ベルトコンベアに多くの工員が並び、部品の取付や配線、ハンダ付けなどの作業をします。その中で、中間の配線と部品のチェックをするのが最初の仕事でした。

何人かの臨時工仲間がいましたが、2ヶ月の期間が過ぎると個々に通知があって、「ご苦労さんでした」と言われて去ってゆくのが続いていました。最初の2ヶ月が終わろうとした時に「更新」の通知があって、その繰り返しの後に「試用」として採用され、名札の色が変わって喜んだものです。
私の住む長屋まで家庭訪問があって、本採用になったのですが…

私の通学していた定時制高校は商業高校の普通科でしたが、早川電機(当時の社名です)には普通科高校の資格はいらないから高校を辞めるように言われました。高校を辞めることが條件だったようです。
当時、18歳未満は残業することがなかったので、仕方なく、学校をやめたことにして通勤していました。
17歳になり、18歳の誕生日が近づくにつれて決断が求められます。先生にも相談しましたが、今どきは高校卒業が大事な時だから高校だけは卒業しておくように言われて、誕生日を迎える少し前に退職しました。

後から考えると、その間に多くの臨時工仲間がいましたが私の課では正式採用になったのは一人だけだったように記憶しています。夏の暑い日であってもクーラーがないので作業椅子の背もたれに当たる部分だけがひどいあせもになったり、作業ピンセットで指が腫れて作業開始時は痛みに耐えたこと、17歳の誕生日に本社ビルに呼ばれてお祝いの紅白饅頭を社長からのプレゼントとしてもらったこと、など思い出がある場所です。

あれから、もう60年近くの時間が過ぎました。


2015.10.01 TEU
気がつけば2ヶ月も書いていません。もちろん電子工作もストップしています。特に忙しかったわけでもないのですが、このところ体調が芳しくありません。その上に、まもなく後期高齢者になりますので医療保険が高くなり圧迫されます。「老人貧乏」の語が身にしみる感じです。
憂いばかりではどうにもなりません。ささやかな喜びを探して、また電子工作を始めたいと思っています。腰痛で歩行困難が難儀です。車なら動けるのですが。

2015.08.02 SUN
暑い。暑い。暑い。…だのにクーラーが故障してしまった。尤も、30年を超えて動いてきたものだから疲れたのかもしれない。今様のクーラーは賞味期限が10年と明記されている。小さな部屋なので、小型(6畳用)で良いのだが今年の暑さに普及品は売り切れだそうな。DIYに1台だけ残っていたものを買ってきたが、工事を電話で頼もうとすると8月9日まで盆休みとか。まったくついていない。しばらくはクーラーのある部屋でぼやっとしておこう。

ノートパソコンの1台を windows10にした。ずいぶん変わった感じである。各種の設定が今までと違う感覚である。win10にする必要性は今はないけれども、やがて周りが動いて変更しなければならなくなった時に慌てないように変更してみたわけです。このレポートはそのwin10で書いています。画面が白っぽいのは良い感じはしません。なれないとしかたがないのでしょうか。

15.07.26 SUN
今日は失敗の記録です。R8C/M12AがI2Cのスレーブにならないかと考えました。AVRでTiny2313をスレーブとして使い、LCDや7セグLEDの端末を作ったことがあります。R8C/M12Aは端子数が少ないのでI2C端末があると助かります。
p4_7をSCL、p4_6をSDAにして、スタートコンディションの検知にはINT2割り込みを考えました。とりあえずINT2割り込みをセットしてSCLの立ち下がりを調べ、SDAがHであればスタートコンディションを確認したことになりますから、この割り込みルーチンに入るとP1_0のLEDが点灯するようにセットしました。ここまではOKでした。
次に、マスターは1バイトのコントロールバイト(アドレス)を送ってきますから、
 SCLがHになるのを待って、SDAがHならビットに1を入れ、SCKがLになるのを待ちます。
		k=0;
		for(i=0;i<8;i++){
			 k<<1;
			 while(p4_7==0){};
			 k+=p4_6;
			 while(p4_7==1){};
		}
ところがどうしてもコントロールバイトを受け取ってくれません。無関係な値が入ります。どうやらSCKに応じたデータが読み取れていないようです。
クロックが20MHzで1クロック50ns、I2CクロックのT/2が5μsですからこの間に120CPUクロックあることになります。1命令に何クロック必要なのかは知りませんが、この時間では足りるのではないかと思いますが、うまく行きません。時間を掛けましたがここで挫折しました。(今日は特に暑い。温度計は34℃)

15.07.19 SUN
台風の前後の家の中の気圧記録です。絶対制度は未知ですが変化はわかります。高度補正はしていませんが、天気図との気圧比較はそこそこにあっています。
台風の最接近は17日0時ごろのようです。


15.07.17 FRI
 久しぶりに気圧が1000hPaを超えました。が、外はひどい雨が降っています。台風が過ぎてずいぶん時間がたちますが長い雨になっています。
ところで、R8C/M12Aの水晶発振による簡易周波数カウンタが隣のR8C/M12Aの高速内蔵クロックを測っているのですが20.1MHz余を示しています。自身のクロックと同じカウントをしていることになります。脅威。

15.07.16 THU
 台風11号が近づいているので朝から強い風が吹いています。今夜には通過するようなのでベランダを整理しておかねばなりません。机上の気圧計は 997.9hPa、31.4℃ を示しています。

webでR8C/M12Aのクロックについて議論があったのでマニュアルを調べました。その結果、クロックをポートに出す方法、クロックを18.432MHzにする方法、クロックを分周する方法がわかりましたので、「断片的知識」に残しました。
ところで、R8C/M12Aのレジスタ指定には @Biteで指定する、Abit(s)で指定する、BbitアンダースコアBiteで指定する、の3通りがあるようです。タイマ関係の多くはBのタイプだけが許され、その他の多くは@またはAで指定できますが、Bのタイプは拒否されます。マニュアル以外に sfr_r8m12a.h も読んでおかないといけないのかもしれません。それにしても、レジスタの関連性を探すのに苦労します。

15.07.13
 R8C/M12AのタイマーRC2に関して、このサイトの「Timer RCを使い矩形波を出力する」をしらべてみました。確かに矩形波は出てくるのですが、マニュアルを読んでもレジスタの設定がわかりません。何回も読んで少しづつわかってくるのでしょうね。AVRに比べると無茶苦茶ハードル(フェンス?)が高いです。

15.07.12
 ここのサイトのカウンタを元に研究してきましたが、本来の回路ではどのような値になるのか試してみました。ただ、表示ルーチンはハードの違いで異なっています。
オリジナルでは水晶発振を時間のもとにしています。精密な水晶はないので、通常の20MHzの水晶を使いました。測定時間は0.1秒ですから測定値は10Hz単位になります。
私の方法では15,999,650Hz付近になるものが、15,993,500Hz付近になりました。水晶の精度が足りないの か10-4程度の誤差があるように思います。

15.07.07
 今日は七夕。それとは関係なく、R8C/M12AのタイマーRJ2の外部入力カウント機能を使った 簡易周波数カウンタ の実験をしました。尤も、本筋のところはいただきものですが。
RTCが乗っているので、INT3割り込みを使って1秒のゲートを作り、この間のパルスをカウントするものです。少し驚いたことは、20MHzのクロック動作で16MHzをカウントしたことです。AVRでは無理でした。
測定値は当然バラつきますが10万分の1ではほとんど数値は動いていません。RTCは2ppmの精度だそうですが近いところまで行っていると考えてもいいのでしょうか。

15.07.03
 R8C/M12Aの「キー入力割り込み」に悩ませられていましたが、「割り込み」は成功しなかったのですが、割り込みフラグが立つところまで詰めることができました。
どのように使えるかは未知数ですが、一区切りが付いたので次に進むことにします。R8C/M12Aも少しはわかってきたのですが、カウンタが今ひとつしっくりしません。この次はゆっくりカウンタを調べようと思っています。
AVRの時はマイクロコンピュータの動きが面白くて多くのものを作りました。振り返ってみるとあとから意味を感じるものは少なかったようです。今度は作った後も楽しめるものにしたいと思います。気圧計は意外に簡単にできてしまいました。

15.06.25
 暑くなったのでクーラーを入れようと、スイッチを押すと残念ながら「冷媒エラー」でクーラーがききません。昨年の秋から暮れにかけての大修理で室外機の置き場の床に防水塗料を塗りました。そのとき、業者がクーラーを動かしています。扱いが悪かったのでガスが抜けてしまったようです。10数年前の大修理でも他の部屋のクーラーが壊れました。その時は知らなかったので新しいものに買い替えたのですが今回は業者に交渉しようと思っています。工事が冬に終わったので不具合が今までわかりませんでした。

15.06.23
 梅を漬けました。今日ではありません、21日(日)です。尤も私は裏方ですが。
昨年に引き続き、JA直売店へ出かけ南高梅の大きなものを4kgと無名の小さなもの1kgを買ってきました。傷んだものを除くと大きなものは3.5kgになりましたが水洗してヘタを取り、焼酎で湿して18%の食塩と10%のグラニュー糖で2つの壺に分けて漬けました。翌日にはみずが上がったのでよしよしと思っています。
我が家は横着で、紫蘇は入れないし(以前試みて面倒だった)、干すこともしません。市販の梅は水で晒して味付けをしていますが、我が家のものは純粋に酸っぱい味です。
秋ごろから食べ始めます。

15.06.21
 このページを自分で開いてみると1年に1回しか書いていません。この3年間は野暮用の割に忙しく、電子工作に意識をさくことができませんでした。契約が終わって仕事がなくなりましたのでぼつぼつ始めています。

 AVRを始めた頃はAVRに関心がある多くの人に読んでいただき、貴重なアドバイスをたくさんいただきました。そして、みんなでAVRを楽しんでいるという雰囲気でした。今回は、たまたまR8C/M12Aが目について、100円ということとROMが公称値をはるかに超えるだけあるということで、新しいものに手を出してみました。ところが、雰囲気は前とはずいぶん違うようです。senshuさんとラジオ少年さんは私のページを見てくれましたがお二人以外にはお会いすることができません。R8C/M12Aが関心の外のようです。 webで検索しても2、3年前のページしかないようです。過去のチップだったのですね。

 AVRと比べるとプロの仕様だとの感じが強いです。SFRの設定なども複雑で理解困難です。ポートは少ないのですが、ROMが大きい(32MB)事もあってそこそこのことができるのではないかと思います。
今ではR8C/M12Aの仲間は殆ど無いようですが、しばらくはもがいてみようかと思います。I2Cを使って、気圧、温度計が時刻を含めた記録式(eeprom)で実現することができました。
これを糧に頑張りましょう。


14.06.13
 元のサイトジオシティーズを開いて驚きました。様子が変わっています。ゲストブックがなくなりました。アクセスカウンターがなくなりました。35万を超えていたのは記憶にありますがいくつまで行ってたのでしょうか。このところ長い間ご無沙汰ですから、メールなどで連絡があったのでしょうが見ないまま処理していました。
 2年余り更新していないので、環境も変わって情報の価値もなくなっているのですが、自分で作った作品の使い方さえ忘れていて備忘録的に自分が利用している利点はあります。が、そのうち気づくとサイト自体がなくなっているかもしれませんね。
 早く電子工作に戻りたいのですが、今はその日暮らしに精一杯でどうにもなりません。ついでに時としては耐え難い腰痛も1年を経過することになりました。ズボンのベルトがしんどいので、サスペンダーでくらしています。

13.11.02
 久しぶりに自ページを開いてみると、2年近く更新をしていないことに気づきました。これまではリタイアの身で何もしていなかった(できなかった)ので十分な時間があったのですが。
 昨年の4月から家事の負担が増えたことと手助けを頼まれて週の3、4日は短い時間ですが出かけることと、その準備と後始末に家での作業が生じたために電子工作に意識をさく余裕がなくなっています。この状態を脱出できるかどうか現在は未知数です。ROMだけは頑張っているのですが、どうなるでしょうか。

12.01.14
 本館のI2C関係記事は試行錯誤の経過報告もあって五里霧中での報告でもあります。今では必要な部分は自分なりに解決しているので正しい(と思う)部分だけを別館I2Cにまとめ直したいと記憶をたどりつつ実験を再開しています。
しかし、少しの間にずいぶん忘れるものらしく思ったより難航しています。 mega2313mega328をマスタに、Tiny2313とmega88のスレーブ機能を確認して、あとはI2C仕様のRTC、温度センサ、eepromの確認を予定しています。ここまで書けたら本館の記事を削除するのがスマートかと考えるところです。ぼつぼつしましょう。

12.01.12
 ↓のつつきです。tiny2313スレーブドライバの原典は「Donald R. Blake氏作TWIドライバ(usiTwiSlave.h と usiTwiSlave.c)」でした。我流で改変して成功したはずなのですがなぜか思い通りには動きません。実用できる、とは夢だったのだろうかと自分を疑いたくなる程でした。このドライバはPB7,PB5を使いますのでポートBの扱いが難しくなります。通信時に IN,OUT,HiZなどの状態変化がありますからPORTBの扱いがめんどうです。今回はPB0:PB3に負論理LEDをぶら下げているので最終的にはそこが問題でした。ただ、PORTBの設定を間違えるととんでもない誤動作があって原因追及に多くの時間がかかってしまいました。 最終的には使えるドライバとして確認できましたのでほっとしましたが。本文に報告します。

12.01.10
Tiny2313専用のブレッドボードを作りましたので、Tiny2313をI2Cスレーブで使う復習をしました。とりあえず手元にあった負論理の自作LEDアレイを実装してmega328からデータ送受を試みたのですが・・・。
どこで入手したヘッダファイルか今は思い出せないのですがそれをいろいろ変更してtiny2313スレーブ用のヘッダファイルを作ったつもりでした。思い通りに動いてtiny2313のSRAM一部をマスタとスレーブの共用メモリとして使う手段を確立したつもりでしたが多くを忘れていてなかなか動きません。少しずつ思い出しながら再び試行錯誤を繰り返しながら読み書きに苦労しています。何とかなりそう(当たり前か)ですが、この際に自分のためにもマニュアルらしきものを作っておこうと思っているところです。

12.01.09
 Tiny2313専用のテスト用ブレッドボードを作りました。接続の物理的不安定や電気的な接触不良がいやなので0.65mmφのUEWで基礎部分を配線しています。

ISP端子とUART端子はリード線で持たせていますがかなりしっかりした感じです。端子を持たなくてもボードで支えて挿抜ができます。電源端子は側面に基板を貼り付けてここに10μFのセラミックを付けています。resetSWもGND側は側面の基板にハンダ付けで固定しています。ここまでの部分ではうっかり抜ける心配はありません。

ここでまずISPのテストをいつものように行いました。pic18spxを使ってデバイス情報を読み出します。正常でした。
次にヒューズを設定します。汎用を考えて内蔵RC発振8MHzに設定します。順調です(当たり前か)。その次はUART端子の確認です。すでに経験のあるTeraTermとの通信プログラムを書き込んで実行しますと・・・文字化けで読めません。数字キーで応答すると1と2では化けた文字が異なるので一応は反応しているようです。いくつかのテストを繰り返した後にクロックを手持ちの9.16MHz水晶に変えると正常に通信できました。
RC発振のクロックが怪しいのでCal値を代入しましたが以前として通信が行えません。2313の6ピンにクロック出力を出して周波数カウンタにつなぐと、なんと8.7MHzとなっています。いくつかのCal値を設定して、103の指示値ではなく95に設定するとほぼ8MHzになりました。この状態でUARTのテストをすると無事に文字化けせず通信できました。デバイスから読み出したCal値103と実際の値95の違いがどこから出るのか不明ですがこんなこともあるのかと驚きました。
5Vではこれでよいのですが、3.3Vにするとまたまた通信できなくなりました。RCの発振が7.5MHzほどに落ちています。やはり水晶が必要なのでしょうか、8MHzの水晶を探してこれにしました。さすがに水晶を付けると5Vと3.3Vの発振周波数はほとんど変わりません。

























工事中 inserted by FC2 system