• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Czujnik zmierzchu a elektryczne rolety?
#2
Przede wszystkim, nie wklejaj obrazków, ale kod programu (wewnątrz znaczników: code).
Wstaw sobie dodatkową zmienną, która przechowuje stan rolet (podniesione lub opuszczone). Może być typu bool, bo więcej nie potrzeba. Potem, w zależności od jej stanu (HIGH lub LOW) decyduj, co program ma robić. W pętlach można łączyć warunki za pomocą AND i OR, wykorzystaj je.
Warto też, żebyś wstawił jakiekolwiek czujniki stanu rolet, które powiedzą, czy roleta jest otwarta, czy zamknięta.

Kolejna rzecz:
Kod:
while(digitalWrite(8, OUTPUT));
Ta linia nie ma sensu z co najmniej dwóch powodów. Pierwszy jest taki, że na końcu linii wstawiłeś średnik. Oznacza to, że jeśli warunek while jest spełniony, wykona się to, co znajduje się za nawiasem zamykającym warunek a średnikiem. Innymi słowy: nic. Ta pętla będzie się wykonywać w nieskończoność, właściwie wieszając program. Drugi powód jest taki, że funkcja digitalWrite przyjmuje jako parametry dwie wartości. Pierwsza to pin, którego ma dotyczyć (w Twoim przypadku: 8), druga to stan pinu, jaki ma być ustawiony (u Ciebie stan pinu to OUTPUT, gdzie powinna być to wartość LOW lub HIGH, ewentualnie 0 lub 1).

Gdybym ja miał napisać taki program, powiedziałbym, że:
1. Jeśli roleta jest opuszczona i odczyt z czujnika światła jest mniejszy niż 100, to podnoś roletę tak długo, aż będzie podniesiona.
2. Jeśli roleta jest podniesiona i odczyt z czujnika światła jest większy niż 100, to opuszczaj roletę tak długo, aż będzie opuszczona.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Czujnik zmierzchu a elektryczne rolety? - przez krn78 - 31-01-2018, 19:29

Skocz do:


Przeglądający: 1 gości