かわせみのページ

マイコンを使ってみよう

マイコンとは

機械を操作するコンピュータチップ

専門用語

  抵抗・・電気を流れにくくするもの
コンデンサ・・・電気を蓄えたり放出したりする電子部品。直流を通さないで絶縁するはたらきもある。
トランジスタ・・・電気の流れをコントロールする部品。
ダイオード・・・電気の流れを一方通行にする部品。
Lチカ・・・LEDをチカチカさせることを
LEDは長い方が+、短い方がーで、+はアノード、ーはカソードと呼ぶ

LEDとマイコンをつなげてみる

LEDの 長い方(+)を13番ピン 短い方(ー)をGNDに につなげます。

下記のプログラムをアルディーノに書き込む
void setup() { // put your setup code here, to run once: pinMode(13,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(13,HIGH); delay(500); digitalWrite(13,LOW); delay(500); }
アルディーノの画面左上にある矢印ボタンを押す
Arduinoのスケッチを作成するとという2つのプログラムがもともと書いてある。

setup・・・最初に一回だけ実行されるプログラム
loop・・・ずっと繰り返し実行されるプログラム
{ 〜 }の間がそれぞれのプログラム
Arduinoではifやforのように{}でくくるループや条件分岐の場合を除き、基本的に命令文の最後には;(セミコロン)をつける

デジタルピン(1〜13)の設定
・pinMode・・・指定したピンを入力用に使うのか、出力用に使うのかを設定する
LEDを点灯させるために13番ピンから電気を流したい(出力したい)ので、pinMode(13,OUTPUT);
・digitalWrite:デジタルピンの出力をLOWかHIGHで設定する。
LOW→0V
HIGH→5V
が出力されます。
つまり、digitalWrite(HIGH)でLEDがつき、digitalWrite(LOW)でLEDが消える事になります。

delayは指定した時間待つ命令
単位はミリ秒(ms)
delay(1000)→1秒待つ (1000/1000=1)
delay(100)→0.1秒待つ(100/1000=0.1)
delay(10)→0.01秒待つ(10/1000=0.01)

if (条件式){  処理内容1  //条件式を満たす場合にのみ実行する } else{  処理内容2  //条件式を満たさない場合にのみ実行される }

明るさセンサーを使う

ブレッドボードを使って
Arduinoの5Vー10kΩの抵抗ーCdSセルーArduinoのGNDの流れができるような配線をする。
次に、10kΩの抵抗とCdSセルが繋がっている列からArduinoのA1ピンに配線します。

今回の課題は、LEDを暗くなった点灯させ、明るくなったら消灯するプログラムを書くこと
If文と明るさセンサーのコードを組み合わせる。

void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(13,OUTPUT); } void loop() { // put your main code here, to run repeatedly: int val=0; val=analogRead(1); Serial.println(val); delay(300); if(val<100){ // もしiが10より小さかったら間隔は0.3秒 digitalWrite(13,LOW); }else{ // そうじゃなかったら間隔は2秒 digitalWrite(13,HIGH); } }