تغییر آدرس سایت
اطلاعیه مهم آدرس سایت از HLachini.com به آدرس HLachini.elewiz.com تغییر پیدا کرده است.
حتما لینکهای صفحات خود را به آدرس جدید تغییر دهید.
همچنین سایت جدیدی نیز بزودی به آدرس EleWiz.com راه اندازی خواهد شد.

مترجم گوگل

Google Translate

فروشگاه

نرم افزار


نرم افزار LTG
نرم افزار تولید کننده سورس بسکام تابلوروان 16 در 64
تعداد:


GIF Code Wizard
تبديل انيميشن به كد تابلوروان
تعداد:


مدارات آماده


ماژول Wav Player
Mono/Stereo 8khz-48Khz
تعداد:


پروگرامر هوشمندUSB برای AVR
پروگرامر AVR با قابلیت درج تمامی میکروکنترولرها از پین یک زیف سوکت و تامین کلاک جهت پوشش تمامی حالات فیوزبیت CKSEL
تعداد: 50


ليست محصولات
SMS خبرنامه

SMS

جهت دريافت رايگان تازه هاي سايت شماره مويايل خود را به همراه نام و نام خانوادگي به شماره 99009123812060  ارسال كنيد.

عضویت در خبرنامه

ایمیل - Email



تازه های سایت
· موتور همو پلار در 10 ثانيه[ 5 نظر - 15792 مشاهده ]
· نصب برنامه در Slax[ 9 نظر - 12097 مشاهده ]
· ورود به محيط Slax[ 16 نظر - 12540 مشاهده ]
· خواندن فایلهای MMC و SD با فرمت FAT16 , FAT32[ 33 نظر - 26410 مشاهده ]
· رله کنترل فاز Three Phase Monitor[ 35 نظر - 30633 مشاهده ]

[ موارد بیشتر در بخش اخبار و تازه ها ]
کیت نمایشگر سحرآمیز

تابلوروان: تابلو روان و اندازه گیری دما با SMT160

در این پروژه قصد داریم شما را با نحوه ی کار کردن با نمایشگرهای ماتریسی و همچنین کار کردن با سنسور SMT160 که یک سنسور دما است آشنا کنیم .

 معرفی سنسور SMT160

 این سنسور برای اندازه گیری دما درمحدوده -45C تا +130Cبه کار می رود . مزیت این سنسور نسبت به سنسورهای آنالوگ دما نظیر LM35 این است که خروجی سنسور SMT160 دیجیتال و به صورت مدولاسیون عرض پالس (PWM) است و نیازی به مبدل آنالوگ به دیجیتال ندارد و همچنین خروجی CMOS آن باعث شده تا بتوان سنسور را با کابلی به طول 20 متر به میکرو وصل کرد .در دیاگرام زمانی زیر نمونه ای از پالس خروجی سنسور SMT160 را مشاهده می کنید . این پالس از دو قسمت (T1 سطح مثبت و T2 سطح صفر) تشکیل شده است . در این سنسور زمان کل یعنی T1+T2 ثابت است ولی نسبت یک بودن T1 به T2 متناسب با دما تغییر می کند که به آن D.C (Duty sycle) گفته می شود و ما باید D.C را اندازه گیری کنیم , سپس از فرمول زیر استفاده نماییم . در فرمول زیر temp بر حسب درجه سانتی گراد است

فرمول محاسبه دیوتی سایکل

سنسوری SMT160 دارای سه نوع بسته بندی است سنسوری که ما در این پروژه استفاده می کنیم از نوع بسته بندی TO – 18 بوده است .

دیاگرام پایه های سنسور SMT160

