امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
پروژه ساعت-تقویم-دماسنج دیجیتالی
نویسنده پیام
reza-m آفلاین
كاربر دو ستاره
**

ارسال‌ها: 96
موضوع‌ها: 19
تاریخ عضویت: آذر ۱۳۸۷

تشکرها : 11
( 156 تشکر در 65 ارسال )
ارسال: #1
پروژه ساعت-تقویم-دماسنج دیجیتالی
با سلام به همه اعضای گل ایران ال ای دی امروز یک پروژه را برای دانلود می ذارم .پروژه جالب و خوبیه برای کسانی که می خوان با میکروکنترلر و نحوه برنامه نویسی اون آشنا بشن.پروژه ساعت-تقویم-دماسنج دیجیتالی نشان داده شده در زیر پروژه ای است که زمان،تاریخ ، روز های هفته و دماسنج را بر روی سون سگمنت ها نمایش می دهد.در این پروژه از آی سی DS1307 آی سی مخصوص ساعت استفاده شده است.سورس پروژه به همراه نقشه مدار و فایل پروتئوس برای دانلود در زیر آمده است.

وبلاگ من


فایل‌(های) پیوست شده بندانگشتی (ها)
   

.rar   Clock_date_Temp_.rar (اندازه: 205.98 KB / تعداد دفعات دریافت: 1,599)
(آخرین ویرایش در این ارسال: ۳۰-دى-۱۳۹۱, ۲۲:۲۴:۲۶، توسط reza-m.)
۳۰-دى-۱۳۹۱, ۲۲:۲۳:۲۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix, hadikh73, رسول, aka.ReZa, kamran0080, soy1345, sahra69, reyha, helma, Ambassador, GOLDOST, kimiafars, mahdi945, alimogmov
reyha آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 2
تاریخ عضویت: اردیبهشت ۱۳۸۹

تشکرها : 18
( 4 تشکر در 3 ارسال )
ارسال: #2
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
سلام به همه دوستان من این مدار رو تست کردم خیلی عالیه ولی یه مشکلی که من باهاش دارم اینه که سون سگمن بکاررفته در مدار ازنوع کاتد مشترکه و مال من سون سگمن 7 در 5 و از نوع آند مشترک هستش خواستم یه کمکی کنید و بگین که چطور میتونم مدار رو از سگمنت کاتد مشترک به آند مشترک تغییرش بدم آیا باید آی سی ها رو تغییر بدم یا فقط با اجرای دستورات خاص تو قسمت برنامه نویسی اونرو از کاتد به آند تغییرش بدم لطفا منو راهنمایی کنید با تشکر فراوان .
۱۱-آبان-۱۳۹۲, ۰۲:۵۷:۲۴
ارسال‌ها
پاسخ
helma آفلاین
(✿◕‿◕)
*****

ارسال‌ها: 284
موضوع‌ها: 16
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 22884
( 14662 تشکر در 5220 ارسال )
ارسال: #3
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
می تونین از یه آی سی not استفاده کنین

بلندترین ساختمان ها، از یک سنگ شروع میشوند (جان شیفته.رومن رولان)
(آخرین ویرایش در این ارسال: ۱۱-آبان-۱۳۹۲, ۰۳:۲۱:۱۸، توسط helma.)
۱۱-آبان-۱۳۹۲, ۰۳:۲۰:۵۷
ارسال‌ها
پاسخ
تشکر شده توسط : reyha, Ambassador, omid_phoenix, babyy
reyha آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 2
تاریخ عضویت: اردیبهشت ۱۳۸۹

تشکرها : 18
( 4 تشکر در 3 ارسال )
ارسال: #4
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
ممنون از پاسخ سریعتون میشه یکی دو مورد نام ببرین و اینکه چطور از اونا تومدارم استفاده کنم . مثلا من قبلا برای ساخت مدار تابلو روانم تعداد زیادی البته در حد 7.8 تا از آی سی های به شماره uln2803a , , 74hc574n برام مونده خواستم بدونم با اینا میتونم کاری کنم یا که خیر باید دنبال آی سی های دیگه باشم .
۱۲-آبان-۱۳۹۲, ۱۰:۰۹:۲۹
ارسال‌ها
پاسخ
Ambassador آفلاین
مدیر بخش موبایل
*****

