- హార్డ్వేర్ అవసరం:
- OLED డిస్ప్లేల గురించి తెలుసుకోవడం:
- హార్డ్వేర్ మరియు కనెక్షన్లు:
- Arduino కోసం SSD1306 OLED డిస్ప్లేని ప్రోగ్రామింగ్:
మనలో చాలా మందికి 16 × 2 డాట్ మ్యాట్రిక్స్ ఎల్సిడి డిస్ప్లే గురించి తెలిసి ఉంటుంది, ఇది చాలా ప్రాజెక్టులలో వినియోగదారుకు కొంత సమాచారాన్ని ప్రదర్శించడానికి ఉపయోగించబడుతుంది. కానీ ఈ ఎల్సిడి డిస్ప్లేలు వారు చేయగలిగే వాటిలో చాలా పరిమితిని కలిగి ఉంటాయి. ఈ ట్యుటోరియల్లో మనం OLED డిస్ప్లేల గురించి మరియు వాటిని Arduino ఎలా ఉపయోగించాలో తెలుసుకోబోతున్నాము. మార్కెట్లో చాలా రకాల OLED డిస్ప్లేలు అందుబాటులో ఉన్నాయి మరియు వాటిని పని చేయడానికి చాలా మార్గాలు ఉన్నాయి. ఈ ట్యుటోరియల్లో మేము దాని వర్గీకరణల గురించి చర్చిస్తాము మరియు ఇది మీ ప్రాజెక్ట్కు బాగా సరిపోతుంది.
హార్డ్వేర్ అవసరం:
- 7 పిన్ 128 × 64 OLED డిస్ప్లే మాడ్యూల్ (SSD1306)
- ఆర్డునో UNO / నానో
- బ్రెడ్బోర్డ్
- వైర్లను కనెక్ట్ చేస్తోంది
- కంప్యూటర్ / ల్యాప్టాప్
OLED డిస్ప్లేల గురించి తెలుసుకోవడం:
OLED అనే పదం “ సేంద్రీయ కాంతి ఉద్గార డయోడ్” ని సూచిస్తుంది, ఇది మన టెలివిజన్లలో చాలావరకు ఉపయోగించబడే అదే సాంకేతికతను ఉపయోగిస్తుంది, కానీ వాటితో పోలిస్తే తక్కువ పిక్సెల్స్ ఉన్నాయి. ఈ కూల్ లుకింగ్ డిస్ప్లే మాడ్యూళ్ళను ఆర్డునోతో అనుసంధానించడం చాలా ఆనందంగా ఉంది, ఎందుకంటే ఇది మా ప్రాజెక్టులు చల్లగా కనిపిస్తుంది. మేము ఇక్కడ OLED డిస్ప్లేలు మరియు దాని రకాలను పూర్తి కథనాన్ని కవర్ చేసాము.
మేము మోనోక్రోమ్ 7-పిన్ SSD1306 0.96 ”OLED డిస్ప్లేని ఉపయోగిస్తున్నాము. ఈ ప్రదర్శనను ఎంచుకోవడానికి కారణం, ఇది SPI 3 వైర్ మోడ్, SPI ఫోర్ వైర్ మోడ్ మరియు IIC మోడ్ వంటి మూడు వేర్వేరు కమ్యూనికేషన్ ప్రోటోకాల్లలో పనిచేయగలదు. ఈ ట్యుటోరియల్ SPI 4-వైర్ మోడ్లో మాడ్యూల్ను ఎలా ఉపయోగించాలో కవర్ చేస్తుంది, ఎందుకంటే ఇది వేగవంతమైన కమ్యూనికేషన్ మోడ్ మరియు డిఫాల్ట్.
పిన్స్ మరియు దాని విధులు క్రింది పట్టికలో వివరించబడ్డాయి.
పిన్ నెంబర్ |
పిన్ పేరు |
ఇతర పేర్లు |
వాడుక |
1 |
Gnd |
గ్రౌండ్ |
మాడ్యూల్ యొక్క గ్రౌండ్ పిన్ |
2 |
Vdd |
విసిసి, 5 వి |
పవర్ పిన్ (3-5 వి భరించదగినది) |
3 |
ఎస్.సి.కె. |
D0, SCL, CLK |
క్లాక్ పిన్గా పనిచేస్తుంది. I2C మరియు SPI రెండింటికీ ఉపయోగిస్తారు |
4 |
SDA |
డి 1, మోసి |
మాడ్యూల్ యొక్క డేటా పిన్. IIC మరియు SPI రెండింటికీ ఉపయోగిస్తారు |
5 |
RES |
RST, రీసెట్ |
మాడ్యూల్ను రీసెట్ చేస్తుంది (SPI సమయంలో ఉపయోగపడుతుంది) |
6 |
DC |
A0 |
డేటా కమాండ్ పిన్. SPI ప్రోటోకాల్ కోసం ఉపయోగిస్తారు |
7 |
సి.ఎస్ |
చిప్ సెలెక్ట్ |
SPI ప్రోటోకాల్ క్రింద ఒకటి కంటే ఎక్కువ మాడ్యూల్ ఉపయోగించినప్పుడు ఉపయోగపడుతుంది |
ఈ ట్యుటోరియల్లో మేము మాడ్యూల్ను 4-వైర్ ఎస్పిఐ మోడ్లో ఆపరేట్ చేస్తాము, మిగిలిన వాటిని మరికొన్ని ట్యుటోరియల్ కోసం వదిలివేస్తాము.
Arduino సంఘం ఇప్పటికే మాకు చాలా లైబ్రరీలను ఇచ్చింది, దీనిని చాలా సరళంగా చేయడానికి నేరుగా ఉపయోగించవచ్చు. నేను కొన్ని లైబ్రరీలను ప్రయత్నించాను మరియు అడాఫ్రూట్_ఎస్ఎస్డి 1306 లైబ్రరీని ఉపయోగించడం చాలా సులభం మరియు కొన్ని గ్రాఫికల్ ఎంపికలు ఉన్నాయని నేను కనుగొన్నాను, అందువల్ల మేము ఈ ట్యుటోరియల్ లో కూడా ఉపయోగిస్తాము. కానీ, మీ ప్రాజెక్ట్కు మెమరీ / స్పీడ్ అడ్డంకి ఉంటే U8g లైబ్రరీ వేగంగా పని చేస్తుంది మరియు తక్కువ ప్రోగ్రామ్ మెమరీని కలిగి ఉంటుంది.
హార్డ్వేర్ మరియు కనెక్షన్లు:
SSD1306 కోసం సర్క్యూట్లో OLED Arduino తో అంతర్ముఖ నిజంగా సులభం మరియు క్రింద చూపించాం
మేము OLED మాడ్యూల్ మరియు ఆర్డునో మధ్య SPI కమ్యూనికేషన్ను ఏర్పాటు చేసాము. OLED 3V-5V పై నడుస్తుంది మరియు చాలా తక్కువ శక్తిని వినియోగిస్తుంది కాబట్టి దీనికి బాహ్య విద్యుత్ సరఫరా అవసరం లేదు. కనెక్షన్ చేయడానికి మీరు వైర్లను ఉపయోగించవచ్చు లేదా నేను ఉపయోగించినట్లుగా బ్రెడ్బోర్డ్ను ఉపయోగించవచ్చు, తద్వారా ప్రయోగాలు చేయడం సులభం. కనెక్షన్ దిగువ కథలో కూడా జాబితా చేయబడింది
ఎస్ |
OLED మాడ్యూల్లో పిన్ పేరు |
Arduino లో పిన్ పేరు |
1 |
Gnd, గ్రౌండ్ |
గ్రౌండ్ |
2 |
Vdd, Vcc, 5V |
5 వి |
3 |
SCK, D0, SCL, CLK |
10 |
4 |
SDA, D1, MOSI |
9 |
5 |
RES, RST, రీసెట్ |
13 |
6 |
DC, A0 |
11 |
7 |
సిఎస్, చిప్ సెలెక్ట్ |
12 |
గమనిక: మీరు OLED మాడ్యూల్పై శక్తినివ్వడం ద్వారా బ్యాక్లైట్ / గ్లోను దృశ్యమానం చేయలేరు. OLED డిస్ప్లేలో ఏవైనా మార్పులను గమనించడానికి మీరు దీన్ని సరిగ్గా ప్రోగ్రామ్ చేయాలి.
Arduino కోసం SSD1306 OLED డిస్ప్లేని ప్రోగ్రామింగ్:
కనెక్షన్లు సిద్ధమైన తర్వాత మీరు ఆర్డునో ప్రోగ్రామింగ్ ప్రారంభించవచ్చు. ఇంతకు ముందే చెప్పినట్లుగా, ఈ OLED మాడ్యూల్తో పనిచేయడానికి మేము అడాఫ్రూట్ లైబ్రరీ మరియు GFX లైబ్రరీని ఉపయోగిస్తాము. మీ OLED డిస్ప్లేని పరీక్షించడానికి దశలను అనుసరించండి.
దశ 1: ఈ క్రింది లింక్ను ఉపయోగించి గితుబ్ నుండి అడాఫ్రూట్ లైబ్రరీ మరియు జిఎఫ్ఎక్స్ లైబ్రరీని డౌన్లోడ్ చేయండి
- అడాఫ్రూట్ లైబ్రరీ
- GFX గ్రాఫిక్స్ లైబ్రరీ
దశ 2: మీరు రెండు జిప్ ఫైళ్ళను డౌన్లోడ్ చేసుకోవాలి. ఇప్పుడు వాటిని అనుసరించడం ద్వారా వాటిని మీ ఆర్డునోలో చేర్చండి
స్కెచ్-> లైబ్రరీని చేర్చండి -> క్రింద చూపిన విధంగా జిప్ లైబ్రరీని జోడించండి . అప్పుడు మేము డౌన్లోడ్ చేసిన లైబ్రరీని ఎంచుకోండి. మీరు ఒకేసారి ఒక లైబ్రరీని మాత్రమే ఎంచుకోవచ్చు, అందువల్ల మీరు ఈ దశను మళ్ళీ పునరావృతం చేయాలి.
దశ 3: దిగువ చిత్రంలో చూపిన విధంగా ఫైల్-> ఉదాహరణలు-> అడాఫ్రూట్ SSD1306 -> SSD1306_128 * 64_SPI.ino ని ఎంచుకోవడం ద్వారా ఉదాహరణ ప్రోగ్రామ్ను ప్రారంభించండి.
దశ 4: 64 వ పంక్తి పైన ఉన్న ఉదాహరణ ప్రోగ్రామ్ లోపల “# SSD1306_LCDHEIGHT 64” అనే పంక్తిని క్రింది చిత్రంలో చూపిన విధంగా జోడించండి.
దశ 5: ఇప్పుడు ప్రోగ్రామ్ను అప్లోడ్ చేయండి మరియు ఈ క్రింది చిత్రంలో చూపిన విధంగా OLED డిస్ప్లే డిఫాల్ట్ అడాఫ్రూట్ ఉదాహరణ కోడ్తో కాల్చడాన్ని మీరు చూడాలి. పూర్తి పని వీడియో చివరిలో ఇవ్వబడుతుంది.
ఈ ఉదాహరణ ప్రోగ్రామ్ OLED స్క్రీన్లో ప్రదర్శించబడే అన్ని గ్రాఫిక్లను మీకు చూపుతుంది. మీరు బిట్మ్యాప్లను సృష్టించడానికి, పంక్తులు / వృత్తాలు / దీర్ఘచతురస్రాలను గీయడానికి, పిక్సెల్లతో ఆడటానికి, వేర్వేరు ఫాంట్లు మరియు పరిమాణాలతో చార్ మరియు స్ట్రింగ్ను ప్రదర్శించడానికి ఈ కోడ్ సరిపోతుంది…
మీరు లైబ్రరీని మరియు దాని విధులను బాగా అర్థం చేసుకోవాలనుకుంటే మీరు మరింత చదవవచ్చు. కోడ్ యొక్క ప్రతి జంక్లు విభజించబడ్డాయి మరియు వ్యాఖ్య రేఖల సహాయంతో వివరించబడ్డాయి. ఈ ఆర్టికల్ చివరిలో పూర్తి కోడ్ ఇవ్వబడింది
స్క్రీన్ను ప్రదర్శించడం మరియు క్లియర్ చేయడం:
OLED తెరపై రాయడం అనేది నల్లబల్లపై వ్రాసినట్లే, మనం విలువలను వ్రాసి, దానిని తిరిగి వ్రాయడానికి ముందే దాన్ని శుభ్రం చేయాలి. ప్రదర్శనను వ్రాయడానికి మరియు క్లియర్ చేయడానికి క్రింది ఆదేశాలను ఉపయోగిస్తారు
display.display (); // display.clearDisplay () ప్రదర్శించడానికి వ్రాయండి; // ప్రదర్శనను క్లియర్ చేయండి
అక్షర వేరియబుల్ ప్రదర్శిస్తుంది:
వేరియబుల్ లోపల కంటెంట్ను ప్రదర్శించడానికి క్రింది కోడ్ను ఉపయోగించవచ్చు.
చార్ i = 5; // ప్రదర్శించాల్సిన వేరియబుల్ display.setTextSize (1); // టెక్స్ట్ display.setTextColor (WHITE) యొక్క పరిమాణాన్ని ఎంచుకోండి; // మోనోక్రోమ్ డిస్ప్లే కోసం వైట్ మాత్రమే సాధ్యమవుతుంది display.setCursor (0,0); // 0,0 అనేది OLED స్క్రీన్ డిస్ప్లే యొక్క ఎగువ ఎడమ మూలలో ఉంది.రైట్ (i); // ప్రదర్శించాల్సిన వేరియబుల్ రాయండి
ఒక గీతను గీయడం, వృత్తం, దీర్ఘచతురస్రం, త్రిభుజం:
మీరు మీ ప్రదర్శనకు కొన్ని చిహ్నాలను జోడించాలనుకుంటే, కింది వాటిలో దేనినైనా గీయడానికి మీరు ఈ క్రింది కోడ్ను ఉపయోగించవచ్చు
display.drawLine (display.width () - 1, 0, i, display.height () - 1, WHITE); // శూన్య డ్రాలైన్ (x0, y0, x1, y1, రంగు); display.drawRect (i, i, display.width () - 2 * i, display.height () - 2 * i, WHITE); // శూన్య డ్రా రెక్ట్ (x0, y0, w, h, రంగు); display.drawTriangle (display.width () / 2, display.height () / 2-i, display.width () / 2-i, display.height () / 2 + i, display.width () / 2+ i, display.height () / 2 + i, WHITE); // శూన్య డ్రాట్రియాంగిల్ (x0, y0, x1, y1, x2, y2, రంగు); display.drawCircle (display.width () / 2, display.height () / 2, i, WHITE); // శూన్య డ్రా సర్కిల్ (x0, y0, r, రంగు);
స్క్రీన్కు స్ట్రింగ్ గీయడం:
ఈ క్రింది కోడ్ను ఉపయోగించవచ్చు o స్క్రీన్లో ఏదైనా సందేశాన్ని ఒక నిర్దిష్ట ప్రదేశం మరియు పరిమాణంలో ప్రదర్శిస్తుంది
display.setTextSize (2); // టెక్స్ట్ డిస్ప్లే యొక్క పరిమాణాన్ని సెట్ చేయండి.సెట్టెక్స్ట్ కలర్ (WHITE); // రంగు సెట్టింగ్ display.setCursor (10,0); // స్ట్రింగ్ 10,0 (x, y) display.clearDisplay () వద్ద ప్రారంభమవుతుంది; // స్క్రీన్ డిస్ప్లేలో మునుపటి ప్రదర్శనను ఎరేజర్ చేయండి. ప్రింట్ల్న్ ("సర్క్యూట్ డైజెస్ట్"); // ఇక్కడ స్ట్రింగ్ను ప్రింట్ చేయండి “సర్క్యూట్ డైజెస్ట్” display.display (); // టెక్స్ట్ని స్క్రీన్కు పంపండి
బిట్మ్యాప్ చిత్రాన్ని ప్రదర్శిస్తోంది:
OLED మాడ్యూల్తో చేయగలిగే ఒక నమ్మదగని విషయం ఏమిటంటే ఇది బిట్మ్యాప్లను ప్రదర్శించడానికి ఉపయోగపడుతుంది. బిట్మ్యాప్ చిత్రాన్ని ప్రదర్శించడానికి క్రింది కోడ్ ఉపయోగించబడుతుంది
static const సంతకం చేయని చార్ PROGMEM logo16_glcd_bmp = {B00000000, B11000000, B00000001, B11000000, B00000001, B11000000, B00000011, B11100000, B11110011, B11100000, B11111110, B1111111, B1111111, B1111111, B1111111, B1111111 B10100000, B00111111, B11100000, B00111111, B11110000, B01111100, B11110000, B01110000, B01110000, B00000000, B00110000}; display.drawBitmap (XPO], YPOS, బిట్మ్యాప్, w, h, WHITE); // శూన్య డ్రాబిట్మ్యాప్ (x, y, * బిట్మ్యాప్, w, h, రంగు);
మీరు గమనిస్తే, ఒక చిత్రాన్ని ప్రదర్శించడానికి, బిట్మ్యాప్ డేటాను ప్రోగ్రామ్ మెమరీలో PROMGMEM డైరెక్టివ్ రూపంలో నిల్వ చేయాలి. సరళంగా చెప్పాలంటే, ప్రతి పిక్సెల్తో ఏమి చేయాలో OLED డిస్ప్లేకి సూచించవలసి ఉంటుంది. ఈ శ్రేణి చిత్రం యొక్క బిట్మ్యాప్ డేటాను కలిగి ఉంటుంది.
ఇది సంక్లిష్టంగా అనిపించవచ్చు కాని వెబ్ సాధనం సహాయంతో చిత్రాన్ని బిట్ మ్యాప్ విలువలుగా మార్చడం మరియు వాటిని పై శ్రేణిలోకి లోడ్ చేయడం చాలా సులభం.
చిత్రం యొక్క ప్రివ్యూను పొందడానికి చిత్రాన్ని లోడ్ చేయండి మరియు సెట్టింగులను సర్దుబాటు చేయండి. అప్పుడు “కోడ్ను రూపొందించండి” క్లిక్ చేసి కోడ్ను కాపీ చేసి మీ అర్రేలో అతికించండి. ప్రోగ్రామ్ను అప్లోడ్ చేయండి మరియు మీరు పూర్తి చేసారు. నేను బాట్మాన్ లోగోను ప్రదర్శించడానికి ప్రయత్నించాను మరియు ఇది ఎలా మారింది.
ఈ లైబ్రరీలతో మీరు చేయగలిగేవి ఇంకా చాలా ఉన్నాయి. పూర్తి అవకాశాలను తెలుసుకోవడానికి అడాఫ్రూట్ జిఎఫ్ఎక్స్ గ్రాఫిక్స్ ప్రిమిటివ్స్ పేజీని సందర్శించండి.
మీరు ఈ రన్నింగ్ పొందారని మరియు మీ కొన్ని ప్రాజెక్ట్లలో OLED డిస్ప్లేని అమలు చేయడానికి సిద్ధంగా ఉన్నారని ఆశిస్తున్నాము. మీకు ఏమైనా సమస్య ఉంటే వాటిని వ్యాఖ్య విభాగంలో భాగస్వామ్యం చేయండి మరియు వాటిని సరిదిద్దడానికి నా వంతు ప్రయత్నం చేస్తాను.