امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
سنسور دما
نویسنده پیام
فروم باز آفلاین
در حال پیشرفت
***

ارسال‌ها: 480
موضوع‌ها: 122
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 321
( 107 تشکر در 72 ارسال )
ارسال: #1
سنسور دما
سلام بر همه دوستان

من یه کد دارم که دما رو روی سون سگمنت نشون میده فقط میخوام بدونم که اندازه دما رو چه طوری میتونم به دست بیارم یعنی دما تو کدوم متغیر ذخیره میشه؟( سنسور دما DC1621 هست)

با تشکر.
[/align]
Dim D As Byte
Dim N As Byte , L As Byte , W As Byte
Dim Teller As Word
Dim Tempmsb As Byte
Dim Templsb As Byte
Dim Confg As Byte
Dim Count As Byte
Dim Slope As Byte
Dim Nneg As Byte
Dim Alarmtemp As Byte
Dim Blinkrate As Byte

$crystal = 10000000

Const Digit1 = &B01000000
Const Digit2 = &B00100000
Const Digit3 = &B00010000

Declare Sub Cpos(number As Byte)
Declare Sub Cneg(number As Byte)
Declare Sub Cover
Declare Sub Readtemp(tempmsb As Byte)
Declare Sub Startconvert()

Config Portb = Output
Config Pind.4 = Output
Config Pind.5 = Output
Config Pind.6 = Output

Config Sda = Portd.1
Config Scl = Portd.0

Alarmtemp = 30

'******** test display **************************
Portb = 255
Portd = &B01110000

'******** Main program **************************
Call Startconvert
Waitms 1000

Do
Call Readtemp(tempmsb)
Tempmsb = Tempmsb - 3

For Teller = 1 To 250
Select Case Tempmsb
Case 0 To 99 : Call Cpos(tempmsb) 'temp >0 show temp on display
Case 100 To 127 : Call Cover 'temp > 99.5 show -- on display
Case 128 To 245 : Call Cover 'temp < -9.5 show -- on dsiplay
Case 246 To 255 : Call Cneg(tempmsb) 'temp <0 show temp on displa
End Select
Next Teller
Loop
'******** end main program **********************

'******** start convert *************************
Sub Startconvert()
I2cstart
I2cwbyte &H90
I2cwbyte &HEE
I2cstop
End Sub
'************************************************

'******** read temperature **********************
Sub Readtemp(tempmsb As Byte)
'-------------
I2cstart
I2cwbyte &H90 'send adress byte
I2cwbyte &HAA 'send register byte
I2cstop

I2cstart
I2cwbyte &H91 'read register
I2crbyte Tempmsb , Ack
I2crbyte Templsb , Nack
I2cstop
End Sub Readtemp
'************************************************

'******** convert and display temperature *******

Sub Cpos(number)

If Templsb = 0 Then
N = 0
Else
N = 5
End If

D = Lookup(n , Digits)
Portd = Digit1
Portb = D
Waitms 5

N = Number Mod 10
D = Lookup(n , Digits)
Portd = Digit2
Portb = D + 128
Waitms 5

N = Number \ 10
D = Lookup(n , Digits)
Portd = Digit3

If N < 1 Then
Portb = 0
Else
Portb = D
End If
Waitms 5

Portd = 0

If Tempmsb > Alarmtemp Then
For W = 1 To 10
Waitms 15
Next W
End If

End Sub

'************************************************

Sub Cneg(number)

Nneg = 0 - Number

Nneg = Nneg - 1

If Templsb = 0 Then N = 5 Else N = 0 'If Templsb = 0 Then N = 0 Else N = 5
D = Lookup(n , Digits)
Portd = Digit1
Portb = D
Waitms 5

N = Nneg Mod 10
D = Lookup(n , Digits)
Portd = Digit2
Portb = D + 128
Waitms 5

N = 10
D = Lookup(n , Digits)
Portd = Digit3
Portb = D
Waitms 5

End Sub Cneg(number As Byte)

'************************************************

Sub Cover
N = 10
D = Lookup(n , Digits)
Portd = Digit1
Portb = D
Waitms 5

N = 10
D = Lookup(n , Digits)
Portd = Digit2
Portb = D
Waitms 5

N = 10
D = Lookup(n , Digits)
Portd = Digit3
Portb = D
Waitms 5

End Sub

'************************************************



End


'************************************************

