Контролери > Ардуино (Arduino)
помощ arduino с бутон и реле
lembata:
#define SHORT_PULSE 220
#define SECOND 1000
int rele1 = 13 ;
int rele2 = 12 ;
int rele3 = 11 ;
int inpin = 8;
int ON = HIGH;
int OFF = LOW;
void setup ()
{
pinMode(inpin, INPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
}
void loop()
{
bool pressed = digitalRead(inpin);
if (pressed)
{
digitalWrite(rele1, ON); //vkliu4va rele 1
delay(2 * SECOND); // 4aka 2 sekundi
digitalWrite( rele2, ON ); //vkliu4va rele 2
delay(SHORT_PULSE); // kratuk impuls
digitalWrite( rele2, OFF); // izkliu4va rele 2
delay(3 * SECOND ); // 4aka 3 sekundi
digitalWrite(rele2, ON ); //vkliu4va rele 2
digitalWrite(rele3, ON ); //vkliu4va rele 3
delay(SHORT_PULSE); // kratuk impuls
digitalWrite(rele2, OFF); // izkliu4va rele 2
digitalWrite(rele3, OFF); // izkliu4va rele 3
delay(120 * SECOND - 5 * SECOND - 2 * SHORT_PULSE); //dopulnitelno zabavqne do kraq na 2te minuti
digitalWrite(rele1, OFF); // izkliuchva rele1 2 minuti sled nachaloto na rabotata mu
}
}
lz1iko:
Да стана
много благодаря
впрочем и аз достигнах до горе долу същото решение но твоето е доста по изпипано
ето го и моето решение
int rele1 = 13 ;
int rele2 = 12 ;
int rele3 = 6 ;
int inpin = 8;
int ON = HIGH;
int OFF = LOW;
int val = 0;
void setup ()
{
pinMode(inpin, INPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
}
void loop()
{
val = digitalRead(inpin);
if (val == HIGH) {
digitalWrite(rele1,ON); //vkliu4va rele 1 podawa zahranwane
delay(2000); //chaka malko
digitalWrite(rele2, ON ); //vkliu4va rele 2
delay(200); // kratuk impuls
digitalWrite(rele2, OFF); // izkliu4va rele 2
delay(2000); // 4aka 2 sekundi
digitalWrite(rele2, ON ); //vkliu4va rele 2
digitalWrite(rele3, ON ); //vkliu4va rele 3
delay(200); // kratuk impuls
digitalWrite(rele2, OFF); // izkliu4va rele 2
digitalWrite(rele3, OFF); // izkliu4va rele 2
delay(10000); // 4aka 10 sek
digitalWrite(rele1,OFF); // izkliu4va rele 1 gasi toka
}
}
lz1iko:
Здравейте отново
всичко беше супер и тръгна но сега се интересувам има ли команда с която да спра цикъла докато не се натисне бутона
идеята е когато пусна захранване на ардуиното да изпълни няколко команди на реле2 и 3 и да СПРЕ за да чака натискане на бутона т.е да не се връща в началото както сега а да чака натискане на бутона
Навигация
[0] Списък на темите
Премини на пълна версия