Timer do lampkiThursday, May 27. 2010
W pokoju córeczki, gdy idzie spać, zostawiamy małą lampeczkę włączoną. Potem, gdy nam się o niej przypomni, należy ją wyłączyć. Owo "gdy nam się o niej przypomni" trwa od godziny do 6 godzin
Schemat elektryczny tego urządzenia jest zwyczajnie banalny - ot, standardowe połączenie multipleksowanych dwóch cyfr 7-segmentowego wyświetlacza LED do mikrokontrolera PIC16F628A. Jako interfejs ustawiania zadanego czasu, można było zastosować dwa przyciski, ale ja u siebie wstawiłem enkoder obrotowy, który w obsłudze końcowej jest nieporównywalnie przyjemniejszy od przycisków - zwłaszcza, gdy przyjdzie nam ustawić czas rzędu np. 90 minut Modułem wykonawczym może być dowolna realizacja... może to być przekaźnik z cewką 5V, może być z własnym zasilaniem (np. 12V), może też to być zestaw optotriak-triak. Tę ostatnią opcję wybrałem dla swojej realizacji, jako, że z powodu swojego charakteru pasuje tutaj najbardziej do projektu. Poniżej możecie zobaczyć schematy pokazujące, jak zrealizować takie moduły wykonawcze.
Wsad do mikrokontrolera można pobrać tutaj. W razie jakichkolwiek problemów, czy to ze schematem, czy z oprogramowaniem - pytać Miłego odliczania czasu! PIC16F - Realizacja software'owego buforu odbioru USARTFriday, May 21. 2010Pracowałem ostatnimi dniami nad małym kontrolerkiem, sterowanym przez RS232. Obsługa niektórych poleceń, wydawanych do niego, trwała nawet po kilka milisekund i... okazało się, że użyty przeze mnie 16F628A ma bufor wejściowy USARTa rozmiaru... 2 bajtów. Tak, to nie pomyłka Dlatego postanowiłem napisać obsługę cyklicznego bufora wejściowego - o rozmiarze wg uznania Na początku, zmienne globalne: #define RX_BUFOR_MAX 32 i podczas inicjalizacji programu: // ustawiamy bufor odbioru danych z UARTa Tyle przygotowań. Proces odbioru danych i składowanie ich w cyklicznym buforze zrealizujemy w przerwaniu. Najpierw odpalamy przerwanie: STATUS.RP0 = 1; I definiujemy obsługę: void interrupt(void) Pozostało nam napisanie funkcji korzystających z owego bufora. Wpierw funkcja badająca, czy w buforze czeka na nas jakiś nieprzetworzony znak: // czy w cyklicznym buforze czekają dane do odczytania? No i funkcja odczytująca kolejny znak: // odczyt znaku z cyklicznego buforu Na koniec przedstawię jeszcze moją małą funkcję odczytującą znak z określonym timeoutem operacji: void BUFRS_Read_Timeout(unsigned char *bajt, unsigned char timeout) To tyle. U mnie - jak już pisałem, obsługa niektórych znaków zajmuje kilka milisekund, niektórych kilka mikrosekund - całość działa poprawnie przy 19200 (kwarc 20MHz). Oczywiście, powyższe działa tylko na mikrokontrolerach wyposażonych w sprzętowy moduł USART. Powodzenia. PIC16F - obsługa LCD z Nokia 3310Thursday, April 29. 2010Zabawiałem się w ostatnich dniach wyświetlaczem LCD z poczciwej Nokii 3310. LCD nie jest rewelacyjny, ale ma te swoje 84x48 pikseli monochromatycznego obrazu. W trybie tekstowym, z małą czcionką, wystarcza to na 6 rzędów po 14 znaków. ![]() Szukając w sieci biblioteki do jego obsługi, przejrzałem zyliony projektów typu "LCD-on-LPT" i nieco mniej, bo już tylko miliony Na chwilę obecną, biblioteka pozwala na wyświetlanie napisów w dwóch różnych rozmiarach - przy użyciu tylko jednego zdefiniowanego kroju pisma - skalowanie następuje w locie, podczas wyświetlania. W planach dodanie grafiki. Biblioteka dostępna jest jako LGPL, podczas jej opracowywania, jak już wspominałem, wykorzystywałem różne źródła (no i własną pracę). Największymi dawcami idei i pomysłów byli Louis Frigon oraz Lieven Hollevoet. Załączam również przykładowy projekt, wykorzystujący ów LCD i bibliotekę - taki mały zegarko-termometr Dzięki niemu można dowiedzieć się, jak podłączyć wyświetlacz i jak skorzystać z biblioteki. Zwracam tylko uwagę na konieczność ustawienia swoich pinów LCD w pliku N3310LCD.h. ![]() Bibliotekę oraz przykładowy projekt znaleźć można na forum elektrody. A następny LCD w kolejce do rozpracowania jest przyjemny LCD kolorowy, o wymiarach 128x128 pikseli - dostępny na allegro za ok. 20zł Najprostszy programator PIC16F i pokrewnychSunday, April 18. 2010Podczas poszukiwania kilku elementów w mojej przepastnej szafie, odnalazłem dwa zagubione egzemplarze mikrokontrolera PIC 16F628A firmy Microchip... Dodając do tego, że od dawna myślałem o powrocie do mikrokontrolerów, a także że od kilku lat dzień w dzień widuję się z kolegą, który wciąż mnie namawia do tego (a sam jest specem) - no cóż, te dwie odnalezione kostki dopełniły dzieła i... wróciłem do zajmowania się nimi W dzisiejszych czasach królują dwie rodziny małych mikrokontrolerów - AVRy od Atmela i PICe od Microchipa. Zwłaszcza wśród nowo zaczynających (m.in. dzięki "Oślej Łączce" z czasopism AVT) popularne są AVR. Ja jednak PICe już znam - to po pierwsze, a po drugie, mimo wszystko, PICe uważam za lepszy wybór (ale wojen żadnych nie mam zamiaru toczyć z nikim w tym temacie). ![]() Zabawa rozpoczęła się oczywiście od budowy programatora. Z czasem i tak zakupię duży programator na USB, z możliwością debugowania, ale na razie... wychodząc z założenia, że to tylko chwilowe rozwiązanie, należało znaleźć coś, co jest najprostsze i najtańsze w produkcji. Wybór padł na JDM, ale jak się szybko okazało, większość dostępnych schematów odnosi się do starszych przedstawicieli 16F. Dlatego Dostosowałem schemat do warunków programowania 16F628A, przy okazji upraszczając schemat JDM (i tak już prosty). Po trzech dniach walk i prób na breadboardzie (płytce stykowej) osiągnąłem działający egzemplarz. Kilka dni intensywnego działania - programuje 100 na 100 Schemat? Schemat jest prosty jak... drut Płytki PCB nawet nie projektowałem, w pół godziny polutujecie wszystko sobie na dowolnej płytce uniwersalnej. Jedyny problem to gniazdo RS232, w którym trzeba będzie nieco ponaginać piny... osobiście piny 6 oraz 9 usunąłem, natomiast piny 7 i 8 lekko nagiąłem - w ten sposób całe gniazdo ładnie osiadło w rastrze 2,54 mm. Jako gniazdo pod procesor dałem podstawkę DIL18, ale jeżeli znajdziecie gniazdo ZIF - polecam. Do programowania ICSP postawiłem sobie gniazdo 2x5 pinów, takie, jakie widać na płytach komputerowych (taśma 10 żył). Dlaczego takie? Po pierwsze, taśmę 10 pin łatwo dostać ![]() Na koniec kilka słów o dostosowywaniu układu docelowego do przyszłego programowania poprzez ICSP. Dwie najważniejsze sprawy, to bezwzględne odłączenie oryginalnego zasilania układu podczas programowania (a to z kolei pociąga za sobą, aby linię Vdd z gniazda podłączyć bezpośrednio do procesora, a nie do wspólnego punktu zasilania) oraz separacja linii Vpp - na przykład diodą. Takie rozwiązania wyklucza co prawda ten port z bycia ewentualnym wyjściem, ale... pamiętaj, że podczas programowania Vpp wynosi do 13V! Jedynym innym wyjściem jest zastosowanie wyłącznika mechanicznego. Z pozostałych problemów, warto jest nie używać, o ile to nie jest koniecznie, linii CLOCK i DATA, gdyż podczas programowania podpięte układy mogą wprowadzić zakłócenia uniemożliwiające poprawne zaprogramowanie układu. ![]() To tyle, życzę miłego programowania "Tuning" włącznika oświetlenia szafySunday, May 6. 2007Jakiś czas temu zamówiłem sobie szafę wnękową do sypialni Przede wszystkim należy się pozbyć oczka centrującego sznureczek na wylocie z wyłącznika - łańcuszek tamtędy nie przejdzie. Następnie zajmujemy się przymocowaniem łańcuszka. Za pierwszym razem wyeliminowałem oryginalny sznureczek kompletnie, rozciąłem cążkami oczko cięgna wyłącznika, odchyliłem połówkę, zaczepiłem łańcuszek i ponownie zagiąłem. Trzymało się idealnie No to OK, co możemy zrobić w tej sprawie? Kolejnego sznureczka wieszać nie ma sensu, znowu się przetrze, a poza tym nadal będzie wyglądać, jak przez okno. Skombinowałem więc taki łańcuszek kulkowy - maleńkie kuleczki metalowe połączone ze sobą jeszcze mniejszymi drucikami (a właściwie mini-rureczkami), również metalowymi. Pomyślałem, że nada się idealnie. Przystępujemy więc do pracy. Po przykręceniu przewodów, przykręceniu całości do ściany szafki, i spuszczeniu łańcuszka przez wywiercony otwór, dobrałem kołek do wkrętów do betonu takiej średnicy, żeby idealnie pasował do dziurki. Przyciąłem go do długości kołnierza - dalej nie zostawiajcie, bo skrzydełka będą się zaginać i haczyć o łańcuszek, przewlekłem od spodu przez łańcuszek i zatknąłem w dziurce. Efekt - super, jak z fabryki I już mogłem znowu się cieszyć moim super oświetleniem szafy Naprawa wiatraczka w karcie Asus ATI X1650Sunday, April 29. 2007Siedzę sobie przy komputerze, a tu.... zniknął obraz Po kilku próbach i testach doszedłem, że winowajcą jest wiatraczek na mojej grafie X1650, który, delikatnie mówiąc, zmienił swoją geometrię
Szybkie spojrzenie na kabelki i... już wiemy, że należy wyciągnąć i rozgrzać lutownicę. Odlutowywujemy kabelek i przechodzimy tymczasem do wiatraczka oryginalnego.
Wiatraczek oryginalny demontujemy. Najpierw odpinamy kabelki ze szczeliny prowadzącej i oddzielamy podstawkę od reszty. Nie obejdzie się tutaj bez użycia siły
Montujemy nasze dzieło w karcie , kabelek przeciągamy kanałem powietrznym i wpinamy do gniazda na karcie. Kartę montujemy, odpalamy kompa i cieszymy się jeszcze sprawniejszym chłodzeniem naszej grafy
Posted by Piotr Borys
in Komputerologia stosowana, Zrób to sam
at
01:12
| Comments (0)
| Trackbacks (0)
Nagrywanie rozmów w Samsungu D500Monday, April 16. 2007W Samsungu D500 jest dyktafon. Wydawałoby się normalnym, że można nim nagrywać również rozmowy - ja w zasadzie tylko do tego potrzebuję tej funkcji (podczas kontaktów z problematycznymi klientami Na szczęście jednak się da, tylko że nie tak, jakbyście myśleli W każdym bądź razie, są dostępne kody: #*22672# Stop AMR REC (File name: /a/multimedia/sounds/voice list/ENGMODE.amr) #*22673# Pause REC #*22674# Resume REC Hmmm... Miłego nagrywania!
(Page 1 of 1, totaling 7 entries)
View as PDF: Category Zrób to sam | This month | Full blog powered by Serendipity |
QuicksearchLinkiNiniejsza strona nie jest moim jedynym miejscem w sieci... tutaj składuję to, co nie mieści się w ramach pozostałych innych moich miesc (głównie blogów o tematyce mobilnej). Zapraszam do odwiedzin: ArchivesKategorieBlog Administration |