ارسال‌ها: 1,302
موضوع‌ها: 77
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 30350
( 9868 تشکر در 3839 ارسال )
ارسال: #5
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
سلام

من وقت نکردم برنامه بالا رو دقیق چک کنم اما مطمئن باشید که با تغییر کد میتونید از آند مشترک استفاده کنید.
موفق باشید.

START...

۱۲-آبان-۱۳۹۲, ۱۰:۵۶:۳۶
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, reyha
reyha آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 2
تاریخ عضویت: اردیبهشت ۱۳۸۹

تشکرها : 18
( 4 تشکر در 3 ارسال )
ارسال: #6
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
ببینید این کل برنامه است که تو بسکام میبینیش
کد php:
$regfile "m8def.dat"
$crystal 4000000
$lib 
"ds1307clock.lib"
$lib "mcsbyteint.lbx"
Config Timer0 Timer Prescale 64
Enable Timer0
On Timer0 Tim0
Start Timer0
Enable Interrupts
Config Portc.0 
Output
Config Portc.1 
Output
Config Portc.2 
Output
Config Portb.0 
Output
Config Portb.1 
Output
Config Portb.2 
Output
Config Portb.3 
Output
Config Watchdog 
16
Config Adc 
Single Prescaler Auto
Start Adc
Data_74164 Alias Portb.5
Clck_74164 Alias Portb.4
's1307 config
Config Scl = Portb.6
Config Sda = Portb.7
'
addres hardware for ds1307
Const Ds1307w = &HD0                                        'for send
Const Ds1307r = &HD1                                        '
for recive
Dim W 
As Word As Byte As Byte Seg As Byte
Dim Segment1 
As Byte Segment2 As Byte Segment3 As Byte Segment4 As Byte Segment5 As Byte
Dim Segment6 
As Byte Segment7 As Byte Segment8 As Byte Segment9 As Byte Segment10 As Byte
Dim Segment11 
As Byte Segment12 As Byte Segment13 As Byte Segment14 As Byte Segment15 As Byte Segment16 As Byte
Dim _sec 
As Byte _min As Byte _hour As Byte _day As Byte _month As Byte _year As Byte
Dim Weekday 
As Byte
Config I2cdelay 
250

Do
Gosub Ds1307
Segment1 
_sec
Segment1 
_sec Mod 10
Segment2 
_sec 10
Segment2 
Segment2 Mod 6
Segment2 
Lookup(segment2 Digi)
Segment1 Lookup(segment1 Digi)
'=========================================================seconde
Segment3 = _min
Segment3 = _min Mod 10
Segment3 = Lookup(segment3 , Digi)
Segment3 = Segment3 + 128
Segment4 = _min / 10
Segment4 = Segment4 Mod 6
Segment4 = Lookup(segment4 , Digi)
'
==========================================================mine
Segment5 
_hour
Segment5 
_hour Mod 10
Segment5 
Lookup(segment5 Digi)
Segment5 Segment5 128
Segment6 
_hour 10
Segment6 
Segment6 Mod 3
Segment6 
Lookup(segment6 Digi)
'===========================================================
Segment7 = _day Mod 10
Segment7 = Lookup(segment7 , Digi)
Segment8 = _day / 10
Segment8 = Lookup(segment8 , Digi)

Segment9 = _month Mod 10
Segment9 = Lookup(segment9 , Digi)
Segment9 = Segment9 + 128
Segment10 = _month / 10
Segment10 = Lookup(segment10 , Digi)

