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



Teraz jest 1 lut 2025, o 04:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 18 mar 2015, o 12:56 
Offline
Użytkownik

Dołączył(a): 25 lis 2011
Posty: 232
Lokalizacja: Pisz
Pomógł: 2

Może tytuł trochę dziwny, ale że jestem początkujący, a to co chcę wykonać to nie miganie LEDami chciał bym prosić bardziej doświadczonych o podpowiedzi odnośnie jak rozwiązać zadanie które sobie postawiłem.
Nie wiem może to głupie co napiszę ale urządzenie które buduję jest dla mnie w ramach nauki języka C postawiłem sobie takie zadnie. Nie jest to żadna praca zarobkowa czy zaliczenie. Jeśli powstanie chętnie zaprezentuję w dziale DIY forum.
Może na początek co chcę zrobić.
Zrobić chcę urządzenie które będzie mierzyło temperaturę (i może coś jeszcze wilgotność ciśnienie atmosferyczne ale teraz nie jest to ważne) u mnie w domu i na dworze, czyli do urządzenia będą
podłączone jakieś czujniki to będzie właśnie występujący w opisie programu pomiar lokalny. Do urządzenia będą przesyłane także dane z jednego, na razie, czujnika zdalnego będzie on wysyła dane przez internet (czujnik+uC+Atnel WiFi= czujnik zdalny). Dane z czujników np. temperatura opatrywane będą datą, czasem i zapisywane na karcie SD w jakiś najprostszy sposób i prezentowane na LCD 4x16 znaków. Urządzenie będzie posiadać jakieś menu z funkcjami nie mam jeszcze
pomysł co tam będzie ale z czasem pewnie coś przyjdzie do głowy. Urządzeni będzie miało też jeszcze jedną funkcję ostatni zapis danych na karcie będzie można podejrzeć na stronie www. No i to w zasadzie jak na razie wszystko co miało by się kręcić w tym urządzeniu.
Schemat blokowy może niezbyt rozbudowany jest na rysunku 1.

Program schematycznie przedstawiłem na rysunku 2.
A więc będzie to wyglądać tak: Włączamy urządzenie na LCD wyświetlają się jakieś informacje startowe np. wersja SW autor itp. następnie ma być dokonane sprawdzenie połączenia internetowego na razie nie ważne jak. Jeśli internet jest ok to następuje nastawienie zegara RTC (czekam na dawcę czasu :-) ) Jeśli brak połączenia internetowego to urządzenie uruchamia się dalej wchodząc w główny etap jego działania. No i tu sprawa wygląda tak jeśli nie ma żadnych
żądań z Uart i klawiatury to ma nastąpić: sprawdzenie czujników lokalnych (tych podłączonych do urządzenia) wykonanie pomiarów,opatrzenie pomiarów datą i godziną z RTC i zapisanie ich do karty
SD, po zapisaniu ma być dokonany odczyt wszystkich danych które mają się wyświetlić na LCD, następnie ma nastąpić przerwa 15 minut w której, co jakiś czas będzie monitorowane napięcie akumulatora i ogniwa słonecznego które będzie ładowało akumulator, napięcie będzie wyświetlane na LCD poza tym nic się nie będzie działo. Oczywiście nie tak do końca bo jeśli do uart przyleci np. żądanie o stronę www no to ma nastąpić odczyt danych z karty SD (raczej tylko ostatniego pomiaru) i wysłanie ich w formie strony www. Jeśli zaś przylecą dane z zewnętrznego czujnika to dane zostają opatrzone datą godziną i mają być zapisane do karty SD. W tym samym czasie jeśli
zostanie wciśnięty klawisz to ma rozpocząć się procedura odpowiadająca temu co ma się stać po jego naciśnięciu czyli np. przejście do menu.
No i tu jest główne pytanie jak rozwiązać działanie tego głównego programu. Po pierwszych poradnikach z modułami wifi zastanawiam się, czy nie podzielić tego na główną pętlę gdzie będzie wykonywanie pomiaru z czujników lokalnych wyświetlanie pomiarów i zapis do karty SD. A po za tym stworzenie pewnych trzech zdarzeń dwóch pochodzących z Uart czyli przyjście danych z czujnika i przyjście zapytania o stronkę www, no i trzecie zdarzenie to naciśniecie jakiegoś klawisza
np. wejście do menu.
Wiem że trzeba jeszcze rozstrzygnąć kilka kwestii typu co zrobić jeśli przyjdzie czas pomiaru lokalnego i napłyną dane z uart lub zostanie naciśnięty klawisz. Z drugiej strony przez 15 minut
praktycznie nie będzie się działo nic tylko pomiar napięcia przetwornikiem ADC.
Zielonej książce zaciekawił mnie też projekt LCD HD44780- warstwy + obiekty.

