به نام خدا : پروژه lcd گرافیکی به همراه آموزش کامل؛ جلسه دوم :آموزش جامع کار با LCD گرافیکی جلسه دوم؛ امروز که بهتره بگم امشب میخوام در مورد یه چیز مهم صحبت کنم!!! برا کار کردن با این LCD من غیر از روشی که در زیر میخوام بگم یه روش دیگه هم دیدم که کدهاش N برابر این هستش.که فعلا کاری باهاش نداریم.
اگه عمری بود میگمش. قسمت کد های این پروژه که اصلا چیزی نداره فقط اون آرایه “مای فوتو ” چون یکم طولانی و پر از عدد هستش یکم … آدم میبینه فکر میکنه که …»»» در کل هدف از تعریف این آرایه تو قسمت کدها اونم ب این صورت یه چیز بوده که انشا الله در زیر به صورت مفصل در موردش میگم. علت این که کد ها یکم زیاده اینه که من تقریبا از بیشتر توابع کتابخونه LCD مون استفاده کردم تا شما با نحوه کار با هر یک از این توابع آَنا بشید (البته این توابه هیچی ندارن ولی گفتم بزارم شاید بهتر باشه) فایل این پروژه به همراه تمام چیزهای لازم و غیر لازم!!! در ته همین مطلب گزاشتم برا دانلود. سر همین پروژه و یاد گرفتنش و … یه روز کامل من رو گرفت حالا اعصاب خوردیش بماند.( آخه یکی نیس بگه به من چه… ) بعد کلی چرت و پرت گفتن بریم سر اصل مطلب…
مدار پروژه lcd گرافیکی
توضیح پایه های LCD گرافیکی
کد های پروژه lcd گرافیکی
نحوه نمایش عکس در LCD
برا نمایش عکس تو LCD یه چند تا کار هست که باید انجام بدید.
- ایجاد عکس مورد نظرمون
- دادنش به نرم افزار مورد نظر و گرفتن کد ها
- یه دو راهی بزرگ !!! :
- کد ها رو داخل کد های اصلی پروژه بزاریم
- کد ها رو تو یه فایل متنی جداگون بزاریم.
الان هر سه تا رو توضیح میدم.
۱) ایجاد عکس مورد نظرمون :
بسته به اندازه صفحه نمایش LCD ما اندازه عکسمون رو انتخاب مینیم، که در این جا اندازه ۶۴*۱۲۸ هستش؛ ابتدا به منو استارت ویندوز رفته و paint رو سرچ کنید، بعد از اجرای برنامه نقاشی اندازه صفحه رو ۶۴*۱۲۸ تعین کنید، و بعد عکستون رو بکشید؛ البته اگه عکسی رو آماده دارید میتونید روش کلیک راست کرده و Edit رو انتخاب کنید؛ حالا میرسیم به نحوه ذخیره کردن عکس؛ وقتی روی save-as کلیک میکنید حالت ذخبره کردن عکس رو حالت زیر بزارید :
1 |
MONOCHROME Bitmap (*.bmp;*.dip) |
۲) دادن عکس به نرم افزار و گرفتن کد ها :
نرم افزار که در ته همین مطلببه همراه چیزای دیگهگزاشتم برا دانلود برید دانلود کنید و اجراش کنید؛ از سه تا منوی بالا برید به : ks0108 ( البته حالت پیشفرض هنام اجرای برنامه همین گزینه هستش )؛ بعد روی load bmp picture کلیک کنید و عکستون رو بدین بهش؛ اگه ارور داد ببینید کدوم مرحه ی از مراحل بالا رو درست اجرا نکردید.
توجه مهم : نرم افزار در این زمینه زیاد هستش و حتی نرم افزار هایی هستن که عکس متحرک ، فیلم!!! ، فایل فلش و انواع فرمت عکس بهش میدی ولی این برنامه ها کد رو درست تولید نمیکنن و اگه این کد رو بدی به نرم افزار (منظورم اینه که تو پروژت واردش کنی) میبینی که تصوسر مورد نظر نمایش داده نمیشه.
من یه روز کامل رو با این نرم افزار ها ور رفتم و اکثرشون رو تست کردم و جواب نگرفتم که….(البته شما اگه میخواید دوباره خودتون تست کنید شاید من اشتباه میکردم و…)
(سایت مهندس لاچینی یه نرم افزار آنلاین داره که کاری ۱۰۰% مشابه با یکی از نرم افزار ها انجام میده ، خود سایت ، سایت خوبیه ولی ای نرم افزاری که به صورت آنلاین گزاشته تو سایتش، بدرد نمیخوره-منظورم از نرم افزار ، نرم افزار تبدیل عکس به کد هستش. )
۳) یه دو راهی بزرگ !!! :
همون طور که اگه کد های این پروژه رو دیده باشید ( که عمرا ندیدینش هنوز ) یه آرایه تعریف کردم که حدودا یه ۸ خطی هستش. که این آرایه همون کدی هست که برنامه به ما میده.(همون برنامه ای که عکس میدی و کد میگیری)
توجه مهم : وقتی عکس رو به برنامه میدی به همراه آرایه کلی چرت و چپرت هم میزاره کنارش!!!
( وقتی نرم افزار عکس رو به کد تبدیل میکنه یه سری کد میده که فقط کد های شبیه به کد زیر به درد ما میخورن )
1 2 |
۲۵۵, ۶۳,۲۵۵,۲۵۵,۰,۲۵۵,۲۵۵,۰,۰۶۳,۲۵۵,۲۵۵,۱۲۷,۱۹۱,۰,۰,۰,۰ و ادامه ی کد ها... |
1 |
flash unsigned char my_photo[]={}; |
1 |
flash unsigned char my_photo[]={}; |
روش دوم :
تو پوشه ی کد های برناهه ( اگه متوجه نمیشید ؛ نحوه پوشه بندی قسمت کد های همین پروژه رو نگاه کنید تا حساب کار دستتون بیاد) یه پوشه ایجاد کنید به نام Includes و بعد یه فایل تکس ایجاد کنید به نام my_photo.h و بعد کد ها رو توش بزارید و ذخیره کنید و تمام (دقت کنید که به جای فرمت این فایل که txt هستش h بنویسید »»» به جای my_photo هم نام دلخواه خودتون رو بزارید. فقط تو کد هایی که داخل این فایل میخوایید بزارید نام آرایه رو هم همین بزارید.)
حالا مییایید تو کد های پروژتون کد زیر رو قرار میدید.
1 |
#include "Includes/my_photo.h" |
( بعد از تعریف کتاب خونه ها قرارش میدیم »»» به کد اصلی پروژه دقت کنید تا محل گزاشتم این کد رو متوحه بشه )
دقت کنید که تو کد بالا به جای my_photo نام فایل و نام آرایه که تو این فایل متنی ذخیره شده رو قرار بدی.
( لپ کلوم : اسم هر سه مورد باید یکی باشه.»»» اسم آرایه»»» اسم فایل متنی »»» اسمی که میزاریم تو کد زیر و قرارش میدیم تو کد های اصلی پروژه مون)
1 |
#include "Includes/my_photo.h" |
توضیح توابع کتابخانه GLCD |
||
پارامتر ها | توضیحات | توابع کتابخانه GLCD |
– | روشن کردن GLCD | glcd_on() |
– | خاموش کردن GLCD | glcd_off() |
line : line number to be set at the top (Range: 0-63) | Changes the top line on the display | set_start_line( unsigned char line ) |
x : شماره ستون مورد نظر، بازه از 0 تا 127 | رفتن به ستون ایکس | goto_col( unsigned int x ) |
y : شماره سطر مورد نظر، بازه از 0 تا 7 | رفتن به سطر وای | goto_row( unsigned int y ) |
x : شماره ستون
y : شماره سطر |
رفتن به سطر و ستون مورد نظر | goto_xy( unsigned int x, unsigned int y ) |
b : 1-byte data to be written at the current location | Writes 1 byte data at the current location | glcd_write( unsigned char b ) |
ln : شماره سطر مورد نظر، بازه از 0 تا 7 | پاک کردن سطر دلخواه | glcd_clrln( unsigned char ln ) |
– | پاک کردن کل صفحه نمایش | glcd_clear() |
column : Current column number | Reads the byte at the current position | glcd_read( unsigned char column ) |
x : شماره ستون
y : شماره سطر color : |
اضافه کردن نقطه در مختصات دلخواه شما | point_at( unsigned int x, unsigned int y, byte color ) |
x : مختصات ایکس شروع خط
y : مختصات وای شروع خط l : اندازه خط s : فاصله بین نقاط خطمون c : |
رسم یه خط افقی | h_line( unsigned int x, unsigned int y, byte l, byte s, byte c) |
x : مختصات ایکس شروع خط
y : مختصات وای شروع خط l : اندازه خط s : فاصله بین نقاط خطمون c : |
رسم یه خط عمودی | v_line( unsigned int x, unsigned int y, signed int l, byte s, byte c ) |
x1 : مختصات ایکس اول خط
y1 : مختصات وای اول خط x2 : مختصات ایکس آخر خط y2 : مختصاط وای آخر خط s: فاصله بین نقاط خطمون c : |
رسم یه خط با زاویه دلخواه | line( unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, byte s, byte c ) |
x1 : The x of the upper left point
y1 : The y of the upper left point x2 : The x of the lower right point y2 : The y of the lower right point s : The space between each line points. c : |
رسم یه ۴ ظلعی حالا میتونه مربع باشه -مستطیل باشه و یا … | rectangle( unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, byte s, byte c ) |
x11 : The x of the upper left point of the first surface
y11 : The y of the upper left point of the first surface x12 : The x of the lower right point of the first surface y12 : The y of the lower right point of the first surface x21 : The x of the upper left point of the second surface y21 : The y of the upper left point of the second surface x22 : The x of the lower right point of the second surface y22 : The y of the lower right point of the second surface s : The space between each line points : c : |
Draws a cuboid by defining two surfaces | cuboid( unsigned int x11, unsigned int y11, unsigned int x12, unsigned int y12, unsigned int x21, unsigned int y21, unsigned int x22, unsigned int y22, byte s, byte c ) |
x1 : The x of the upper left point
y1 : The y of the upper left point x2 : The x of the lower right point y2 : The y of the lower right point l : The length of the horizontal side (upper or lower) s : The space between each line point s : c : |
Draws a parallelogram its upper and lower sides are horizontal | h_parallelogram( unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, byte l, byte s, byte c ) |
x1 : The x of the upper left point
y1 : The y of the upper left point x2 : The x of the lower right point y2 : The y of the lower right point l : The length of the vertical side (right or left) s : The space between each line points : c : |
Draws a parallelogram its right and left sides are vertical | v_parallelogram( unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, byte l, byte s, byte c ) |
x11 : The x of the upper left point of the first surface
y11 : The y of the upper left point of the first surface x12 : The x of the lower right point of the first surface y12 : The y of the lower right point of the first surface x21 : The x of the upper left point of the second surface y21 : The y of the upper left point of the second surface x22 : The x of the lower right point of the second surface y22 : The y of the lower right point of the second surface s : The space between each line points : c : l1 : The length of the horizontal side of the first surface l2 : The length of the horizontal side of the second surface |
Draws a parallelepiped its bases are two horizontal parallelograms (Seeh_parallelogram) | h_parallelepiped( unsigned int x11, unsigned int y11, unsigned int x12, unsigned int y12, byte l1, unsigned int x21, unsigned int y21, unsigned int x22, unsigned int y22, byte l2, byte s, byte c ) |
x11 : The x of the upper left point of the first surface
y11 : The y of the upper left point of the first surface x12 : The x of the lower right point of the first surface y12 : The y of the lower right point of the first surface x21 : The x of the upper left point of the second surface y21 : The y of the upper left point of the second surface x22 : The x of the lower right point of the second surface y22 : The y of the lower right point of the second surface s : The space between each line points : c : l1 : The length of the vertical side of the first surface l2 : The length of the vertical side of the second surface |
Draws a parallelepiped its bases are two vertical parallelograms (Seev_parallelogram) | v_parallelepiped( unsigned int x11, unsigned int y11, unsigned int x12, unsigned int y12, byte l1, unsigned int x21, unsigned int y21, unsigned int x22, unsigned int y22, byte l2, byte s, byte c ) |
x0 : مختصات ایکس مرکز دایره
y0 : مختصات وای مرکز دایره r : اندازه شعاع دایره s : فاصله بین نقطه های خط c : |
رسم یه دایره | circle( unsigned int x0, unsigned int y0, unsigned int r, byte s, byte c ) |
c : کاراکتر شما
x : ستون نوشتن کاراکتر y : سطر نوشتن کاراکتر l : زبان کاراکتر sz : انداره متن، از 1 تا 7 |
نوشتن یه کاراکتر دلخواه در مختصات دلخواه | glcd_putchar( byte c, int x, int y, byte l, byte sz ) |
c : نام رشته ایجاد شده توسط شما
x : شماره ستونی که نوشتن از آنجا شروع خواهد شد y : شماره سطری که نوشتن از آنجا شروع خواهد شد l : زبان نوشته شما sz : انداره متن-از ۱ تا ۷ space : |
نوشتن یه رشته که در حافظه flash ذخیره شده است | glcd_puts( byte *c, int x, int y, unsigned char l, byte sz, signed char space ) |
bmp : نام آرایه
x1 : مختصات ایکس نقطه سمت چپ بالای تصویر y1 : مختصات وای نقطه سمت چپ بالای تصویر x2 : مختصات ایکس نقطه سمت راست پایین تصویر y2 : مختصات وای نقطه سمت راست پایین تصویر |
نمایش یه تصویر bmp که در حافظه flash ذخیره شده است | bmp_disp( flash byte *bmp, unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2 ) |
(به نظرم بقیه توابع فعلا به درد نمیخوره لذا خودتون رو اضیت نکنید الکی...فعلا زوده...)
منبع اصلی این جدول هم سایت زیر هستش :
https://sites.google.com/site/osamaslab/Home/projects-list/glcd-library#_ftn1
اینم از کد های پروژه مون که یه سری توضیح مختصر در کنار هر چیز لازم!!! نوشتم. البته توابعش رو در بالا تو ضیح دادم و اگه خوب خونده باشد(که عمرا خونده باشبد ^_^) میفهمید که کد های زیر هیچی نداره. فقط میمونه یه سری نکات خیلی مهم که بعد از این کد ها و در زیر این کد ها میگمشون.
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 |
#include <mega32.h> #include <delay.h> #include <stdio.h> #include "Includes/gif.h" #include "Includes/GLCD.h" //////////////////////////////////////////////////////////// // آرایه زیر یه عکس هستش که با نرم افزار به کد تبدیل شده. flash unsigned char my_photo[]={ ۲۵۵,۲۵۵,۲۵۵, ۶۳,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۶۳,۲۵۵,۲۵۵,۱۲۷,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۲۵۵,۲۵۵,۱۲۷,۱۹۱,۱۹۱,۱۲۷,۱۲۷,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۹۱,۷,۱۸۷,۱۸۷,۲۵۱, ۱۹۱,۱۹۱,۱۹۱,۱۲۷,۲۵۵,۲۵۵,۲۵۵,۶۳,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۱۲۷,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۱۲۷,۲۵۵, ۵۹,۲۵۵,۲۵۵,۳,۲۵۵,۲۵۵, ۵۹,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۹۱,۱۹۱, ۱۹۱,۱۲۷,۲۵۵,۲۵۵,۱۲۷,۱۲۷,۱۹۱,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۲۷,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۶۳,۲۵۵,۲۵۵,۲۵۵,۱۲۷,۱۹۱,۲۵۵,۶۳,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۱۲۷,۱۹۱,۱۹۱, ۱۹۱,۱۹۱,۱۲۷,۲۵۵,۳,۱۹۱,۱۹۱,۱۹۱,۱۲۷,۲۵۵,۲۵۵,۲۵۵,۱۲۷,۱۹۱,۱۹۱,۱۹۱,۱۲۷,۲۵۵,۲۵۵,۲۵۵,۳,۲۵۵,۲۵۵,۱۲۷,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۴۰,۲۳۹,۲۳۹,۲۳۹,۲۳۹,۲۲۴,۲۵۵,۲۵۵,۲۴۶,۲۳۷,۲۳۷,۲۴۳,۲۵۵,۲۵۵,۲۴۰,۲۳۷,۲۳۷,۲۳۷,۲۳۷,۲۴۴,۲۵۳,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۴۳, ۲۳۷,۲۳۸,۲۳۸,۲۲۴,۲۵۵,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۵۵,۲۴۳,۲۳۷,۲۳۸, ۲۳۸,۲۲۴,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۴۶,۲۳۷,۲۳۷,۲۴۳,۲۵۵,۱۲۶,۵۷,۱۹۹,۲۴۹,۲۵۴,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۲۴,۲۳۹,۲۳۹,۲۳۹,۲۴۷,۲۴۸,۲۵۵,۲۵۵,۲۴۰,۲۳۹,۲۳۹,۲۳۹,۲۴۷,۲۴۸,۲۵۵,۲۵۵,۲۲۴,۲۵۵,۲۵۵,۲۴۶,۲۳۷,۲۳۷,۲۴۳,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۹۱,۳۱,۱۵,۱۵,۱۵۹,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۵,۷,۷,۱۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۳۱,۹۵,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۲۲۳,۹۵,۳۱,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۶۳,۳۱,۱۴۳,۲۰۷,۱۹۹,۷,۳,۳,۱,۱,۳,۶,۱۲۷,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۰,۰,۰,۰,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۰۷,۷,۳,۳,۳,۷,۱۹۹,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۰,۲۵۵,۲۵۴,۲۵۳,۲۵۱,۱۱۹,۴۷,۱۵۹,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۱۹۱,۱۵۹,۴۷,۱۱۹,۲۵۱,۲۵۳,۲۵۴,۲۵۵,۰,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۲۴,۲۲۴,۲۵۵,۲۵۵,۳,۰,۰,۰,۰,۵۶,۲۵۴,۲۵۲,۲۴۸,۲۴۹,۲۴۱,۲۴۳,۲۲۷,۲۳۱,۲۳۱,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۱۲۷,۶۳,۶۳,۳۱,۱۵,۱۵,۷,۷,۳,۰,۰,۰,۰,۱,۳,۷,۷,۱۵,۱۵,۳۱,۶۳,۶۳,۱۲۷,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۲۷,۲۵۵,۰,۰,۰,۶۳,۶۳,۶۳,۶۳,۶۳,۶۳,۶۳,۶۳,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۲۴,۲۳۱,۲۲۷,۲۳۳,۲۳۶,۲۳۸,۲۳۹,۲۳۹,۲۳۹,۲۳۹,۲۳۹,۲۳۹,۲۳۹,۲۳۹,۲۳۹, ۲۳۹,۲۳۸,۲۳۶,۲۳۳,۲۲۷,۲۳۱,۲۲۴,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۶۳,۷,۰,۱۲۸,۲۲۴,۲۴۸,۲۵۲,۲۴۸,۲۲۴,۰,۱,۷,۶۳,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۴۳,۱۳۵,۱۳۱,۱۹۳, ۱۹۳,۱۹۲,۲۲۴,۲۲۴,۲۲۴,۲۴۰,۲۴۰,۲۴۰,۲۴۸,۲۴۸,۲۴۸,۲۵۲,۰,۰,۰,۰,۲۵۲,۲۵۲,۲۴۸,۲۴۸,۲۴۸,۲۴۰,۲۴۰,۲۴۰,۲۲۴,۲۲۴,۲۲۴,۱۹۲,۱۹۳,۱۹۳,۱۳۱,۱۳۵, ۱۴۳,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۲۷,۱۵,۳,۲۲۷,۲۴۹,۲۴۸,۲۵۲,۲۵۵,۲۲۴,۲۲۴,۲۲۴,۲۳۰,۲۳۰,۲۳۰,۲۳۰,۲۳۰,۲۳۰,۲۳۰,۲۳۰,۲۳۱,۲۳۱,۷,۷,۱۵,۱۲۷,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۳۹,۲۲۵,۲۲۴,۲۴۸,۲۵۴,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۴۸,۲۲۴,۲۲۴,۲۲۷,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۲۷,۱۲۷,۶۳,۳۱,۰,۰,۱۲۸,۰,۱۵,۳۱,۶۳,۱۲۷,۱۲۷,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۲,۲۲۴,۱۹۳,۷,۱۵,۶۳,۱۲۷,۱۲۷,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۱۲۷,۶۳,۳۱,۱۵,۱۴۳,۲۴۸,۱۹۲,۰,۳, ۳۱,۱۵۹,۱۵۹,۱۴۳,۲۰۷,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۲,۲۵۲,۲۵۴,۲۵۴,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۴,۲۵۴,۲۵۲,۲۵۲,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۴,۲۵۴,۲۵۴,۲۵۲,۲۵۲,۲۵۲,۲۴۹,۲۴۹,۲۴۹,۲۴۹,۲۴۸,۲۴۸,۲۵۲,۲۵۲,۲۵۲,۲۵۴,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵, ۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵,۲۵۵ }; //////////////////////////////////////////////////////////// void main(void) { #pragma used+ // این کد و کد ۷ خط (تقریبا) محط شروع و پایان تغریف متغیر ها هستش int i,j; byte read_data; byte read_arr[30]; unsigned char str1[] = "www.DMF313.ir"; unsigned char str2[] = "مهدی دمرچیلو"; #pragma used- DATADDR = 0xff; DDRD.7=1; DDRC = 0x0F; glcd_on();//روشن کردن ال سی دی glcd_clear();// پاک کردن کل صفحه نمایش while(1) { point_at(10,10,1); //اضافه کردن نقطه درمختصات دلخواه delay_ms(1000); h_line(20,20, 70,0,1); //رسم یه خط افقی delay_ms(1000); v_line(5,5,50,0,1); // رسم یه خط عمودی delay_ms(1000); line(15,15,60,60,0,1); //رسم یه خط با زاویه دلخواه delay_ms(1000); //////////////// glcd_clear(); //پاک کردن کل صفحه //////////////// rectangle(10,10,80,40,0,1); // رسم یه مربع یا مستطیل delay_ms(1000); glcd_clear(); cuboid(10,10,30,30,40,40,60,60,0,1); //رسم یه مکعب یا مکعب مستطیل delay_ms(1000); glcd_clear(); circle(50,30,25,0,1); //رسم یه دایره delay_ms(1000); glcd_clear(); glcd_puts(str1,0,0,0,1,0);//نمایش رشته اس تی آر ۱ delay_ms(1000); glcd_clear(); glcd_puts(str2,0,0,1,1,0);//نمایش رشته اس تی آر ۲ delay_ms(1000); glcd_clear(); // نوشتن یک و فقط یک کاراکتر!!! glcd_putchar('ش',۴۰,۴۰,۱,۱); delay_ms(1000); glcd_clear(); //نمایش عکس مای فوتو که در بالا به صورت کد تعریفش کردیم bmp_disp(my_photo,0,0,127,7); delay_ms(2000); // هدفم از این حلقه این بوده که فقط ۴مرتبه کد های زیر رو اجرا بکنه و اگه هم دقت کنید غیر از این کار دیگه ای هم نمیکنه. for(i=0;i<=3;i++) { //الان ما میخوایم یه عکس متحرک رو نمایش بدیم که دارای ۷ فریم هستش لذا با توجه به این // که این عکس به صورت آرایه تعریف شده ما تک تک فریم ها رو به ترتیب فراخونی میکنیم. for(j=0;j<7;j++) { bmp_disp(gif[j],0,0,127,7); delay_ms(100); } } glcd_clear(); } } |
توجه : اگر دقت کنید در پوشه مربوط به کد های برنامه نویسی این پروژه یه پوشه به نام Includes هستش که کتاب خونه های تعریف شده داخلش قرار داره؛ من خودم این فایل رو داخل این پوشه ( های پروژه ) گزاشتم، چون لازم است؛ حالا اگه شما خواستید یه پروژه جدید با lcd گرافیکی ایجاد کنید باید این فایل یعنی Includes رو در پوشه مربوط به کد های پروژتون کپی کنید.
اینم یه عکس که توش پایه های lcd گرافیکی رو توضیح دادم >>مخصوص اونایی که میخواین پرژه رو عملی ببندن.
این عکس هم ببینید پایه های lcd رو قشنگ نشون داده(در واقعیت هم ترتیب پایه ها همین طوره)
دانلود این پروژه | حجم: ۵۶۰ کیلوبایت !
اینم از فایل کتاب خونه موردنیاز lcd گرافیکی>>>البته داخل کد های پروژه هم موجوده ولی اینجا میزارمش دوباره>>>برا پروژه هاتون حتما باید این فایل رو داشته باشین تا lcd تون کار کنه
فایل کتاب خانه glcd | حجم: ۲۰ کیلوبایت
نحوه ایجاد عکس برا KS0108
تصویر رو با نرم افزار PAINT ویندوز باز کنید؛ و بعد هنگام زخیره کردن (SAVE AS) نوع عکس رو مثل زیر تعیین کنید(روی عکس کلیک کنید تا در اندازه بزرگ تر ببینید) :
بعد این عکس جدید ساخته شده رو میایم و تو نرم افزار(ی که تو ته مطلب داخل فایل پروژه گزاشتم) قرار میدیم و کدش میکنیم؛ بعد از باز کردن نرم افزار روی گزینه آبی….انتخاب عکس….بعد روی گزینه قرمز…..و بعد دریافت کد(قسمت سبز رنگ)
کسایی که میخوان عملی ببندن پروژه رو…
این پروژه زیر رو دانلود کنید….یکم با پروژه بالا فرق داره اونم تغییر پایه های متصل lcd به میکروکنترلر هستش….
اینم از مدار پروژه که من در عمل بستمش و کار هم کرد….
اینم از فیلم پروژه که من بستم :
مشکلات احتمالی کار با lcd گرافیکی
سوال ۱) چرا این پروژه تو کد ویژن من کار نمیکنه و ارور میده و …
جواب ۱) حتما از کدویژن ورژن ۲٫۰۴ استفاده کنید.(یکی از دوستان همین مشکل رو داشت که با نصب این نسخه نرم افزار>>مشکل حل شد)
سوال۲) چرا در عمل پروژه کار نمیکنه یا یعضی تمابع کار نمیکنن یا قسمتی از lcd کار نمیکنه؟؟؟
جواب ۲) اگه پروژه تو پروتئوس به درستی کار نمیکنه باید بگم که مشکل از کد هاتون هستش ولی اگه پروژه تون تو پروتئوس به خوبی کار میکنه ولی تو عمل نه کار های زیر رو انجام بدید :
- حتما چک کنید که تمام اتصالات درست باشه و قطعی نداشته باشه(مخصوصا دوستای که از برد برد استفاده میکنن)
- حتما چک کنید که آیا اتصالات مربوط به پایه های cs1 و cs2 مشکلی ندارند.
- جای پایه های cs1 و cs2 رو هم تو کدنویسی و هم تو مدارتون عوض کنید.>>و ببینید درست میشه یا نه…
- تو کدویژن یه پروژه جدید ایجاد کنید و کد هاتون رو توش قرار بدید و بعد کامپایل کنید و ببینید که مشکل حل میشه یا نه(چون ما از نسخه کرک شده استفاده میکنیم >>ممکنه از این مشکلات پیش بیاد.)
- اگه هر کاری میکنید ولی تو پروتئوس کار نمیکنه>>>تو عمل پروژه رو ببندیدن و ببینید کار میکنه یا نه>>>اگه کار کرد>>یعنی مشکل از پروتئوس هستش(تو نرم افزار های کرک شده ممکنه از این دست مشکلات پیش بیاد>>خودم هم یکی دوباری برام این مشکل پیش اومده.)
هزینه مطلب : اگه این مطلب بدرتون خورد یه فاتحه برا شادی روح شهدا و تمون کسایی که تازه از دنیا رفتن بخونید »»» اگه حسش نیست یه سه تا صلوات بفرسیتید براشون.
فعلا یا علی
مهمان
سلام.تو برنامه من متوه نشدم پایه شماره 4 ال اسی دی یعنی همون D به کدوم پایه میکرو وصل میشه
اگر ممکنه راهنمایی کنید
مهمان
سلام و خسته نباشید
مهندس راهی هستش که بشه متن نوشته شده رو به صورت نگاتیو کرد یعنی پس زمینه متن مشکی و خود متن سفید بشه
توی اتمل استودیو راحت این کار رو میکنم ولی الان برای کدویژن می خوام گیر کردم
مهمان
سلام مهندس السیدیم دو تیکه میشه و هر کار میکنم درست نمیشه
چکار باید بکنم
مهمان
سلام. خسته نباشید. لطفا اگه امکانش هست این برنامه نویسی رو به زبان بسکام قرار بدید.ممنون.
نویسنده این مطلب
سلام/بسکام کار نمیکنم.
مهمان
سلام من دنبال ایجاد منو روی آردینو هستم و میخام باهاش فانکشن ژنراتور بسازم کمک میخام
مهمان
سلام. خدا قوت
من با کد ویژن 3.12 نتونستم با glcd کار کنم ولی با استفاده از توابع شما کارم راه افتاد
با سپاس از شما
مهمان
سلام خیلی خلاصه میکنید به نظرم در مورد دستورات توضیح بیشتری بدید واگر اموزش هاتون بخش بخش باشه بهتره مثلا یک قسمت فقط یه عکس نمایش بدین همه با هم نباشه اینجوری بهتره.ممنون
مهمان
ضمنن در رابطه با LCD LGM128128A اگه مطلبی دارید ممنون میشم داشته باشم .
مهمان
سلام .
پیشاپیش سال نو بر شما و خانواده محترم مبارک باد .
مشکلی داشتم با نرن افزار glcd_editor وقتی عکسهای داخل خود فایل که قرار دادید رو هم قرار میدم I/O erroe 123. میده .
با نرم افزارهای دیگه هم امتحان کردم باز انجام نمیشه . لطفا راه نمایی کنید ممنون .
مهمان
سلام مهندس چرا وقتی پورتای ال سی دی رو عوض می کنیم دیگه متن فارسی میریزه بهم؟از داخل تنظیمات کدویژن پایه هارو عوض کردم اصلا نمیشه
مهمان
سلام ميشه كد بسكام اشم بذاريد؟؟؟ بعد براي اين كه كد بسكام اشو برام انجام بدين هزينش چقدر ميشه؟؟؟
مهمان
سلام مهندس. ببخشید انقد سوال میپرسم . من میخوام یه جمله رو روی lcd نشون بدم . جمله هام یکی و 2 تا نیست خیلیه . نمیشه با متغییر فرستادش رو lcd چون حجم برنامه خیلی میشه و … . توی نسخه جدید کدویژن یه دستوری هست ( (“glcd_outtextf(“in the name of god\nGLCD TEST ) که میشه هر چی رو خواست بدون تعریف متغیر روی lcd انداخت
نویسنده این مطلب
سلام – توضیح کامل بده – متوجه نشدم.
مهمان
سلام مهندس. توی این پروژه اگه بخوایی یه متنی روی GLCDنشون بدی باید یه متغییر unsigned char بنویسی و متن تو توش ذخیره کنی و تا بتونی نمایش بدی. ولی توی کتابخونه glcdکه کدویژن الان داره میتونی متن مورد نظرتو توی اون کد بنویسی و نمایش بدی ولازم نیست که متغییر برای متن ت تعریف کنی . مثل ;(” “)lcd_puts که توی lcdهای کاراکتری هست . هر چی بخوایی داخلش مینویسی تا برات نمایش بده
مهمان
من یه متغییر دارم که adc رو میخونه و میخوام روی این lcd نشون بده . با کدوم دستور باید نوشت؟
مهمان
سلام . من یه برنامه نوشتم . تعداد متغیر هایی که توش فارسی مینوشتم خیلی شده . ارور میده . راهی هست که بدون متغییر یه جمله ای رو انداخت روی glcd
مهمان
سلام مهندس . روز بخیر . توی کد های بالا چطور نقطه نمایش یه متن رو مشخص میکنید؟ مثلا glcd_puts(str1,0,0,0,1,0);
نویسنده این مطلب
سلام-توضیح تابع فوق رو در مطلب بالا، بخون.
مهمان
سلام
من یکی اردوینو uno دارم ک mega328 روش رو عوض کردم و یک مگا 328 دیگه گذاشتم
ولی بعدش دیدم که دیگه پروگرم نمیکنه
مشکل چیه؟
نویسنده این مطلب
سلام – اگه اشتباه نکنم اینا بوتلودر روشون سواره – باز تو eca سوال کن.
مهمان
خوب اگه بوتلودر روشون هست یعنی کاری نمیشه کرد و باید اردوینو رو بندازم دور؟
نویسنده این مطلب
یعنی شما هم باید رو میکروهاتون بوتلودر پروگرام کنید.
مهمان
سلام
ممنونم از مطالبعه خوبتون
من می خوام یه جدول طراحی کنم اما h_line و v_line رو ناشناخته میزنه میشه کمکم کنین؟
نویسنده این مطلب
سلام-این دو تابع در کتابخونه تعریف شده :
void h_line( unsigned int x, unsigned int y, byte l, byte s, byte c )
void v_line( unsigned int x, unsigned int y, signed int l, byte s, byte c )
در پروژه ته مطلب هم ازش الستفاده کردم – شما یا کتابخونه رو به مطلب اضافه نکردی که این خطا رو میده – یا درست مدار دهیش کردید و یه خطا دیگه میده و نه اینچیزی که گفتید.
مهمان
سلام.
واقعا دمت گرم. یعنی لقب انسانیت داری واقعا! اساتید به دانشجوهای کارشناسی بها نمیدن و سطحی راهنمایی میکنن، حتی توی یکی از بهترین دانشگاه های ایران استاد حاظر نیست یه ربع ساعت وقت بزاره که دانشجو از سردرگمی بیرون بیاد.
ولی شما بدون هیچ مزد و منتی وقت میزارید.
هر چیزی که درباره میکرو کنترل ها یاد گرفتم که به صورت عملی اجرا کنم 90 درصد از سایت شما بوده؛ خدا شما رو حفظ کنه.
موفق باشید
مهمان
سلام و وقت بخیر
من یه lcd 128*64 دارم که نمیدونم سالمه یا خراب شده یه میکروکنتلر atmega16 هم دارم میخام تستش کنم باید چیکار کنم؟ پروگرامرم هم stk300 هست
ممنون میشم اگه راهنمایی کنید
نویسنده این مطلب
سلام – نمایشگر که خراب نمیشه مگه این که ولتاژ زیاد بهش بدی یا یه چی تو این مایه ها – پروگرامر stk300?
خیلی قدیمی هستش این پروگرامر – به سیستمت وصل میشه؟ به کامپیوتر های قدیمی فقط وصل میشه
مهمان
آقا مهدی دمت گرم واقعا کمک بزرگی به ما تو یاد گرفتن avr میکنی.
من تو سایت های ایرانی اینجا رو معتبر ترین منبع می دونم برا انجام پروژه ها
ایشالا که همیشه موفق باشی
مهمان
سلام
آقا مهدی دمت گرم …♡
مهمان
سلام ممنون از اموزش های خوب شما
من مدارو بستم و با دو نوع ال سی دی امتحان کردم
وقتی تغذیه رو وصل میکنم سمت چپ ال سی دی عکسش تا وسط صفحه میاد و نصف دیگه هم همون قسمت سمت چپو نشون میده
مهمان
من هم همین مشکل رو داشتم.
پروژه ی عملی رو دانلود کنید و پروگرم کنید درست میشه
مهمان
با عرض سلام و خسته نباشید
آیا میشود با استفاده از توابع خود glcd نیم دایره رسم کرد؟؟؟؟؟
مهمان
با سلام
اگه میشه در مورد ساخت تصویر متحرک بیشتر توضیح بدهید
نویسنده این مطلب
سلام.والا تئوری داستان رو باید تو نت بسرچی.فک کنم یه عکس متحرک برا این که صحنه اهسته و تیکه تیکه نشون نده باید بین 30 تا 60 فریم در ثانیه نشون داده بشه.این فیلم رو ببای
Framerate Comparison 15/30/60/120fps
ولی خب بحث اندازه عکس و فرکانس کم میکرو avr مشکل ایجاد میکنه و به اون صورت نمیتونی تصویر متحرک نشون بدی.
برا بحث کدنویسیش هم شما میای عکس هاتو ذخیره میکنی.حالا اگه تو خود میکرو جا شد که هیچ وگرنه باید تو حافظه های جانبی ذخیره کنی ( اون وقت باید بری ببینی کدوم مدل ایسی حافظه سرعت خوندن داده ازش بیشتره و ایسیشو تهیه کنی )
خب تابع نمایش عکس رو شما تو مطلب میبینی.عکس هاتو میای باهاش نمایش میدی.یه for یا if ( بسته به برنامت ) تعریف میکنی تا یکی یکی عکسارو نشون بده با فاصله زمانی x
بهتری از if استفاده کنی تا برنامه الاف نمایش اون عکس متحرک نشه.به کمک تایمر یه تابع مینویسی مثل تابع millis اردوینو ( تو نت آموزش این تابع هستش ) بعد میای به کمکش سر زمان های مد نظر عکس ها رو نشون میدی. این طوری هم عکسارو داری نشون میدی و هم میکرو کارای دیگشو انجام میده.
مهمان
سلام.ممنون از شما و سایت خیلی خوبتون.
چجوری میتونیم دایره توپر بکشیم؟آیا امکانش هست؟
مهمان
سلام و ممنون از مطالب گرمتان چطوری یک عکس را در حافظه خارجی ذخیره کنیم و دوباره از حافظه خونده و روی نمایشگر السیدی 6963 با برنامه بیسکام نمایش دهیم ممنون میشم بنده را بی جواب نذارید
نویسنده این مطلب
سلام.عکس رو به کد تبدیل میکنی.کد رو داخل حافظه ذخیره میکنی . هر موقع نیاز داشتی میای ممیریزیکل عکس رو از حافظت و داخل یک بافر میریزی و میدی به تابع نمایش عکس.
اگه حجم عکس خیلی زیاد بود.میای کم کم میخونی از حافظه.مثلا 500 تا 500 تا کاراکتر.بعد تابع نمایش عکس رو ویرایش میکنی تا بتونی عکس رو اطلاعاتشو کم کم بهش بدی.
مهمان
سلام براستاد عزیز
خیلی عالیه که سال 93 یه مطلب بنویسید تا 97 هم به کار بیاد دست مریزاد
مهمان
میشه از این کتابخونه برای میکرو stm8 استفاده کرد؟ چطوری؟
نویسنده این مطلب
نه – برا Avr هستش – ولی شما اگه avr هم کار کرده باشی – به راحتی میتونی تبدیل کنی به میکرو مد نظرتون.
مهمان
Spot on with this write-up, I really believe that this web site needs a great deal more attention. I’ll probably be returning to read through more, thanks for the info!
مهمان
آقای مهندس سلام
اگر این پروژه را در کدویژن 3.12 بخواهیم راه اندازی کنیم باید چکار کنیم
مهمان
با سلاممم
ببخشید یه سوال داشتم
برای کار با ال سی دی گرافیکی 64*128 با درایور st7920 و میکروکنترلر lpc1768 از چه کتابخانه هایی باید استفاده کنم؟؟؟؟
نویسنده این مطلب
سلام-اگه نمایشگرت ks0108 مدل هستش – مطلب زیر رو بررسی کن – وگرنه باید یا تو نت بگردی یا خودت کتابخونشو بنویسی یا این که یه کتابخونه ازش حالا برا هر میکرو و کامپایلری گیر بیاری و تبدیل کنی ( من باشم این کارو میکنم – تا این که بخوام برم دیتاشیت رو بخونیم و …. )
مهمان
سلام
من اگر پایه های دیتا lcd رو به پورت B وصل کنم و پروگرامر هم که به پورت B وصل میشه آیا مشکلی ایجاد نمیشه؟
مهمان
با سلام و خسته نباشید
آقای مهندس من یک برده اماده دارم که پایه هایی از میکرو که به کانکتور وصل هست به ترتیب نیست مثلا پایه DB2 به پایه PC3 میکرو وصل میشه البته همه پایه ها از یک پورت میکرو گرفته شده
توی کتاب خونه پایه های داده ها به ترتیب هست چطور می تونم تو کتابخونه ترتیب پایه ها رو عوض کنم؟
با تشکر
مهمان
سلام
ممنون از سایت خوبتون
می خواستم بدونم راهی هست که بشه وقتی از توابع puts و putchar استفاده می کنیم فواصل خطوط را بیشتر کنیم (فاصله ی عمودی)
یه مقدار به کتابخونش ور رفتم ولی مشکل اصلی تو تابع gotoxy هست که کار را خراب میکنه
ممنون میشم راهنمایی بفرمایید
مهمان
سلام میخواستم خروجی یه کد متلب رو با lcdنمایش بدم اگه راهنماییم کنین ممنون میشم
مهمان
با سلام مرسی از توضیحات خوبتون
مهندس من یک نوف Glcd خریدم به جای cs1 و cs2 برداشته psb و nc گذاشته که nc همون نات کانکت هست…و راه اندازیش مثل این معمولی ها نیست.
چطور میتونم راه اندازیش کنم؟
نویسنده این مطلب
سلام – نمیدونم نمایشگرتون چه مدلی هستش – مدلشو تو نت بزنید و دنبال کتابخونش بگردید.
مهمان
سلام من فایل پروژه رو دانلود کردم. فایل برای آنزیپ پسورد میخواد.
پسوردش چیه؟
با تشکر
مهمان
سلام
از توضیحاتتون بهره بردم خیلی خوب توضیح داده بودین اجرتون با خدا
فقظط
ببخشین من میخوام اسم بصورت فارسی بر روی glcd نمایش بدم چکاری باید بکنم ؟؟با عکس گرفتن از اسم توی word این امکانش هست ؟؟برای بدست اوردن کد اسم باید چکار کنم ممنون میشم کمکم کنین
ی خواهش میشه مجدد لینک گروهتون یا ایدی مستقیمتون و بزارین برام شرمنده
نویسنده این مطلب
سلام
تو مطلب که گفتم
عکستو تو paint میندازی و ….
مهمان
سلام
خسته نباشید
خدا قوت
خواهشا یه شماره تلفن و یا اگر در پیامرسانها عضو هستید اکانت خودتون رو بزارید
من هر کاری کردم نتونستم به شما دسترسی داشته باشم
مهمان
سلام و عرض ادب آقای دمبرچیلو….من تمام مطالبی که در مورد راه اندازی ال سی دی گرافیکیو با آردینو 2560 که گفتین انجام دادم ولی خروجی نگرفتم …بی زحمت شماره تماستنو بدین …ممنونم
مهمان
سلام مهندس خسته نباشید .
برای تنظیم دو کنتراست چه مقاومت هایی لازم داریم . من هرچی میزارم زنگ پیکسل ها خیلی ضعیفه و به زور میشه دید.
ممنون
نویسنده این مطلب
سلام-تست کن خودت – فک کنم من پتاسومترم 10 کیلو بود.
مهمان
سلام.

خدا قوت.
تشکر بی نهایت از آموزش هاتون مخصوصا این آموزش.
ممنون از اینکه کمک میکنی به ما.
خدا به خاطر این کمکت به مردمی مثل ما ، نمیدونی چه ثواب ها که برات ننوشته و چه کمک ها که بهت نکرده چه در دنیا و چه در آخرت.
خدا انشاالله عاقبت به خیرمون کنه.
ممنون استاد…
مهمان
عاشقتم مهندس
واقعا خداقوت و خسته نباشید
درود بر جوانان ارزشی و علمی چون شما
مهمان
سلام و خسته نباشی
ال سی دی گرافیکی قسمت کنترلر به پورت سی و پایه pc2 تاpc7 نصب کردم و JTAG هم غیر فعال کردم تو عمل اصلا جواب نداد ولی تو شبیه سازی جواب داد؟؟چرا
نویسنده این مطلب
سلام-تو گروه جواب دادم.
مهمان
عاشق این وبسایت شدم من.عالی هستید شما
مهمان
سلام و ممنون از آموزش خوبتون.
من همین کد رو روی میکرو ریختم پایه ها رو هم متصل کردم (همه رو چند بار چک کردم)
توی شبیه سازی به راحتی جواب میده ولی توی سخت افزار LCD بالا میاد هیچی نشون نمیده
حتا توی کتاب خونه حالت CS اکتیو low رو هم تست کردم جواب نداد. واقعا نمیدونم چرا این طوره
(از پتانسیومتر هم استفاده کردما هم برای نور متن هم نور پس زمینه بازم فرقی نمیکنه در همه حالات هیچی نشون نمیده)
ممنون میشم کمکم کنین.
مهمان
سلام
من تازه میخوام راه اندازی ال سی دی رنگی رو یاد بگیرم با مدل http://shop.aftabrayaneh.com/LCD_Monitors/Displays/LCD_Displays/240x320_TFT_LCD_6173__AFTAB.html
نمیدونم برا شروع باید چه کنم
ایا این توضیحات شما کار من رو را میندازه؟
مهمان
اگه لازم باشه برنامه رو ایمیل کنم ببینید
مهمان
با سلام من تمام مراحل رو درست میرم ولی باز ارور دارم که ارورها رو از کتابخونه ی glcd میگیره نه از خود برنامه.میشه راهنمایی کنید؟
مهمان
سلام.وبسایت خیلی خوبی دارید.دستتون درد نکنه
مهمان
با سلام برنامه ی من #include “Includes/gif.h” رو ارور میده میشه کمکم کنید مشکل از چی میتونه باشه؟؟
#include “Includes/GLCD.h”
نویسنده این مطلب
سلام
متن خطا؟
مهمان
سلام.وبسایتتون خیلی خوب و مفیده.به کارتون ادامه بدین
مهمان
سلام.
کتابخونه همین رو برای اتمل دارید؟
نویسنده این مطلب
سلام-نه والا – کاری نداره که – تبدیل بزن – بین کدویژن و اتمل نباید فرق زیادی باشه
مهمان
سلام.
تفاوت اصلیش اینه که تو کدویژن می نوشتیم
۰٫PORTD
ولی تو اتمل
PD0) =PORTD)
مهمان
سلام با تشکر از زحمات شما خیلی عالی بود فقط کاش که اینقدر تو سایت در مورد بسیج این دری بری ها نیود بسیجی انگل قرن ۲۱ هستش عزیز خودت درگیر این دری بریا نکن موفق باشی
مهمان
انگل امثال شماست عزیز…شما درگیر دری وری ها هستی…
مهمان
واقعا برای امثال شما با این تفکر متاسفم!! یکی از جاهایی که بی صدا و پشت پرده اکثر نیازهای مناطق محروم رو رفع میکنه و کمک رسانی میکنه همین بسیج هست! شرمتون نمیشه از این حرفا؟؟
مهمان
سلام.
این توابع به کتابخانه کدیزانر می خوره؟
<include <font5x7.h #
<include <glcd.h #
این دوتا بالایی ها کتابخونش هستن
مهمان
سلام.


