1か月の電気料金 (4/29)

1か月の電気料金が6000円(241kWh)ぐらいだった。

暖房を電気に頼っていた冬の間はMAXでも9000円は行かないくらいだった。
では今は何にかかっているのか。

【常時待機電力】
冷蔵庫、ルータ、TVチューナー、10個以下の充電器、保温機能のある電気製品
【間欠使用の電力】
PCやモニタ、大画面TV、電灯、電子レンジ、ドライヤー、アイロン、洗濯機、掃除機

ー トップ ー
以下のサイト様によると、年間7000円くらいらしい。

冷蔵庫は1か月せいぜい700円以下かな。

ー 2番手 ー
以下のサイト様によると、PCの電気料金は24時間つけっぱなしでも400円くらいらしい。(50W)

ー それ以外 ー
そうすると、残りの4500円程度は、待機電力のTVチューナや充電器 または 電灯、洗濯機、電子レンジ、大画面TV なのかな。

1つ1つが1か月2、300円程度でも15個あれば4500円だ。

意外と細かいものが電気料金を押し上げているな。

節電と言ってもそれぞれは月数百円だから、1つを50%に減らしても大したことはない

やはりこまめにコツコツと全部に対し、節電を心掛けるようにする必要があるな~

ただし、上記のエネチェンジで計測すると、6000円は平均より7%少ないと出た。気にすることはないのかな。
月4000円になればずいぶんいいのだが、電力会社を変えただけでは月2000円の節約=年間24000円には程遠い。
せいぜいキャンペーンで初年度のみ10000円の節約だ。

時間と手間暇をかけて電力会社を変え、節電するか、節電以外で節約をするかだな。全部節約するのが一番いいが。



[PR]
# by k1segawa | 2017-04-29 21:30 | Comments(0)

Japanino ArduinoISPで ATtiny13 で うんぬん - 前提の変更 (4/29)

今までJapanino + ArduinoISP + ATtiny13であれこれやっていたが、前提条件が間違っていた。

Arduino IDE 018 で Japanino を Arduino ISP ライタ(ハードウェア)にし、ライタ"ソフト"としては avrdude (ver 5.11 - ATtiny13をサポートしている版)を使って、次のような環境で、ATtiny13A に書込みをしていた。

(1) Arduino IDE 1.0.5-r2 で ATtiny13A に スケッチを書き込み
(2) BASCOM-AVR で ATtiny13A に HEXファイル書込み
(3) Atmel Studio 7.0 で ATtiny13A に HEXファイル書込み

ちなみに avrdude は C:\avrdude に配置し、avrdude.conf は バージョン1249「$Id: avrdude.conf.in 1249 2013-10-18 07:59:06Z springob $ -*- text -*-」だ。

で、何を間違っていたかというと、「bitDuino + Arduino IDE 1.0.5-r2 という組み合わせで使っている」という表記だ。

実はbitDuinoをふふふ様や構想100年様のサイト通りにインストールすると、<展開先ディレクトリ>/arduino-1.0.5-r2/hardware/の直下に解凍済みファイルが存在するはずで、それはbitDuinoディレクトリかまたはその内容のはず。
そしてインストール後のArduino IDEメニュー>ツール>マイコンボードの先には"bitDuino13 (internal 9.6MHz clock)"と出るはず。

しかし、私の今のArduino IDEにはそのような表記は無く、単に"ATtiny13 (internal 9.6MHz clock)"となっている。(arduino 1.0.5-r2)

つまり、bitDuino を使っていないのだ。

ぼんくらでごめんなさい。

ずっと bitDuino を使ってるつもりだったのだが、どうやら arduino 1.0.5-r2 は標準で ATtiny13 をサポートしているようだ。
(もしかすると arduino 1.0.x または 1.6 or 1.7 用のATtiny用hardwareをインストールする必要あり)

今までのサイト内での記事は修正が多いのでここで注意しておく。

==========
(ソフト)
ATtiny13 マイコンのスケッチ書込みには、arduino 1.0.5-r2 (arduino 1.0.x の最終バージョン) を使っています。
(ひょっとすると arduino 1.0.x か 1.x 用の hardware のインストールが必要 - インストール後 hardware/attiny/cores が出来る)

(ハード)
Japanino を ライタにする場合 arduino 018 (Japanino のサイトでダウンロード)で行っています。

びんぼうでいいの をライタにする場合 arduino 1.0.5-r2 のブートローダ書込みで行っています。
==========

本当によくわかっていなかった。もしかするとまだ間違っているかもしれない。

きっかけはarduino 1.0.5-r2のanalogReadのソースを参照していた時。__AVR_ATtiny13__ が定義されていないのでおかしいなと思い、ソースのあるディレクトリがhardware/arduino/coresだった。定義されているソースはhardware/attiny/coresの方だった。構想100年サイト様の見直しで、インストールすればhardware/bitDuino/coresになるはずなのに、なぜattinyなのかよく考えてみたら、そもそもインストールに失敗しているという間抜けな結論に達した。

もちろん bitDuino は先達様の素晴らしい構成物です。私の勘違いでその価値が下がる事はない。真面目にインストールして動作しなかったら申し訳ありません。

P.S.
1.0.x または 1.x 用の hardware.zip は色んな方が作ったバージョンがあるので、ダウンロードする際には必要なクロックをサポートしているものを選んで欲しい。
私の hardware/attiny/boards.txt を読むと ATtiny13 用 は

#attiny13-1.name=ATtiny13 (internal 1.2 MHz clock)
:
attiny13-8.name=ATtiny13 (internal 9.6 MHz clock)
:

となっており、内部クロック 9.6MHz のみ arduino IDE メニューに出てくるようになっている。

128kHz や 4.8MHz サポートの hardware.zip もあるので、必要ならそれを。もちろんこれはソフトが「スケッチ」の場合。
BASCOM-AVR や Atmel Studio 7.0 は ハードとしてライタが必要なだけで hardware.zip がどうであろうと関係ない。

また、128kHzはArduino ISPライタでは書込めないようだ。またシリアル15200 bpsより高速の転送速度(PC - Japanino間)はJapaninoのクロックがデフォルトで内蔵クロックだと10%の誤差があるので無理らしい。外部クロック化していたり、arduino/びんぼうでいいの は問題ない。

[PR]
# by k1segawa | 2017-04-29 04:24 | arduino, AVR | Comments(0)

Japanino ArduinoISPで ATtiny13 で 導通テスタ2 (4/27)

以前の記事で、Arduino IDEでプログラム(Hex)容量を削減するために関数をいくつか置換したが、digitalRead関数には手を付けていなかった。
今回それも置換してさらにAtmel Studio 7.0でもソースをそのまま動くように置換マクロや関数を用意して容量を比べてみた。

