π ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡ Π½Π° Π±Π°Π·Π΅ Arduino, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ:
- ΡΠ΅ΠΊΡΡΠ΅Π΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ Π²Ρ ΠΎΠ΄Π΅ (Π΄ΠΎ 5 Π) Π΅ΡΠ»ΠΈ Π±Π΅Π· Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
- ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ
- ΡΠΊΠ°Π»Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² (ΠΊΠ°ΠΊ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΡΠΎΠ²Π½Ρ)
- ΠΆΠΈΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠ±ΡΠΎΡΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π½Π° OLED 128Γ64 Π΄ΠΈΡΠΏΠ»Π΅Π΅ Π΄Π»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π³ΡΠ°ΡΠΈΠΊ.
π ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
| ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | ΠΠΎΠ»-Π²ΠΎ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
| Arduino Uno/Nano | 1 | ΠΡΠ±Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ° |
| OLED-Π΄ΠΈΡΠΏΠ»Π΅ΠΉ 128×64 I2C | 1 | ΠΠ΄ΡΠ΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0x3C |
| ΠΠ½ΠΎΠΏΠΊΠ° | 1 | ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊ ΠΏΠΈΠ½Ρ D2 ΠΈ GND |
| Π Π΅Π·ΠΈΡΡΠΎΡ (10 ΠΊΠΠΌ) | 1 | ΠΠ»Ρ ΠΏΠΎΠ΄ΡΡΠΆΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΡΠ΅Π· INPUT_PULLUP |
| ΠΡΠΎΠ²ΠΎΠ΄Π°, ΠΌΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ° | — | ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² |
βοΈ Π‘Ρ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ

| ΠΠΈΠ½ Arduino | ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ |
|---|---|
| A0 | ΠΠ·ΠΌΠ΅ΡΡΠ΅ΠΌΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ |
| A4 (SDA) | OLED SDA |
| A5 (SCL) | OLED SCL |
| D2 | ΠΠ½ΠΎΠΏΠΊΠ° (Π²ΡΠΎΡΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π½Π° GND) |
| 5V, GND | ΠΠΈΡΠ°Π½ΠΈΠ΅ OLED ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ |
π Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ 0.01 Π
- Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
- ΠΠ½ΠΎΠΏΠΊΠ° Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°
- Π‘Π΅Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΊΠ°Π»Π° ΡΡΠΎΠ²Π½Ρ (Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Π°Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ)
- Π Π΅Π°Π»Π’Π°ΠΉΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ (ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈ-ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°Ρ)
π§ ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
- ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΈΠ½Π°
A0Ρ ΠΏΠΎΠΌΠΎΡΡΡanalogRead() - ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² Π²ΠΎΠ»ΡΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ
- Π ΠΌΠ°ΡΡΠΈΠ²Π΅
graphBuffer[]ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ - ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΠΎΠΈΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΠΊ
- ΠΠ½ΠΎΠΏΠΊΠ° ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ (Π°Π½ΡΠΈΠ΄ΡΠ΅Π±Π΅Π·Π³ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅ΡΠ΅Π·
delay(300))
π ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° (ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ)
1. Π§ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΡΡ
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ Π²Ρ
ΠΎΠ΄ A0 ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ analogRead(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 Π΄ΠΎ 1023, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡ 0 Π΄ΠΎ 5 Π. ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² Π²ΠΎΠ»ΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅:
voltage = raw * (5.0 / 1023.0);
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ maxVoltage. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° β ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π° ΡΠΊΡΠ°Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΏΠΈΠΊΠΎΠ²ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ±ΡΠΎΡΠ°.
2. ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΡΠΎΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏΠΎΠ²:
- ΠΠ΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ Π΄ΠΈΡΠΏΠ»Π΅Ρ β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠ°.
- Π‘ΡΠ΅Π΄Π½ΡΡ ΡΠ°ΡΡΡ β Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΠΎΠΉ ΡΠΊΠ°Π»Ρ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π°ΠΊΡΠΈΠ²Π΅Π½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠΎΠ²Π½Ρ ΡΠΈΠ³Π½Π°Π»Π°.
- ΠΠΈΠΆΠ½ΡΡ ΡΠ°ΡΡΡ β Π³ΡΠ°ΡΠΈΠΊ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°
graphBuffer[], Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 128 ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΌΠ°Π½Π°Ρ Π»ΠΈΠ½ΠΈΡ, ΠΏΠΎΠ²ΡΠΎΡΡΡ ΡΠΎΡΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ.
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ OLED-Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΠΎ.
π§ ΠΠΈΡΠΏΠ»Π΅ΠΉ
Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ OLED Π΄ΠΈΡΠΏΠ»Π΅Ρ

π§Ύ ΠΠΎΠ΄ ΡΠΊΠ΅ΡΡΠ°
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
const int analogPin = A0;
const int resetButtonPin = 2;
#define GRAPH_HEIGHT 20
#define GRAPH_WIDTH 128
uint8_t graphBuffer[GRAPH_WIDTH];
class VoltMeter {
private:
int pin;
float voltage;
float maxVoltage;
public:
VoltMeter(int analogInputPin) {
pin = analogInputPin;
voltage = 0.0;
maxVoltage = 0.0;
}
void measure() {
int raw = analogRead(pin);
voltage = raw * (5.0 / 1023.0);
if (voltage > maxVoltage) {
maxVoltage = voltage;
}
}
void resetMax() {
maxVoltage = voltage;
}
float getVoltage() {
return voltage;
}
float getMax() {
return maxVoltage;
}
};
VoltMeter voltmeter(analogPin);
void updateGraph(float voltage) {
for (int i = 0; i < GRAPH_WIDTH - 1; i++) {
graphBuffer[i] = graphBuffer[i + 1];
}
uint8_t newY = map(voltage * 100, 0, 500, 0, GRAPH_HEIGHT);
graphBuffer[GRAPH_WIDTH - 1] = newY;
}
void drawGraph() {
int baseY = SCREEN_HEIGHT - 1;
for (int x = 0; x < GRAPH_WIDTH - 1; x++) {
display.drawLine(x, baseY - graphBuffer[x], x + 1, baseY - graphBuffer[x + 1], SSD1306_WHITE);
}
}
void drawScale(float value) {
const int segments = 10;
const int startX = 0;
const int startY = 22;
const int segWidth = 10;
const int segHeight = 5;
const int gap = 2;
int activeSegments = map(value * 100, 0, 500, 0, segments);
for (int i = 0; i < segments; i++) {
int x = startX + i * (segWidth + gap);
if (i < activeSegments) {
display.fillRect(x, startY, segWidth, segHeight, SSD1306_WHITE);
} else {
display.drawRect(x, startY, segWidth, segHeight, SSD1306_WHITE);
}
}
}
void setup() {
pinMode(resetButtonPin, INPUT_PULLUP);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 28);
display.println("Digital Voltmeter");
display.display();
delay(1500);
}
void loop() {
voltmeter.measure();
if (digitalRead(resetButtonPin) == LOW) {
voltmeter.resetMax();
delay(300);
}
float voltage = voltmeter.getVoltage();
float maxVoltage = voltmeter.getMax();
updateGraph(voltage);
display.clearDisplay();
display.setCursor(0, 0);
display.print("Voltage: ");
display.print(voltage, 2);
display.println(" V");
display.setCursor(0, 10);
display.print("Max: ");
display.print(maxVoltage, 2);
display.println(" V");
drawScale(voltage);
drawGraph();
display.display();
delay(200);
}
π¦ ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° A0: 5 Π! ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅.
- ΠΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ²:
- EEPROM Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°
- ΠΠ²ΡΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΌΠ°ΡΡΡΠ°Π±Π° Π³ΡΠ°ΡΠΈΠΊΠ°
- ΠΡΠΌ Π½Π° Π³ΡΠ°ΡΠΈΠΊ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π΄Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
π Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ
- π ΠΠΎΠ»ΡΡΠΌΠ΅ΡΡ Ρ OLED 128Γ32 Π±Π΅Π· Π³ΡΠ°ΡΠΈΠΊΠ° (ΡΠΏΡΠΎΡΡΠ½Π½ΡΠΉ)
- π ΠΠΈΠ½ΠΈ-ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°Ρ Π½Π° Arduino (Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅)
