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



Teraz jest 15 kwi 2026, o 23:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 77 ]  Przejdź na stronę Poprzednia strona  1, 2, 3
Autor Wiadomość
PostNapisane: 29 maja 2015, o 10:12 
Offline
Użytkownik
Avatar użytkownika

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

Myślę, że możesz również poczytać o "extern", na bank się tutaj przyda.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 maja 2015, o 11:28 
Offline
Użytkownik
Avatar użytkownika

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

Co do rozbudowy tego programu o czujniki temperatury, alarmy, przyciski i sterowanie z pilota to jak najbardziej jestem za. Kwestia tylko, czy wyświetlanie tych wszystkich opcji ma się odbywać na dwóch wyświetlaczach jednocześnie (LED i LCD) czy tylko na LCD, a czas tylko na LED? A może do wyboru? :D

Wirnick napisał(a):
Ja myślę, po tak pięknej współpracy, by wykorzystać dane tablicy w d_led - NIC, cyfry z kropką, znaki specjalne(futura) w funkcji BLINK_SET(). Chyba(obcja), żeby wejść w ANODY?

To chyba jest dobry pomysł odnośnie wyświetlacza LED. :D

Co do LCD to chyba przydałoby się rozwiązanie p. Mirka z GB (warstwy). Masz GB?

Co do obsługi przycików to proponuje napisać funkcję podobną do SuperDebounce. Myślę, że potrzebne będą 4 przyciki:
1. Menu ( opcja 1: krótkie wciśnięcie pokaż czas, długie wejdź w tryb ustawiania czasu przyciskami Up i Down, po nim jeszcze raz krótkie, przejście np. z godzin na minuty, z minut na sekundy, z sekund na rok itd)
opcja 2: ponowne krótkie wciśnięcie pokaż alarm, długie wejdź w tryb ustawiania alarmu przyciskami UP i Down, po nim jeszcze raz krótkie, jak wyżej)
opcja 3: ponowne krótkie wciśnięcie pokaż temperaturę, długie wciśnięcie (ilość czujników??)
2. Up ( krótkie wciśnięcie - zwiększ o 1, długie wciśniecie Repeat )
3. Down ( krótkie wciśnięcie - zmniejsz o 1, długie wciśniecie Repeat )
4. Set ( krótkie wciśnięcie - zapamiętanie ustawień czasu lub alarmu, długie wciśnięcie włączenie lub wyłączenie alarmu)

Co do opcji 3 to chyba nie ma sensu ustawiać ręcznie ilości czujników, niech procesor nam sam wykryje ile ich jest, jedynie co można by tutaj zrobić to tak, by jakoś te pomiary rozsądnie wyświetlać.

Co do pilota to tutaj przecież nie ma ograniczeń, prawda? Przycisków tam raczej nie brakuje. :D

No i trzeba się jeszcze zastanowić czy nie zamieszamy się z podłączeniami. Rozumiem, że obecnie mamy przeznaczony cały port na LCD, na LED półtora, na WiFi 2 piny (Rx i Tx), na RTC (dwa piny I2C plus jeden na przerwanie).
Potrzebne są jeszcze 4piny na przyciski, jeden na czujniki temperatury (DS18x20) i jeden na IR (pilot). Przydałoby się też miejsce na jednodiodowy Debuger. :D
Myślę, że od tego trzeba zacząć, by to logicznie rozplanować.
Dodatkowo, rodzi się jeszcze takie pytanie, czy ATmega32 wystarczy? :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 maja 2015, o 12:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Na gorąco ...
anshar napisał(a):
Co do LCD to chyba przydałoby się rozwiązanie p. Mirka z GB (warstwy). Masz GB?

Tak
anshar napisał(a):
Rozumiem, że obecnie mamy przeznaczony cały port na LCD, na LED półtora

Tak, ale wyświetlaczem LED planuję sterować poprzez SPI z użyciem 2 rejestrów 74HC595 - ładnie to działa i zajmuje tylko 3 piny :D

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2015, o 11:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Witam.
Na etapie wdrożenia SPI sprzętowego do sterowania wyświetlaczem LED w "dawcy czasu" (Atmega32, F_CPU 11 059 200) spotkał mnie tajemniczy ;) problem. Obok TIMERA2, który generuje podstawę czasu dla całego programu (10ms) i działa prawidłowo, postanowiłem użyć TIMERA0 lub TIMERA1 do obsługi SPI (np. 200Hz). Po ich skonfigurowaniu w trybie CTC w funkcji main.c okazało się, że nie generują przerwania pomimo "indywidualnego" i "ogólnego zezwolenia na przerwanie". Działa tylko TIMER2. Czy jest możliwość aby timery sprzętowe "gryzły się wzajemnie"? Wyświetlanie SPI wrzucone do ciała przerwania TIMERA2 działa poprawnie tylko z częstotliwością 100/4=25Hz dla cyfry, a więc nie do przyjęcia.

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


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


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


Reasumując obserwacje: dwa timery sprzętowe nie chcą działać równocześnie. Dowolna zamiana timerów możliwa, ale zawsze "musi" działać tylko jeden :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2015, o 16:33 
Offline
Użytkownik
Avatar użytkownika

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

Sprawdź czy w plikach bibliotecznych nie jest wykorzystywany któryś z timerów. Przecieź biblioteka z BB do LCD wykorzystuje Timer0 właśnie. A z tego co widzę to masz tą bibliotekę wciąż dołączoną.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2015, o 16:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

anshar napisał(a):
Przecieź biblioteka z BB do LCD wykorzystuje Timer0 właśnie.

