Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2604

Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2604

Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2632
組み込み系

7.Arduino出力をもう少し試してみる

Arduinoのポート出力を13番で試してみました。これはもともと13番のポート(ピン)についているLEDを光らせただけなので、今度は自分で別のポート(ピン)にLEDをさしてみて、そこに電気を流して光らせてみようと思います。

Arduino大好きセット①の用意

AmazonでArduinoのセンサーやスイッチなどのセットがたくさん売られているのですが、なにやらたくさんの部品がいっぱい入っていてごちゃごちゃ面倒くさいです。ということで、私のほうでちょっとの間いろいろ楽しめる最低限のセット下記をお勧めします。

※大好きセットは2022年1月現在市販していない私の架空の工作セットです。

出力テストの開始

ArduinoボードにLEDを接続する

Arduino大好きセット①から、適当な色のLED1本を取り出し、ArduinoUnoのボードの12番ピンと。その一つ横のGNDに足を差し込みます。

足のどちらをどちらに刺すかは、写真をみて同じかな?と思う方向に!
適当でいいです!間違えたら光らないだけなので、その時は逆に差しましょう!

 

ArduinoIDEでC言語のプログラムを書く

プログラムは実に簡単です。
前回は13番に出力したので、今回は12番に出力するだけです。

とりあえず光るプログラム

とりあえず…何はともあれ電気5Vを出力して光らせてみましょう!

void setup() {
  // put your setup code here, to run once:
  pinMode(12,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(12,HIGH);
}

点滅するプログラム

次に…点滅させてみましょう。

void setup() {
  // put your setup code here, to run once:
  pinMode(12,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(12,HIGH);
  delay(1000);
  digitalWrite(12,LOW);
  delay(1000);
}

すっごく早く点滅するプログラム

点滅させる速度を早くしてみましょう!
delay(1000) を delay(100)にします。

void setup() {
  // put your setup code here, to run once:
  pinMode(12,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(12,LOW);
  delay(100);
}

2つのLEDをすっごく早く点滅させてみましょう

13番についている(基板に張り付いている)LEDも点滅させてみましょう!

void setup() {
  // put your setup code here, to run once:
  pinMode(12,OUTPUT);
  pinMode(13,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(12,HIGH);
  digitalWrite(13,HIGH);
  delay(100);
  digitalWrite(12,LOW);
  digitalWrite(13,LOW);
  delay(100);
}

12番と13番を交互に点滅させてみましょう

よくわからないので、点滅の速度を delay(100) から delay(1000)に戻してみます。

void setup() {
  // put your setup code here, to run once:
  pinMode(12,OUTPUT);
  pinMode(13,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(12,HIGH);
  digitalWrite(13,LOW);
  delay(1000);
  digitalWrite(12,LOW);
  digitalWrite(13,HIGH);
  delay(1000);
}

さて、いかがでしたか?
だんだんと本格的な動きに近づいてきました。

ごめんなさい

電気的にはLEDの足にちゃんと抵抗を入れて電流を控えめにしてあげないとArduinoが壊れる!のですが….とりあえず実験なのでここでは直接刺してみています。

電気的には安全のためちゃんとやるべきですが….今まで10年以上Arduinoこんな感じで実験してきましたが壊れたことはありません。

もし壊れたら….ごめんなさい

タイトルとURLをコピーしました