Arduino

ここではArduinoの基本的なプログラムを紹介していきます。

LED1

1
2
3
4
5
6
7
8
9
10
11
12
13
//LEDを点滅させる
void setup()
{
  pinMode(13, OUTPUT); //13番のピンを出力モードに
}

void loop()
{
  digitalWrite(13, HIGH); //13をONにする
  delay(1000);  //1000ms待つ
  digitalWrite(13, LOW); //13をOFFにする
  delay(1000); //
}


LED2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//3色LEDを点灯させる

void setup()
{
  pinMode(13, OUTPUT); //13を出力モードに
  pinMode(12, OUTPUT); //
  pinMode(11, OUTPUT); //
}

void loop()
{
  digitalWrite(13, HIGH); //13をONに
  digitalWrite(12, HIGH); //
  digitalWrite(11, HIGH); //
  delay(1000);  //
  digitalWrite(13, LOW); //
  digitalWrite(12, LOW); //
  digitalWrite(11, LOW); //
  delay(1000); //
}


LED4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 中間色をつくる
void setup(){}
void loop()
{
  analogWrite(11,0);  //徐々に明るくなる
  delay(100);  
  analogWrite(11, 50);
  delay(100);  
  analogWrite(11, 100);
  delay(100);  
  analogWrite(11, 150);
  delay(100);  
  analogWrite(11, 200);
  delay(100);  
  analogWrite(11, 255);
  delay(100);  
}


LED5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// いろいろな中間色をつくる
void setup(){}
void loop()
{
  analogWrite(11,0);    //11はだんだん明るく
  analogWrite(10,255);  //10はだんだん暗く
  delay(100);
  analogWrite(11, 50);
  analogWrite(10,200);
  delay(100);
  analogWrite(11, 100);
  analogWrite(10,150);
  delay(100);
  analogWrite(11, 150);
  analogWrite(10,100);
  delay(100);
  analogWrite(11, 200);
  analogWrite(10,50);
  delay(100);
  analogWrite(11, 255);
  analogWrite(10,0);
  delay(100);
}


LED6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 変数を使う
int t=50;  //tの長さを変えると点滅速度を変えられる

void setup(){}
void loop()
{
  analogWrite(11,0);
  analogWrite(10,255);
  delay(t);  
  analogWrite(11, 50);
  analogWrite(10,200);
  delay(t);
  analogWrite(11, 100);
  analogWrite(10,150);
  delay(t);
  analogWrite(11, 150);
  analogWrite(10,100);
  delay(t);
  analogWrite(11, 200);
  analogWrite(10,50);
  delay(t);
  analogWrite(11, 255);
  analogWrite(10,0);
  delay(t);
}


LED7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// forループを使う
int t=5;
void setup(){}
void loop()
{
  for(int i=0;i<255;i++){  //0~255へ徐々に明るく
   analogWrite(11,i);
   delay(t);
  }
  for(int i=255;i>0;i--){  //255~0へ徐々に暗く
   analogWrite(11,i);
   delay(t);
  }
}


READ1

1
2
3
4
5
6
7
8
9
10
11
12
13
int analogValue = 0;  // アナログ値を格納する変数

void setup(){
   Serial.begin(9600); // シリアルポートを9600bpsで開く
}

void loop(){
  analogValue = analogRead(0); // アナログピン0から読み取る

   Serial.print(analogValue);      //読んだ値をPCへ送る
   Serial.println();               // 改行を送信
   delay(100); // 100ミリ秒停止
}


servo1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <Servo.h>

Servo myservo;

void setup() {
  myservo.attach(9);  //9番にサーボをつなぐ
 
}

void loop() {

  myservo.write(90);  //90度にする
  delay(1000);
  myservo.write(0);  //0度にする
  delay(1000);

}


さとうなるみの信号機プログラム

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void setup()
{
  pinMode(13, OUTPUT); //13番のピンを出力モードに
  pinMode(12, OUTPUT); //13番のピンを出力モードに
  pinMode(11, OUTPUT); //13番のピンを出力モードに
}

void loop()
{
  digitalWrite(13, HIGH);  delay(1000);  
  digitalWrite(13, LOW);   delay(1000);

  digitalWrite(12, HIGH);  delay(1000);  
  digitalWrite(12, LOW);   delay(1000);

  digitalWrite(11, HIGH);  delay(1000);  
  digitalWrite(11, LOW);   delay(1000);
}