前回のソースではHexは814バイトだったが、今回は以下のソースで648バイトになる。
【ソース】
/*
* ATtiny13A 導通テスタ
*
* bitDuino + Arduino IDE 1.0.5-r2
*
* 機能:PB1とGNDに繋いだプローブで回路の導通チェックを行う
* タクトスイッチ押下で、導通時 ブザー鳴動 <=> LED点灯 のモード切替(切替時点滅)
*
* CPU:ATtiny13A VCC:3.3/5V PB0:ブザー PB1:プローブ+端子 PB3:LED+
* PB4:切替用タクトスイッチ GND:ブザー、プローブ、LED-、タクトスイッチ LED用1kΩ抵抗
*
* ※ただしプログラム容量削減のため pinMode、digitalWritedigitalRead関数を置換
*/

#define M_Wait 500 // ブザー鳴動時間(μs)
// ピン割り当て
// ただし、Arduino IDE(bitDuino)の ピン番号 と ATtiny13Aの ポートBの ピン番号 は同じ
#define M_Buzzer 0 // PB0:ブザー用
#define M_Probe 1 // PB1:プローブ+用
#define M_LED 3 // PB3:LED+用
#define M_Switch 4 // PB4:切替スイッチ用

// レジスタのビットクリア
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
// レジスタのビットセット
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif

void setup() {
// ピンの入出力方向設定
// 出力
sbi(DDRB, M_Buzzer); /* eq. pinMode(M_Buzzer, OUTPUT); */ // ブザー
sbi(DDRB, M_LED); /* eq. pinMode(M_LED, OUTPUT); */ // LED
// 入力 & プルアップ
cbi(DDRB, M_Probe); sbi(PORTB, M_Probe); // 導通テスタピン
/* eq. pinMode(M_Probe, INPUT_PULLUP); */
cbi(DDRB, M_Switch); sbi(PORTB, M_Switch); // タクトスイッチ
/* eq. pinMode(M_Switch, INPUT_PULLUP); */
}

void loop() {
// タクトスイッチ 切替状態保持(mode=0:導通時 ブザー鳴動 / 1:導通時 LED点灯)
static int mode = 0;

// モード切替処理
// 切替スイッチ押下か?(プルアップなので押下でLOW)
while( bit_is_set(PINB, M_Switch) == 0 ) {
// eq. while( digitalRead(M_Switch) == LOW ) {
delay(10); // 10ms待ち(チャタリング排除のため)
// 連続してスイッチ押下か?
if( bit_is_set(PINB, M_Switch) == 0 ) {
// eq. if( digitalRead(M_Switch) == LOW ) {
mode = 1 - mode; // 状態反転
// LED点滅
sbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, HIGH); */
delay(300); // 0.3秒点灯
cbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, LOW); */
break;
}
}

// プローブ導通チェック
// プローブとGND間が導通している(プルアップなのでLOW)なら
if( bit_is_set(PINB, M_Probe) == 0 ) {
// eq. if( digitalRead(M_Probe) == LOW ) {
if( mode == 1 ) {
// LED点灯
sbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, HIGH); */
} else {
// ブザー鳴動(矩形波HI/LOW 1周期分)
sbi(PORTB, M_Buzzer); /* eq. digitalWrite(M_Buzzer, HIGH); */
delayMicroseconds(M_Wait); // 矩形波HIの時間
cbi(PORTB, M_Buzzer); /* eq. digitalWrite(M_Buzzer, LOW); */
delayMicroseconds(M_Wait); // 矩形波LOWの時間
}
} else {
// LED消灯
cbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, LOW); */
}
}
赤い部分が修正箇所となる。

そしてAtmel Studioでのソースは次のようになる。
従来のソース変化無しは青い部分だ。
赤い部分は今回必要無いが、手っ取り早くArduino IDEのソースをそのまま持ってくる場合の関数マクロだ。ただし、pinMode関数は三項演算子が2回入れ子になっているのでINPUT/OUTPUT/INPUT_PULLUPモード毎に展開した方が容量削減となる。
【ソース】
/*
* ATtiny13A 導通テスタ
*
* bitDuino + Arduino IDE 1.0.5-r2
*
* 機能:PB1とGNDに繋いだプローブで回路の導通チェックを行う
* タクトスイッチ押下で、導通時 ブザー鳴動 <=> LED点灯 のモード切替(切替時点滅)
*
* CPU:ATtiny13A VCC:3.3/5V PB0:ブザー PB1:プローブ+端子 PB3:LED+
* PB4:切替用タクトスイッチ GND:ブザー、プローブ、LED-、タクトスイッチ LED用1kΩ抵抗
*
* ※ただしプログラム容量削減のため pinMode、digitalWrite、digitalRead関数を置換
*/

//---------- ATmel Studio 7.0 ここから

#ifndef F_CPU
#define F_CPU 9600000UL // 9.6 MHz clock speed
#endif
#include <avr/io.h>
#include <util/delay.h>

// HIGH/LOW(digitalWrite/Read)
#define HIGH 0x1
#define LOW 0x0
// pinMode
#define INPUT 0x0
#define OUTPUT 0x1
#define INPUT_PULLUP 0x2

#ifndef pinMode
#define pinMode(pin,mode) (mode==INPUT?cbi(DDRB,pin):\
(mode==OUTPUT?sbi(DDRB,pin):sbi(PORTB,pin)))
#endif

#ifndef digitalWrite
#define digitalWrite(pin,val) (val==HIGH?sbi(PORTB,pin):cbi(PORTB,pin))
#endif

#ifndef digitalRead
#define digitalRead(pin) (bit_is_set(PINB,pin)==0?LOW:HIGH)
#endif

// delay
#ifndef delay
#define delay(ms) _delay_ms(ms)
#endif
// delayMicrosecond
#ifndef delayMicroseconds
#define delayMicroseconds(us) _delay_us(us)
#endif

void setup(void);
void loop(void);

int main(void)
{
setup();

while(1) {
loop();
}
}

//---------- ATmel Studio 7.0 ここまで

#define M_Wait 500 // ブザー鳴動時間(μs)
// ただし、Arduino IDE(bitDuino)の ピン番号 と ATtiny13Aの ポートBの ピン番号 は同じ
#define M_Buzzer 0 // PB0:ブザー用
#define M_Probe 1 // PB1:プローブ+用
#define M_LED 3 // PB3:LED+用
#define M_Switch 4 // PB4:切替スイッチ用

// レジスタのビットクリア
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
// レジスタのビットセット
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif

void setup() {
// ピンの入出力方向設定
// 出力
sbi(DDRB, M_Buzzer); /* eq. pinMode(M_Buzzer, OUTPUT); */ // ブザー
sbi(DDRB, M_LED); /* eq. pinMode(M_LED, OUTPUT); */ // LED
// 入力 & プルアップ
cbi(DDRB, M_Probe); sbi(PORTB, M_Probe); // 導通テスタピン
/* eq. pinMode(M_Probe, INPUT_PULLUP); */
cbi(DDRB, M_Switch); sbi(PORTB, M_Switch); // タクトスイッチ
/* eq. pinMode(M_Switch, INPUT_PULLUP); */
}