Ponieważ jako początkujący mam jeszcze dużo materiału do przerobienia, proszę Szanownych Kolegów o kilka zdań na temat mojego kierunku myślenia, oraz o podpowiedzi i o może zmianę mojego kierunku myślenia.
Dziękuję
Rafciu

RYSUNEK 1
Obrazek

RYSUNEK 2
Obrazek



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

Dołączył(a): 25 gru 2011
Posty: 204
Lokalizacja: Boguchwała
Pomógł: 3

Kierunek myślenia...to nieskończoność....zacznij coś...fizycznie wykonaj, a potem pytaj co ci nie wychodzi, jakie problemy itd.
Myślę że podpowiedzi otrzymasz na tym forum ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 mar 2015, o 19:25 

Pomógł: 0

A ja dla odmiany uważam, że strategia proponowana przez przedmówcę zakończy się katastrofą :mrgreen: Za każdym razem jak "olałem" w swoim projekcie (i nie mówię tu tylko o kwestiach programowych) fazę "koncepcyjno-projektową" i wyszedłem z założenia, że "jakoś to będzie/wyjdzie w praniu/zobaczy się później itp" to kończyło się to, delikatnie mówiąc, frustrująco.

Co do porad... nie chciałbym głupot koledze nagadać, więc takie ogólne uwagi - liczę że wątek się rozwinie... w końcu o "strategiach" projektowania to ludzie książki piszą :)

Początek jest ok - uruchamianie, powitania, inicjalizacja - tu nie ma co kombinować bo nie ma wiele do ugrania.
Potem: wszystko co nie wymaga "sztywnych ram czasowych" wrzuciłbym do pętli głównej, cała reszta do przerwań.
Tzn. np. pomiary lokalne wraz z rtc i fat/sd niech sobie siedzą w pętli głównej (opóźnienie 15min oparte o jakiś timer programowy).
Wszelkie dane "przylatujące" z zewnątrz pakowałbym w przerwaniach do bufora kołowego. Potem niech pętla główna sprawdza czy coś się pojawiło i odpowiednio reaguje.

O www i Internetach się nie wypowiadam bo nie mam doświadczenia.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 18 mar 2015, o 20:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2014
Posty: 162
Pomógł: 6

Widzę że kolega Rafciu ma BB ,GB zestaw ATB,na forum jest od 2k11 roku.
Uważam,że po przeczytaniu w/w lektur, tok myślenia powinien sam się nasunąć i to nie jeden.
Jeśli nie,to Mirek w swych książkach,jak na tacy, podaje swój tok myślenia.
No ale trzeba je przeczytać i to nie jeden raz.

_________________
1+1=10



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 mar 2015, o 23:37 
Offline
Użytkownik

Dołączył(a): 25 lis 2011
Posty: 232
Lokalizacja: Pisz
Pomógł: 2

sredni napisał(a):
No ale trzeba je przeczytać i to nie jeden raz.

No i chyba mnie odkryłeś nie do końca mam odrobione lekcje.