Segment11 = _year Mod 10
Segment11 = Lookup(segment11 , Digi)
Segment11 = Segment11 + 128
Segment12 = _year / 10
Segment12 = Lookup(segment12 , Digi)
'
===============================
Getadc(3)
2
Segment13 
99
Segment15 
10
Segment15 10
Segment14 
C
Segment15 Mod 10
Segment15 
Lookup(Digi)
Segment14 Lookup(segment14 Digi)
Segment16 100
Segment16 
Lookup(segment16 Digi)
'===========================================
Portc = Weekday
If Weekday > 7 Then Weekday = 0
If Pind.0 = 0 Then Gosub Dagige
If Pind.1 = 0 Then Gosub Saeat
If Pind.2 = 0 Then Gosub Dayy
If Pind.3 = 0 Then Gosub Monthh
If Pind.4 = 0 Then Gosub Yearr
If Pind.5 = 0 Then Gosub Rooz
Loop


Ds1307:
  I2cstart                                                  ' 
Generate start code
  I2cwbyte Ds1307w                                          
' send address
  I2cwbyte 0                                                ' 
start address in 1307
I2cstart                                                    
' Generate start code
  I2cwbyte Ds1307r                                          ' 
send address
  I2crbyte _sec 
Ack
  I2crbyte _min 
Ack                                       ' MINUTES
  I2crbyte _hour , Ack                                      ' 
Hours
  I2crbyte Weekday 
Ack                                    ' Day of Week
  I2crbyte _day , Ack                                       ' 
Day of Month
  I2crbyte _month 
Ack                                     ' Month of Year
  I2crbyte _year , Nack                                     ' 
Year
  I2cstop
  _sec 
Makedec(_sec) : _min Makedec(_min) : _hour Makedec(_hour)
  
_day Makedec(_day) : _month Makedec(_month) : _year Makedec(_year)
Return

'===================================================================================
Dagige:
Incr _min
If _min > 59 Then _min = 0
_min = Makebcd(_min)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 1
I2cwbyte _min
I2cstop
Return

Saeat:
Incr _hour
If _hour > 23 Then _hour = 0
_hour = Makebcd(_hour)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 2
I2cwbyte _hour
I2cstop
Return
Return


Dayy:
Incr _day
If _day > 31 Then _day = 0
_day = Makebcd(_day)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 4
I2cwbyte _day
I2cstop
Return



Monthh:
Incr _month
If _month > 12 Then _month = 0
_month = Makebcd(_month)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 5
I2cwbyte _month
I2cstop
Return


Yearr:
Incr _year
If _year > 99 Then _year = 0
_year = Makebcd(_year)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 6
I2cwbyte _year
I2cstop
Return

Rooz:
Incr Weekday
If Weekday > 7 Then Weekday = 0
Weekday = Makebcd(weekday)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 3
I2cwbyte Weekday
I2cstop
Return







Tim0:
Timer0 = 210
Portb = Seg
Select Case Seg
Case 0
Shiftout Data_74164 , Clck_74164 , Segment1 , 1
Case 1
Shiftout Data_74164 , Clck_74164 , Segment2 , 1
Case 2
Shiftout Data_74164 , Clck_74164 , Segment3 , 1
Case 3
Shiftout Data_74164 , Clck_74164 , Segment4 , 1
Case 4
Shiftout Data_74164 , Clck_74164 , Segment5 , 1
Case 5
Shiftout Data_74164 , Clck_74164 , Segment6 , 1
Case 6
Shiftout Data_74164 , Clck_74164 , Segment7 , 1
Case 7
Shiftout Data_74164 , Clck_74164 , Segment8 , 1
Case 8
Shiftout Data_74164 , Clck_74164 , Segment9 , 1
Case 9
Shiftout Data_74164 , Clck_74164 , Segment10 , 1
Case 10
Shiftout Data_74164 , Clck_74164 , Segment11 , 1
Case 11
Shiftout Data_74164 , Clck_74164 , Segment12 , 1
Case 12
Shiftout Data_74164 , Clck_74164 , Segment13 , 1
Case 13
Shiftout Data_74164 , Clck_74164 , Segment14 , 1
Case 14
Shiftout Data_74164 , Clck_74164 , Segment15 , 1
Case 15
Shiftout Data_74164 , Clck_74164 , Segment16 , 1
End Select
Incr Seg
If Seg >= 16 Then Seg = 0
Return


