Artykuły

Oczywiście GPS powstał do innych celów niż budowa zegarka i kiedyś takie użycie jakże wówczas drogich odbiorników było bezsensowne. Dzisiaj kompletny odbiornik kosztuje grosze. Jednak dzisiejszym bohaterem nie będzie jeden z tysięcy modułów dostępny w sieci, a taki leciwy już odbiornik Garmina, który nie wspiera nawet map. Był moim pierwszym odbiornikiem, który ćwierć wieku temu kupiłem głównie z myślą o byciu dawcą protokołu dla Palma – który już w oparciu o dane z GPS-a mógł wyświetlać zeskanowaną mapę. Było to bardzo nowatorskie, choć dziś wydaje się archaiczne.
…
Skoro już opanowaliśmy wyświetlanie znaków na ekranie telewizora, czas na obrazki. To aż takie proste nie jest, ponieważ potrzebny jest tutaj konwerter – biblioteka nie rozumie żadnych bitmap, plików GIF i tego typu znanych nam elementów. I tutaj z pomocą przychodzi coś, o czym już kiedyś pisałem: strona konwertująca obrazy do postaci zrozumiałej przez bibliotekę. Jednak zanim zajmiemy się tworzeniem własnych grafik, przetestujmy program na gotowcu dostarczonym z biblioteką. Będzie zresztą niezbędny, by stworzyć własną wersję.
…
Od dawna chciałem zgłębić ten temat: Arduino jako karta graficzna, a konkretnie generator obrazu telewizyjnego. Prawdę powiedziawszy, to kolejna odsłona, jak by nie było, ośmiobitowego komputerka, która mnie zaskoczyła: z pomocą tylko dwóch rezystorów powstał komputer meritumopodobny. Owszem, bardzo skromna jest ta grafika, ale do jej generacji wykorzystujemy tutaj wyłącznie to, co znajduje się w układzie ATMega328 i skromniutkie 2 kB RAM-u, a oprócz literek możemy wyświetlać także grafiki i to wcale skomplikowane, korzystające z pełnej rozdzielczości. Cały proces, mimo programowej realizacji, jest niezwykle szybki, pozostawiając moce na własne działania.
…
W poprzednim artykule opisałem zagadnienie zegarów RTC i przedstawiłem przykład: układ DS1302. Czas na nieco nowocześniejszy DS1307. Tutaj mamy już klasyczną magistralę I2C, więc potrzeba tylko dwóch linii do rozmów ze scalakiem. Pominę nieistotne dla nas dodatkowe wyjście, na którym może się pojawić jedna z częstotliwości do wyboru: 1 Hz, 4 lub 8 kHz albo częstotliwość kwarcu. Układ posiada 56 bajtów użytkownika, ale wymaga już pięciowoltowego standardu zasilania. Posiada też stały adres magistrali (dziesiętnie: 104), którego nie da się zmienić.
…
Czas najwyższy zająć się tak zwanymi zegarami RTC. O czym mowa? Do tej pory źródłem czasu w moich przykładach było samo Arduino i źródło to miało dwie wady: nie było zbyt dokładne i jak brakło prądu, to ustawienia zegara przepadały. Profesjonalnie robi się to inaczej.
RTC czyli Real Time Clock to układ scalony zaprojektowany tylko do jednego celu: bycia dokładnym zegarkiem, z własnym zasilaniem, zegarkiem tak oszczędnym, by wymiana baterii była konieczna jak najrzadziej. W praktyce baterie wystarczają na kilka lat i bardziej rozładowują się same z siebie niż z powodu podłączenia do obwodów zegara.
…
Nawiązując do serii artykułów o Arduino i sieci, nie pisałem o tym nic, bo sama funkcja wprost jest mało przydatna. Za to już nie wprost – znacznie bardziej. O czym mowa? Tajemnica siedzi w tej linii:
…
Od ukazania się serii artykułów o Arduino i pingach minęło nieco czasu. Jeden z czytelników słusznie zwrócił uwagę na to, że sytuacją awaryjną może być także zwiększenie opóźnień pingów ponad ustaloną wartość. I słusznie, bowiem sam miewam z tym problemy od czasu do czasu i pomaga wówczas rozłączenie się routera z linią – u mnie przynajmniej na 20 sekund. Uzupełnijmy więc nasz projekt o moduł wykrywania takich opóźnień.
…
My, elektronicy, najbardziej lubimy bajery. A w mikroelektronice, gdzie podstawę urządzeń stanowią mikrokontrolery, bajery nie kosztują nic poza dodatkową pracą nad programem. I coś takiego spróbujemy teraz wdrożyć do naszego nowo powstałego budzika. Nie wiem jak wy, ale ja nie lubię tych mrugających dwukropków. Byłoby ładniej, gdyby rozjarzały się jakoś płynnie. Dlatego – jak pisałem wcześniej, dwukropek podłączyłem do pinu wspierającego PWM, mającego możliwość wystawiania zmiennego przebiegu, dającego zmienną jasność diody. Zróbmy więc z tego pożytek.
…
Czas omówić dość już skomplikowany szkic, który gościł w poprzednim artykule, wstępnie tylko przedstawiony. A więc...
…
Czas zamienić zegar w budzik. Jak się można łatwo domyślić, potrzebne będą:
Dodatkowy zestaw zmiennych, w których będzie siedzieć czas alarmu.
Jakiś wskaźnik jego aktywności.
Emiter pisków.
Sposób regulacji takiego już bardziej rozbudowanego zegara.
Zacznijmy więc od rozmnożenia zmiennych oraz deklaracji portów dodatkowej diody świecącej i piszczka. Ten ostatni siedzi sobie na płytce edukacyjnej TME, więc go zaraz zatrudnimy. W tym momencie nadszedł czas na pewną refleksję. Podczas rozbudowywania aplikacji bywa, że nasze dobre pomysły stają się niedobre. Nie dlatego, że takimi były od początku, a z powodu takiego, że pewne rzeczy w nowym kontekście lepiej robić inaczej. Coś takiego przytrafiło się i tutaj, więc wykorzystam to na chwałę edukacji. Chodzi o traktowanie danych związanych przechowywaniem informacji o czasie.
…