Включение по условию

Naher90
Offline
Зарегистрирован: 01.07.2017

Всем привет! Прошу помощи. Пожалуйста, очень надо разобраться, так как сам мало волоку в этом деле пока что.

Внизу скетч программы, которая будет сигнализировать о невключенном напряжении сигналом Пищалки. 

2 пин это концевик.

Так вот, как заставить программу работать: 1.чтобы она начинала как бы отстчёт с размыкания концевика.

2. как сделать чтобы эти циклы не повторялись постоянно с зажатым концевиком.

Спасибо за советы и подсказски. Всем добра!!!

вот скетч:

int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
#define R1  62. // сопротивление R1 (62K)
#define R2  3.3 // сопротивление R2 (3.3K)
int value = 0;
 
void setup(){
  Serial.begin(9600); 
  pinMode(analogInput, INPUT);
  pinMode(2,OUTPUT);
  pinMode(3,INPUT);
}
 
void loop(){
  
value = analogRead(analogInput);
vin = ((float)analogRead(A1))*5. / 1024. / R2 * (R1 + R2);
Serial.print("U1 = ");
delay(1000);    
Serial.print(vin, 1);
delay(1000);
   
    
if ((digitalRead(3)==HIGH)&& (vin>0.0))//напряжение больше нуля, сообщает что всё нормально и пищит два раза
    
{
  digitalWrite(2,HIGH);
  delay(100);
  digitalWrite(2,LOW);
  delay(100);
  digitalWrite(2,HIGH);
  delay(100);
  digitalWrite(2,LOW);
  delay(100);
}
 
   if ((digitalRead(3)==HIGH)&& (vin==0))//напряжение не включено, сообщает длинным писком, чтобы включить напряжение обратно
   {
    digitalWrite(2,HIGH);
    delay(2000);
    digitalWrite(2,LOW);
    }
    }
}
DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

это не скетч.  скетчем это станет, когда прочтешь 

http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...

Morroc
Offline
Зарегистрирован: 24.10.2016

Naher90 пишет:
2 пин это концевик.

Может 3 пин ?

Naher90 пишет:
Так вот, как заставить программу работать: 1.чтобы она начинала как бы отстчёт с размыкания концевика. 2. как сделать чтобы эти циклы не повторялись постоянно с зажатым концевиком.

Надо помнить предыдущее состояние концевика и смотреть напряжение только если концевик был LOW, стал HIGH - тогда будет срабатывать 1 раз и ждать, когда концевик перекинится HIGH->LOW->HIGH.