void loop() {
// タクトスイッチ 切替状態保持(mode=0:導通時 ブザー鳴動 / 1:導通時 LED点灯)
static int mode = 0;

// モード切替処理
// 切替スイッチ押下か?(プルアップなので押下でLOW)
while( bit_is_set(PINB, M_Switch) == 0 ) {
// eq. while( digitalRead(M_Switch) == LOW ) {
delay(10); // 10ms待ち(チャタリング排除のため)
// 連続してスイッチ押下か?
if( bit_is_set(PINB, M_Switch) == 0 ) {
// eq. if( digitalRead(M_Switch) == LOW ) {
mode = 1 - mode; // 状態反転
// LED点滅
sbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, HIGH); */
delay(300); // 0.3秒点灯
cbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, LOW); */
break;
}
}

// プローブ導通チェック
// プローブとGND間が導通している(プルアップなのでLOW)なら
if( bit_is_set(PINB, M_Probe) == 0 ) {
// eq. if( digitalRead(M_Probe) == LOW ) {
if( mode == 1 ) {
// LED点灯
sbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, HIGH); */
} else {
// ブザー鳴動(矩形波HI/LOW 1周期分)
sbi(PORTB, M_Buzzer); /* eq. digitalWrite(M_Buzzer, HIGH); */
delayMicroseconds(M_Wait); // 矩形波HIの時間
cbi(PORTB, M_Buzzer); /* eq. digitalWrite(M_Buzzer, LOW); */
delayMicroseconds(M_Wait); // 矩形波LOWの時間
}
} else {
// LED消灯
cbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, LOW); */
}
}
main.cに上記ソースをまるまる青い部分も含めて貼り付けてOK。Hex容量は、それぞれ Arduino IDE=648バイト、Atmel Studio=578バイト(コンパイルオプション:デフォルト)で70バイトまだ小さくなる猶予がある(delay関係)。
しかし最初置換しないソースはArduino IDE上で1024バイトに収まらなかった事から考えると648バイトは十分だ。

Arduino IDEはほぼC/C++環境なので、ライブラリの充実度で考えるとAtmel Studioにもライブラリは公式にあるにはあるが、Arduino IDEの方が多い。ただし大したことではないがオープンソースなので流用元のライブラリ自体の参照先は明確にしておかなければならない。プログラムソース自体は別にGPL等で公開しなくてもいい。(オープンソースのgccやIDEを使って作った自分の”プログラムソース”自体は別にオープンソースではないので)

あれ?Atmel Studio の立場は?
大規模分散開発やデバッグのしやすさはAtmel Studioの方が優れているが、特に小規模プロトタイプ開発や個人の趣味で作るにはコンパイラは両方ともgccだし、Arduino IDEでよくね?別にAVRマイコンであればほぼ対応しているようだし。GUIをMicrosoftのVisual Studioに作ってもらっている7.0以降、起動が重くてしょうがないしね。



[PR]
# by k1segawa | 2017-04-27 17:00 | arduino, AVR | Comments(0)

Google Chrome で、マウスホイールによるスムーススクロールと縦スクロール量増加 (4/24)

Gigazine様やツイートのような「縦に長いWeb画面」を気持ちよく操作するのに、通常使っているChromeの設定を忘備録。

スムーススクロールは、拡張機能のマウスジェスチャー「Gestures for Google Chrome」のBasicsタブ>スムーススクロールを使用する>スムーススクロール時間1秒(短くするとガクガクする)、素早くスクロール=5

縦スクロール量は、コントロールパネル>マウス>ホイール>一度に6行スクロールする

あと、タブを大量に開いたままにして、タブを移動する時は、Control + Tab (+Shift で逆方向)。

設定後は、Web画面を再読み込み(F5)してもダメで、閉じて再度開くと反映されるので注意。


[PR]
# by k1segawa | 2017-04-24 18:56 | Comments(0)

市販かぜ薬の副作用 (4/23)

昨日からのどの痛みがあって昨日の夕方から今日の夜まで4回市販の風邪薬を飲んだ。
「ユリアン 総合風邪薬」(中外医薬生産株式会社) - 中外製薬とは無関係
という薬を服用した。
a0034780_21445121.png
すると今日の朝から胃の上部にむかつきがあり、それがずっと取れない。
最初は風邪の症状かと思ったが、今まで飲んだことのないメーカの製薬会社のモノであり、風邪自体の症状は暖かくして寝る事でほぼ治った事からたぶん薬の副作用だ。

今まで「かぜ薬の副作用」については考慮していなかったが、本日夜飲んだ直後に吐き気が大きくなって、注意した方がいいようだ。

パブロンやルルなどのメジャーの風邪薬ではこんなことはなかった。

やはり、完全に同じ成分ではないものだと、糖衣などで違いがあり、それがアレルギー等を引き起こすので、服用を即座に中止して、明日薬剤師に相談しよう。

P.S.
どうやら成分が違うようだ。
エテンザミドが含まれており、脳幹に作用し解熱作用があるらしい。パブロンやルルには全く含まれていない。内精神薬というタイプで、いわゆるダブルブロックというCMの脳への遮断作用がある成分らしい。その他の成分は量が違っておりかえってメジャー薬より含まれる薬剤の種類は少ないぐらいだ。

うーん、他のかぜ薬でエテンザミドやブロック機能のある薬は服用したことが無かったな~。
これほど同じかぜ薬で成分が違うとは思わなかった。自分に合わない成分があるのは納得した。よく成分を見てそういったブロックタイプの成分が入っていないか相談してから買おう。

[PR]
# by k1segawa | 2017-04-23 21:45 | Comments(0)

ハードウェア電気電子の知識 (4/23)

電子工作において、マイコンを使うにあたって入出力のためセンサーや電源を取り付けるのに周辺回路を正しく設計しないと、正常動作あるいはマイコン自体を破壊しかねない。
デジタル回路であるマイコン素子を使うための、周辺回路を設計するのには、電気電子の知識が無ければならない。
「ディジタル信号も、素子レベルでの信号伝達や消費電力、速度などの物理的な実時間の性能はアナログ動作になります」というのがJST(Japan Science and Technology Agency - 国立研究開発法人 科学技術振興機構)が提供する、JREC-IN Portal内のe-learning 「電子電気 - アナログ回路コース」での説明だ。

自分の最初の目標であるデジタル回路の周辺回路を汎用ロジックICで組むというのは、素子レベル(抵抗やIC、トランジスタなど)で自由に組めるようになる事なので、アナログ回路の知識が必要だという事だったようだ。

確かにこのサイトの「デジタル回路コース」は論理回路とかメモリとか自分の考えている回路とはかけ離れている。(FPGAなど論理設計にはいずれ必要だが)

そうかー、自分がやりたいことを出来るようになるには「アナログ回路」を理解すべきだったのか。

ということで、基本のオームの法則から勉強し直している。
I = V/R (抵抗とは電圧に比例する電流の比例定数の事)