در صورتی که عکس به صورت زیر میشود
http://uupload.ir/files/6j5u_capture.png
جای پایه هایCS1 و CS2 را جابه جا کنید (در سخت افزار)
مهمان
سلام.
چگونه کتابخانه را به کدویژن۲٫۴اضافه کنم؟
نویسنده این مطلب
سلام-به خود کدویژن نمیدونم ولی به پروژه های کدویژن بخوای اضافه کنی باید داخل پوشه پروژه قرارش بدی و تو پروژه فراخونیش کنی
مهمان
فرزند خمینی
دمت گرم
مطلب کامل بود
مهمان
سلام.ممنون .خیلی خوب بود.از دست اندرکاران
وبسایت به این خوبی سپاسگزارم
مهمان
سلام و تشکر فراوان
مهندس اولین حرف فارسی فقط سر جاش قرار میگیره باقیه یه سطر میره پایین
راه حلی ندارید؟
مهمان
مهندس بنده خط ۶۱۲ تابع glcd رو حذف کردم مشکل حل شد اگر لطف کنید شما هم نگاهی به موضوع بیاندازید ممنون میشم
نویسنده این مطلب
سلام – باید کتابخونه رو بررسی کنید و ببینید مشکل از کجاس که اینطور میشه.
مهمان
سلام حاجی.مثل همیشه کارت درست و عالی .مرسی از وقتی که میزای
مهمان
سلام.واقعا وبسایت خوبی دارید
مهمان
خدا خیرت بده عالی بود
مهمان
سلام.وبسایت خیلی خوب و جامعی دارید.ممنون
مهمان
سلام آقا مهدی جان
واقعاً خدا خیرت بده
شما از جمله انسانهای معدودی هستین که عمر خود را در راه کمک به خلق خدا صرف می کنید
امیدوارم خداوند هم در این دنیا و هم در اخرت به شما اجر عطا فرماید
مهمان
سلام
چی بگم…
واقعا دمت گرم
خدا خیرت بده
مهمان
سلام
من یه دونه ال سی دی فول اچ دی موبایل ۴۰ پین دارم شما می دونید چه جوری راه بندازمش؟یا این که باید دنبال چی بگردم تو نت؟
از نوکیا ۱۵۲۰ درآوردم
نویسنده این مطلب
سلام
خو باید مدلش رو ببینید چیه و برید تو نت ببینید کتابخونه ای شماتیکی دیتاشیتی چیزی ازش پیدا میکنید یا نه.
مهمان
hi!
مهمان
سلام. مهندس میگم که DATADDR چیه
نویسنده این مطلب
سلام – یه ماکرو – یا همون DDRA
#define DATADDR DDRA
مهمان
سلام. میگم که همه ی چیزهایی که تو اموزش بالاس رو انجام دادم و حتی عکس ها رو هم میتونم نشون بدم روی glcd و لی چرا نمیتونم نوشته ای رو روی صفحه نشون بدم؟؟؟
نویسنده این مطلب
سلام
اتصالات اشتباه یا اون پتاسیومتره خرابه یا مقدارش رو عوض کن یا چرخشو بچرخون تا مقدارش تغییر کنه و نور پسزمینه هم تغییر کنه
مهمان
مهندس جان نه توی پروتئوس جواب میده نه توی عمل. خب شکل رو نمایش میده ولی نوشته ها رو نمیده. نمیفهمم چرا اخه!!!!
نویسنده این مطلب
تو عمل اگه مشکلی رخ داد – نظرات قبلی رو بخون جواب دادم مشکلات ممکنه رو.
ولی تو پروتئوس نمیدونم.
مهمان
خدا بهت خیر بده برادر
مهمان
سلام مهندس.
ممنون از شما.
فقط میخواستم بدونم کتابخانه ای یا کدی برای راه اندازی ال سی دی گرافیکی با Lpc1768 ندارید؟ خیلی کارم گیره.. اگه کمکم کنید خیلی ممنون میشم.
نویسنده این مطلب
سلام
بزار یه بررسی کنم ببین میتونم کتابخونه خود کدویژن که پروژشو گزاشتم تو سایت – به ۱۷۶۸ تبدیل کنم یا نه – البته قول نمیدونم – خودت هم سرچ کن – من الان شروع کردم – اگه تونستم و جواب داد که میزارم تو سایت.
نویسنده این مطلب
تبدیل کامل شد – به زودی میزارم تو سایت مطلبش رو
مهمان
سلام خیلی خیلی خیلییی ممنون
فقط کتاب خانه یک مشکل داشت که یک روز الاف شدم
من کتاب خانه را به پروژم include کردم پایه ها بسته به نیازم باید تغییر می کرد
تغییر می دادم اما جواب نمی گرفتم –
DATADDR = 0xff;
DDRC = 0x0F;
ای کاش این دو خط رو می بردین به کتابخانه که یک روز الاف نشم : ( ، مهندس یک سوال :
lcd 1024*768 که مارو درگیر HDMI & VGA نکنه سراغ نداری ؟
نویسنده این مطلب
سلام
نه
مهمان
عالی
مهمان
سلام مهندس . چجوری lcd ts12864a تو پروتئوس پیدا کنم.و یا بجاش از چی استفاده کنم؟
نویسنده این مطلب
سلام
چیزی با این اسم تو پروتئوس من نبود
تو صفحه شماتیک دکمه P رو بزنید و بعد جستجو کنید
مهمان
سلام
چطوری میشه فونت نوشته ها رو تغییر داد؟
نویسنده این مطلب
سلام – ۱-تو نت بسرچ یه چیزایی پیدا میکنی۲-نظرات قبلی مطالب مربوطه رو ببین
مهمان
من بعضی وقتا سایت شما رو دنبال میکنم، فقط میتونم بگم ممنون از مطالب عالی که میزاری، معمولا تو سایتا نظر نمیدم اما سایت شما ارزششو داره
نویسنده این مطلب
نظر لطف شماس
مهمان
دوباره سلام و خسته نباشید من برای داشتن تصویر به صورت عملی مجبورم دو یا سه تا از پایه های دیتا رو به صورت دستی قطع کنم و دوباره متصل کنم تا نمایش داشته باشم چون در حالت معمولی چیزی نمایش داده نمیشه چکار کنم پیشنهادتون چیه؟؟؟ کجا رو چک کنم ممنون میشم راهنمایی کنید
نویسنده این مطلب
سلام
کدوم پایه ها؟
نظرات قبلی رو هم یه نگاه بنداز – چیز خاصی نداره ولی ظرر نداره
مهمان
خسته نباشی مهندس ممنون از مطالب فوق العاده کاربردیتون بنده این پروژه رو راه اندازی کردم و نمایش رو دریافت کردم ولی متاسفانه تصویر به صورت دو تکه در نمایش بنده قسمت اول به صورت تکرار قسمت دوم هستشو نمی دونم مشکل از کجاست دیدگاهای بچه ها رو هم نگاه کردم ولی جوابی پیدا نکردم ممنون میشم راهنمایی کنید
نویسنده این مطلب
چیز دیگه ای نمیدونم – اتصالات رو برری کنید.
مهمان
سلام داچ مهدی ایشالله زیر سایه امام زمان و شهدا باشی
میگم من اینو راه انداختم شبش مثل ساعت کارمیکرد ولی فردا صبحش که چک کردم نابود شده بود وچرت وپرت نشون میداد رو ال سیدی !
لطفا یه کم از تجربیاتت در اختیارم بزار . چیکار کنم ؟
البته یه چند بار همینطور که کار میکرد ال سی دی رو از برد برد در اوردم و جا زدم ! امکانش هست ال سیدی سوخته باشه ؟
نویسنده این مطلب
سلام
خب یعنی میکرو هنگ کرده – مطلب تایمر واچ داگ در avr رو بخون – تو سایت هستش – درباره روش های رفع نویز برا Avr هم یکم تحقیق کن.
نه نسوخته – خب راه سادش اینه که یه بار تست کنی و ببینی ولی از برد جدا کردن نمایشگر رو نمیسوزونه ولی خب برا کار کردنش باید مدار رو ریست کنی.
مهمان
داداش يني شما ميگي ميكرو هنگ ميكنه و بايد از واچ داگ استفاده كنم اخه هرچي دستي ريستش هم ميكنم درست نميشه ! ميشه بگي براي چه دلايلي ميتونه هنگ كنه ؟!
نویسنده این مطلب
الان مشکل هنگ کردن نیست طبق چیزی که گفتی – قبلا میکرو کار میکرده و الان کار نمیکنه – خب اتصالات ر وبررسی کن – دیگه چیزی به ذهنم نمیرسه.
مهمان
سلام اخوی دستت درد نکنه فقط من یه مشکلی دارم اونم اینه که وقتی از پروژم میخوام BUILD بگیرم یه همچین اروری میده ؟چیکا کنم؟ error No graphic controller specified in the project configuration
نویسنده این مطلب
سلام
کدویژن تو کامپیوترم نصب نیست – از کتابخونه این مطلب اگه استفاده کرده باشی فک نکنم همچین اروری بده چون من پروژه رو تست کردم و کلا پروژه بدون تست عملی تو سایت نمیزارم
مهمان
سلام
دستتون درد نکنه واقعا.
خیلی خوب و مفید بود.
توضیحاتتونم بسیار دقیق و قابل فهم بود.
سپاس.
مهمان
سلام ، خسته نباشی مهندس
دمت گرم ، خیلی مطالب خوبی میزاری
ی سوال داشتم
من تو پروژه ام علاوه بر ال سی دی گرافیکی ، رله هم دارم . ولی وقتی رله وصل میشه نور ال سی دی کم میشه . کلا همه ی نوشته ها میره .
چیکار کنم ؟؟
نویسنده این مطلب
سلام
والا من خودم زیاد رو این بحث ها وارد نیستم ولی به نظزم ممکنه رله مدار راه اندازش مناسب نباشه و از میکرو زیاد جریان میکشه – نمیدونم شاید هم این نباشه – شاید هم منبع تغذیه تو محدودیت جریان داره – نمیدونم –
مهمان
من هم به این مشکل خورده بودم
چند تا راه حل براتون پیشنهاد می کنم
اول این که از رله های دیگه ای که جریان کمتری می کشند استفاده کنین
دوم این که می تونین از یه منبع تغذیه با جریان بیشتر استفاده کنین
سوم این که می تونین کلا بی خیال رله بشین و به جاش از ssr استفاده کنین.(هر ولتاژی و در هر رنجی که باشه ssr جواب میده)
البته اگر هم ولتاژ dc دارین می تونین با یه مدار ساده ترانزیستوری مسئله رو حل کنین.
موفق باشین!
مهمان