ولتاژ کاری SMT160 در محدوده ی 4.75 تا 7 ولت است و حداکثر جریان مصرفی آن 200 میکرو آمپر است . در این برنامه برای خواندن دما باید زمانT1 و T2 موج مربعی خروجی سنسور را اندازه گیری کنیم تا توسط فرمول ذکر شده بتوانیم دما را به دست آوریم . برای اندازه گیری زمان از وقفه خارجی صفر و تایمر یک استفاده می کنیم . موقعیکه لبه پایین رونده پالس سبب وقفه خارجی می شود محتویات تایمر را در متغییرT1 قرار می دهیم و تایمر را Reset و وقفه را حساس به لبه بالا رونده می کنیم و موقعیکه لبه بالا رونده پالس سبب وقفه خارجی می شود محتویات تایمر را در متغییر T2 ذخیره و مجددا وقفه را حساس به لبه پایین رونده می کنیم و تایمر را Reset می کنیم . بدین ترتیب ما هر دو زمان پالس را داریم و می توانیم زمان وظیفه (Duty sycle ) را اندازه بگیریم .


نرم افزار در آوردن کد های ماتریس
شاید شما به فکر ساختن یک تابلو روان بوده اید اما مشکل اینجاست که در آوردن کد های ماتریس بدون نرم افزار مشکل و وقت گیر است و ما برای حل این مشکل از نرم افزار زیر استفاده می کنیم . ماتریس های استفاده شده در این پروژه 16*8 است . پس در قسمت Row’s‌ عدد سطر 9 را قرار می دهیم توجه کنید چون اولین سطر ماتریس این نرم افزار جز کدهای تولیدی نمی باشد لذا باید یک واحد بیشتر از سطر ماتریس استفاده تنظیم گردد . همچنین نباید در سطر اول ماتریس این نرم افزار چیزی نوشته شود. در سطر بعدی Col’s=85 است چون ما در این ماتریس فقط می توانیم در هر لحظه 16 ستون را به نمایش در آوریم لذا ما برای نمایش کامل متن آن را به سمت چپ شیفت می دهیم . در قسمت language زبان متن حتما باید در حالت انگلیسی باشد حتی اگر متن شما فارسی باشد و در قسمت number save عدد 1 را انتخاب می کنیم تا صفر های اضافی ما بین کدها ایجاد نشود . همچنین در این نرم افزار شما در قسمت وارد کردن متن کلمه مورد نظر خود را تایپ میکنید و میتوانید توست گزینه ی Change font نوع و اندازه ی متن نوشتاری را تعیین کنید و گزینه text to grid را کلیک کنید تا متن نوشته شده در ماتریس به نمایش درآید و در نهایت برای ایجاد کدهای ماتریس گزینه Save to file را کلیک کنید .
برای دانلود کلیک کنید
شرح کار پروژه
در این پروژه ابتدا متن "میکروکنترولرهایAVR " به صورت شیفت به چپ نمایش داده می شود و سپس کلمه " دما " نمایش داده می شود و دمای خوانده شده را نمایش می دهد مانند "25+" برنامه به گونه ای است که می تواند دمای منفی یا مثبت را اندازه گیری کند و نمایش دهد. حال بهتر است برنامه این پروژه را خط به خط بررسی کنیم تا شما با نحوه برنامه نویسی چنین پروژه ای آشنا شوید . اگر احتمالا شما در عمل با مشکل refresh مواجعه شدید می توانید برخی از تاخیر زمانی های این برنامه را تغییر دهید این تغییر زمانی ها را با علامت @ مشخص می کنیم . برنامه این پروژه با زبان C نوشته شده است.  
#include <mega16.h> 
#include <delay.h>
#include <math.h>
float T1=0.0 , T2=0.0;
bit  control=0;
unsigned char  part1=0,part2=0;
signed char   number=0 ;

flash unsigned char number0[]={126,129,129,129,126}; 
flash unsigned char number1[]={0,130,255,128,0}; 
flash unsigned char number2[]={198,161,145,137,134}; 
flash unsigned char number3[]={66,129,137,137,118}; 
flash unsigned char number4[]={56,36,34,255,32}; 
flash unsigned char number5[]={79,137,137,137,113}; 
flash unsigned char number6[]={126,137,137,137,114}; 
flash unsigned char number7[]={1,255,17,9,7}; 
flash unsigned char number8[]={118,137,137,137,118}; 
flash unsigned char number9[]={78,145,145,145,126}; 
flash unsigned char positive_sign[]={16,56,16,0,0}; 
flash unsigned char minus_sign[]={16,16,16,0,0}; 

