昨晩、モータードライブ回路を動かすためのスイッチを組もうと思って、適当にやったらショート
Arduinoがリブートしまくり。
よく壊れない物だと感心。ヲイヲイ
回路設計の基礎が全くないことを痛感した。
本日、マジメに一からお勉強し直し。
1 回路図を自分でそらんじておいて、紙に書く
2 #defineからプログラムを一から紙上にコーディングする
3 何回もこれを繰り返す・・・
よく考えてみたら、40年前も紙と鉛筆で同じようなことをしていたコトを思い出した。
当時は「プログラムって紙と鉛筆さえあればできる素晴らしい趣味だなあ」と感激していたもんだ。
今は時間があるから何回でもできるけども、多分頭はボケていて効率が低いだろうな。
そんな中で、チップ内のプルアップ抵抗の働きについて、海外サイトに手書きの殴り書き図面があって、うまく説明してあった。
国内のサイトでは、なぜかプルアップの記事が少ないし、こんなに判りやすく書いたサイトも見つからない。Thank you
ちなみに、画像検索からサイトを探すのも吉。
この左図面の20kΩの上は、内部でVCC 5Vに接続されています。(私の記載漏れ)
手元にArduino入門書がないのでネットを探していたところ、Arduino総本山のサイト(Example)が一番判りやすいことが判明。
シンプル+最低限の構成だから非常に判りやすい。
総本山は上のように、回路図と最低限のブレッドボード図が必ず付属。
特に回路図がありがたい。市販本は回路図省略が多くてかえってわかり辛いのだ。
昔は、新しい命令をテストしては、使い方のサンプルとソースリストをノートに貼っていたっけ。(COBOL85 unstring命令)
PASCAL/Delphi の時も同じだなあ。
昔から本気で言語勉強する時は必ずそうしていた。初心に帰れだな。
ちなみに、秋月電子で購入の「ミニブレッドボード BB-601(白)」
こりゃあいけません。電源線が組み込まれていない。ほんとに小さな回路をチョッと試す用ですな。
なんでLEDが点かないのか少し悩んだわ。
本日の成果ぶつ
ソースは自力で 一から書いたモンねえ~。 「INPUT_PULLUP」がキモ それだけですハイ
「Serial」は何んでこいつだけ先頭大文字なんかねえ・・・ pinModeは途中が大文字なのは判るけどさ。ルールが有るんだろうねえ。判らんバイ
回路はリード線2本。スイッチ代用で触れ合わせるだけっ
#define _LED 13
#define _SW 2
void setup(){
pinMode(_LED, OUTPUT);
pinMode(_SW, INPUT_PULLUP);
Serial.begin(9600);
Serial.println("start");
}
void loop(){
int val = digitalRead(_SW);
Serial.println(val);
if (val == LOW)
digitalWrite(_LED,HIGH);
else
digitalWrite(_LED,LOW);
delay(300);
}
個人メモなので、低レベル スマソ