• 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
Problem po dodaniu komend
#6
(30-11-2016, 00:48)Automatyk napisał(a): Funkcja delay jest odpowiedzialna za ten błąd ten wątek juz tu był gdzieś poruszony musisz użyć innej funkcji np millis

(30-11-2016, 08:28)JasQ napisał(a): namok teoria słuszna tylko jak zacznie mieszać to z podziwu nie wyjdzie tu masz 1 linijkę do dołożenia efekt ten sam

powinno działać daj zamiast 1800 sek 5 sek i sprawdź

Kod:
void setup() {

pinMode(8 , OUTPUT);  // przekaźnik daj pin jaki tam potrzebujesz

}

void loop() {
 
 if ( (millis()/1000)  < 1800 )digitalWrite(8,HIGH);else digitalWrite(8,LOW); // 1800 to czas do wyłączenia

}


Dziękuję serdecznie za tą pomoc . Oczywiście  pomogła i uzyskałem zamierzony efekt ale ..... Jeżeli umieściłem fragment :


Kod:
if ( (millis()/1000)  < 20 )digitalWrite(3,HIGH);else digitalWrite(3,LOW);
 sensors.requestTemperatures();

na końcu sekcji void loop() {
to działało jak uprzednio , natomiast dopiero przeniesieniu tego na sam początek void loop() {
zadziałało tak jak trzeba ale .....
I tu muszę wrócić na sam początek i wytłumaczyć po co było potrzebne mi wyzwalanie tego pinu cyfrowego po określonym czasie .
Jak już wspomniałem układ który zbudowałem z "klocków' arduino potrzebny był mi do pomiaru temperatury na piecu CO . Ponieważ mieszkanie jest na piętrze pierwszym a kotłownia w piwnicy a chciałem mieć dokładny podgląd na temperatury zarówno w domu jak i w piwnicy , to zbudowałem taki układ na arduino, że cała centralka i jeden wyświetlacz dwuliniowy jest umieszczony przy piecu , natomiast drugi wyświetlacz czteroliniowy wisi w domu na 10 metrowym kablu połączonym z centralką w piwnicy (wiem że to za duża odległość) . Oba wyświetlacze są na magistrali I2C . I niby cały układzik fajnie hula pokazując wszystkie temperatury . Lekkie problemy pojawiają się po kilkudziesięciu godzinach , gdy czasami wyświetlacz w domu wyświetla jakieś dodatkowe symbole lub zatrzymuje się na jakiejś temperaturze i tak wisi pokazując cały czas to samo . Do tej pory radziłem sobie tak że schodziłem do piwnicy odłączałem na chwilkę zasilanie od arduino i po załączeniu układ znowu działał kilkadziesiąt godzin . Postanowiłem to zmienić . I tu właśnie jest to potrzebne mi wyjście cyfrowe uruchamiane po pewnym czasie . Wymyśliłem sobie że wykorzystam moduł z przekaznikiem który to miał sterować owy pin cyfrowy . Przeciąłem ścieżkę vcc podającą zasilanie do arduinio i przecięte ścieżki podłączyłem do styków przekaznika . Miało to działać tak : Załączam arduino styki przekaznika pozostają zwarte i arduino jest normalnie zasilane . Po upływie zadanego czasu zostaje wyzwolony omawiany pin cyfrowy który wyzwala przekaznik i przekaznik rozłącza zasilanie do arduino . Oczywiście dzieje się to bardzo krótko bo nie mając zasilania przekaznik puszcza i wraca do swojego pierwotnego położenia i znowu włącza zasilanie do arduino . Niestety był to czas za krótki by dobrze zrestartować arduino , a zwiększyć tego czasu nie było jak - chyba przez dodanie jakiegoś elektrolitu podtrzymującego przekaznik jakiś czas bez napięcia . Do tego przeważnie było czasami tak że po ponownym załączeniu przekaznik "cykał cały czas co sekundę . Zostawiłem to i postanowiłem wykorzystać przycisk reset znajdujący się na płytce arduino . Wyprowadziłem od resetu dwa kabelki i podłączyłem do styków przekaznika . I teraz działa to tak że po zadanym czasie arduino uruchamia przekaznik a on zwierając styki powoduje reset arduino . Ale ...... Nie może być dobrze bo po resecie wyświetlacze wskazują już coś takiego jak na zdjęciu drugim (zdjęcie pierwsze pokazuje wskazania wyświetlacza przed wyzwoleniem przycisku reset) Oczywiście sytuacja wraca dopiero do normy po odłączeniu zasilania . Już mi pomału ręce opadają . może ma ktoś jeszcze jakieś pomysły ? 

[Obrazek: przed%20reset.jpg]

[Obrazek: po%20reset.jpg]
 
Odpowiedź
  


Wiadomości w tym wątku
Problem po dodaniu komend - przez maniolx - 30-11-2016, 00:41
RE: Problem po dodaniu komend - przez Automatyk - 30-11-2016, 00:48
RE: Problem po dodaniu komend - przez maniolx - 30-11-2016, 01:12
RE: Problem po dodaniu komend - przez namok - 30-11-2016, 08:18
RE: Problem po dodaniu komend - przez JasQ - 30-11-2016, 08:28
RE: Problem po dodaniu komend - przez maniolx - 01-12-2016, 13:50
RE: Problem po dodaniu komend - przez namok - 01-12-2016, 17:23
RE: Problem po dodaniu komend - przez adix - 01-12-2016, 19:03
RE: Problem po dodaniu komend - przez JasQ - 01-12-2016, 22:45
RE: Problem po dodaniu komend - przez maniolx - 01-12-2016, 23:51
RE: Problem po dodaniu komend - przez JasQ - 02-12-2016, 18:14
RE: Problem po dodaniu komend - przez maniolx - 02-12-2016, 19:57
RE: Problem po dodaniu komend - przez piotr2393 - 03-12-2016, 19:17
RE: Problem po dodaniu komend - przez maniolx - 04-12-2016, 02:37
RE: Problem po dodaniu komend - przez piotr2393 - 04-12-2016, 14:18
RE: Problem po dodaniu komend - przez maniolx - 05-12-2016, 16:50
RE: Problem po dodaniu komend - przez krn78 - 05-12-2016, 13:09
RE: Problem po dodaniu komend - przez namok - 05-12-2016, 18:10
RE: Problem po dodaniu komend - przez maniolx - 05-12-2016, 18:55
RE: Problem po dodaniu komend - przez maniolx - 09-01-2017, 22:17
RE: Problem po dodaniu komend - przez namok - 10-01-2017, 10:07

Skocz do:


Przeglądający: 1 gości