آردوینو Arduino Uno آموزش آردوینو نمایشگر LCD پروژه های آردوینو

ساخت فاصله سنج آلتراسونیک و شیلد نمایشگر lcd آردوینو

نوشته شده توسط حسین فهیمی

اگر آموزش‌های قبلی ما را خونده باشین و یا خودتون پروژه‌ای انجام داده باشین که در اون از LCD کاراکتر استفاده کرده باشین حتما با مشکل راه‌اندازی LCD و دردسرهای سیم کشی بین LCD و آردوینو Arduino مواجه شدین. امروز در دیجی اسپارک می‌خواهیم شیلد LCD و KEYPAD آردوینو Arduino را بهتون معرفی کنیم که با استفاده از اون در پروژه‌هاتون، دیگه دردسر راه‌اندازی LCDهای کاراکتری را ندارین.در ادامه‌ی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

 

معرفی LCD KEYPAD Shiled آردوینو

این شیلد یکی از معروف ترین‌ شیلد‌هایی که تا به حال برای آردوینو Arduino عرضه شده. در این شیلد یک عدد LCD کاراکتری ۲*۱۶ به همراه ۶ عدد تاچ‌سوییچ تعبیه شده . پین‌های شماره ۴ ، ۵ ، ۶ ، ۷ ، ۸ ، ۹ و ۱۰ برروری آردوینو Arduino برای برقراری ارتباط و ارسال دیتا میان LCD و آردوینو Arduino استفاده میشه و فقط یک پین آنالوگ شماره A0 برای خواندن ۶ عدد تاچ‌سوییچ قرار گرفته بر روی شیلد استفاده میشه. شیلد LCD از تنظیم کانتراست پشتیبانی میکنه و بک‌لایت LCD هم به طور پیش‌فرض روشن است.

طراحی خوب این شیلد Shield باعث شده که به راحتی بتونین سنسورها، موتورها و …. را به راحتی به مابقی پین‌های آردوینو Arduino متصل کنین و اطلاعات آن‌ها را بر روی LCD مانیتور و توسط تاچ‌سوییچ‌ها عملیات لازم را بر روی آن‌ها انجام بدین. نمایش اطلاعات بر روی LCD و دیباگ کردن برنامه هنگامی که کامپیوتر در درسترس ندارین خیلی میتونه مفید باشه و این شیلد نیز برای انجام این کار بسیار مناسب است.

مشخصات شیلد LCD KEYPAD arduino

  • ولتاژ کاری ۵ ولت DC
  • ۵ عدد کلید برای کنترل منو  و …
  • کلید RST برای  ریست کردن آردوینو

  • یک عدد مولتی‌ترن برای  تنظیم کانتراست LCD
  • قابلیت دسترسی به I/O های آردوینو از روی شیلد
  • ابعاد ۸۰*۵۸ میلی‌متر
  • قابلیت کنترل بک‌لایت

پین‌های shiled lcd

  • پین D4 تا D7 به منظور انتقال  دیتا استفاده می‌شود.
  • پین D8 برای انتخاب رجیسترها
  • پین D9 برای فعال کردن LCD
  • پین D10  برای کنترل بک‌لایت استفاده می‌شه به طوری که در برنامه اگر شما پین شماره ۱۰ آردوینو را در وضعیت HIGH قرار دهید  بک‌لایست LCD روشن می‌شود و در صورتی که در برنامه پین شماره D10 را در وضعیت LOW  قرار دهید ، LCD خاموش می‌شود.

 

معرفی ماژول SRF05

رنج اندازه گیری :  حداقل  cm4 و حداکثر ۴ متر

ولتاژ مورد نیاز و جریان مصرفی : ۵ ولت – ۴ میلی آمپر

پایه ها : GND – VCC – Trig – Echo – Out

 

راه اندازی ماژول :

مد ۱ :

۱) در این حالت ما ابتدا یه پالس با زمان ۲۰ میکرو ثانیه به پایه Trig  میدهیم.

۲) و بعد ماژول SRF05 پالس به سمت محیط ارسال میکند.

۳) و بعدش ما پالسی از پایه Echo دریافت میکنیم و با محاسبه طول این پالس و ضرب کردن در مقادیری…، فاصله SRF05 رو تا مانع پیدا میکنیم.

  • اگه طول پالسی که دریافت کردیم از ۳۰ میلی ثانیه بیشتر شد یعنی مانعی جلوی ماژول نیست.(تو برنامه نویسی تون بهتره لحاظش کنید.)
  •  طول پالسی که دریافت میکنیم بین ۱۰۰ میکرو ثانیه تا ۲۰ میلی ثانیه هستش.
  • پایه Out  هم به جایی وصل نیست……به جایی وصلش نکنید یه وقت…..بزارید بدون اتصال بمونه.