wwojtek napisał(a):
A ja dla odmiany uważam, że strategia proponowana przez przedmówcę zakończy się katastrofą :mrgreen: Za każdym razem jak "olałem" w swoim projekcie (i nie mówię tu tylko o kwestiach programowych) fazę "koncepcyjno-projektową" i wyszedłem z założenia, że "jakoś to będzie/wyjdzie w praniu/zobaczy się później itp" to kończyło się to, delikatnie mówiąc, frustrująco.

Bardzo się z tym zgadzam i dla innych początkujących powiem że rysowanie takich schemacików jak ten z rysunku 2 dużo daje.

Cytuj:
Początek jest ok - uruchamianie, powitania, inicjalizacja - tu nie ma co kombinować bo nie ma wiele do ugrania.
Potem: wszystko co nie wymaga "sztywnych ram czasowych" wrzuciłbym do pętli głównej, cała reszta do przerwań.
Tzn. np. pomiary lokalne wraz z rtc i fat/sd niech sobie siedzą w pętli głównej (opóźnienie 15min oparte o jakiś timer programowy).
Wszelkie dane "przylatujące" z zewnątrz pakowałbym w przerwaniach do bufora kołowego. Potem niech pętla główna sprawdza czy coś się pojawiło i odpowiednio reaguje.

Dziś odkopałem poradniki dotyczące przerwań jak skończe popołudniowe zmiany w robocie obejrzę żeby zgłębić temat.

Cytuj:
O www i Internetach się nie wypowiadam bo nie mam doświadczenia.

O to koniecznie musisz spróbować sprawa jest prostsza niż się wydaje bo może głupio powiem ale cała ta komunikacja internetowa to obserwowanie uarta i wysyłanie do niego danych resztę robi za ciebie moduł Atnel WiFi :mrgreen: Nie wiem czy nie przesadzę ale komunikacja mojego urządzenia z zdalnym czujnikiem to tak naprawdę będzie gadanie po rs232 gdzie zamiast kabla będę miał łącze internetowe. :mrgreen:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 12:27 

Pomógł: 0

A propos schematów - na Ubuntu jest fajny programik do robienia schematów, diagramów itp... -> dia - polecam. Na początku jest strasznie denerwujący w obsłudze, ale jak się człowiek przyzwyczai to idzie ekspresowo.

Przykład:
Obrazek

Rafciu napisał(a):
koniecznie musisz spróbować sprawa jest prostsza niż się wydaje
Tylko czasu brakuje ;d



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 13:31 
Offline
Użytkownik

Dołączył(a): 25 lis 2011
Posty: 232
Lokalizacja: Pisz
Pomógł: 2

Jakiś czas temu robiłem diagram sieci komputerowej też programem Dia na Windzie może to ten sam?
No z czasem to i u mnie krucho, ale się nie łamię ja to robię dla siebie więc nie ważne czy zrobię to w tydzień czy w miesiąc ważne aby frajda była.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2015, o 08:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 kwi 2013
Posty: 62
Lokalizacja: Częstochowa
Pomógł: 5

Ja tylko poboczny komentarz - dobrze, że zaczynasz od planowania, robisz sobie diagramy itd. podoba mi się takie podejście. Lepiej wdrażać się do takiego działania od początku.
Tak jak kolega wwojtek polecam program "Dia" dla ogólnych rysunków, kiedyś robiłem w nim nawet rysunki przekrojowe zbiorników z paliwem z sondami, diagramy czasowe komunikacji i sprawdzał się dobrze. Nawet dla rozrysowania algorytmów daje radę, choć osobiście wolę do tego program yEd.
http://www.yworks.com/en/products/yfiles/yed/
Polecam, flowcharty i diagramy maszyny stanowej robi się w nim szybko i wychodzą estetycznie, gdyby trzeba było wrzucić do jakiejś dokumentacji. Jest darmowy.

[ panie kolego rysunki umieszczamy tak: topic44.html na tym forum - i proszę o tym pamiętać - mirekk36 ]



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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