Wpis z mikrobloga

18+

Zawiera treści 18+

Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.

@raFFcio:
@przepraszamczytenloginjestwolny:

Tylko, że ja bym chciał aby czujnik ciągle chodził a diody się wyłączyły po upływie np. 5 sekund. Napisałem coś takiego i z tym kombinuje, próbowałem też z druga zmienna coś robić, ale mi nie wychodzi.

Czujnik wykrywa obiekt i informuje diodami aby się więcej nie zbliżać, nie chce zmuszać obiektu (w tym wypadku samochodu aby się cofać)

void setup() {

Serial.begin(9600);
pinMode(2, INPUT);
pinMode(8, OUTPUT);
// attachInterrupt(digitalPinToInterrupt(2),
@Islam:

void setup() {

Serial.begin(9600); pinMode(2, INPUT);
pinMode(8, OUTPUT);
// attachInterrupt(digitalPinToInterrupt(2), dioda, RISING);

}
int i = 0;
int flag = 0;
void loop() {
Serial.println(i);
if (digitalRead(2) == LOW){
flag = 1;
i=1;
for(i=1;i<=5;i++){
digitalWrite(8, HIGH);
delay(500);
}
delay(500);
i=0;

if (i==0){
digitalWrite(8, LOW);
}

if (i==0 && flag = 1){
flag =0;
}

}
}
@raFFcio: Nadal nie działa, próbowałem jeszcze na kilka innych sposobów. Jutro się jeszcze pobawię. Tutaj stan samego i jest tylko zerowy w przypadku gdy czujnik nic nie wykrywa, a tak ciągle czyta stan jako 1
@Islam:

int i = 0;
int flag = 0;

void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(8, OUTPUT);
attachInterrupt(digitalPinToInterrupt(2), dioda, FALLING);
}

void dioda(){
flag = 1;
}

void loop() {
Serial.println(i);
if (flag == 1) {
for (i = 1; i <= 5; i++) {
digitalWrite(8, HIGH);
delay(500);
Serial.println(i);
}

delay(500);
digitalWrite(8, LOW);

if (i == 6 && flag == 1) {
flag = 0;
}
}
}
@Islam: Zrobiłem tak, u mnie działa na symulowanym układzie. Z jednym ale: prawdopodobnie przez drganie styków pomimo przerwania FALLING dioda zapala mi się drugi raz w następującej sytuacji:
1. czujnik zadziałał
2. czujnik cały czas działa, dioda się zaświeca i świeci przez wyznaczony czas
3. dioda gaśnie, czujnik działa
4. czujnik przestaje działać i dioda znów się zaświeca

Próbowałem to wyeliminować, ale nie mam już siły myśleć. Poza tym u Ciebie
@raFFcio: Działa ten kod powyżej, nieźle nieźle. Chciałem kombinować dzisiaj z tymi przerwaniami, bo wczoraj nie wyszło. Dzięki, byłem blisko a jednak tak daleko