Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 16 lis 2024, o 00:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 16 lis 2013, o 19:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Witam chciałbym zrobić alarm temperatury zewnętrznej.

O tyle o ile ... jeżeli temperatura jest mniejsza bądź równa 0 na wyświetlaczu wyświetla się znaj zimy czyli że może być ślisko.
Natomiast chciałbym aby jak temperatura osiągnie 0 lub będzie mniejsza od 0 piszczek zapiszczał 3 krotnie w odstępie 300 ms.

Timer mam skonfigurowany prawidłowo gdyż działa (sprawdzałem na wyświetlaczu co pokazuje i czy liczy w dół) natomiast jak temperatura zejdzie poniżej 0

ustawiam flagę jest_alarm = 1; sprawdzam czy już był alarm jeżeli był to nie wykonuj alarmu ... jak temperatura wejdzie ponad 1 stopień to flaga byl_alarm idzie na 0
czyli jak ponownie temp zejdzie poniżej 0 powinno zapiszczeć..

Manie nie chce piszczeć ani za 1 zejściem do 0 i w dół ani za kolejnym...

Możecie zobaczyć kod odpowiadający alarmowi ... co z nim może być nie tak ?


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Pomożecie panowie ... dodam że biper działa bo jak wcisnę klawisz to za bibczy :)

------------------------ [ Dodano po: 7 minutach ]

Mała wzmianka .... biper działą ale tak cicho tylko tik i takie ciche ... dlaczego ? jak zrobic by bipnal pelna para ?

------------------------ [ Dodano po: 10 minutach ]

dodam ze piszczek mam podlaczony przez tranzystor wiec to nie bedzie wina pradu wyjsciowego pinu Uc

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 19:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

Co się kryje pod BIP_ON i BIP_OFF?

Po pierwszym wejściu do funkcji alarm_temperatury() zmienna jest_alarm ustawiana jest na 0 więc drugi raz nie wejdzie do tej funkcji. Konsekwencją tego powinno być włączenie na stałe buzzera, a skoro nie wydaje dźwięku to pokaż właśnie instrukcję BIP_ON.

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 19:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

a widziales to ??

if (temp_zew > 1){
byl_alarm = 0;
jest_alarm = 0;
}


ze jak temperatura bedzie wieksza niz 1 to sie zzeruje byl_alarm ???

dzieki czemu ponownie jak zejdzie na dol to zapiszczy ??

chodzi mi o to ze z bipa jest tylko klik a nie wielkie BIP i nie wiem dlaczego ... skoro np wcisniecie klawisza daje glosne BIP

------------------------ [ Dodano po: 1 minucie ]

kurde ja juz nie wiem czy ja zle opisuje problem czy ludzie czytaja kod po lebkach ??

------------------------ [ Dodano po: 2 minutach ]

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


masz i co rozjasnilo ci to sytuacje ??

zobacz jeszcze raz jak rozpisalem flagi funkcji ....

dodam ze alarm_temperatura_zewnetrzna();

jest we while ... wiec zawsze sprawdza stany temperatur i od nich ustawia flagi....

------------------------ [ Dodano po: 29 minutach ]

a no i w int main mam
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

A widziałeś to:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i to:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jak raz zostanie wywołana funkcja alarm_temperatury(); to kasujesz tam tą zmienną i nie wejdziesz drugi raz do momentu ponownego przekroczenia 1 st, czyli zamiast 3 razy bipek włączy się tylko raz.

Skoro włączenie buzzera masz PORTB |= BIP_PIN to po co ci ~ przed BIP_ON?

Cytuj:
masz i co rozjasnilo ci to sytuacje ??

Kolego, jeśli zadajesz pytanie bo masz problem to nie rób jakiejś łaski że odpiszesz na jakieś uzupełniające pytanie osób które chcą ci pomóc. I jeśli odpowiedź nie jest w formie gotowego działającego programu, tylko w formie wskazania miejsca w którym owy problem może leżeć i zmuszenia do wyciągnięcia wniosków, to chyba ciężko będzie się dogadać.
Takim podejściem osoby zaczną przestawać odpowiadać na twoje posty. Pozdrawiam i życzę sukcesów.

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

jak zamiast bipa podlacze leda to nic sie nie dziaje ... kompletnie nic ... a jak mam podlaczonego bipa to tylko zapiszczy jakby byl przytkany

