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



Teraz jest 25 lut 2025, o 17:38


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 11 lut 2015, o 18:31 
Offline
Nowy

Dołączył(a): 17 gru 2014
Posty: 7
Pomógł: 0

Witam. Jestem początkującym w sprawach mikrokontrolerów i w ramach treningu postanowiłem zrobić prosty alarm do drzwi, który chciałem z czasem rozwijać. Niestety prawdopodobnie w kodzie znajduje się jakiś błąd który nie pozwala poprawnie działać alarmowi. Gdy drzwi są zamknięte alarm powinien się załączyć w taki niby stan czuwania i migać diodą co sekunde, natomiast gdy drzwi się otworzą dioda ma bardzo szybko migać i dodakowo powinien załączyć się buzzer (Kable symulują otwieranie i zamykanie się drzwi).
Problem polega w tym, że czasami jakby te twie opcje nachodziły na siebie, nie wiem dokładnie jak to nazwać.
Dodaję kod programu, oraz film, który pokazuje jak to wygląda. Dodam jeszcze, że mikrokontroler to Atmega8 z fusebitami na 8Mhz.
Bardzo proszę o pomoc.


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






Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lut 2015, o 18:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

DDRC &= ~(1<<PC5);
PORTC |= (1<<PC5);
DDRB = 0xff;

To wywal przed pętle główna

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lut 2015, o 19:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A ja radził bym Ci zobaczyć te poradniki:
http://mirekk36.blogspot.com/2012/10/drgania-stykow-to-bajki-wiec-jak-to.html
http://mirekk36.blogspot.co.uk/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html
Szczególnie ten drugi i zastosować to w swoim kodzie.
A mianowicie ten kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lut 2015, o 19:06 
Offline
Nowy

Dołączył(a): 17 gru 2014
Posty: 7
Pomógł: 0

Zaraz zabieram się za czytanie ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2015, o 22:09 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3215
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Masz już jeden temat. W jakim celu tworzysz następny??

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2015, o 22:11 
Offline
Nowy

Dołączył(a): 17 gru 2014
Posty: 7
Pomógł: 0

Przepraszam troche to było nieprzemyślane, ale stwierdziłem, że do nowego ludzie chętniej zajrzą :D

------------------------ [ Dodano po: 5 minutach ]

Prubuje zastoswać kod z poradnika pana Mirka http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.html, lecz nie potrafię. Czy mógłby mi ktoś pomóc i napisać mi taki kod? Chodzi o to żeby dioda migała co 1 sekunde, a gdy guzik jest kliknięty to miała by migać szybciej i dodatkowo chciałbym aby załączył się buzzer.
Po ponownym kliknięciu znów miałby się załączyć ten stan niby czuwania i znowu świecić dioda co jedną sekunde.
Podaję kod, lecz jest on prawie identyczny co w poradniku do którego podałem link, gdyż nie potrafię go zastosować do swoich potrzeb.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2015, o 22:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 lut 2014
Posty: 68
Lokalizacja: Częstochowa
Pomógł: 3

Po pierwsze w funkcji musisz dopisać przed podciągnieniem do VCC: DDRC &= ~(KEY1); , później zamiast jednej dużej instrukcji warunkowej dałbym:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2015, o 00:11 
Offline
Nowy

Dołączył(a): 17 gru 2014
Posty: 7
Pomógł: 0

Domcio512 niestety nie moge wgrać twojego kodu bo gdzieś w składni jest błąd. Eclipse się rzuca, a ja nie wiem w czym problem.

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2015, o 01:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Jak dla mnie na rysunku brakuje zamknięcia "}" funkcji main. Ale może to dlatego, że nie widać całości tekstu bo to tylko obrazek i jeszcze
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

brakuje Ci zamknięcia if'a czyli ")" (linia z tym X w czerwonej kropce)

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2015, o 07:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 lut 2014
Posty: 68
Lokalizacja: Częstochowa
Pomógł: 3

Jeszcze te wszystkie instrukcje warunkowe musisz wrzucić do pętli nieskończonej, bo po wgraniu do procka program nie będzie działać poprawnie ;)



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: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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