شبیه سازی های درایو های الکتریکی

شبیه سازی های درایو های الکتریکی

در این وبلاگ می توانید شبیه سازی درایو های الکتریکی را دریافت نمایید
شبیه سازی های درایو های الکتریکی

شبیه سازی های درایو های الکتریکی

در این وبلاگ می توانید شبیه سازی درایو های الکتریکی را دریافت نمایید

25 آموزش راه اندازی lcd کاراکتری با i2c و آردوینو

در این جلسه قصد داریم آموزش راه اندازی lcd کاراکتری با i2c و آردوینو رو آموزش بدیم.

در این آموزش ما فقط با 2 سیم و با کمک ماژول i2c lcd راه اندازی میکنیم و  باید به این نکته اشاره کنم که تابع هایی که استفاده میکنیم با آموزش راه اندازی lcd کاراکتری با آردوینو تفاوتی ندارن (بجز چند مورد که در ادامه توضیح میدم) پس فقط نوع ارتباطمون و کتابخونه مورد استفادمون متفاوته.

کتابخونه راه اندازی lcd کاراکتری با i2c

دانلود کتابخانه


گفتیم که نوع ارتباطمون متفاوته و از I2C استفاده میکنیم پس لازمه که از 2 معرفی زیر استفاده کنیم:

 

#include <Wire.h>

#include <LiquidCrystal_I2C.h>


و برای تعریف سطر و ستون ها در حلقه setup باید از کد زیر استفاده کنیم:

LiquidCrystal_I2C lcd(0x3F,16,2);
البته آدرس ها ممکن است یکی از این دسته باشند :

LiquidCrystal_I2C lcd(0x27,16,2);////////FOR REAL LCD
LiquidCrystal_I2C lcd(0x20,16,2);/////FOR PROTEUS LCD

در آموزش i2c در آردوینو گفتیم میشه روی این 2 خط سیم چند ماژول ، قطعه یا هر وسیله ای که قابلیت ارتباط i2c دارن رو قرار داد.


در پروتکل i2c هر قطعه یک آدرس داره ، عدد اولی که قبل از سطر و ستون (16 ستون و 2 سطر) قرار داره آدرس lcd هست، در ماژولی که من دارم این مقدار 0x3F هستش.

 

ماژول های بازار 2 مدل هستن  PCF8574A که جدید تره و آدرسش 0x3F هست و مدل های قدیمی که PCF8574  بودن و آدرسشون 0x27 بود .


 

اگر هم ماژول رو خودتون درست کردین باید طبق نکته زیر این عدد رو ایجاد کنید


PCF8574 PinOut


تصویر بالا شکل پایه های PCF8574  هستش ، پایه های A0وA1وA2 رو اگر زمین کنین یا به vcc وصل کنین ، طبق جدول زیر میتونین مقدار آدرس اون رو تغییر بدین:(بر حسب high یا low بودن از بخش هگزادسیمال باید عدد رو انتخاب کنین)

 

برای PCF8574

pcf8574 i2c

و برای PCF8574A

pcf8574a i2c


برای هر ال سی دی باید کلاس خودشو تعریف کنین(به همین خاطر میتونین چند تا ال سی دی هم وصل کنین)

 

مثلا :

lcd.init();

و اگر 2 تا lcd داشتین:

lcd1.init();

lcd2.init();

 

چون اینجا نور پس زمینه (backlight) رو هم با ic کنترل میکنیم در نتیجه با دستور های زیر میتونیم خاموش و روشنش کنیم:

lcd.backlight();

lcd.noBacklight();

 

پروژه راه اندازی lcd کاراکتری با i2c و آردوینو

برای انجام پروژه هم طبق آموزش بخش i2c باید از سخت افزار زیر استفاده کنیم:




و اگر پایه های ماژول رو لحیم کنین به این شکل در میاد

پروژه اول:

برای نوشتن یک خط روی ال سی دی از کد زیر استفاده میکنیم:

 

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,16,2);

void setup()

{

  lcd.init();

  lcd.backlight();

  lcd.print("Levinic.ir");

  delay(2000);

  lcd.noBacklight();

}

void loop(){}

 

 

 

پروژه 2:

 

و یا برای نمایش متن دریافتی از ارتباط سریال آردوینو میتونیم از پروژه زیر استفاده کنیم: ( هر متنی از طریق ارتباط سریال بفرستین روی ال سی دی نمایش داده میشه!)

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup() {

lcd.begin();

lcd.backlight();

Serial.begin(9600);

}

void loop() {

if (Serial.available()) {

delay(100);

lcd.clear();

while (Serial.available() > 0) {

lcd.write(Serial.read());

}

}

}

 

پروژه 3 :

و پروژه آخر هم برای اتصال 2 تا lcd :

توی این پروژه فقط دقت کنین که آدرس هر lcd باید متفاوت باشه :

 

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

 

LiquidCrystal_I2C lcd1(0x3F,16,2);

LiquidCrystal_I2C lcd2(0x38,16,2);

void setup()

{

  lcd1.init();

  lcd2.init();

 

  lcd1.backlight();

  lcd2.backlight();

  

  lcd1.print("Levinic");

  lcd2.print("Arduino is sweet");

}

void loop(){}

 

 

منبع :

http://levinic.ir/character-lcd-with-i2c-and-arduino/