arduinoでロボットを作る?

各社産業用ロボット

ABB社
https://new.abb.com/us

ファナック
https://www.fanuc.co.jp/

川崎重工業
https://www.khi.co.jp/

安川電機
https://www.yaskawa.co.jp/

KUKA
https://www.kuka.com/

### メモ
– 産業用ロボット大手はABB、ファナック、川崎重工業、安川電機、KUKAでアーム型が殆ど
– ロボットに機械学習を実装するのは当たり前になっている
– 赤外線、音声出力、撮影、家電操作、音声認識、顔認識、巡回機能、ARなど多様な機能を組み込んでいる
– 二足歩行ロボットはZMPなど歩行制御のアルゴリズムがある
– 足は電動モータなどのアクチュエーターで動かしている。更に脚部にバネを入れるなどして動作安定化という課題も克服しなければならない。

歩行ロボットはかなり難しそうか。。。

[Arduino]土壌湿度検出モジュール

ポトスという観葉植物を購入して、土壌湿度を検証します。

void setup() {
  Serial.begin(9600);
  pinMode(3, INPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  int val, val_old;
  val = digitalRead(3);
  digitalWrite(13, val);
  val_old = 1023-analogRead(0);
  Serial.print("Moisture Sensor Value:");
  Serial.println(map(val_old, 0, 1023, 0, 100));
  delay(100);
}

dav

シリアルモニター
Moisture Sensor Value:31
Moisture Sensor Value:30
Moisture Sensor Value:30
Moisture Sensor Value:30
Moisture Sensor Value:31

コレを作ると、農作物の温度、湿度管理のイメージが大分沸きます。

[Arduino]可燃ガス/煙センサー

煙、ガスを検出し、serial monitorに濃度値を表示する。

void setup() {
  Serial.begin(9600);
}

void loop() {
  int val;
  val = analogRead(0);
  Serial.println(val,DEC);
  delay(100);
}

dav

土壌モジュールを除いて、一通り基礎は終わりました。

[Arduino]火炎検知センサー

火炎検知センサーは、読んで字のごとく火炎を検出する。

### ソースコード
// 省略

dav

何やコレ、ターボライターは反応しない。
室内で実験に火を使用するのは万一を考えると危険だ。

[Arduino]リードスイッチ

リードスイッチモジュールは磁場を検出する
マグネットを購入し、リードスイッチに近づけて、LEDの点灯を制御する

int Led = 13;
int buttonpin = 3;
int val;

void setup() {
  pinMode(Led, OUTPUT);
  pinMode(buttonpin, INPUT);
}

void loop() {
  val = digitalRead(buttonpin);
  if(val==HIGH){
    digitalWrite(Led, HIGH);
  } else {
    digitalWrite(Led, LOW);
  }
}

dav

マグネットは水銀に比べて身体に安全という利点がありそうだ

[Arduino]水銀チルトセンサー

水銀チルトセンサーはチルト(tilt)を測定する
水銀チルトセンサーの斜度を変えて、LEDは点灯や消灯する
チルトとは傾斜

int Led = 13;
int buttonpin = 3;
int val;

void setup() {
  pinMode(Led, OUTPUT);
  pinMode(buttonpin, INPUT);
}

void loop() {
  val = digitalRead(buttonpin);
  if(val==HIGH){
    digitalWrite(Led, HIGH);
  } else {
    digitalWrite(Led, LOW);
  }
}

mde

傾斜が変わるって何だろう? 地震は揺れだし、単にオンオフの切り替えならばスイッチで良いし。
かつてはガスファンヒーター・石油ヒーターなどの転倒防止スイッチで使用されていたらしい。
水銀が危険なので現在は使われていないとのこと。センサー一つで歴史を感じる。

[Arduino]遮光センサー

遮光センサーはフォトインタラプタを検出できる。

フォトインタラプタとは?
>発光素子と受光素子を1つのパッケージに対向して並べ、その間を検出物体が光をさえぎることにより、検出機能を持つ

int Led = 13;
int val;

void setup() {
  pinMode(Led, OUTPUT);
  pinMode(3, INPUT);
}

void loop() {
  val = digitalRead(3);
  if(val==HIGH){
    digitalWrite(Led, HIGH);
  } else {
    digitalWrite(Led, LOW);
  }
}

mde

コレはびっくりする。
物体検知という意味では赤外線センサーなどと一緒なのかもしれないが、原理が全く異なるのね。

[Arduino]HC06 Bluetoothセンサー

Bluetoothでメッセージ通信を行います。

AndroidにAmarino 2.0 build 0.55をインストールします。

void setup() {
  Serial.begin(9600);
}

void loop() {
  char val;
  val = Serial.read();

  if((val>='a' && val <= 'z') || (val>='A' && val<= 'Z')){
    Serial.println(val);
  }
}

dav

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding

ん? どういうことだ?