しかし、Rの単位オームは、「1ボルトの電圧で1アンペアの電流が流れる時の抵抗を1オームと定義する」のだが、そもそも1ボルトとはどういう定義なのか、1アンペアとはどういう定義なのかはっきりわかっていなかった。

で、ボルトとアンペアの定義をWikiで調べる。
ボルトは1アンペアの電流が流れる時1ワットの仕事量を発生させる場合の電圧を1ボルトとする。
1ワットは仕事量だから熱量ジュールで表される。1秒間に1ワットの仕事量を1ジュールと呼ぶ。
そして1ジュールはWikiによれば約102gの物体を標準重力下で1メートル持ち上げる仕事量に相当する。

ここで出てくる電気電子の用語に関して言えば、ボルトはアンペアによって定義されているという事。

つまりアンペアの定義がわかれば、芋づる式にボルトが定義され、オームが定義されるという事。

ではアンペアの定義とは?
やはりWikiによると、「真空中に 1 メートルの間隔で平行に配置された無限に小さい円形断面積を有する無限に長い二本の直線状導体のそれぞれを流れ, これらの導体の長さ 1 メートルにつき 2 × 10−7ニュートンの力を及ぼし合う一定の電流」となる。
つまり電磁誘導の関係で引き合う2つの電線間の力が2*10^-7 Nの時、電線を流れる電流の大きさを1アンペアという。

よし、アンペアが電線間の電磁誘導で引き合う力から定義され、ボルトがアンペアで定義される仕事量で定義され、オームがボルトとアンペアで定義された。
決して数式の相互参照になっていないし、単なる式変換でもない。

(オームが電線の断面積や長さに比例・反比例する性質は、定義ではなく物理特性だ。あえていうならまた別のオームと断面積m^2や長さmとの関係だ)

ふむ、やっとオームの定義に納得がいった。
この際に比例と反比例についても再度確認した。つまり一定の「抵抗」の元で電圧を上げると電流が増えるのは比例で、式はy=axということ。
「抵抗」自体を理解し物理現象も確認。この電流と電圧が比例する時の定数を抵抗とするのがオームの法則である。
法則は実験結果によって観測された物理法則で、オームの定義はそれとは厳密には別なのだ。

やはりただ暗記するだけではなく理解しておくことが大事だ。

オームの法則を足掛かりに「アナログ回路コース」を学習しよう。

[PR]
# by k1segawa | 2017-04-23 13:20 | Comments(0)

Japanino ArduinoISPで ATtiny13 で 導通テスタ 検討 (4/22)

前の記事で、導通テスタ(チェッカ)を作ったが、一般の導通チェッカは抵抗によって音の高低が変わったり、電子回路の影響を受けないような回路が組み込まれているようだ。あと電流も余り流さず長期間バッテリが持つようになっている。

そんな難しい事は全然考えていなかった。

単につながるとまずい部分の半田チェック用だ。

まあ自分が作る程度の配線ならこの程度だ。箱やプローブも特に工夫してないし。
あとブザーも発振回路の代わりにマイコンでやっているので、回路内蔵型ブザーというのを使うと、電圧をかけるだけで鳴動するらしい。
発振する処理(矩形波HI/LOと鳴動時間)もいらず、LEDと同じ扱いでよくなる。
電源にもよるかもしれないが、プローブ間にかかる電圧と電流はATtiny13のデータシートをみると、
a0034780_12533892.png
となっており、最大40mAまで流れ、arduinoの5V電源に繋いだ時はこんな具合なのかな。

圧電ブザーも内部には回路が入っているようだ。
詳細はFDK社の詳細情報を請求して取り寄せないとわからないが、こちらのサイト様の図のようになっているのだろう。
ちゃんと作るなら、プローブのPB1-GND間にトランジスタによる増幅回路を入れて、5V Max40mAのON/OFFじゃなくもっと低電流(低抵抗)で動くようにするべきなのかな~
導通チェッカと言っても、回路の大部分は本質的な所ではなくて、検出した信号をLEDやブザー鳴動に変換する機能を実現する場合が多い。

だからそこはマイコンに置き換え、実質的な検出回路部分を工夫した回路をPB1-GND間に当てはめて高精度化したい。

皆さんが参考にしている記事は2008年の記事で、J:COMからの移転のため、左のカテゴリは機能しているが、アーカイブは旧J:COMのサイトにリンクしているためNot Foundになってしまう。しかたがないので、カテゴリで絞って記事末尾の「次へ」を次々クリックしてたどり着く。
こちらのサイト様の回路が高精度化されている。もっと先には

のようにたった0.3Ωの低抵抗で導通していない事を検出できる改良がなされている。

やはり製品化されているだけの事はある。こちらの末尾に旧ブログ記事への導通チェッカ―の関連リンクがある。



[PR]
# by k1segawa | 2017-04-22 12:44 | arduino, AVR | Comments(0)

Japanino ArduinoISPで ATtiny13 で 導通テスタ (4/20)

導通テスタが欲しかったのだが、簡単な回路がなかったのでATtiny13Aマイコンで作ってみた。

ブザーを鳴らす、ボタンをチャタリング無しで押す、プルアップ回路のスケッチを集めて適当にリファクタリングしてプログラムを作成。
ブザーが無かったのでイヤホンを分解してピンヘッダに半田付けしてグルーガンで固め、ブザー鳴動とLED点滅の2つの表現をタスクスイッチで切り替えるようにした。

単4電池ボックスやボタン電池、ACアダプタのいずれでも動作。回路に直接ライタを結線してもとりあえず動作。
ソースはArduino IDE 1.0.5-r2のスケッチで。Japanino上でATtiny13用にbitDuino導入済み。arduino Uno(Japanino)はardunio ISPライタ化済み。

【実体配線図】
a0034780_22515608.png
ライタ部分と比較しやすいように並べた。ポータブル時はarduino Unoからの6本の線をはずし、電源を繋ぐ。

【回路図】
a0034780_22521456.png
回路は簡単だが、電源GND間にセラコンとかいるのかな~。2入力2出力で8ピンマイコンで十分だ。

【写真】
a0034780_17393882.png
イヤホンやプローブは100均の園芸用の針金0.5mm(配線にも使用)で固定。

【ソース】
/*
* ATtiny13A 導通テスタ
*
* bitDuino + Arduino IDE 1.0.5-r2
*
* 機能:PB1とGNDに繋いだプローブで回路の導通チェックを行う
* タクトスイッチ押下で、導通時 ブザー鳴動 <=> LED点灯 のモード切替(切替時点滅)
*
* CPU:ATtiny13A VCC:3~5V PB0:ブザー PB1:プローブ+端子 PB3:LED+
* PB4:切替用タクトスイッチ GND:ブザー、プローブ、LED-、タクトスイッチ LED用1kΩ抵抗
*
* License:Free
*
* ※ただしプログラム容量削減のため pinMode関数、digitalWrite関数を置換
*/