Biblioteka do LED (d_led.c) jest usunięta i niewykorzystywana. Problem jest z jakimkolwiek timerem. Gdy 2 zamienię na 0 lub 1 jest ok. Dwa razem "chodzić" nie chcą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2015, o 16:54 
Offline
Użytkownik
Avatar użytkownika

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

Tak chodziło mi o tą z LED.
Ja już widzę błąd w Twoim kodzie! Zobacz jak ustawiasz TIMSK dla Timer2! Brakuje "|"'!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 maja 2015, o 17:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

anshar napisał(a):
Ja już widzę błąd w Twoim kodzie! Zobacz jak ustawiasz TIMSK dla Timer2! Brakuje "|"'!

Jesteś wielki. Jedna kreseczka zmieniła wszystko. Timery ruszyły. Dziękuję! :D
Mamy już 1.5 portu wolne po LED :D

Jedna rzecz nie daje mi jeszcze aktualnie spokoju, a mianowicie ostrzeżenie przy linii:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

passing argument 2 of 'lcd_defchar_P' discards 'const' qualifier from pointer target type [enabled by default]

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

Znaki specjalne wyświetlają się prawidłowo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 maja 2015, o 07:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Witam!
Proszę o podpowiedź w sprawie "interfejsu" użytkownika dla "Dawcy czasu". Chodzi o możliwość ustawiania zegara bez dostępności NTP (przyciski lub kody RC5). Jak podejść do realizacji hipotetycznego zdarzenia RTC_SET_EVENT, które wywoływałoby funkcję ustaw_date_czas alogiczną do funkcji pokazuj_date_czas? Może są inne bardziej odpowiednie rozwiązania?
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 cze 2015, o 20:11 
Offline
Użytkownik

Dołączył(a): 13 maja 2014
Posty: 52
Pomógł: 0

Witam
Mirku możesz mi powiedzieć czemu jest błąd w tym miejscu?
Mam bibliotekę z GB z BB w twardej jest tak samo
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

No tylko w jakim miejscu?:)
lcd_LED(1);
main.c:(.text.startup.main+0x14): undefined reference to `lcd_LED'
collect2.exe: error: ld returned 1 exit status
make: *** [dawca.elf] Błąd 1



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 cze 2015, o 23:10 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27456
Lokalizacja: Szczecin
Pomógł: 1045

no masz komunikat: undefined reference to `lcd_LED' - czyli co ? brak funkcji lcd_LED

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 cze 2015, o 23:24 
Offline
Użytkownik

Dołączył(a): 13 maja 2014
Posty: 52
Pomógł: 0

Myślałem, że w GB jest. W poradniku mówiłeś, że jest to do do podświetlenia LCD i że się tam znajduje. Czy można skądś pobrać całą bibliotekę tak żeby grało z poradnikiem czy trzeba samemu kombinować?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 cze 2015, o 23:29 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27456
Lokalizacja: Szczecin
Pomógł: 1045

Tequs napisał(a):
Czy można skądś pobrać całą bibliotekę

No bo to jest w najnowszej wersji biblioteki LCD w Bluebooku w najnowszym wydaniu (czyli w tym w twardej okładce)

tylko na prawdę uwierz mi - nie do końca mogę sobie wyobrazić problem żeby we własnym zakresie napisać taką funkcję ? :( ... przecież ją można napisać już na podstawie pierwszego rozdziału warsztatowego z Bluebooka

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


bazując na konwencji makr PORT(x) z tej biblioteki - no na prawdę dwie linijki kodu

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2015, o 20:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Witam!
Po kilku zmianach konfiguracji modułu ATB-WIFI (na potrzeby ćwiczeń), program "Dawca czasu" przestał się synchronizować z "internetem". W samym programie (projekt eclipse) oraz ustawieniach mikrokontrolera nic nie zmieniałem, zakładam więc że błąd jest w konfiguracji modułu lub podłączeniach. Moje obserwacje:
1. Moduł w trybie RS232 prawidłowo pobiera czas z serwera NTP - podłączenia Rx i Tx modułu do listwy RS232
Obrazek
2. Moduł w trybie UDP SERVER czasu nie odświeża (nie wiem czy jest to prawidłowa reakcja) - podłączenia Rx i Tx modułu do pinów mikrokontrolera (zworki Rx i Tx w przejściówce usunięte).
Obrazek
Proszę o pomoc bo nie wiem gdzie szukać babola.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2015, o 21:01 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27456
Lokalizacja: Szczecin
Pomógł: 1045

avrfun napisał(a):
Moduł w trybie UDP SERVER czasu nie odświeża


W terminalu UDP na PC nie działa i nie będzie dziaać.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2015, o 08:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Dziękuję z skuteczne rozwiązanie problemu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 gru 2015, o 15:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Witam!
Jakie serwery czasu NTP polecacie do wykorzystania z ATB-WiFi? Serwer polecany w poradnikach Mirka działa bardzo dobrze gdy moduł WiFi odpytywany jest w programie ATB WiFi Config - zawsze poprawne odświeżenie czasu - stąd podejrzenie, że przyczyna leży po stronie programowej. Po uruchomieniu programu "Dawca czasu" prawidłowy odczyt czasu jest raz na kilka zapytań - częściej "unavailable" niż czas. Próbowałem różnych opcji zasilania modułu (zestaw uruchomieniowy z przetwornicą, zasilacz zewnętrzny, zasilacz ATX). Może coś należy zmodyfikować w funkcji parsującej?
Pozdrawiam



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: 77 ]  Przejdź na stronę Poprzednia strona  1, 2, 3

Strefa czasowa: UTC + 1


Kto przegląda forum

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