Digi:
Data &B1111110
Data &B0110000
Data &B1101101
Data &B1111001
Data &B0110011
Data &B1011011
Data &B1011111
Data &B1110010
Data &B1111111
Data &B1111011 

که من به هیچ قسمتش دست نزدم و فقط جای صفر و یک رو تو این قسمت تغییرش دادم
کد php:
Digi:

Digi:
Data &B0000001
Data 
&B1001111
Data 
&B0010010
Data 
&B0000110
Data 
&B1001100
Data 
&B0100100
Data 
&B0100000
Data 
&B0001101
Data 
&B0000000
Data 
&B0000100 
ولی همه 7 سگمنتها با هم روشن میشن.


البته شاید میبایست قسمتهای دیگرش رو هم تغییر میدادم که خودم تااونجایی که تو اینترنت سرچ کردم اکثرا رو همین موضوع بحث داشتن و منم دقیقا همین کاررو کردم ولی نتیجه ای نگرفتم ممنون میشم از اساتید محترم اگه کمکم کنید .
(آخرین ویرایش در این ارسال: ۱۴-آبان-۱۳۹۲, ۰۲:۱۴:۳۵، توسط babyy.)
۱۳-آبان-۱۳۹۲, ۲۰:۰۹:۴۸
ارسال‌ها
پاسخ
omid_phoenix آفلاین
مدیــر ارشـد
******

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15415 تشکر در 4573 ارسال )
ارسال: #7
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
(۱۳-آبان-۱۳۹۲, ۲۰:۰۹:۴۸)reyha نوشته است: فقط جای صفر و یک رو تو این قسمت تغییرش دادم
کد php:
Digi:

Digi:
Data &B0000001
Data 
&B1001111
Data 
&B0010010
Data 
&B0000110
Data 
&B1001100
Data 
&B0100100
Data 
&B0100000
Data 
&B0001101
Data 
&B0000000
Data 
&B0000100 
ولی همه 7 سگمنتها با هم روشن میشن.

البته شاید میبایست قسمتهای دیگرش رو هم تغییر میدادم که خودم تااونجایی که تو اینترنت سرچ کردم اکثرا رو همین موضوع بحث داشتن و منم دقیقا همین کاررو کردم ولی نتیجه ای نگرفتم ممنون میشم از اساتید محترم اگه کمکم کنید .

سلام
بیت پایه های دیتا بصورت عکس میشن
این قسمت کد رو درست تغییر دادید
ولی نیازه که پایه های فعال ساز رو هم عکس کنید
بعد شاید نیاز باشه چندتا از شرط ها رو هم تغییر بدید
البته فراموش نکنید که در شبیه ساز سون سگمنت ها رو هم تغییر بدید


خوش باشید.

۱۴-آبان-۱۳۹۲, ۲۱:۵۸:۳۴
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Ambassador, helma
reyha آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 2
تاریخ عضویت: اردیبهشت ۱۳۸۹

تشکرها : 18
( 4 تشکر در 3 ارسال )
ارسال: #8
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
دوستان من خیلی با سورس برنامه ور رفتم ولی اصلا ساعت درست عمل نمیکنه میشه یه مقداری بیشتر راهنماییم کنین البته من با شبیه ساز پروتئوس 8 این ساعت رو تست میکنم . با تشکر
۲۴-آبان-۱۳۹۲, ۰۴:۵۰:۰۲
ارسال‌ها
پاسخ
omid_phoenix آفلاین
مدیــر ارشـد
******

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15415 تشکر در 4573 ارسال )
ارسال: #9
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
سلام
درنظر بگیرید که فقط صرفا برنامه رو نباید تغییر بدید
سخت افزار هم باید با برنامه تطبیق باشه تا جواب بگیرید