مد ۲ :

۱) پایه Out  به زمین وصل میشه.

۲) پایه Echo بدون اتصال میمونه.

۳) تو مد ۱ ما به پایه Trig  یه پالسی میدادیم و یه پالسی از پایه Echo  میگرفتیم…..اما تو این مد پایه Echo رو بدون اتصال میزاریم بمونه…..و پالسمون رو به Trig  میدیم و پالس رو هم از Trig  دریافت میکنیم.

 

وسایل مورد نیاز :

 

کد های زیر رو روی برد خودتون آپلود کنید و بعد از نتیجه لذت ببرید.

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); 
String x;

void setup() {
 Serial.begin(9600);
 pinMode(10, OUTPUT);
 digitalWrite(10 , HIGH);
 lcd.begin(16, 2);
 lcd.setCursor(0, 1);
 lcd.print("**digispark.ir**");
 pinMode(2, OUTPUT);//TRIG
 pinMode(3, INPUT);//ECHO
}
 
void loop() {
 double cm,duration;
 digitalWrite(2, HIGH);
 delayMicroseconds(20);
 digitalWrite(2, LOW);
 duration = pulseIn(3, HIGH);
 cm = duration / 29 / 2;
 x = "CM : " + String(cm) + "          ";
 lcd.setCursor(0, 0);
 lcd.print(x);
 Serial.println(x);
 delay(200);
}

 

درباره نویسنده

حسین فهیمی

تبادل نظر و رفع عیب با ثبت دیدگاه

۳۴ دیدگاه

  • با سلام مطلبتون واقعا مفید بود میخاستم بگم که اگه به جای ال سی دی بخام به صورت صوتی وجود چیزی را تشخیص دهم باید چیکار کنم لطفا راهنمایی کنین.

  • اتصالات رو لطف می کنید بگید من این پروژه رو برای طرح جابر میخوام ممنون میشم کمک کنید با تشکر

    • با سلام
      اتصالات در متن آموزش نوشته شده است.
      پایه تریگر سنسور به پایه ۲ دیجیتال آردوینو و پایه اکو به پایه ۳ دیجیتال آردوینو متصل شده است.

  • سلام میشه اتصالات رو بگید و برای برنامه نویسی باید کد های داخل محیط برنامه نویسی رو پاک کنم؟ بعد این کد هارو اپلود کنم و در اخر اینکه میشه از کابل پرینتر برای برنامه نوییی استفاده کرد

    • با سلام
      کاربر گرامی تمامی سوالات قبلی شما پاسخ داده شده است. همچنین در نظر داشته باشید سوالات با اولویت و در سریعترین زمان ممکن پاسخ داده خواهد شد. لذا از ارسال پیام های پی در پی خودداری نمایید.

  • سلام من شیلد ال سی دی رو با سیم جامپر نصب کردم التراسونیک هم نصب کردم و ال سی دی صفحه خالی نمایش میده چیکار کنم

  • ال سی دی با کیپد مخصوص اردوینو باتوجه به اینکه من اتصالات رو به این طریق انجام دادم:
    پایه اکو به پایه ۳ سمت راست اردوینو
    پایه ی تریگر به پایه ی ۲ سمت راست اردوینو
    و پایه های ال سی دی هم همون طوری که رو اردوینو قرار می گیره با سیم جامپر وصل کردم
    و اینکه فقط کدی که داخل این اموزش هست اپلود کنم
    یا اینکه اگر این اتصالات غلطه خواهشا کل اتصالات رو بگید و بگید که کدوم کد هارو اپلود کنم ممنون

  • سلام من کتابخانه liquid crictal , DFR-LCD-CEYPADرو کامپایل کردم و مدار کار نمیکنه میشه اتصالات رو کامل بگید من از این دو تا مقاله که گفتید چیزی نفهمیدم

    • با سلام
      چه پروژه ای اجرا شده است؟ توضیحات کامل به همراه ارور دریافتی را ارسال کنید تا بررسی شود.

  • سلام . خسته نباشید
    من راه اندازی کزدم ولی ال سی دی فقط مربع نشون میده ودلیلش چی میتونه باشه ؟

  • باسلام بنده قصد ساخت یک هد اتوفوکوس را دارم . میخواستم ببینم دوستان چه پیشنهادی دارن . نقطه aباید تحت هر شرایطی ثابط بماند ‌. با استپ موتور و درایو و اردوینو . اگر دوستان اهل فن بتوانند کمک کنند ممنون میشم

    • با سلام
      کاربر گرامی ضمن تشکر از شما، از دوستانی که در این زمینه تخصص و اطلاعاتی دارند، تقاضا میکنم در بحث شرکت کنند.