#define M_Wait 250 // ブザー音程(鳴動時間:μs)
// ピン割り当て
// ただし、Arduino IDE(bitDuino)の ピン番号 と ATtiny13Aのデータシートの ピン番号 は同じ
#define M_Buzzer 0 // PB0:ブザー用
#define M_Probe 1 // PB1:プローブ+用
#define M_LED 3 // PB3:LED+用
#define M_Switch 4 // PB4:切替スイッチ用

// レジスタのビットクリア
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
// レジスタのビットセット
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif

void setup() {
// ピンの入出力方向設定
// 出力
sbi(DDRB, M_Buzzer); /* eq. pinMode(M_Buzzer, OUTPUT); */ // ブザー
sbi(DDRB, M_LED); /* eq. pinMode(M_LED, OUTPUT); */ // LED
// 入力 & プルアップ
cbi(DDRB, M_Probe); sbi(PORTB, M_Probe); // 導通テスタピン
/* eq. pinMode(M_Probe, INPUT_PULLUP); */
cbi(DDRB, M_Switch); sbi(PORTB, M_Switch); // タクトスイッチ
/* eq. pinMode(M_Switch, INPUT_PULLUP); */
}

void loop() {
  // タクトスイッチ 切替状態保持(mode=0:導通時 ブザー鳴動 / 1:導通時 LED点灯)
static int mode = 0;

// モード切替処理
  // 切替スイッチ押下か?(プルアップなので押下でLOW)
while( digitalRead(M_Switch) == LOW ) {
delay(10); // 10ms待ち(チャタリング排除のため)
if( digitalRead(M_Switch) == LOW ) { // 連続してスイッチ押下か?
mode = 1 - mode; // 状態反転
// LED点滅
sbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, HIGH); */
delay(300); // 0.3秒点灯
cbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, LOW); */
break;
}
}

// プローブ導通チェック
  // プローブとGND間が導通している(プルアップなのでLOW)なら
if( digitalRead(M_Probe) == LOW ) {
if( mode == 1 ) {
// LED点灯
sbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, HIGH); */
} else {
// ブザー鳴動(矩形波HI/LOW 1周期分)
sbi(PORTB, M_Buzzer); /* eq. digitalWrite(M_Buzzer, HIGH); */
delayMicroseconds(M_Wait); // 矩形波HIの時間
cbi(PORTB, M_Buzzer); /* eq. digitalWrite(M_Buzzer, LOW); */
delayMicroseconds(M_Wait); // 矩形波LOWの時間
}
} else {
// LED消灯
cbi(PORTB, M_LED); /* eq. digitalWrite(M_LED, LOW); */
}
}



[PR]
# by k1segawa | 2017-04-20 23:01 | arduino, AVR | Comments(0)

お麩と梅昆布茶 (4/18)

スティックコーヒーを時々お茶代わりに飲んでるのだけど、好みとしては紅茶バージョンが合っている。大人のコーヒーも試したけど自分はどうやら甘さを求めているみたい。しかし題目のように昆布茶それも梅昆布茶が好き。緑茶もスティックで飲むけど安いせいかちょっと味わいが足りない。

で、梅昆布茶を業務スーパーで80g/98円で買ってくるのだけど、最初の一口以降酸っぱさが旨みにまさってちょっと味わって飲むのにはつらく、一気に飲んでしまっていた。たまたま一緒に買っていたお麩を入れて食べたところ、酸っぱさが消えて昆布のだしを楽しむことができた。それならと七味唐辛子を結構入れると液体の部分も酸っぱさが消え飲みやすくなった。

少し粉が足りないかなと思って多めの味の素を入れると旨みが増した。普通の昆布茶だと旨み成分が強すぎるのだが、これだとちょうどいい。昆布茶にお麩は試していないが。酸っぱさも後から来るので梅昆布茶の良さも残っている。これは間食の代わりに甘味が過剰な炭酸飲料を飲むより少しの量で腹持ちもいいし結構いいかも。

梅昆布茶(大さじすり切り1杯) + 七味唐辛子(5振り) + 味の素(6振り) + お麩(小さいの10個) + お湯200㎎


[PR]
# by k1segawa | 2017-04-18 21:36 | Comments(0)

arduinoによるオシロスコープ3 (4/17)

実際に回路に繋いだ状態を示す。
例:ATtiny13Aにarduino IDEのサンプル "Fading"(LEDをPWMで明滅させる)というスケッチを書き込んだもの

【配線図】
a0034780_00213370.png
PWMはint ledPin=0;(PB0ピン)に変更。ATtiny13Aでarduino IDEを使うにはbitDuinoを組み込みます。詳しくは以下のサイト様へ。
【実際の写真】
a0034780_22224878.png


CH2用に青いICクリップを付けている(P.S. CH2用のGNDはいらないのかな)。
a0034780_22231732.png


CH1用の赤いICクリップをLEDの足(PB0)を、GNDの黒いICクリップを抵抗のGND側の足をはさみます。

GIF画像でPWMを計測した様子を以下に示す。

【オシロスコープの様子】
a0034780_00495848.gif
上半分がPWM(デューティ比 0~255に変化:明るさが段々暗くなる)の様子、下半分がFFT。FFTのパラメータは画像の通り。
周波数が高いほど左で右に行くほど周波数は少なくなる。周波数の発生頻度が多ければ縦軸が高くなる。

[PR]
# by k1segawa | 2017-04-18 00:58 | arduino, AVR | Comments(0)

arduinoによるオシロスコープ2 (4/17)

九州工業大学のKyutech Arduino Scopeだが、配線図がはっきりしないので、Fritzingで作ってみた。

【オシロスコープ 配線図】
a0034780_10425835.png
部品は抵抗1kΩ 3本、100kΩ 1本、セラミックコンデンサ1μF(耐電圧16~50Vまで何でも)だけ。配線は簡単。普段使うのはA1~3の入力端子(CH1/2/トリガ入力:赤/青/黄)とGND。EXTは外部という意味。

【使い方】
まず初期化として、プローブの校正を行う。

【PULSE出力の使い方】
a0034780_10523230.png
こんな風に入力端子CH1、CH2をPULSE出力に繋ぐ(トリガ入力は校正しないのかな?)。PUSLE出力は校正用信号として使うのだ。

その結果Processing画面に表示されるのが下の画像。

【校正画面】
a0034780_10544696.jpg
この場合、配線の通りトップのMODE signal=CH1だけ。緑に反転しているPULSE freq(周波数)=1000hz(1kHz)になっている。あとCH1 volts/div=2.0 に調整済み。
ジャンパ線だと校正する必要もないが、市販のプローブだとSETTING当たりをいじるのかな?今回はちょっとだけ見てみた。

結局6本の線が出るか、市販のプローブ3本(GND付き)になる。普通の線と「ICクリップ」というのを買うと安くあがる。
a0034780_11021535.jpg
これなら押すと先をから導線が出るのでワニ口クリップより、繊細にはさめるのでいい。

【ICクリップによるプローブ】
a0034780_11415407.png
それぞれ必要に応じて結線する。最初はCH1とGNDの2本だけで十分かな?PUSLE出力もほぼ使わないのではずす。
そしてICクリップをそれぞれを回路に当てて計測する。