'******** Data **********************************
Digits:
Data 63 , 6 , 91 , 79 , 102 , 109 , 125 , 7 , 127 , 111 , 64 , 128 , 56 , 70
' 0 1 2 3 4 5 6 7 8 9 - dp L +
'************************************************
۲۷-بهمن-۱۳۸۷, ۱۶:۲۷:۳۱
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: سنسور دما
به نظر میاد تو دو متغیر Tempmsb و Templsb ذخیره می شود .
اولی بیتهای بالا و دومی پایین .
۲۷-بهمن-۱۳۸۷, ۱۸:۵۱:۵۷
ارسال‌ها
پاسخ
تشکر شده توسط : فروم باز
فروم باز آفلاین
در حال پیشرفت
***

ارسال‌ها: 480
موضوع‌ها: 122
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 321
( 107 تشکر در 72 ارسال )
ارسال: #3
RE: سنسور دما
خب چه طوری میشه فهمید که دما چند درجه هست؟ منظورم مقدار عددیشه.

با تشکر.
۲۷-بهمن-۱۳۸۷, ۲۲:۴۵:۰۵
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #4
RE: سنسور دما
کد:
I2crbyte Tempmsb , Ack
I2crbyte Templsb , Nack

نمی دونم . دیتاشیتش رو نگاه کن و ببین چجوری اطلاعات می فرسته ؟

بعد برنامه هم که تو این خط دما رو می گیره .
۲۷-بهمن-۱۳۸۷, ۲۲:۵۷:۲۹
ارسال‌ها
پاسخ
تشکر شده توسط : فروم باز
1nafar غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,195
موضوع‌ها: 91
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 1577
( 4273 تشکر در 953 ارسال )
ارسال: #5
RE: سنسور دما
سلام
این سنسور ds1621 هم هست که ارتباتش از طریق i2c هست ودقتش با lm35 یکیه و دما رو هم به سانتیگراد و هم به فارنهایت به میکرو ارسال میکنه ، یکی از اون متغیر ها برای دمای سانتی گراد و دیگری برای دمای فارنهایت استفاده میشه
یعنی با دستور ack بایت اول و با دستور anck اخرین بایت از i2c ( سنسور خونده میشه )
۳۰-بهمن-۱۳۸۷, ۰۸:۳۱:۵۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, naatamam


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  معرفی یک سنسور جریان برای اتصال به میکرو ؟ mega16 6 1,738 ۲۷-اردیبهشت-۱۳۹۹, ۱۷:۳۸:۳۲
آخرین ارسال: Ambassador
  اتصال سنسور lm35 در فاصله 12 متری به میکرو ؟ mega16 3 1,643 ۲۷-بهمن-۱۳۹۸, ۱۸:۴۳:۲۸
آخرین ارسال: aKaReZa75
  ربات مسیریاب ۲۴ سنسور Erfanbeigi 3 2,650 ۰۷-آبان-۱۳۹۶, ۰۰:۴۲:۴۱
آخرین ارسال: 1نفر
  راه اندازی سنسور sht11 blackstar368 10 10,511 ۲۶-دى-۱۳۹۵, ۱۲:۲۲:۴۷
آخرین ارسال: ehsan1082
  درخواست مدار محاسبه سرعت با سنسور مادون قرمز maxell2500 8 6,690 ۲۸-اردیبهشت-۱۳۹۵, ۰۰:۱۰:۴۱
آخرین ارسال: maxell2500
  [سوال] سنسور فرستنده و گیرنده مادون قرمز rezamajdi 2 3,082 ۰۸-بهمن-۱۳۹۴, ۰۰:۱۰:۴۸
آخرین ارسال: rezamajdi
Cool [سوال] سنسور ds18b20 hosseinip 4 3,642 ۱۵-اردیبهشت-۱۳۹۴, ۱۴:۱۰:۴۴
آخرین ارسال: student-p
  سوال در مورد انتخاب سنسور و برنامه نویسی dj kaka 10 6,397 ۰۲-اسفند-۱۳۹۳, ۰۹:۱۱:۰۳
آخرین ارسال: dj kaka
  [سوال] نحوه تشخیص پایه های سنسور اولتراسونیک silent70un 6 9,981 ۲۶-بهمن-۱۳۹۳, ۱۲:۵۷:۵۷
آخرین ارسال: student123
Question (سؤال)راه اندازی سنسور SRF05 با AVR b3hrouz 11 12,111 ۰۵-بهمن-۱۳۹۳, ۲۱:۱۳:۳۵
آخرین ارسال: javam

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS