20-12-2020, 00:23
int pin[14]={4,5,6,7,8,9,10,11,12,13,14,15,16,17};
int q = 0;
byte s = 0;
void setup() {
Serial.begin(9600);
pinMode( 2 , INPUT);
pinMode( 3 , INPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
}
void loop() {
// dół
if (digitalRead(2) == LOW and s == 0){
for( q = 0; q < 13; q++ ){
digitalWrite( pin[q], HIGH );delay(500);}
s = 1;
}
if (digitalRead(2) == LOW and s == 1 ){
for( q = 13; q >= 0; q-- ){
digitalWrite( pin[q], LOW );delay(200);}
s = 0;
}
// góra
if (digitalRead(3) == LOW and s == 0){
for( q = 13; q >= 0; q-- ){
digitalWrite( pin[q], HIGH );delay(500);}
s = 1;
}
if (digitalRead(3) == LOW and s == 1){
for( q = 0; q < 13; q++ ){
digitalWrite( pin[q], LOW );delay(200);}
s = 0;
}
}
To stworzyem z pomoca forum, ale zawsze jest ale. Program wyzwala sie samoczynie i wpada w petle chodz czuiniki pir sr501 wogóle nie działają, dołaczyłem diody led do pir by widziec kiedy przekazują sygnał. Jeszcze chciałbym dopisac jeden pin który podczas odpalania pir właczał by zasilanie ledów i działał tak długo by zakonczyc wyłoczenie lub wyłaczenie wszystkich stopni. Ten pin miałyby priorytet jako pierwsszy i ostani.
dziekuje wszytkim za pomoc
int q = 0;
byte s = 0;
void setup() {
Serial.begin(9600);
pinMode( 2 , INPUT);
pinMode( 3 , INPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
}
void loop() {
// dół
if (digitalRead(2) == LOW and s == 0){
for( q = 0; q < 13; q++ ){
digitalWrite( pin[q], HIGH );delay(500);}
s = 1;
}
if (digitalRead(2) == LOW and s == 1 ){
for( q = 13; q >= 0; q-- ){
digitalWrite( pin[q], LOW );delay(200);}
s = 0;
}
// góra
if (digitalRead(3) == LOW and s == 0){
for( q = 13; q >= 0; q-- ){
digitalWrite( pin[q], HIGH );delay(500);}
s = 1;
}
if (digitalRead(3) == LOW and s == 1){
for( q = 0; q < 13; q++ ){
digitalWrite( pin[q], LOW );delay(200);}
s = 0;
}
}
To stworzyem z pomoca forum, ale zawsze jest ale. Program wyzwala sie samoczynie i wpada w petle chodz czuiniki pir sr501 wogóle nie działają, dołaczyłem diody led do pir by widziec kiedy przekazują sygnał. Jeszcze chciałbym dopisac jeden pin który podczas odpalania pir właczał by zasilanie ledów i działał tak długo by zakonczyc wyłoczenie lub wyłaczenie wszystkich stopni. Ten pin miałyby priorytet jako pierwsszy i ostani.
dziekuje wszytkim za pomoc