flash unsigned char text_micro[]=
{0,0,0,0,0,0,0,0,0,0,0,128,224,120,46,39,          
46,120,224,128,63,127,192,192,127,63,0,254,255,51,51,127, 
238,128,0,0,0,120,192,192,220,118,6,0,31,63,48,48, 
60,54,58,156,192,112,48,31,159,192,120,50,50,24,48,50, 
24,48,55,55,53,29,129,220,116,60,128,192,120,56,48,55, 
55,53,29,177,177,56,16,48,56,40,56,0,0,0,0,0,0,0,0,0,0,0,0}; 

flash unsigned char temp_text[]=
{63,96,96,96,32,112,216,112,0,96,192,204,120,0,0,0};
interrupt [EXT_INT0] void ext_int0_isr(void){
TCCR1B=0x00;
if (control) {
T2=TCNT1;   
TCNT1=0;
MCUCR=0x02;
control=0;
} 
else{
T1=TCNT1;
TCNT1=0;
MCUCR=0x03;
control=1;
TCCR1B=0x02;
} 
      
void main () {
float DC=0.0;
float t=0.0,tp=0.0;
signed int loop,refresh,code;
PORTA=0x00;
DDRA=0xFF;
PORTC=0x00;
DDRC=0x0F;
TCCR1A=0x00;
TCCR1B=0x02;
TCNT1H=0x00;
TCNT1L=0x00;
GICR = 0x40;
MCUCR=0x02;
MCUCSR=0x00;
GIFR=0x40;    
for(code=104;cod>8;code--) {
for(refresh=0;refresh<100;refresh++) {
for(loop=0,loop<16;loop++) {
PORTC=loop;
PORTA=~text_micro[abs(code-loop) ] ;
delay_us (100);
PORTA=0xFF; } 
       } 
     } 
PORTA=0xFF;
asm("sei") 
for(refresh=0;refresh<250;refresh++) {
for(loop=0,loop<16;loop++) {
PORTC=~(loop+1);
PORTA=~temp_text[loop];
delay_us(500);
PORTA=0xFF;
         } 
     } 
      
while(1){
for(loop=0;loop<5;loop++){
DC=T1/(T1+T2);
DC+=0.018;
t=(DC-0.32)/0.0047;
tp=t; 
part2 = (abs(number) % 10);
part1 = (abs(number) / 10);
PORTC=~(loop+4);
switch (part1) { 
case 0 : PORTA=~number0[loop];break;
case 1 : PORTA=~number1[loop];break;
case 2 : PORTA=~number2[loop];break;
case 3 : PORTA=~number3[loop];break;
case 4 : PORTA=~number4[loop];break;
case 5 : PORTA=~number5[loop];break;
case 6 : PORTA=~number6[loop];break;
case 7 : PORTA=~number7[loop];break;
case 8 : PORTA=~number8[loop];break;
case 9 : PORTA=~number9[loop];break;
default:PORTA=0xFF;
 } 
  
delay_us(1000);
PORTA=0xFF;
PORTC=~(loop+10);
switch (part2) { 
case 0 : PORTA=~number0[loop];break;
case 1 : PORTA=~number1[loop];break;
case 2 : PORTA=~number2[loop];break;
case 3 : PORTA=~number3[loop];break;
case 4 : PORTA=~number4[loop];break;
case 5 : PORTA=~number5[loop];break;
case 6 : PORTA=~number6[loop];break;
case 7 : PORTA=~number7[loop];break;
case 8 : PORTA=~number8[loop];break;
case 9 : PORTA=~number9[loop];break;
default:PORTA=0xFF;
     } 
      
delay_us(1000);
PORTA=0xFF;
DC=T1/(T1+T2);
DC+=0.018;
t=(DC-0.32)/0.0047;
tp=(tp+t)/2;
number=t;
 if(number >= 0){
PORTC=~(loop);
PORTA=~positive_sign[loop];
delay_us(1000);
 PORTA=0xFF;                     
     } 
    
 else{
 PORTC=~(loop);
 PORTA=~minus_sign[loop];
delay_us(1000);
PORTA=0xFF;
         } 
        } 
       }; 
     } 
شماتیک و PCB و برنامه پروژه تابلو روان و اندازه گیری دما با SMT160
جهت دانلود کلیک کنید.
توضیحات لازم در مورد سخت افزار
همان طور که مشاهده می کنید در به وقفه خارجی صفر , سنسور SMT160 را متصل کرده ایم و با یک مقاومت k 10 (مقاومت بالا کش) ورودی وقفه را pull-up نموده ایم . نقش بافر 74LS245 تقویت جریان پورت و همچنین حفاظت پورت میکروکنترلر است . نقش دیکدر 4514 این است که ما می خواهیم هر بار یک ستون را انتخاب کنیم ودیتای مربوط به آن سطر را بفرستیم . بنابراین باید در هر لحظه یک ستون انتخاب شود و این کار را با سرعتی مناسب تکرار کنیم تا بر اساس خطای چشم انسان متن مورد نظر به نمایش در آوریم حسن این دیکدر این است که دارای Latch داخلی است و این کمک می کند برای ماتریس های بزرگتر از 16 ستون بتوان از چند دیکدر به خوبی بهره برد . نقش ترانزیستورهای متصل به خروجی دیکدر تقویت جریان برای نوردهی مناسب LED ها می باشد . شاید سوال شما این باشد که جریان اضافی ناشی از مقاومت های 22 اهمی که در مسیر ترانزیستورها قرار دارند ممکن است به LED ها آسیب برساند اما این طور نیست زیرا LED ها مرتبا خاموش و روشن می شوند وجریان ماکزیمم به صورت لحظه ای به آنها اعمال می شود . شما باید کانکتورهای 8 پایه (Data Row) و 16 پایه (Data column) را به پایه های کانکتور مشابه در ماتریس متصل نمایید .



مرجع :
کتاب میکرو کنترلر AVR
مولف:
مهندس جابر الوندی
ناشر:
نص



کلمات کليدي : LED Sign Board SMT160 تابلوروان سنسوردما دما سنسور
ارسال شده در مورخه : چهارشنبه، 3 شهريور ماه ، 1389 توسط lachini  چاپ مطلب

مرتبط با موضوع :

 مثال تابلو 16 در 128 با مبدل آنلاین  [پنجشنبه، 11 شهريور ماه ، 1389]
 انیمیشن در تابلوروان توسط 74HC595  [پنجشنبه، 7 مرداد ماه ، 1389]
 تابلوروان با میکرو 8051  [سه شنبه، 5 مرداد ماه ، 1389]
 نرم افزار آنلاین تبدیل متن به کد هگز  [چهارشنبه، 17 تير ماه ، 1388]
 تابلوروان توسط کیبورد و LCD  [پنجشنبه، 8 اسفند ماه ، 1387]
 تابلوروان قابل اتصال به پورت سریال  [سه شنبه، 17 دي ماه ، 1387]

نام شما: [ کاربر جدید ]

عنوان:
 
نظر:


:) ;) |) :- :( :0 :# *) ^) +)) :} |(( @: (:) :? :**

کد امنيتي : cof16jew
تايپ کد امنيتي : [ بازگشت ]

کمک می خواهی؟ (امتیاز : 0)
توسط ميهمان در مورخه : پنجشنبه، 6 مرداد ماه ، 1390
سلام هر کسی در زمینه ساخت تابلو روان کمک خواست(مدار وبرنامه نویسی)میتونه تماس بگیره 09375479606 09198412782


[ ارسال جوابیه ]


درست کردن لینک (امتیاز : 1)
توسط reza0111 در مورخه : دوشنبه، 15 فروردين ماه ، 1390
(مشخصات کاربر | ارسال پیغام شخصی)
با سلام اقای مهندس لاچینی لینک دانلود خراب است لطفا درستش کنید..با تشکر


[ ارسال جوابیه ]


تشکر (امتیاز : 1)
توسط reza93 در مورخه : جمعه، 28 مرداد ماه ، 1390
(مشخصات کاربر | ارسال پیغام شخصی)
سلام جناب مهندس ممنون از سایت خوبتون خسته نباشید


[ ارسال جوابیه ]


آموزش تابلو روان (امتیاز : 0)
توسط ميهمان در مورخه : شنبه، 29 مرداد ماه ، 1390
آموزش ساخت تابلو روان از مبتدی تا حرفه ای با خرید این طرح و برنامه تابلو روان بسازید و بفروشید 09198412782


[ ارسال جوابیه ]


آرش (امتیاز : 0)
توسط ميهمان در مورخه : دوشنبه، 11 مهر ماه ، 1390
خیلی خوبه ولی به شرط اینکه عملی باشه و ما خودمون عملی کنیم


[ ارسال جوابیه ]


درخواست کمک فوری (امتیاز : 0)
توسط ميهمان در مورخه : پنجشنبه، 11 آبان ماه ، 1391
سلام من میخوام یه تابلو روان بسازم که توش به جای آی سی لچ از آی سی دیکدر استفاده شده باشه. میشه خیلی فوری کمکم کنید np_1990k@yahoo.com


[ ارسال جوابیه ]


josephx86@yahoo.com (امتیاز : 0)
توسط ميهمان در مورخه : سه شنبه، 28 آذر ماه ، 1391
با سلام خدمت شما استاد گرامی توی برنامه سنسور دما smt160 توی قسمت محاسبه دما بر اساس دیوتی سایکل ابتدا با عدد 0.018 جمع شده که توی دیتا شیت سنسور نیست. میخواستم علت این کار رو بدونم با تشکر یوسف مهدیان


[ ارسال جوابیه ]


لینک دانلود کار نمیکنه (امتیاز : 0)
توسط ميهمان در مورخه : جمعه، 4 مرداد ماه ، 1392
لینک دانلود کار نمیکنه. در صورت امکان بررسی کنید ممنون


[ ارسال جوابیه ]


[بدون موضوع] (امتیاز : 0)
توسط ميهمان در مورخه : شنبه، 5 مرداد ماه ، 1392
سلام مهنس خسته نباشید نماز روزه هاتون قبول تابلو روان و اندازه گیری دما با SMT160 دانلود نمیشه اگه محبت کنید یا دوباره آپلودش کنید یا برام ایمیلش کنی دستتون درد نکنه خدابرای خانواده و اعضای انجمن حفظ تون کنهایمیلم اینه moeinafshari11@yahoo.com باید


[ ارسال جوابیه ]


خرابی لینک (امتیاز : 0)
توسط ميهمان در مورخه : سه شنبه، 6 خرداد ماه ، 1393
سلام مهندس، لینک های دانلود خراب هستند، لطفا درستش کنید. با تشکر


[ ارسال جوابیه ]

امتیاز دهی به مطلب
امتیاز متوسط : 3.36
تعداد آراء: 25


لطفا رای مورد نظرتان را در مورد این مطلب ارائه نمائید :

عالی
خیلی خوب
خوب
متوسط
بد

موضوعات مرتبط

تابلوروان - تابلو روان

پروگرامر و تستر آِی سی سانا با قابلیت تشخیص اتوماتیک قطعه و درج تمامی قطعات از پین یک زیف و تامین کلاک قابل استفاده در بسکام و کدویژن