2015年10月9日金曜日

二次元配列/Arduino

Arduinoで二次元配列を使う場合はこんな感じです。
ArduinoにArrayなんて型はありませんでした。
int LED[2][2] ={{2,3},{4,5}};

for(int i=0;i<2;i++){
  for(int j=0;j<2;j++){
    pinMode(LED[i][j], OUTPUT);
    digitalWrite(LED[i][j], HIGH);
  }
}

2015年10月8日木曜日

チャタリング防止/Arduino

オムロン(OMRON)さんのリミットスイッチでチャタリングが起きた為
一瞬(10ms以内)の切り替わりは対応しないようにしました。
もっと簡単な方法があるはず。

int LIMITSWITCH_IN = 2;
boolean limitSwitchBoo;
int CHATTERING_TIME = 10;
unsigned long chatteringTimeStamp = millis();
unsigned long nowMillis;

void setup() {
  limitSwitchBoo = digitalRead(LIMITSWITCH_IN);
  Serial.begin(9600);
  pinMode(LIMITSWITCH_IN, INPUT);
}

void loop() {
  nowMillis = millis();
  //最低10ms経っていないと受け付けない。
  if ((nowMillis - chatteringTimeStamp) > CHATTERING_TIME) {
    //【LOW】HIGHからLOWに切り替わった
    if ((limitSwitchBoo == HIGH) && (digitalRead(LIMITSWITCH_IN) == LOW)) {
      limitSwitchBoo = LOW;
      chatteringTimeStamp = nowMillis;
      limitLowAction();
      //【HIGH】LOWからHIGHに切り替わった
    } else if ((limitSwitchBoo == LOW) && (digitalRead(LIMITSWITCH_IN) == HIGH)) {
      limitSwitchBoo = HIGH;
      chatteringTimeStamp = nowMillis;
      limitHighAction();
    }
  }
}

void limitLowAction() {
  Serial.println("LOW");
}

void limitHighAction() {
  Serial.println("HIGH");
}

2015年10月7日水曜日

IP固定/Raspbian/使用準備2/RaspberryPi2

↓/etc/network/interfacesを編集
sudo nano /etc/network/interfaces
↓以下のように一部書き換え・追加
iface eth0 inet static
address 192.168.1.65
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.1 ※値は環境によって異なります。

2015年10月6日火曜日

IOError: [Errno 5] Input/output error/Python/Raspbian/RaspberryPi2

↓アナログ値の読み込みをしたらエラー【IOError: [Errno 5] Input/output error】
Raspberry PiのI2Cのbaudrate(クロック)が関係しているようです。
sudo python ardu_pi_i2c.py
↓/boot/config.txtに「dtparam=i2c_baudrate=10000」を追加すると動くらしいので編集します。
(ここでは10kHzにしているけど、何が正しいのだろう。。)
sudo nano /boot/config.txt
↓再起動
↓動いたー!

2015年10月1日木曜日

NOOBS/使用準備1/RaspberryPi2

注意:ここで使用するSDカードは8G以上
  1. SD Card Formatterをダウンロードしてインストール
    https://www.sdcard.org/downloads/formatter_4/
  2. SD Card Formatterでフォーマット
  3. NOOBSのダウンロード
    https://www.raspberrypi.org/downloads/noobs/

  4. Zipファイルの中身をSDカードにコピー
  5. SDカードをRaspberryPiにセットし、
    キーボード/マウス/HDMI/LANケーブルを繋ぎ最後に電源を入れる。
  6. OSを選んでインストール