Nie wiem jeszcze jak więc, liczę na pomoc do kodu poniżej chciałbym dodać funkcje sygnalizacji piknięciem z głośniczka na płytce, informującego o zmianie temperatury co 1 stopień w górę lub dół.
płytka EvB 4.3 procesor - Atmega32
kod napisany w Bascomie
płytka EvB 4.3 procesor - Atmega32
kod napisany w Bascomie
' Termometr DS18B20
$regfile = "m32def.dat"
$crystal = 16000000
Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 'standard
Config Lcd = 16 * 2
Config 1wire = Portd.4
Dim Id(8) As Byte
Dim T As Word
Dim S As String * 4
Dim Minus As Bit
Display Off
Deflcdchar 0 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32 ' definicja symbolu stopnia
Id(1) = 1wsearchfirst() 'znajdź czujnik
1wreset
1wwrite &HCC 'opóść sprawdzanie numeru czujnika
1wwrite &H44 'Konwersja temperatury
Waitms 750
Display On
Cursor Off
Cls
Locate 1 , 1
Lcd "Temperatura"
Do
1wreset
1wwrite &H55 'porównaj numer czujnika
1wverify Id(1)
1wwrite &HBE 'komenda odczytania z czujnika
T = 1wread(2)
1wreset
1wwrite &HCC 'opóść sprawdzanie numeru czujnika
1wwrite &H44 'Konwersja temperatury
Waitms 750
If T > &HFC00 Then 'sprawdza, czy temperatura ujemna
T = 65536 - T 'wartość ujemna zapisana w kodzie U2
Minus = 1
Else
Minus = 0
End If
T = T * 10
T = T / 16
S = Str(t)
S = Format(s , "0.0")
Locate 2 , 1
If Minus = 1 Then
Lcd "-"
End If
Lcd S ; Chr(0) ; "C "
Loop
End