A 0.91 "OLED display ay isang maliit, mataas na kaibahan na screen na perpekto para sa Pagpapakita ng data ng teksto, graphics, at sensor sa mga proyekto ng Arduino. Ang gabay na ito ay lalakad sa iyo Ang mga kable, coding, at pagpapakita ng teksto at graphics Gamit ang SSD1306 na nakabase sa OLED module kasama si Arduino.
1. Ano ang kailangan mo
✅ Lupon ng Arduino (Uno, mega, nano, atbp.)
✅ 0.91 "OLED Display (SSD1306, I2C)
✅ Jumper wires
✅ Naka -install ang Arduino IDE
🔹 Tandaan: Nakatuon ang tutorial na ito Komunikasyon ng I2C, na gumagamit lamang Dalawang Wire (SDA & SCL), ginagawang perpekto para sa mga simpleng proyekto.
2. Wiring Ang 0.91 "OLED sa Arduino (I2C Mode)
OLED display pin | Arduino uno pin | Arduino Nano Pin |
---|---|---|
VCC | 5v | 5v |
Gnd | Gnd | Gnd |
SDA | A4 (SDA) | A4 (SDA) |
SCL | A5 (SCL) | A5 (SCL) |
🔹 Para kay Arduino Mega: Gumamit SDA (pin 20) at SCL (pin 21).
3. Pag -install ng mga kinakailangang aklatan
Bago ang pag -cod, i -install ang Adafruit SSD1306 at Adafruit GFX Mga Aklatan:
- Buksan Arduino Ide.
- Pumunta sa Sketch → Isama ang Library → Pamahalaan ang mga aklatan.
- Maghanap Adafruit SSD1306 at i -install ito.
- Maghanap Adafruit GFX at i -install ito.
4. Pangunahing code upang ipakita ang teksto sa OLED
Ang halimbawang ito ay sinisimulan ang OLED at ipinapakita "Kumusta, Arduino!".
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Define OLED screen size
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
// Initialize OLED display (I2C address 0x3C)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200);
// Start OLED display
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 allocation failed");
for (;;);
}
display.clearDisplay(); // Clear buffer
display.setTextSize(1); // Text size
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 10);
display.println("Hello, Arduino!");
display.display(); // Show text on screen
}
void loop() {
// Nothing here (text is static)
}
🔹 Ano ang ginagawa ng code na ito:
✔ Initialize ang SSD1306 display.
✔ Mga kopya "Kumusta, Arduino!" Sa screen.
✔ Gamit I2C Address 0x3c (Maaaring gamitin ang ilang mga module 0x3d).
5. Pagpapakita ng mga graphic (linya, bilog, mga imahe)
Upang gumuhit mga hugis, baguhin ang code gamit ADAFRUIT GFX FUNCTIONS.
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
// Draw a rectangle
display.drawRect(10, 10, 50, 20, SSD1306_WHITE);
// Draw a filled circle
display.fillCircle(90, 16, 10, SSD1306_WHITE);
display.display();
}
void loop() {}
🔹 Iba pang mga pag -andar sa pagguhit:
✔ display.drawLine(x1, y1, x2, y2, color);
→ Gumuhit ng isang linya
✔ display.drawCircle(x, y, radius, color);
→ Gumuhit ng isang bilog
✔ display.drawRect(x, y, width, height, color);
→ Gumuhit ng isang rektanggulo
6. Pag -scroll ng halimbawa ng teksto
Ang halimbawang ito ay nag -scroll ng teksto pahalang Sa buong screen ng OLED.
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 10);
display.println("Scrolling Text...");
display.display();
// Start scrolling
display.startscrollleft(0x00, 0x0F);
}
void loop() {}
🔹 Mga Pag -andar ng Pag -scroll:
✔ display.startscrollleft(start, stop);
→ Mag -scroll ng teksto Kaliwa
✔ display.startscrollright(start, stop);
→ Mag -scroll ng teksto tama
✔ display.stopscroll();
→ Tumigil sa pag -scroll
7. Mga Tip sa Pag -aayos
Suliranin: Ipakita na hindi nagpapakita ng anuman.
✅ Suriin Mga kable (SDA & SCL na tama na konektado).
✅ Tiyakin ang Oled i2c address ay 0x3c (o subukan ang 0x3d).
✅ Gumamit ng isang I2C scanner Upang makita ang aparato:
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("Scanning...");
for (byte address = 8; address < 120; address++) {
Wire.beginTransmission(address);
if (Wire.endTransmission() == 0) {
Serial.print("Found I2C device at 0x");
Serial.println(address, HEX);
}
}
}
void loop() {}
Suliranin: Ang teksto ay napakaliit o napakalaki.
✅ Ayusin display.setTextSize(1);
(Dagdagan para sa mas malaking teksto).
8. Mga praktikal na aplikasyon
✔ Pagpapakita ng data ng sensor -Ipakita ang mga real-time na pagbabasa mula sa DHT11, BMP280, atbp.
✔ Display ng orasan - Pagsamahin sa DS3231 RTC Module Upang makagawa ng isang digital na orasan.
✔ Mga System ng Menu - Gumamit ng mga pindutan upang mag -navigate sa pamamagitan ng mga menu.
✔ Tagapagpahiwatig ng boltahe ng baterya - Subaybayan ang mga antas ng kapangyarihan sa mga portable na proyekto.
9. Konklusyon
Gamit ang a 0.91 "OLED kasama si Arduino ay isang mahusay na paraan upang idagdag Visual output sa iyong mga proyekto. Kung nais mong ipakita Teksto, graphics, o data ng sensor, Nag -aalok ang maliit na screen na ito Mataas na kaibahan at mababang pagkonsumo ng kuryente.