(۲۳-خرداد-۱۳۸۸, ۰۳:۵۸:۳۴)saeed450 نوشته است: [ -> ]سلام . من كيبردم واسه تست يه تابلو روان سوخت ! مگه ولتاژ كيبرد چقدره؟ ولتاژ مدارم 5 ولت بود .
ولتاژ کیبورد 5 ولت هست.
ممکنه سیمها رو اشتباه زدید
اینجا سورس و نحوه اتصال رو میتونید پیدا کنید
http://www.khazama.com/project/project.aspx?cat=101
سلام
نحوه اتصال کیبرد به تابلو :
اتصال کیبرد به تابلو روان تقریبا شبیه به اتصال کیبرد به میکرو و lcd هست .
شما اول باید تعداد فونت و زبان تابلو رو مشخص کنید ، فرض کن میخواییم یه تابلو تک زبانه (فارسی ) با دو تا فونت بسازیم ، تابلو باید اطلاعات رو از طریق کیبرد بگیره .
برنامه تابلو دارای بلوک زیر هست :
راه اندازی امکانات مورد نیاز (معرفی میکرو ، معرفی پایه های ورودی و خروجی ، راه اندازی atkbd ، معرفی متغیر ها و ....
حلقه شماره 1
برنامه مربوط به فونت 1
پایان حلقه شماره 1
حلقه شماره 2
برنامه مربوط به فونت 2
پایان حلقه شماره 2
حلقه شماره 3
کد های مربوط به گرفتن داده از کیبرد
پایان حلقه شماره 3
جدول کد های تابلو مربوط به فونت اول
جدول کد های تابلو مربوط به فونت دوم
جدول کد های کیبرد
معمولا در عمل بر روی تابلو ها یه دونه میکرو سوییچ گذاشته میشه ، با فشرده شدن میکرو سوییچ تابلو به حلقه گرفتن کد میره و در اونجا کد وارد شده در یه رشته ذخیره میشه ( برای عبارت های طولا نی از چند تا رشته استفاده میشه )
بعد از اینکه وارد کردن برنامه تابلو با کیبرد تموم شد ، به یکی از حلقه ها پرش میشه .
درون حلقه با دستورات if یا select -case کد ها از جدول خونده میشه
مثلا شما میخوای رو تابلو جمله "به نام خدا " نوشته بشه ،
کدی که شما به تابلو میدید " fi khl onh " هست ،در واقع شما کد رو بصوت انگلیسی وارد تابلو میکیند ، این کد در یک متغیر از جنس string و در حافظه eeprom میکرو ذخیره میشه ،
نحوه مشخص کردن فونت :
شما به یکی از کلید ها رو انتخاب میکنید و در حلقه شماره سه یه شرط میزارید که اگر میکرو کد مربوط به اون کلید رو در یافت کرد ، با زدن میکرو سوییچ به حلقه مربوط به اون فونت پرش بشه ،
در حلقه اصلی جمله ورودی شما به حرف تبدیل میشه (با استفاد ه از دستور right یا ...) و سپس توسط شرط های کد مربوطه از حدول خونده میشه .
مثلا برای حرف f ( ب فارسی )
Dim Q As String * 10 , W As String * 1
W = Right(q , 1)
If W = "a"then
Portc = Lookup(a , Alef)
End If
If W = "f"then
Portc = Lookup(a , Be)
End If
If W = "\"then
Portc = Lookup(a , Pe)
End If
If W = "j"then
Portc = Lookup(a , Te)
End If
q نام متغیری هست که در حلقه شماره سه کد کیبرد داخلش ریخته شد .
روش های دیگه هم وجود داره که فکر کنم ساده ترین روش ، روش بالا باشه
در کل اصل کار یکی هست و فقط نحوه نوشتن برنامه فرق داره ( ممکنه یکی بجای شرط های if از select case استفاده کنه و....)
سلام
امروز اتفاقی این جمله رو سرچ کردم : (( آموزش تابلو روان ))
اولین لینکی که آورد ماله همین پست بود حالا خوشم اومده و میخام یه دونه نرم افزار برای تابلو روان طراحی کنم و بزارم تو سایت
حالا کسی هست کمکم کنه البته تو قسمت نرم افزاری
راستی من پروژه اتصال صفحه کلید به تابلو روان رو با هزار مصیبت کم کم دارم تموم میکنم هر کی میخاد دستا بالا فقط به شرطی که کمک کنه !
اگه از ایرانویچ نمیخوای بری من هستم.
سلام به دوستان.
اگه در مورد تابلوهای 3 رنگ هم توضیحاتی بدین ممنون می شم.
ایول
تا حالا اینجا رو ندیده بودم
به نظر منم بهتره از تابلو های سه رنگ شروع کنیم.
بازم به نظر من بهتره یه جوری تقسیم وظایف کنیم تا همه مون مفید باشیم نه اینکه یکی زحمت بکشه بقیه استفاده کنن آخرش اون یه نفر (منظورم آقای هاشمی نیستا) خسته بشه و کار رو نیمه کاره بذاره.
حالا من چی کار کنم؟
این هم ادامه اموزش از تاپیک 1 (قسمت چهارم وحید نصیری)
قسمت سوم رو هم کسی داشت دریغ نکنه
خودتو به آبو آتیش نزن
چن جا میخای پست بدی که کی آموزش ...
[
attachment=4591]
سعید این آموزش ها چه طور ؟ به نظرت آشنا نسیتن ؟ نکنه قبلا تو eca دیده باشیشون ؟
سلام
منم یه سوال داشتم
اینکه چه طوری میشه اطلاعات رو از یه ماژول به یه ماژول دیگه منتقل کرد منظورم نرم افزاری هست با سخت افزار هیچ مشکلی ندارم من یه 8 در 8 رو ساختم به بیشتر از اون مشکل دارم تا اینجا رو میدونم که باید به ای سی کلاک بدم نمیدونم چرا به من جواب نمیده
اینم برنامه من هست
شرح برنامه بدین قراره
یه چشمک زدن ساده هستش که ا سطر اول شروع میشه و تا سطر آخ ادامه داره من کاتد رو از طریق لچ 573
به پورت c وصلش کردم و آند اونو به طور مستقیم به پورت A وصل کردم تابلو یه 8 در 16 ساده هستش برنامه به زبان سی هست اگه کسی بتونه کمکم کنه واقعن ممنون میشم
#include<mega32.h>
#include<delay.h>
flash char mat[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
flash char bat[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void main (void)
{
char j,i,k,m;
DDRA=255;
DDRC=0xff;
DDRD=255;
while(1)
{for(i=0;i<8;i++){
for(j=0;j<8;j++){
PORTA=0x08;
PORTC=bat[j];
delay_ms(400);
PORTD.6=1;
PORTD.6=0;
delay_us(1);
PORTC=bat[i]+0x08;
delay_ms(400);
PORTD.5=1;
PORTD.5=0;
PORTC=255;
}
}
}
}
باور کنین یه گزینه پایین هر پست هستش واسه همین کارها !
اسمش هم اینه :