P.S.
GNDは同じだから1本でいいのかな?2CH以上でオシロスコープを使った事がないから理解してない。他の使い方があるのかもしれないが、そうすると4本でいいのかな。市販のプローブの3本に近くて助かる。

[PR]
# by k1segawa | 2017-04-17 11:10 | arduino, AVR | Comments(0)

Windows Creators Update してみた - Bash on Ubuntu on Windows(4/13)

Windows Updateで更新チェックしても、4月の不具合分しか落ちてこなかったので手動でインストールしてみた。

時間は深夜で3~4時間かかっただろうか。元に戻せるようだがそれにも何時間もかかるから充分時間のある時がよい。

気になる Bash & Ubuntu Linux環境だが、いつも通りこちらのサイト様が参考になる。
1)のBashの日本語表示の改善
2)Bashとコマンドプロンプト間のパイプ(PowerShellはもちろん、cmd.exeのバッチファイルの管理者権限無しでもOK)
3)/sbin/ifconfig等の実行(ネットワーク等の仮想ファイルシステムの正常化)
は、全てUbuntu 14.04.5のままでもきちんと実行できる。

記事ではディストリビューションUbuntuの 14→16へのアップグレードをしているが、Ubuntu独自のパッケージの不具合パッチが提供されないだけで、周辺パッケージやカーネルの不具合パッチは全く別なので今の所あせってアップグレードしなくても大丈夫かな。

uim-fep と Anthyの組み合わせでBash端末上で日本語入力してから、Backspaceキーで2バイト(古い)文字である漢字を1文字削除しても、きちんと削除されるようになった。もちろん環境変数LANG=ja_JP.UTF-8を定義した上で。shを子プロセス起動してLANG未定義だと1バイト分しか削除されず、表示が崩れるのは一緒(正常)。その様子は次の通り。(Bash端末上では日本語入力を起動すると無限ループになってしまっていたのだが、無事起動するようになった。- lxterminal等のXサーバ前提のコンソールはOKだった)

Backspaceキーを押す前
a0034780_15574017.png





正常
a0034780_15580810.png






LANG未定義時
a0034780_15585139.png






アップグレードする時は結構環境構築してしまっているので、パッケージリストを取得しておかないと。下記のサイト様を参考に。

2)のサイト様の例が地味に便利。
dir | bash -c "grep 2015"

今までcmd -c とやっていた所をbash -c にするだけ。bashはWindowsシステム環境変数にパスが通っているので、ショートカットにも可能。
grepを簡単にWindows上のコマンドプロンプト(cmd.exe)で利用できるのは、開発者にとってまさに待っていた機能だ。余分なツールを必要とせずBash on Windowさえ入っていればOKというのはいい。これが最もLinux - Windows 間でシームレスにやりたかった事だ。すばらしい。

Windows Creator UpdateではPowerShell が標準になったが、わざわざgrep等のUnixツール互換のコマンドレットを覚えなくてすむし、もうcmdのバッチファイルでいいんじゃないかな。

3)の/procなどの特殊ファイルがサポートされたおかげで、GUIパッケージ管理のsynapticがBash端末でもlxterminal上でもエラーログを吐かなくなった。
firefoxもまだちょっとエラーログを吐くが綺麗に起動する。
a0034780_18435239.jpg

こちらのサイト様も詳しい。

PowerShell

Ubuntu上でのバックアップ

MS IME 表示中央

既存ソフトの高DPI対応

未対応なCPU

P.S.
今はUbuntu用ビルドとかあるのかー。じゃあ14じゃなく16にした方がいいかも。あとsynapticはio_ctrl系もまだエラーになるな。

[PR]
# by k1segawa | 2017-04-13 16:22 | X-Window | Comments(0)

arduinoによるオシロスコープ (4/12)

九州工業大学のarduino を使ったオシロスコープ Kyutech Arduino Scope を作ってみた。
arduino Uno互換の「びんぼうでいいの」に数個の部品をブレッドボードに組んでATmega328にスケッチを書込み、arduinoとPC上のProcessingのプログラムがシリアル通信して動作する。
以前扱った記事の「ハンディ・オシロスコープ」とは違い、PCのマイク端子ではなくarduinoが電圧をサンプリングし、PC側のGUIの単位も実際のオシロスコープの様なus/divとなっていたり、操作パネルも position / variable、TRIG mode : auto / normal / single などとなっている。

実際のオシロスコープに近いと操作方法もネットから探しやすい。そして直接PCにつないでいないので、回路間違いでショートしたりしてもダメージがPCに行かない。これは初心者の私でも壊すまで行かなくてもなんとなく安心だ。どちらかというとUSB端子が抜き差しでグラグラしてきている方がダメージ大きいが。
サイト様の回路図はシンプルすぎて、どの端子がプローブに当たるのかよくわからなかった。一か八かでCH1とGNDをプローブの+、-として、PWMで明滅する別のarduinoスケッチfadeのLEDの+(長い足の方)、-(短い足の方)につないでみたら、波形が表示された。

そしてそれだけでは単にノイズのような細かすぎる塗りつぶされたような波形なので、色々といじってみたら、ちゃんと矩形波の周期が長くなったり短くなったりする様子が見れるようになった。

「ハンディ・オシロスコープ」とは操作方法も見方も違うな。あちらはWindowsの使い勝手を理解した作りで、スライドバーやドロップダウンやスクロールバーで使いやすくできており、こちらは実際のオシロスコープのようにボタンやロータリーエンコーダーのようなダイヤルではないが、単位を合わせており、わかっている人にはわかりやすい作りになっている。実際のオシロスコープを利用する際には役に立つ。USBオシロスコープなどのPCで測定画面を表示するものには「ハンディ・オシロスコープ」に近い操作性のものもあるが。

そしてトリガー入力やPULSE出力という「ハンディ・オシロスコープ」ではなかった端子があり、実際のオシロスコープにはある使い方のわからない端子のようだ。うーん、ちょっともう少しオシロスコープの機能を調べないとまだまだ使えないな。敷居は高いが本格的に高度な使い方を覚えるにはこのオシロスコープは入門用にちょうどいいステップかもしれないな。そして次の段階に上がるには秋月で売ってる2400円のやつかな?

[PR]
# by k1segawa | 2017-04-13 00:05 | arduino, AVR | Comments(0)

IoTのわかりやすい説明 (4/12)

Windows10 Creators Updateの最中に閲覧したサイト様のデザインが秀逸で感心した。

a0034780_22372967.jpg
いわゆる高橋メソッドっぽいものと、東京オリンピックの外国人観光客に向けたモノトーンのアイコン(例えば非常口の絵文字:ピクトグラム)的なイラストと組み合わせて、不明瞭なIoTのイメージ喚起に成功している。

