つくったブログ

ぼくがつくったもの。

Arduinoを使った、はじめてのシリアル通信

シリアル通信ってなに?


 今日はシリアル通信をやってみる。シリアル通信とはデータを1ビットごと送る通信のことらしい。僕も良く知らない。でも難しいことなんて知る必要はない。Arduinoの流儀のひとつ、「Circuit Bending(理論を知らなくてもごり押しでOK)」に習おう。


 以下のコードを使う。この前のものからLEDをひとつにしてシンプルな作りにした。回路図は前回のままでもいい。

// Original 03:簡単なシリアル通信

const int red_LED = 13;        // 赤LEDが接続されているピン

int val = 0;                   // 光センサの値を格納する
int state = 0;                 // LEDの状態(0ならオフ、1ならオン)

void setup() {
  pinMode(red_LED, OUTPUT);    // ArduinoにLEDが出力であると伝える
  Serial.begin(9600);          // シリアル通信の転送レートを指定
}

void loop() {
  val = analogRead(0);         //センサから値を取得します
  Serial.println(val);         // シリアルポートにデータを出力
  if(val/4 < 90){
    state=0;
  }else{
    state=1;
  }
  
  //変化があるかどうかチェック
  
  if (state == 0) {
    digitalWrite(red_LED, LOW);
  } else {
    digitalWrite(red_LED, HIGH);
  }
  delay(100);
}


 Arduinoに書き込んだら、エディタ右上の虫眼鏡のアイコン「シリアルモニタ」をクリックしよう。数字がスゴい速さで書き込まれているのがわかる。今回の数値はCdSセンサから読み取った電圧(0から5V)を0から1023の数値に変換されたものが表示されている。


 次回はArduinoの頼れる相棒、Processingを使って世界とArduinoをつなげてみたいと思う。

カルビー フルグラ 800g

カルビー フルグラ 800g