پروژه دماسنج با ds18b20
پروژه دماسنج با ds18b20-این دماسنج با سنسور ds18b20 و میکروکنترلرatmega8 و سون سگمنت 4 رقمی کاتد مشترک ساخته شده است
و دمای محیط اطراف خود را با یک رقم اعشار نشان می دهد.
از این مدار می توان برای اندازه گیری دمای قسمتهایی که از حساسیت بالا برخوردار است استفاده نمود
مدار با ولتاژ تصفیه شده 5 ولت کار می کند که می توانید از رگلاتور 5 ولت استفاده نمایید
در انتخاب خازن شیمیایی بعد از رگلاتور 5 ولت دقت کنید خازن بعد از رگلاتور قرار گیرد یک عدد حازن 104 از نوع پلی استر با خازن شیمیایی موازی کنید
آداپتور ورودی را 12ولت قرار دهید سیم متصل به سنسور را از نوع شیلد قرار دهید
پروژه دماسنج با ds18b20
منبع تغذیه: 3 ولت (دقیقه) – 5.5 ولت (حداکثر) سطوح ولتاژ اتوبوس پشتیبانی شده: 3-5.5 ولت حداکثر جریان در هنگام تبدیل:
1.5 میلی آمپر حداکثر جریان در حالت آماده به کار: 1µA محدوده اندازه گیری دما -55 تا +125 درجه سانتی گراد با دقت 0.5 ± درجه سانتی گراد
(از -10 درجه سانتی گراد تا +85 درجه سانتی گراد) حداکثر نرخ نمونه برداری: 1.33 هرتز (هر 750 میلی ثانیه یک بار) سنسور (بدون آستین): اندازه بدنه:
4.58mm x 4.58mm x 3.86mm 3 پین با فاصله 1.27 میلی متر (0.05 اینچ).
ارتباط اگر می خواهید سنسور DS18B20 را به میکروکنترلری مانند ESP8266 (ESP-12، D1 Mini، NodeMCU و غیره) وصل کنید،
باید علاوه بر ولتاژ تغذیه (VCC و GND)، خط داده را به GPIO مورد نظر وصل کنید. برای اطمینان از عملکرد قابل اعتماد،
باید یک مقاومت کششی اضافی بین خط داده و خط تغذیه VCC استفاده شود. مقاومت باید حدود 5kΩ (مثلا 4.7kΩ) باشد.
پروژه دماسنج با ds18b20
‘———————www.pc21.ir————————-
$regfile = “m8def.dat”
$crystal = 1000000
Config 1wire = Portc.5
config portb=output
config portd=output
dim dama as integer, s as byte
dim b as integer, an as integer, I As Integer
Dim I1 As Byte,I2 As Byte, Temp As Single
Config Single = Scientific , Digits = 1
‘———————www.pc21.ir————————-
Do
1wreset
If Err = 1 Then
Else
1wwrite &HCC
1wwrite &H44
1wreset
1wwrite &HCC
1wwrite &HBE
I1 = 1wread()
I2 = 1wread()
I = Makeint(i1 , I2)
Temp = I / 16
dama=temp
s=10
End If
gosub seven
Loop
پروژه دماسنج با ds18b20
‘———————www.pc21.ir————————-
seven:
b= dama mod 100
portd =&B1110 : an = dama / 100 : Gosub 7seg
portd =&B1101 : an = b / 10 : Gosub 7seg
portd =&B1011 : an = b Mod 10 : Gosub 7seg
portd = &B0111 : an= s: Gosub 7seg
Return
‘———————www.pc21.ir————————-
7seg:
portb = Lookup(an , kat)
Waitms 5
Return
‘———————www.pc21.ir————————-
kat:
Data &B01111110 , &B00110000 , &B01101101 , &B01111001
Data &B00110011 , &B01011011 , &B01011111 , &B01110000
Data &B01111111 , &B01110011 ,&b01100011
‘———————www.pc21.ir————————-