自分はポケコンやAVRマイコンで行なっているが、arduinoやRaspberry Piなどでセンサー部品も購入しやすく入門用の敷居が下がっていき、その際産業機器や自動車、インフラへの適用が騒がれて、ビックデータやAIによる後押しもあるホットな領域だ。
いい事ばかりでもない事が最後近くに書かれているが、セキュリティの重要性が高まりそういったエンジニアの待遇が改善されていくと嬉しい。そこがまだまだ若い人が活躍する分野で活気あるというのは希望が持てる。

IoTデバイス開発の両輪であるソフトとハードを理解する方が増えて、ますます知識の共有しやすい環境になったら記事を書くモチベーションも上がるな。

[PR]
# by k1segawa | 2017-04-12 22:57 | 3Dプリンタ | Comments(0)

VR の コンテンツ (4/12)

なにこれすごい。

a0034780_14390642.jpg
やっぱり何でもコンテンツ次第だな。
VRもジェットコースターがすごくて最初TVでも取り上げられたが、その後ゲームとか高画質でマニアックな高額な制作費の掛かるコンテンツばかりだった。3Dプリンタも今、2万円台と安くなり教育機関に導入され爆発的に普及する一歩手前まで来ている。このVRのアーティスティックなCGM(消費者生成メディア)が魅力的に映ると、ソーシャルゲームの衣装みたいに、後は勝手にユーザが集まってお金を出しその後価格破壊が始まって一般に普及していくと。

こちらのtwitterアカウント様のタイムラインで見つけました。

ジェットコースターつながりで。21年間本当にお疲れさまでした。

[PR]
# by k1segawa | 2017-04-12 14:53 | VR | Comments(0)

東武ワールドスクエアにあるワールドトレーディングセンター (4/12)

東武線は、北は東武東上線の栃木県にある東武ワールドスクエア(都心から2時間)から、南と西は東武伊勢崎線の東京スカイツリーや群馬県の伊勢崎市、東は埼玉県大宮市~千葉県船橋市の東武野田線と、東西南北に張り巡らされていてぱっと見には都会から関東北部まであらゆる方面に便利な路線である。
a0034780_12522246.jpg
通勤圏内ではないが、東武ワールドスクエアにある世界ミニチュア建造物は都会にあっても好評を博する展示物であり、その中の「ワールドトレーディングセンター」は、今は無き911の犠牲になったビルで、世界で最も大きい模造物ではないだろうか。

こちらのサイトは、ワールドトレーディングセンタの建設に日本人が関与している記事で、末尾の【関連記事】に興味深い記事の一覧が載っている。

911の標的、WTCは日系人がつくった? 人種差別と闘いながら夢叶えた建築家 ー ブログ 百聞は一旅に如かず :旅のエスプリ

旅に行かず、こういう知見を得られるサイト様は本当にありがたい。
[PR]
# by k1segawa | 2017-04-12 12:54 | Comments(0)

男性の乳糖不消化と腸内フローラ (4/12)

男性はおならが臭かったり、軟便だったりするが、牛乳など乳糖の分解酵素が元々少ないため、乳糖を消化できず腸内で悪玉菌を繁殖させてしまい、結果炎症による過敏症で消化不良を起こしてしまう。女性は比較的便秘の悩みが多くどちらかというと男性のような炎症による消化不良には強く出来ている。この辺の男女の違いは従来の乳糖不耐症と最近の腸内フローラの発展により解析されていくかもしれない。(腸内細菌が酵素の代わりに分解補助しているなど)

経口で摂取する母乳は幼児期に形成される腸内環境に大きく影響する。一度善玉菌で形成されればその後悪玉菌が入ってきても環境は簡単には崩れないからだろう。直接腸内細菌を摂取しているわけではないが。

医学には疎いのでもう解析済みなのかもしれないが、男児に対する母乳育児は将来の乳糖不消化を助ける母親からの遠大なプレゼントといえるのかもしれない。

乳糖不耐症 - Wikipedia

「あなたは普通なのか?」が分かるデータいろいろをまとめたムービー : GIGAZINE

おならが臭い、下痢や便秘が続く…症状の原因は「腸内フローラ」にあった! | いしゃまち
[PR]
# by k1segawa | 2017-04-12 11:50 | Comments(0)

3Dプリンタ の 世界 (4/12)

以前 デルタ型3Dプリンタ - パラレルリンク機構 (3/23) という記事を投稿したが、あの機構ともちょっと違うX-Y-Z軸のX-Y成分を2つの回転機構で置き換えた3Dプリンタもある。

こちらは、Z軸だけプーリーによる上下運動にして、平面の任意の座標を、2つのアームの回転の極座標で算出している。
なるほどー。極座標変換ってあったなー。

話は変わるが、こちらのサイト様で、X-Y-Z機構の3万円を切る3Dプリンタが紹介されている。本命は6万円を切るこちらだが、あとから絶対必要になるヒートテーブルや自動キャリブレーション、任意のそして別の種類のフィラメントの使用を考えたら、どんどん活用するなら決して後悔しない値段だと思う。

そして、CNCフライス(CNCミル)ではないが、パラレル機構にレーザーカッターが付いた物がこちらに。
ケースを作るなら3Dプリンタの積層物より強度が出る。もうこれでいいんじゃないかな。まだわからないがひょっとしてレーザーの出力を弱めれば、プリンタ基板を溶解する事無く切削出来るかもしれない。

もちろんきちんとしたCNCフライスの付いた3Dプリンタが現時点では確実だが18万円かー・・・。

「3Dプリンタ レーザーカッター」というキーワードでもこんなに色々紹介されているサイト様もある。

Google検索の結果でもこんなに楽しい。




[PR]
# by k1segawa | 2017-04-12 07:02 | 3Dプリンタ | Comments(0)

オシロスコープの使い方 (4/10)

以前の記事で、ハンディ・オシロスコープ の 使い方 (9/9)というソフトオシロの使い方を投稿した。

でも実際のオシロスコープは、各部の名前や操作パネルを説明する言葉自体がまずわからない。本当に易しい、当たり前と思われる言葉がわからない。
そして初心者用ページには、最初のオシロスコープのつなぎ方が書いていない。

ソフト屋さん(ドライバ開発以外)は、ハードウェアも電気の知識も無い。
せいぜい乾電池の+-をつないでLEDを光らす程度。
「プローブ」を「回路」にどう繋ぐのかがわからない。

で、色々調べたらこの海外のYoutube動画が、よかった。
オシロスコープの使い方(日本語字幕付き) - Youtube
a0034780_2058551.jpg
「オシロスコープは電圧の変化を調べる装置」←この説明がまずどこのサイトにも説明が無い。

a0034780_21151627.jpg
「簡単なRC回路」←まずどういった基本の回路を用意すればいいかが説明されている。このような入門者が本当に聞きたい事が説明されている。

a0034780_21163577.jpg
「プローブでコンデンサのリード線をはさみ」「電圧は0Vから始まり」←この回路の電圧が0Vから始まる事がまず初心者には説明が必要だ。そして動画上でプローブの電線のはさみ方が載っている。本当にわからないのだ。

