Arduinoはじめました

by K.I
2014/07/15〜2014/07/26

Index


概要


[top]

開発環境

Arduino IDE

IDEの起動


[top]

Arduino

Arduino UNO

ダヴィンチ32U

Arduino Micro


[top]

Arduinoを使ってみる

書込んでみる

書込み時と動作時のポート番号が違う

Blinkのプログラム


1そういう理由じゃないかもしれないが。

[top]

LCDを繋いでみよう

LCDの接続方法

LCD端子番号 14 13 12 11 10 9 8 7 6 5 4 3 2 1 16 15
LCD端子名 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 E R/W RS Vo Vdd Vss K A
Arduino端子番号2 3 4 5 10 11 12 抵抗でGNDに 13* GND

LiquidCrystal


2Readしないならば、R/WをGNDに落として接続しないということも出来る。
3Pin13はLEDも接続されているので、ちょっと辛いんだけど、まぁ実験用なので良しとする。
4うまくズラして、電源ピンは少し曲げて半田付けする必要がある。

[top]

Analog入出力

Analog入出力プログラム

Analog入力

Analog出力

→出力値によって、パルス幅が変わる
[top]

Firmata

Firmataを書き込む

Processingのインストール

Firmataのテスト

srduino_outputのプログラム

import processing.serial.*;
import cc.arduino.*;

Arduino arduino;

color off = color(0,0,0);               // OFFの色
color on  = color(255,0,0);             // ONの色
color tcol = color(255,255,255);        // Textの色
color bcol = color(0,0,255);            // 背景の色

int[] values = { Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW,
 Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW,
 Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW };

void setup() {          // 初期設定
  size(470, 80);                // Windowサイズの設定
  
  println(Arduino.list());      // 接続可能なポートのリストを表示
  
  // このプログラムをリストの最初のポートに57600bpsで接続
  arduino = new Arduino(this, Arduino.list()[0], 57600);
  
  for (int i = 0; i <= 13; i++)
    arduino.pinMode(i, Arduino.OUTPUT); // pin0〜13を出力ポートに設定
}

void draw() {           // 描画ルーチン(自動的に繰り返し呼び出される)
  background(bcol);             // 背景色を設定
  stroke(tcol);                 // ストロークの色を設定
  
  for (int i = 0; i <= 13; i++) {       // pin0〜13について
    if (values[i] == Arduino.HIGH)      //   現在のpin状態がHighならば
      fill(on);                         //     ONの色に
    else                                //   それ以外(Low)ならば
      fill(off);                        //     OFFの色に
      
    rect(420 - i * 30, 30, 20, 20);     //   四角を描く

    fill(tcol);                         //   Textの色設定
    text(str(i),420-i*30,30);           //   pin番号表示
  }
}

void mousePressed()     // マウスがクリックされた時の処理
{
  int pin = (450 - mouseX) / 30;        // Mouse座標から、pin番号を求める
  
  if (values[pin] == Arduino.LOW) {             // 現在がLowならば
    arduino.digitalWrite(pin, Arduino.HIGH);    //   pin状態をHighに設定
    values[pin] = Arduino.HIGH;                 //   現在のpin状態を更新
  } else {                                      // それ以外(High)ならば
    arduino.digitalWrite(pin, Arduino.LOW);     //   pin状態をLowに設定
    values[pin] = Arduino.LOW;                  //   現在のpin状態を更新
  }
}

[top]

加速度センサをつなぐ

→加速度センサの確認用に板に固定しておく

arduino_inputのプログラム

→けっこう面白いデモなのでおススメ!

Processingでアプリを作る

→前述の 加速度センサをつなぐの接続で
[top]

まとめ

キットとか書籍



comments powered by Disqus