پیشنهادم اینه اول یه سرچی تو انجمن و اطراف بزنید
پروژه های مشابه زیادی هستن که با سون سگمنت های آندمشترک کار شدن
میتونید ازشون با تغییرات در پروژتون استفاده کنید

یا اگه میخواهید دقیقا همین پروژه باشه
باز یه سرچی بزنید
روش های مالتی پلکس کردن سون سگمنت ها آموزش داده شده
اول یه پروژه ساده برای یادگیری نحوه مالتی پلکس کردن سون سگمنت آندمشترک و نمایش متغیرهای مختلف کار کنید
بعد که با دستورات آشنایی پیدا کردید میتونید دستورات پروژه دلخواه رو با سخت افزاری که میخواهید تطبیق بدید.


خوش باشید.

۲۴-آبان-۱۳۹۲, ۱۳:۱۳:۳۵
ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73, babyy, Ambassador, reyha
farshadfadaiee آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: شهریور ۱۳۸۹

تشکرها : 0
( 6 تشکر در 1 ارسال )
ارسال: #10
RE: پروژه ساعت-تقویم-دماسنج دیجیتالی
http://uploadgoogle.ir/uploads/1422693341421.rar
این ساعت رو خودم برنامه نویسی کردم و ساختم...صددرصد جواب میده ..تو برنامه پروتئوس درست کار نمیکنه ولی بنده خودم یکسال پیش ساختم وتا الان داره کار میکنه....ساعت با ds1307 وسون سگمنت 6 تایی واتمگا8 میباشد.هر سوالی داشتید با آدرس farshad.electronic@gmail.com مطرح کنید
۱۱-بهمن-۱۳۹۳, ۱۳:۲۲:۰۲
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, milad15m, a.mehran, helma, kimiafars, alimogmov


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Cool [پروژه] پروژه ریموت کنترل کد لرنینگ Nimaaryamehr 22 28,813 ۲۹-آبان-۱۳۹۷, ۰۱:۱۰:۵۱
آخرین ارسال: 340_.abbas._
  پروژه های عملی h0x00i 9 22,449 ۲۸-بهمن-۱۳۹۴, ۱۲:۲۴:۵۳
آخرین ارسال: sroushimanian
  ولت متر و آمپرمتر بهمراه ساعت و دماسنج t3r!p3000 16 28,846 ۲۹-دى-۱۳۹۴, ۰۰:۱۷:۱۴
آخرین ارسال: sms1371
  ساخت تابلو روان و ساعت هوایی گردون یا همون Propeller Clock با موتور فن !!! t3r!p3000 20 27,695 ۲۸-فروردین-۱۳۹۴, ۰۳:۴۳:۵۵
آخرین ارسال: m490n01
  مدار ساعت با دماسنج EBKA 12 19,166 ۰۶-بهمن-۱۳۹۳, ۰۳:۰۰:۵۲
آخرین ارسال: sarbaz021
  نمایش ساعت و دما با LCD ha_60 4 8,342 ۰۲-آبان-۱۳۹۳, ۰۴:۳۶:۰۷
آخرین ارسال: parsadsa
  ساخت مولتی متر دیجیتالی دقیق با میکرو avr omid_phoenix 10 23,393 ۳۱-شهریور-۱۳۹۳, ۱۹:۲۱:۲۹
آخرین ارسال: helma
  ساعت با تايمر لجوج ، ترموستات و نمايش تاريخ شمسي با AVR ha_60 8 11,992 ۲۰-خرداد-۱۳۹۲, ۱۸:۰۸:۳۱
آخرین ارسال: sky_man847
  فرکانس متر و ساعت و دماسنج و کرنومتر و .... با AVR t3r!p3000 7 24,026 ۰۲-فروردین-۱۳۹۱, ۱۸:۴۹:۵۰
آخرین ارسال: mobah
  ساعت دیجیتالی با سون سگمنت های دست ساز Ambassador 0 6,505 ۲۱-آبان-۱۳۹۰, ۱۰:۲۳:۳۷
آخرین ارسال: Ambassador

پرش به انجمن:


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

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