a0034780_21191683.jpg
そして、「コンデンサが充電されて、0Vから1.5Vまで上昇」と書かれている。こういう Hello World 的な回路を例に挙げてくれるサイトは無い。

ここまで操作パネルを使っていないが、最初にこんなにもきれいに表示されるのか?という疑問に、これから説明していく。
a0034780_21345988.jpg

そして重要な「実際の信号は時間とともに変動する」と説明されている。ここはいきなり何が「信号」なのかの説明もなく「信号」という言葉が出現している。
ハード屋さんは当たり前だと思うだろうが、電気の「信号」とは何をもって「信号」というのか、わからないのだ。

先に答えを言うと「電圧」=「信号」(合ってるかな?) なのだが、その理由をきちんと説明しようとすると結構面倒だったはず。

だいたいはテスターの測定する仕組みで説明されているのと同じ話だと思うが、「電流」を測定するのに実は「電圧」を測っているのと同じだったと思う。

(ここから蛇足)
この辺の常識が記憶のかなたに遠ざかっていて、ハード屋さんの言う「初心者」というのが全然初心者向けじゃない理由だろう。まあお互い様だとは思うが、ソフトは新しく人間が決めた事だから書籍もそこそこわかりやすく出来ている。ハードは自然が相手だから経験が重要。だから経験に頼る者は自分が初心者(たぶん子供)の頃の事を忘れてるという、誰にでもありがちなミスをしている。

全然せめてるわけじゃなく、なんでこんなにもハードは学習しづらいのか、ベテランに気が付いてもらい、Web上で説明して欲しいのだ。

なので、まずオシロスコープという常識と思える装置を使えるようになる、ソフト・文系の人向けの説明をWeb上に作って欲しい。

(蛇足はここまで)

だいぶ脱線したので話を戻す。
やっと「前面パネル」の説明が出てくる。
a0034780_2235696.jpg

そしてオシロスコープらしい話「繰り返し信号の観測」が出てくる。
a0034780_2255933.jpg


こういう流れなので、初心者の頭の中の「???」が(言い過ぎだが)一つもなく解消されて、動画は進んでいくのであとは内容を実際に見て理解していって欲しい。
(この後、スクリーンとかポジションとかの言葉が出てくるが、具体的に何を示しているのかを、「言葉で」全然説明できていない。職人さんは言葉が得意でないのでしかたがない。ここまでの私の説明でも分かりづらい所があるはず)
[PR]
# by k1segawa | 2017-04-10 22:11 | Comments(0)

映画つながり (4/3)

インターステラーと同じような映画として、
天才数学者ラマヌジャン-「奇蹟がくれた数式」がある。
見てはいないが、次のサイト様で初めて内容に触れた。

天才数学者ラマヌジャン-「奇蹟がくれた数式」を観て:研究員の眼 - ニッセイ基礎研究所 -

公式サイト
映画「奇蹟がくれた数式」 - 角川映画 -

上記の「about The Movie」の末尾付近に、上記サイト様の示した詳しい話も載っている。
「天才数学魔術師 ラマヌジャンの魅力 - 木村俊一 (広島大学大学院理学研究科教授)」

映画の中身はWIREDでも紹介されていて、数学知識のない我々でも理解しやすい形で解説されている。
現代の数学者を悩ませ続ける「100年前の数学の魔術師」シュリニヴァーサ・ラマヌジャン - WIRED

もちろんラマヌジャンがすごいので、その偉業はまだまだ未解析状態だが、Wikipedia経由で偽テータ函数>フェルマーの最終定理>無限降下法とたどり着いた先で、「2の平方根の無理性」の証明というのが、中学生レベルの理解度でもわかる例を挙げれられていて、とても感心した。

2の平方根が無理数(久しぶりでこれさえも忘れていた)であることを、無限降下法(そのイメージを的確に示す例として)で証明する(もちろんWikipediaに載っているが)。

========================
2の平方根(√2)が有理数(分数で表せる数)と仮定すると、
√2=p/q (p,qは自然数とする)と表せる。

2=(p/q)2
2=p2/q2 (式の優先度は累乗>乗算・除算)
2q2=p2 ・・・(1)
q2=p2/2 (Wikipediaよりさらにわかりやすく追加)
上記の式から、自然数の2乗も自然数だから、q2も自然数で、p2を2で割った結果が自然数という事はp自体が2の倍数(2で割り切れる数:偶数)でなければならない(p2がnの倍数ならpもnの倍数-nが二乗数でない時-)。
では、p=2P (Pは自然数)とすると、(1)の式は、
2q2=4P2
となり、(追加した式に代入してq2=(2P)2/2 → q2=4P2/2 → q2=2P2でもよい)
q2=2P2
となる。
そして(1)と同じ形になったので、さらにqも同じように偶数であり、q=2Qで表すと、
(2Q)2=2P2
4Q2=2P2
2Q2=P2
2=P2/Q2
2=(P/Q)2
∴√2=P/Q

最初の式の√2=p/qと比べて、√2を別のより小さい自然数PとQで、分数として表せる。これを繰り返すと、PとQがいくらでも小さくなってしまう。しかし自然数は無限に小さくはならない(最小の1まで)。つまりPやQが無限に小さくなる事はない。

これは最初の仮定が間違っている事が理由(背理法)である。
背理法 - Wikipedia
(ある命題 P を証明したいときに、P が偽であると仮定して、そこから矛盾を導くことにより、P が偽であるという仮定が誤り、つまり P は真であると結論付けること)

従って、2の平方根は有理数ではなく、無理数である。
=============================

ずいぶん丁寧に書いて逆にWikipediaの方がスッキリと見える。
まあ、こういう自然数の順序性と最小がある点を利用した証明方法が無限降下法というらしい。

それもよく分かったが、√2が無理数だという証明なんてやった事が無く、出来るなんて思ってもみなくて、さらにこんなに簡単だった事に驚いたのだった。

学校教育の場面ではこんな事に一々時間を掛けられないし、それは各自でやってという事かもしれないが、これを学生の頃知っていたら、数学の面白さにハマっていたかもしれない。

こんな些細な驚きで、ラマヌジャンのように数学に没頭する生徒が出てくる可能性があるのだとしたら、何とももったいない話だなあと感じたのであった。

(追記)
背理法で証明する事に異議を唱えている方がいる。
脱背理法教育 - 安部研究室 -
ちょっと見には危ない感じがするが、もっと綺麗に表現すれば納得する。

その方は、まず背理法の前提で、√2=p/qと表せると仮定している部分に誤りが含まれているならば、その途中計算も誤りを含んでいるのだから、式の変形は正しいと保証されないと、主張している。
なるほどー。
確かに間違っている式を変形してもどうなるかわからないな。
なかなか思い至らない事だ。
背理法で証明できるなら、背理法以外で証明する努力をしなくなるという悪癖が蔓延する事をこの方は恐れている。
すると背理法でしか証明できない定理はどうなるんだろうなー。

色んな考えの人がいるものだ。
[PR]
# by k1segawa | 2017-04-03 22:49 | Comments(0)