ロボ研の藤田大悟です。

卒業研究でスマートロックを目指している生徒がいます。

最終的には無線化を目指しています。

スイッチを1度押すとそれを記憶して、90度サーボを回転してとめます。

もう1度押すと元に戻ります。

Untitled_Sketch_3_fzz_-_Fritzing_-__ブレッドボード_ビュー__と_音スイッチ_fzz_-_Fritzing_-__ブレッドボード_ビュー_ IMG_1935

プログラミングは以下のとおり

/*GR-SAKURA Sketch Template Version: V1.08*/

#include<rxduino.h>

#include <Servo.h>

Servo servo;

 

const int LED = 13;

const int TACT = 7;

int val = 0;

int old_val = 0;

int TactState = 0;

void setup()

{

servo.attach(12);

pinMode(LED, OUTPUT);

pinMode(TACT, INPUT);

}

void loop()

{

val = digitalRead(TACT);

if ((val == HIGH) && (old_val == LOW)) {

TactState = 1 – TactState;

delay(10);

}

old_val = val;

if (TactState == 1) {

digitalWrite(LED, HIGH);

servo.write(90);

delay(10);

}

else {

digitalWrite(LED, LOW);

servo.write(0);

delay(10);

}

}