Skocz do zawartości

Pomocna odpowiedź

@Elvis Zgadza się, ale program powinien przestać je wysyłać w momencie puszczenia guzika - a tak się nie dzieje.

A więc:

Co ciekawe, gdy wyrzuciłem z kodu fotorezystory, zostawiłem tylko potencjometr program działał poprawnie:

//int swiatlo1 = 0;           //zmienna fotorezystora1
//int swiatlo2 = 0;           //zmienna fotorezystora2
int przycisk = 0;           //ilosc nacisnięć przycisku
int potencjometr = 0;       //odczyt z potencjometra

void setup() { 
 Serial.begin(9600);
 pinMode(2, INPUT_PULLUP);
}

void loop() {
 //  swiatlo1 = analogRead(A4);
 //  swiatlo2 = analogRead(A3);
   potencjometr = analogRead(A5);

 if(digitalRead(2) == LOW) {
   delay(150);
   przycisk = przycisk + 1;
   Serial.println("");
  // Serial.print(" Fotorezystor1: ");
  // Serial.print(swiatlo1);
  // Serial.print("\t");
  // Serial.print(" Fotorezystor2: ");
  // Serial.print(swiatlo2);
  // Serial.print("\t");
   Serial.print(" Potencjometr: ");
   Serial.print(potencjometr);
   Serial.print("\t");
   Serial.print(" Wcisniecia guzika: ");
   Serial.print(przycisk);
   delay(10);
     }   
    else {
      delay(50);
   }

}

Gdy zostawiłem oryginalny kod i dodałem pętle while, ograniczającą tylko jedną wiadomość też podziałało.

Podpiąłem diodę, mruga bez problemu, z różnymi delayami.

A co do badania woltomierzem - tu już ciekawiej.

W momencie włączenie monitora - 4,3V

W momencie wciśnięcia przycisku - 0,6V

W momencie gdy przycisk został puszczony, a program spamuje - 3,42 V

Gdy wstawiłem ten kod bez fotorezystorów napięcie było 4,3V przed wciśnięciem i 4,3V po puszczeniu... tylko w układzie był tylko potencjometr. Fotorezystory nawet nie były wpięte. Więc? W czym siedzi problem? Ewentualnie co jeszcze sprawdzić?

while.thumb.PNG.0d982a73b24f30a30056139bf63417d3.PNG

potencjometr.thumb.PNG.11ab8a075149310701de50e54d0b6b58.PNG

Masz może schemat układu który podłączasz? Dziwi mnie trochę ten odczyt:

W momencie wciśnięcia przycisku - 0,6V

Podłączyłeś przełącznik przez diodę?

Masz może schemat układu który podłączasz? Dziwi mnie trochę ten odczyt:
W momencie wciśnięcia przycisku - 0,6V

Podłączyłeś przełącznik przez diodę?

Nie, nie podłączyłem przez diode, ale... mea culpa, błąd pomiaru. Nie poczekałem. Przy ponownym pomiarze napięcie spadło do 0V.

Schemat połączenia wygląda tak:

[ Dodano: 21-03-2016, 11:44 ]

A z kolei gdy podłączyłem przycisk przez diode tak:

To program nie wykrywał jego naciśnięcia. Owszem, dioda się zapalała (i świeciła dużo mocniej w porównaniu do innych pinów), jednak monitor nic nie wyświetlał.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...