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



Teraz jest 1 kwi 2026, o 08:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 13 mar 2015, o 19:33 
Offline
Użytkownik

Dołączył(a): 11 wrz 2013
Posty: 709
Zbananowany użytkownik

Pomógł: 23

Hejka.
Mam dziś totalne zaćmienie chyba.
Zrobiłem sporo bardziej zaawansowanych projektów w C na AVR, ale były one oparte raczej na programowaniu bardziej liniowym (co prawda raczej bez delay-ów), ale się zaciąłem.
Mam dość długo zbudowany układ do protego sterowania światłem włącz/wyłącz, ale z wielu punktów, więc prościej było to zrobić sterownikiem niż łącznikami krzyżowymi.
Teraz stwierdziłem, że dodam "ficzer" i zająłem się Mirkowym kodem z tego odcinka bloga: http://mirekk36.blogspot.com/2012/10/ob ... a-cd3.html i przerobiłem go na 4 klawisze.
Testuję na ATB.
Dla krótkich kliknięć wszystko działa, ale jakoś się zaciąłem jak zrobić warunek aby funkcja:

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


nawet dla jednego klawisza powodowała taki efekt aby po przekroczeniu czasu zadanego w strukturze, że jeśli świeci się jakakolwiek dioda to gasimy wszystkie, a jeśli wszystkie są zgaszone to wszystkie zapalamy.

Wiem, że to właściwie podstawy, ale nie mogę sobie przypomnieć, a jestem w delegacji (hehe ATB nie zajmuje w walizce zbyt wiele miejsca ;)) i chyba za dużo soku po kolacji było ;).

--
Grzegorz...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2015, o 21:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 maja 2014
Posty: 317
Pomógł: 19

Grzegorz... napisał(a):
(...)jeśli świeci się jakakolwiek dioda to gasimy wszystkie, a jeśli wszystkie są zgaszone to wszystkie zapalamy.(...)
Cześć Grzegorz!
Chodzi Ci może o coś takiego?:

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


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


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


Pozdrawiam! j23 Jarek

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2015, o 22:21 
Offline
Użytkownik

Dołączył(a): 11 wrz 2013
Posty: 709
Zbananowany użytkownik

Pomógł: 23

Nie nie to też nie działa, ale spoko na 100% rano ze świeżym umysłem sobie poradzę.
Stosowałem dokładnie to samo co podałeś tyle, że z przesunięciami <<.
Ładnie gasną, ale się nie zapalają - ale do jutra :).

--
Pozdrawiam.
Grzegorz...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2015, o 22:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Witam.

A może coś takiego.
Na początek trzeba by przerobić funkcję do obsługi klawiszy tak aby reakcja na krótkie wciśnięcie następowała po zwolnieniu przycisku. Bo teraz reakcja na krótkie wciśnięcie następuje po wciśnięciu przycisku i nawet po dłuższym przytrzymaniu przycisku i tak wywoła się funkcja krótkiego wciśnięcia. Funkcje można by zmodyfikować tak jak to zrobiłem w tym temacie topic4541.html#p56592
Można też do tego użyć funkcji SuperDebounce z BB, która działa właśnie w ten sposób.

I teraz tak.
Cztery funkcje włączające/wyłączające daną diodę po krótkim wciśnięciu danego przycisku.
Jedna funkcja włączająca/wyłączająca wszystkie diody. W funkcji trzeba by sprawdzić czy jakakolwiek dioda się świeci. Jeśli tak to gasimy wszystkie, a jeśli żadna się nie świeci to włączamy wszystkie. I teraz niech ta funkcja będzie wywoływana po dłuższym wciśnięciu któregokolwiek przycisku. Bo przecież jedną funkcję można wywołać za pomocą więcej niż jednego przycisku.

I tym sposobem krótkie wciśnięcie danego przycisku włącza/wyłącza diodę przypisaną do tego przycisku a dłuższe wciśnięcie któregokolwiek włącza/wyłącza wszystkie diody.

Mam nadzieję, że dość jasno to opisałem.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 19 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO