به نام خدا : آموزش گام به گام ساخت تابلو روان جلسه ۶ – موضوع این جلسه : تقویت جریان در تابلو روان
هدف اینه که کم کم توضیح بدم حتی اگه شده هر جلسه ۲ خط در مورد تابلو روان توضیح بدم این کار رو میکنم.
و یه پروژه ساده از جلسه اول شروع میکنم و هر جلسه با مطالبی که همون جلسه یاد میگیرید ، پروژه هم همین قدر پیشرفت میکنه.
تا در جلسات پایانی یه پرژه کامل انجام داده باشیم که در هر جلسه قسمتی از آن رو انجام داده باشیم و از ۰ تا ۱۰۰ نحوه کارش رو میدونیم.
تو جلسه قبل در مورد قطعه ای صحبت کردیم که…(حسش نیست بیشتر توضیح بدم برید خودتون بخونیدش)
بحث تقویت جریان تو مبحث تابلو روون جز مسائل هست که یاد گرفتن واجبه.
مگه این میکروکنترلر بدبخت چند تا LED رو میتونه روشن کنه.
میکرو جریان کم میاره لذا ما باید جلوی این کار رو بگیریم.
تو پروتئوس قطعه ای هست به نام ULN2803 که کارش تثویت جریان هستش.
یه سری ورودی خروجی داره ، که ورودی رو عین دسته گل میگیره و جریانش رو تقویت میکنهو باز عین دسته ی گل میده به خروجی و تغییری تو اطلاعات انجام نمیده و فقط جریان رو تقویت میکنه.
با بقیه پایه هاش هم فعلا کاری نداریم ، هر موقع رفتین سر کار عملی حساب اون پایه رو هم میرسیم فعلا کاری باهاش نداریم تا بعد.
اون پک مقامت ( که تو جلسات قبل توضیح درموردش دادم و لان حال توضیح دوباره ندارم) هم کارش معلومه .(آخه مقاومت غییر از محدود کردن جریان چه کار دیگه ای بلده….)
گزاشتن مقاومت تو مدارات در پروتئوس از واجباته ، البته من خودم تازه فهمیدم و قبلا هنگام شبیه سازی تو پروتئوس مقاومت نمیزاشتم و میگفتم بیهوده هستش ولی الان فهمیدم گزاشتن مقاومت تو پروتئوس مهمه و در مدار تائسیر میزاره.
حالا یه مشکل که تصویر ثابت نیست.(تو پروژه های قبلی که تعداد دات ماتریسها کم بود این مشکل وجود نداشت ولی وقتی تعدادشون زیاد میشه مشکلاتی هم به وجود میاد ، به خاطر همین بود که تو جلسه قبل گفتم تعداد دات ماتریس ها رو افزایش بدید تا بیبینید که چه اتفاقی می افتد.>>> البته مطمئن هستم که هیچ کس این کار رو نکرد o_O )
البته چیز مهمی هم نیست و از قصد این برنامه رو گزاشتم تا با بحث نمایش تصویر(متن و ..) در تابلو روان به صورت سطری یا ستونی آشنا بشید و اهمیت اونو درک کنید.
که این مبحث برا جلسه بعد.
کد های این برنامه هم چیز مثل کد های پروژه جلسه قبل هستش.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
#include <mega16.h> #include <delay.h> //////////////////////////////////////////////// flash char column[64]= { ۰xFF, // 0001 # # # # # # # # ۰xFF, // 0002 # # # # # # # # ۰x81, // 0003 # . . . . . . # ۰x81, // 0004 # . . . . . . # ۰xC3, // 0005 # # . . . . # # ۰x7E, // 0006 . # # # # # # . ۰x3C, // 0007 . . # # # # . . ۰x00, // 0008 . . . . . . . . ۰xFF, // 0009 # # # # # # # # ۰xFF, // 000A # # # # # # # # ۰x03, // 000B . . . . . . # # ۰x06, // 000C . . . . . # # . ۰x0C, // 000D . . . . # # . . ۰x0C, // 000E . . . . # # . . ۰x06, // 000F . . . . . # # . ۰x03, // 0010 . . . . . . # # ۰xFF, // 0011 # # # # # # # # ۰xFF, // 0012 # # # # # # # # ۰x00, // 0013 . . . . . . . . ۰xFF, // 0014 # # # # # # # # ۰xFF, // 0015 # # # # # # # # ۰x1B, // 0016 . . . # # . # # ۰x1B, // 0017 . . . # # . # # ۰x1B, // 0018 . . . # # . # # ۰x03, // 0019 . . . . . . # # ۰x03, // 001A . . . . . . # # ۰x00, // 001B . . . . . . . . ۰xDB, // 001C # # . # # . # # ۰xDB, // 001D # # . # # . # # ۰xDB, // 001E # # . # # . # # ۰xFF, // 001F # # # # # # # # ۰xFF, // 0020 # # # # # # # # ۰x00, // 0021 . . . . . . . . ۰x83, // 0022 # . . . . . # # ۰xFF, // 0023 # # # # # # # # ۰xFF, // 0024 # # # # # # # # ۰x80, // 0025 # . . . . . . . ۰x00, // 0026 . . . . . . . . ۰xDB, // 0027 # # . # # . # # ۰xDB, // 0028 # # . # # . # # ۰xDB, // 0029 # # . # # . # # ۰xFF, // 002A # # # # # # # # ۰xFF, // 002B # # # # # # # # ۰x00, // 002C . . . . . . . . ۰xFF, // 002D # # # # # # # # ۰xFF, // ۰۰۲E # # # # # # # # ۰xFF, // ۰۰۲F # # # # # # # # ۰xFF // ۰۰۳۰ # # # # # # # # }; char i,scan=0x01; //////////////////////////////////////////////// void main(void) { //////////////////////////////////////////////// DDRA=0xFF; DDRC=0xFF; DDRD=0xFF; //////////////////////////////////////////////// while (1) { PORTA=0x01; for(i=0 ; i<=7 ; i++) { PORTD = scan; PORTC = column[i]; delay_us(63); scan=scan<<1; } scan=0x01; PORTD =0x00;//برای از بین بردن حافظه هستش-برشدار تا ببینی که چه مشکلی پیش میاد. PORTA=0x02; for(i=8 ; i<=15 ; i++) { PORTD = scan; PORTC = column[i]; delay_us(63); scan=scan<<1; } scan=0x01; PORTD =0x00;//برای از بین بردن حافظه هستش-برشدار تا ببینی که چه مشکلی پیش میاد. PORTA=0x04; for(i=16 ; i<=23 ; i++) { PORTD = scan; PORTC = column[i]; delay_us(63); scan=scan<<1; } scan=0x01; PORTD =0x00;//برای از بین بردن حافظه هستش-برشدار تا ببینی که چه مشکلی پیش میاد. PORTA=0x08; for(i=24 ; i<=31 ; i++) { PORTD = scan; PORTC = column[i]; delay_us(63); scan=scan<<1; } scan=0x01; PORTD =0x00;//برای از بین بردن حافظه هستش-برشدار تا ببینی که چه مشکلی پیش میاد. PORTA=0x10; for(i=31 ; i<=39 ; i++) { PORTD = scan; PORTC = column[i]; delay_us(63); scan=scan<<1; } scan=0x01; PORTD =0x00;//برای از بین بردن حافظه هستش-برشدار تا ببینی که چه مشکلی پیش میاد. PORTA=0x20; for(i=40 ; i<=47 ; i++) { PORTD = scan; PORTC = column[i]; delay_us(63); scan=scan<<1; } scan=0x01; PORTD =0x00;//برای از بین بردن حافظه هستش-برشدار تا ببینی که چه مشکلی پیش میاد. }; } |
دانلود پروژه این جلسه | حجم : ۱۳۶ کیلوبایت!
اگه سوالی بود یا جاییش رو مشکل داشتید حتما بپرسید تا تو ۳ سوت جوابتون رو بدم.
موفق باشید.
مهمان
سلام و ممنون از مطالب مفیدتون
یه نکته فرکانس کاری میکرو ۸ مگاهرتز هست و باید براش تاخیر ۱۵۰ میکروثانیه گداشت
شما با فرکانس ۱ مگاهرتز کار کردید با تاخیر ۶۳ ؟
منظورم تنظیم میکرو در پروتوس است.
چون تاخیر ۶۳ میکرو برای ۸ مگاهرتر زیاده.
با تشکر
مهمان
اصلاح میکنم ۶۳ میکرو ثانیه برای ۸ مگاهرتز کمه
مهمان
سلام میخواستم بدونم الان آی سی uln2803 به سطر های دات ماتریس وصله یا به ستون هاش؟
نویسنده این مطلب
سلام – اینو سرچ کن :
dot matrix driver circuit
مهمان
سلام
یه سوال،اون موجی که توشکل بالا روی دات ماتریس هی میره و میاد،اگه نخوایم باشه چیکار باید بکنیم؟
مهمان
یعنی جریان میکرو برای روشن کردن دو تا دات ماتریس کافی نیست؟
نویسنده این مطلب
دقیقا
مهمان
سلام
میخواستم بدونم اگه بخوایم کلا دو تا دات ماتریس به میکرو وصل کنیم بازم آی سی uln2803 لازم داره یا نه
نویسنده این مطلب
سلام-برا بحث تامین جریان مصرفی بله.
مهمان
باشه بازم ممنون ⚘
مهمان
سلام خیلی ممنون از سایت خوبتون خدا خیرتون بده اگه ممکنه توصیح بدین که متنی که میخوام قراربدم فارسی باشه باید چیکار کنم
نویسنده این مطلب
سلام
متن فوق رو کدشو به کمک نر مافزار بدست ابردم – تو نرم افزار متن فارسی بنویسید.
مهمان
ممنون که وقت گذاشتین و جواب دادین میشه یکم بیشتر توضیح بدین
نویسنده این مطلب
نرم افزارش فک کنم داخل این مطلب باشه – چی رو بگم؟
https://dmf313.ir/آموزش-گام-به-گام-ساخت-تابلو-روان-جلسه-8/
مهمان
سلام مطالبتون خیلی مفیدن و واقعا کمک میکنن فقط من پروژم ساخت یه ماتریس ۱۶ در ۱۶ ری نمیدونم چجوری تو پرتعوس باید
وصلشون کنم اگر کمکم کنید واقعا ممنون میشم Atmega16 به میکرو
نویسنده این مطلب
سلام – باید پایه ها رو پیدا کنی خودتون – چند باز تست کنی پیدا میکنیش
مهمان
سلام . منم مشکل حامد رو دارم . تقویت کننده جریان . ورودی رو یک میکنم ولی خروجی صفره
مهمان
یه توضیحی درم ورد تقویت کننده میدی؟
1.اون پایه comچیه؟
2.چرا تو ورودیش 1میزاریم تو خروجیش صفر میده؟
3.هم میتونیم به پایه های دیتا بزنیمش هم به پایه اسکن؟
نویسنده این مطلب
1) دیتاشیتش رو ببین – خاطرم نیست
2) کدوم IC ?
3) متوجه نشدم
مهمان
سلام .میخواستم بدونم چرا فرکانس تو برنامه 8تنظیم شده ولی تو شبیه سازی 1 تعریف شده .و وقتی فرکانس هارو یکی میکنی جواب نمیده ؟یعنی تو واقعیت هم باید همینجوری تنظیم کنیم
نویسنده این مطلب
سلام
بله این اشتباه از سمت من بوده
شما تمام فرکانس ها رو ماکس در نظر بگیرید و برید سراغ برنامه و DELAY ها رو تنظیم کنید.
مهمان
داداش نه محل دادی نه جواب دمت گرم
نویسنده این مطلب
سلام
شرمنده
احتمالا حواسم نبوده یا…. درکل شرمنده
مقاومت برا پول دان هستش…سرچ کنی متوجه میشی….”پول دان”
=======
گیت نات رو هم میشه قرار نداد و برنامه نویسی رو یکم تغییر داد
بازم شرمنده
مهمان
سلام آقا مهدی خسته نباشید.
اول از همه خواستم تشکر کنم از سایت خوبتون و بخصوص بحث آموزش تابلو روان چون واقعا خیلی ساده و روان هم توضیح دادی.
من از جلسه اول دنبال کردم تا رسیدم به این جلسه دو تا سوال واسم ایجاد شده واسم اونم اینکه چرا توی این پروژه دیگه خبری از گیت نات نیست؟
و دومین سوال اینکه : پک مقاومت هشتایی دقیقا کارش توی مدار چیه؟
من اونو از مدار خارج کردم و دیدم که آیسی تقویت کننده کارشو به خوبی انجام نمیده کل ال ای دی ها روشن شدن اگه ممکنه یه توضیحی بدید ممنون میشم