Stałem się szczęśliwym posiadaczem N210. Netbook jest ładny, szybki, pojemny i spełnia większość moich oczekiwań. Ale zacznijmy od początku.
Będąc na uczelni często znajduję się w potrzebie skorzystania z internetu, dostępu do moich plików lub po prostu do zabicia wolnego czasu. Dotychczas łączność ze światem zapewniał mi iPod lub ewentualnie pecet na zajęciach informatycznych. Przeglądanie stron internetowych na iPodzie nie jest zbyt wygodne z racji rozmiarów wyświetlacza a dostęp do uczelnianego PC jest możliwy tylko w godzinach laboratoriów. Dlaczego Netbook a nie Notebook? Tutaj nie zastanawiałem się długo. Netbooki są tańsze, lżejsze i 2x dłużej pracują na baterii. Przeglądając oferty wybór padł na Samsunga.







Witam! Przedstawiam kolejny projekt, który powstał wczoraj.

Jest to termometr cyfrowy oparty na czujniku temperatury Maxim-a DS18B20. Czujnik ten jest przede wszystkim tani, posiada ciekawe możliwości oraz pracuje na magistrali 1Wire co oznacza, że potrzebujemy tylko jeden przewód do komunikacji. Ponadto mamy możliwość wyboru rozdzielczości pomiaru w 3 opcjach. Pomiar temperatury z dokładnością do 0.5 stopnia trwa zaledwie 93 milisekundy. Jeżeli chcemy uzyskać pomiar z dokładnością do 0.1 stopnia, czas konwersji będzie wynosił 750 milisekund. DS18B20 mierzy temperaturę od -55 do 125 stopni Celsjusza. Po więcej szczegółów odsyłam do noty katalogowej. Mózgiem układu jest mikrokontroler z rodziny AVR - Attiny2313 pracujący z zegarem 16Mhz. Obsługuje on komunikacje z czujnikiem przez magistralę 1Wire oraz wyświetlanie pomiaru na wyświetlaczu 16x2. Oprogramowanie zostało napisane w BASCOM AVR. Kod zajmuje około 70% pamięci Flash, więc można wprowadzić do programu jeszcze drobne modyfikacje, np dotyczące sposobu wyświetlania temperatury bądź rozdzielczości pomiaru. Układ jest zasilany poprzez stabilizator L7805 co umożliwia nam wykorzystanie zasilacza dostarczającego napięcie w zakresie mniej więcej 6-12V. Kod programu :
$regfile = "attiny2313.dat"
$crystal = 16000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.4 , Rs = Portd.5
Deflcdchar 0 , 6 , 9 , 9 , 6 , 32 , 32 , 32 , 32
Config 1wire = Portb.0
Dim Temp As Integer , Napis As String * 6
Cursor Off
Cls
Do
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE
Temp = 1wread(2)
Temp = Temp * 10
Temp = Temp / 16
Napis = Str(temp)
Napis = Format(napis , " 0.0")
Locate 1 , 1
Lcd " Temperatura: "
Locate 2 , 1
Lcd " " ; Napis ; " " ; Chr(0) ; "C "
Loop
End
Zdjęcia, Schemat, Opis, Kod źródłowy programu z opisem komend znajduje się tutaj.


Mały update. Powstała nowa wersja oprogramowania. Program dodatkowo zapisuje i porównuje temperaturę co 20 minut a następnie pokazuje na wyświetlaczu czy temperatura wzrosła, spadła czy jest stała. Oto link.
Człowiek leniwym stworzeniem jest. W celu ułatwienia sobie życia powstało oświetlenie halogenowe sterowane pilotem Rc5. Sercem urządzenia jest ATmega8 na kwarcu 16Mhz. Elementem wykonawczym są 2 przekaźniki JQX115F-005 5V 8A. Są one sterowane mikrokontrolerem przez tranzystor NPN. Odbiornik podczerwieni to TSOP1736.
Program został napisany w BASCOM-ie :
----------------------------------
$regfile = "m8def.dat" ----------------------------------
$crystal = 16000000
Config Pind.0 = Output
Config Pind.1 = Output
Lampa1 Alias Portd.0
Lampa2 Alias Portd.1
Config Rc5 = Pind.2
Dim Address As Byte , Command As Byte
Dim Status As Byte
Enable Interrupts
Status = 0
Do
Getrc5(address , Command)
Command = Command And &B01111111
Select Case Command
Case 12 :
If Status = 0 Then
Set Lampa1
Set Lampa2
Waitms 200
Status = 1
Command = 55
Elseif Status = 1 Then
Reset Lampa1
Reset Lampa2
Status = 0
Waitms 200
End If
Case 1 :
Set Lampa1
Reset Lampa2
Waitms 200
Status = 1
Case 2 :
Set Lampa2
Set Lampa1
Waitms 200
Status = 1
End Select
Loop
End
Schematu nie ma, powstawał na bieżąco.


Update: W najbliższym czasie przygotuję schemat i bardziej opiszę projekt. Stay Tuned.