سلام و دورد بر شما خوبان
امروز که داشتم دنبال چیزی تو وسایلام میگشتم یکدفعه یک LCD گرافیکی و صفحه لمسیشو پیدا کرده که به فکرم رسید با Arduino راه اندازیش کنم
اول از همه مشخصات کلی این ماژول که ساخت شرکت WinStar هستش و آی سی اون هم از نوع ks0108 که خوشبختانه کتابخونه راه اندازی اون برای Arduino موجوده و سایزه صفحه نمایشش که 128*64 و ولتاژ کاری اون که 5 ولت هستش رو میگم جزئیاتش با شما
سایت سازنده
خب مرحله اول دیتاشیت خوده Lcd هستش که داخل سایت و PDF موجوده و بعدش هم نحوه اتصال اون به Arduino برای سهولت کار عکس زیر رو انتخاب کردم که نحوه اتصال این LCD رو به 3 نوع مختلف Arduino رو نوشته و فکر کنم همه چیز گویا و قابل فهم باشه
اما یک توضیح کوتاه در مورد اتصال ماژول
خب همین طور که میبینید این اتصال مخصوص همین ماژول هست و اگر ماژول دیگه ای دارید فقط جای پایه های LCD فرق میکنه (بعنوان مثال پایه 14 lcd شما معادل پایه 6 هست که البته این یک مثاله و شما باید طبق شماتیک lcd خودتون اون رو متصل کنید)
پایه های Vss و Vdd برای تامین برق خوده LCD هست
پایه های V0 و Vee برای تنظیم کنتراست(شفافیت) نمایش هست که میتونید اون هارو به صورت مستقیم به هم وصل کنید که در این صورت کنتراست در بیشترین حد هستش یا میتونید از یک پتانسیو متر 10k استفاده کنید که قابل تقییر باشه یا یک متغییر ثابت بزاریید(که سلیقه ای و بسته به کاربردتون هستش)
و پایه های A و K که برای نور پس زمینه هستند که به 5 ولت وصل میشن
من خودم از Arduino Mega 2560 استفاده کردم (البته فرق نداره)
خب حالا به مرحله حیاتی میرسیم
اول از همه کتابخونه زیر رو دانلود کنید
ks0108.zip
بعد از دانلو اونو به نرم افزار اضافه کنید (و سریعا شروع به تست کردن نکنید)
حالا برید تو پوشه Mydocument/Arduino/libraries/ks0108 و فایل ks0108.h رو باز کنید ودر خط 55 (قبل و بعدشو ستاره بارون کردم ) و مقدار include رو با توجه به نوع بردتون تغییر بدین (اگر چند خط بالا تر رو نگاه کنید میبینید که چندین دستور کامنت شدن و میتونید نوع Arduino تون رو توی اون پیدا کنید و جاگزین مقدار دستوری که گفتم بکنید) (نا گفته نماند همون چند دستوره بالا که کامنت شدن برای این نوشته شدن که خودکار نوع Arduino رو تشخیص بدن ولی خب بنا به دلایلی تشخیص نمیدن البته شاید اگه شما اونا رو از کامنت درآرین کار کنن ولی واسه من که نکرد)
اگر Arduino UNO دارید به جای "ks0108_Mega.h" مقدار "ks0108_Arduino.h" رو جایگزین کنید
خب سختیش همین بود حالا واسه شروع میتونید از برنامه های نمونه که یک دونه بیشتر نیست و تقریبا همه ی توابع کار کردن رو داره (اون یکی دیگه ماله تبدیل bmp (عکس) به کد هست اگر خواستین عکسی نمایش بدین که البته اصلا به درد نمیخوره یکی دیگه پایین پیوست کردم)
ولی اول این برنامه زیرو اجرا کنید که یکم خوشحال شیم و خستگی رفع بشه
AftabLogo.zip
ولی حالا یه برنامه میدم روحتون پرواز کنه
درسته یه بازیه (خیلی مون با این نوع بازی ها خاطره داریم ماله سگا و آتاری بود)
البته قبلش یه خورده کاری لازمه چون وقتی اسمه بازی میاد یه کنترل یا دسته لازمه
نگران نباشید چیزه خیلی آنچنانی نمیخواد کافیه یک پتانسیومتر داشته باشیه و یک پایه اونو به +5 و پایه دیگشو به ورودی آنالوگ 5 بزنید حالا وقتی پتانسیومتر رو تغییر میدم اون هوا پیمای ماهم به چپ وراست میره
خب اون چیزی که واضحه اینه که برای استفاده از اغلب پتانسیومتر ها باید با یه پیچ گوشتی چیزی اونارو کم و زیاد کرد و واسه بازی زیاد مناسب نیست هیچ غصه نخورید کافیه یه ماژول Joystic از فروشگاه بخرید و از اون استفاده کنید
اما اگر بازم نخواستید 12 تومن پول بدید و تو خونتون یک دسته ی بازی به درد نخور یا حتی به درد بخور(مثل ماله من) آنالوگ دار دارید خب در مرحله اول بترکونیدش
بعد از اینکه بازش کردین و آنالوگشو جدا کردین
به احتمال 90٪ پشتش همچین شماتیکی رو میبینید حالا 2 تا سیم برای + و -
و یک سیم هم برای آنالوگ که من به دلخواه به P2 وصلش کردم که میشه آنالوگ راست عمودی(در ضمن اگر میخوایید میتونید یک Buzzer هم به آردینو به پین 2 وصل کنیم که صدا هم داشته باشه نا گفته نماند برای این کار باید خط 27 کد رو از کامنت خارج کنید)
حالا میریم سراغ بچگیامون بازی کردن
و در آخر هم میبازیم