[1.1] 自分が今行いたい事は何か:
私の果樹園には色々な鳥獣が出て悪さをします。これを監視するセンサーカメラを作りたいと思っています。
昨日スケッチを作りましたが、定期的に半押しすることも、センサーで全押しすることもできませんでしたので、
まずは定期的に全・半押しをすることはMetroという文で作り、作動することができました。
次にセンサーで全押しするために以下の文を作りました。
[1.2] どのように取り組んだか(プログラムコードがある場合記載)
//センサーが感知している間、レリーズする。
const int phshPin =11; //全押しは11
const int sensorPin =2; //センサーは2
int val =0; //入力ピンの状態がvaに記憶される
void setup() {
pinMode(phshPin, OUTPUT); //全押しは出力
pinMode(sensorPin, INPUT); //センサーは入力
}
void loop() {
val = digitalRead(sensorPin); //入力を読み取りvalに格納
if (val == HIGH) {
digitalWrite(phshPin, HIGH);
delay(1000);
digitalWrite(phshPin, LOW);
delay(1000);
} else {
digitalWrite(phshPin, LOW);
}
}
センサーの変わりにリード線の接触をスイッチにしました。
すると、電源投入後スイッチに関係なく連写が止まりませんでした。
コンパイルと書き込みは正常でした。
[1.4] 今何がわからないのか、知りたいのか
なぜ連写してしまうのでしょうか?とめるには何が足らないでしょうか?
[2] 環境
[2.1] OS : Windows, Linux等々
Windows7
[2.2] コンパイラ名 : VC++ 2008EE, Borand C++, gcc等々
Arduinoでいいのでしょうか?
[3] その他
・どの程度C言語を理解しているか
勉強初めて約3ヶ月です。
・ライブラリを使っている場合は何を使っているか
使っていないと思われます。
以上、初心者の質問でお恥ずかしいですがよろしくお願いします。