------------------------ [ Dodano po: 1 minucie ]

ale zwroc uwage ... ze jak temp wejdzie powyzej 1 stopnia ... to zmienna wraca do normy .... chodzi o to by nie piszczalo caly czas .... ze jest ponizej 0 a aby zapiszczalo np 5 razy i koniec....
kolejne piszczenie dopiero jak tem wejdzie wyzej niz 1 i ponownie spadnie

------------------------ [ Dodano po: 3 minutach ]

savian86 napisał(a):

Skoro włączenie buzzera masz PORTB |= BIP_PIN to po co ci ~ przed BIP_ON?




gdzie mam tylde przed bip_on ?

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

majster napisał(a):
ale zwroc uwage ... ze jak temp wejdzie powyzej 1 stopnia ... to zmienna wraca do normy .... chodzi o to by nie piszczalo caly czas .... ze jest ponizej 0 a aby zapiszczalo np 5 razy i koniec....kolejne piszczenie dopiero jak tem wejdzie wyzej niz 1 i ponownie spadnie

Owszem, zgadzam się, a napisz mi co się stanie (wg powyższego programu) jeśli temperatura pozostanie < 0?

majster napisał(a):
gdzie mam tylde przed bip_on ?


A tutaj:
Kod:
PORTB = ~tab[i++];

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

majster napisał(a):
PORTB = ~tab[i++];


Ja się nie znam, ale ta tylda tu czy aby na pewno jest na miejscu ?

w define masz już zrobione te porty więc po co tu negować tablicę?

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

savian86 napisał(a):
Owszem, zgadzam się, a napisz mi co się stanie (wg powyższego programu) jeśli temperatura pozostanie < 0?



zapiszczy zadeklarowana ilosc razy .... i przestanie piszczec



jezeli wywale te 2 flagi to bedzie piszczalo tak dlugo jak bedzie temp >=0 .... a to bym kuchni dostal w aucie :)

------------------------ [ Dodano po: 1 minucie ]

tylda kompletnie nic nie zmiania ... nadal piszczy zadeklarowana ilosc razy ale nie jest to BIP a raczek ciche tik

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

No dobra, chyba jednak tego nie widzisz ;)

Zamiast tego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Spróbuj to:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

1 raz funkcja cicho tika 3 razy

nastepne wejscie tylko raz


i nie wazne czy jest tylda czy tez nie ...

jak usune flagi

byl_alarm = 1;
jest_alarm = 0;


to piszczy tak dlugo az pozostanie ponizej 0 ..... kolejne wejscie tez tylko 1 raz zapiszczy

a raczej zrobi ciche tik .... glownie o to mi chodzi dlaczego jest ciche tik a nie glosne bip

------------------------ [ Dodano po: 2 minutach ]

ok z tym babolem co mi pokazales to wiem ... ale to chcialem na potem :) rozwiazac ale dzieki .... za spostrzeżenia jednak i tak nadal biper tylko robi ciche tik zamiast glosnego BIP

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Na pewno interwał wynosi 300ms? spróbuj wydłużyć czas dla testu

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

wydluzalem .... ale tak samo wychodzi .... :/


Taktowanie 8MHz

Timer:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

żeby się całkiem upewnić, odlicz_alarm nie masz przez pomyłkę jako uint8_t?

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2013, o 20:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

nie nie mam przez pomylke ... dziwne jest to

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


zmienilem na

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i piszczy glosno ale na port A mam klawisze i na wyswietlaczu dzieja sie jaja :) tzn guziki sie same wlaczaja :)

------------------------ [ Dodano po: 1 minucie ]

savian86 napisał(a):
żeby się całkiem upewnić, odlicz_alarm nie masz przez pomyłkę jako uint8_t?



mam jako uint16_t

------------------------ [ Dodano po: 13 minutach ]

kolego savian86 znalazlem babola ...

jezeli przycisk wcisniety zapiszcz

jezeli nie wcisniety nie piszcz

i tutaj byl bubel ....

przycisk nie wcisniety czyli BIP_OFF;

i teraz temperatura zchodzi ponizej 0

i przez przycisk jest BIP_OFF;
dlatego skrzeczalo...

teraz musze pozmyslec o porzadnym BIPIE przez wcisniecie klawisza by takiego bubla znow nie bylo

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO