LCD های گرافیکی کاربرد فراوانی در مدارات امبدد دارند . از این LCD های می توان برای نمایش پارامتر های مختلف و همچنین منو های تو در تو استفاده کرد . LCD گرافیکی موسوم به نوکیا 5110 یک LCD گرافیکی 48*84 پیکسلی است که در گوشی های نوکیا 5110  به کار می رفتند . راه اندازی ساده و ابعاد کوچک این LCD ، کاربرد دیگری بجز استفاده در گوشی های نوکیا 5110 برای آن پیدا کرد و آن هم استفاده در پروژه های امبدد بود . LCD نوکیا 5110 شامل یک LCD گرافیکی همراه با درایور PCD8544 است که امکان اره اندازی LCD از طریق رابط SPI را فراهم می سازد . به راحتی می توانید متن های مختلف یا تصاویر Bitmap را بر روی این LCD نمایش دهید . از آنجایی که این LCD یک LCD مونو کالر  است ، لذا قابلیت راه اندازی از طریق کتابخانه های قویی مانند U8g2 را دارد . LCD های نوکیا 5110 در دو مدل برد قرمز و برد آبی موجود اند . تنها تفاوت این دو در راه اندازی مربوط به LED بکلایت آن ها است . هچنین مدل های برد آبی بیشتر به صورت استوک هستند (LCD گوشی های قدیمی بر روی این برد ها نصب شده است ) اما مدل برد قرمز آن کیفت بسیار بالاتری دارد . اگر تنها جهت تست می خواهید از این LCD ها استفاده کنید بهتر است از مدل با برد آبی استفاده کنید (قیمت آن پایین تر می باشد ) ولی در پروژه های عملی مدل با برد قرمز پیشنهاد می شود .

 

در تصویر زیر پین های این ماژول نشان داده شده اند :

 

1- پین RST پین ریست LCD می باشد .

2- CE پین فعال سازی ماژول برای ارتباط SPI می باشد .

3- پین نوع داده ارسال شده را تعیین می کند که جهت نمایش است یا کامند می باشد .

4- DIN پین ورودی دیتا .

5- پین ورودی پالس ساعت .

6- VCC تغذیه ماژول می باشد که باید به 5 ولت متصل شود .

7- پین BL برای کنترل بکلایت LCD می باشد که در مدل های با برد قرمز باید به GND متصل شود و در مدل های با برد آبی باید به VCC متصل شود .

8- GND پین زمین ماژول .

 

راه اندازی توسط آردوینو :

برای راه اندازی این نمایشگر کتابخانه های زیادی وجود دارد . در کد های زیر از کتابخانه Adafruit استفاده شده است اما می توانید آن را با کتابخانه U8g2 نیز راه اندازی کنید .

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// Declare LCD object for software SPI
// Adafruit_PCD8544(CLK,DIN,D/C,CE,RST);
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

int rotatetext = 1;

void setup()   {
    Serial.begin(9600);

    //Initialize Display
    display.begin();

    // you can change the contrast around to adapt the display for the best viewing!
    display.setContrast(57);

    // Clear the buffer.
    display.clearDisplay();

    // Display Text
    display.setTextSize(1);
    display.setTextColor(BLACK);
    display.setCursor(0,0);
    display.println("Hello world!");
    display.display();
    delay(2000);
    display.clearDisplay();


    // Display Inverted Text
    display.setTextColor(WHITE, BLACK); // 'inverted' text
    display.setCursor(0,0);
    display.println("Hello world!");
    display.display();
    delay(2000);
    display.clearDisplay();

    // Scaling Font Size
    display.setTextColor(BLACK);
    display.setCursor(0,0);
    display.setTextSize(2);
    display.println("Hello!");
    display.display();
    delay(2000);
    display.clearDisplay();

    // Display Numbers
    display.setTextSize(1);
    display.setCursor(0,0);
    display.println(123456789);
    display.display();
    delay(2000);
    display.clearDisplay();

    // Specifying Base For Numbers
    display.setCursor(0,0);
    display.print("0x"); display.print(0xFF, HEX); 
    display.print("(HEX) = ");
    display.print(0xFF, DEC);
    display.println("(DEC)"); 
    display.display();
    delay(2000);
    display.clearDisplay();

    // Display ASCII Characters
    display.setCursor(0,0);
    display.setTextSize(2);
    display.write(3);
    display.display();
    delay(2000);
    display.clearDisplay();

    // Text Rotation
    while(1)
    {
    display.clearDisplay();
    display.setRotation(rotatetext);  // rotate 90 degrees counter clockwise, can also use values of 2 and 3 to go further.
    display.setTextSize(1);
    display.setTextColor(BLACK);
    display.setCursor(0,0);
    display.println("Text Rotation");
    display.display();
    delay(1000);
    display.clearDisplay();
    rotatetext++;
    }
}

void loop() {}

 

Tags:
About Author: USER_4