כרטיס 30 פינים – ESP32-DevKitC-32 ESP-WROOM-32
₪55.00
18 במלאי
תיאור
30 פינים
ESP32-DevKitC-32 ESP-WROOM-32
סט דוגמאות קוד בשפת סי לארדוינו לכל רוכש .

להלן מדריך “מאפס לאורות נדלקים ול-OLED עובד”. הוא כתוב כך שתוכל לבצע אותו שלב-אחר-שלב בלי להניח ידע קודם מעבר להתקנת תוכנות בסיסית.
1) מה צריך מראש
חומרה מינימלית
- לוח ESP32 (נפוץ: ESP32-WROOM-32 DevKit / NodeMCU-32S / ESP32 Dev Module).
- כבל USB-נתונים (לא “כבל טעינה בלבד”).
- (לא חובה) LED מובנה על הלוח. אם אין—תוכל להשתמש ב-Serial Monitor בלבד.
להפעלת OLED (נפוץ)
- OLED I2C בגודל 0.96" או 1.3" עם בקר SSD1306.
- 4 חוטים: VCC, GND, SDA, SCL.
2) התקנת Arduino IDE והכנת הסביבה
2.1 התקנת Arduino IDE
- מומלץ Arduino IDE 2.x (הגרסה החדשה). מתקינים כרגיל.
2.2 התקנת דרייברים (רק אם צריך)
אם המחשב לא מזהה פורט חדש כשמחברים את ה-ESP32:
- לוחות רבים משתמשים בממיר USB-Serial מסוג CP2102 או CH340.
- התקן דרייבר מתאים ואז נתק/חבר מחדש את הלוח.
סימן שהכול תקין: ב-Arduino IDE יופיע פורט COM (Windows) או /dev/tty… (Linux/Mac).
3) הוספת תמיכת ESP32 ל-Arduino IDE (Board Package)
- פתח Arduino IDE.
- היכנס ל-File → Preferences.
- בשדה Additional Boards Manager URLs הוסף את ה-URL הבא (אם יש כבר, הוסף בשורה חדשה):
https://espressif.github.io/arduino-esp32/package_esp32_index.json
- לחץ OK.
- היכנס ל-Tools → Board → Boards Manager.
- חפש esp32 והתקן את “esp32 by Espressif Systems”.
- בסיום—סגור/פתח מחדש את ה-IDE (מומלץ).
4) בחירת לוח, פורט והגדרות בסיסיות
- Tools → Board ובחר אחד מהבאים (מה שמתאים ללוח שלך):
- אם לא בטוח: לרוב עובד ESP32 Dev Module.
- Tools → Port בחר את הפורט של ה-ESP32.
- הגדרות מומלצות להתחלה (בתפריט Tools, משתנה לפי לוח):
- Upload Speed: 921600 או 460800 (אם יש תקלות—הורד ל-115200)
- Flash Frequency: 80MHz
- Partition Scheme: Default (או “Huge APP” אם פרויקטים גדולים)
5) התוכנית הראשונה: “Hello Serial” + Blink (אם יש LED)
5.1 בדיקה עם Serial Monitor
צור סקיצה חדשה והדבק:
void setup() {
Serial.begin(115200);
delay(300);
Serial.println("ESP32 is alive!");
}
void loop() {
static uint32_t last = 0;
if (millis() - last >= 1000) {
last = millis();
Serial.println("Tick...");
}
}
- לחץ Upload.
- פתח Tools → Serial Monitor.
- קבע מהירות (baud) ל-115200.
- אתה אמור לראות “Tick…” כל שנייה.
אם אתה רואה ג’יבריש—ה-baud לא נכון.
5.2 Blink (רק אם יש LED מובנה על GPIO ידוע)
בחלק מהלוחות יש LED על GPIO2 או GPIO5 או GPIO13, ואין סטנדרט מחייב.
אם אתה יודע שה-LED הוא על GPIO2 (נפוץ), נסה:
const int LED_PIN = 2;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(300);
digitalWrite(LED_PIN, LOW);
delay(300);
}
אם אין LED/לא נדלק—דלג, זה לא קריטי. ה-Serial הוא בדיקת “שלום עולם” אמינה.
6) חיבור OLED (I2C) בצורה נכונה
6.1 חיווט סטנדרטי
רוב תצוגות ה-OLED I2C מסומנות כך:
- VCC → 3.3V (בחלק מהמודולים אפשר גם 5V, אבל עדיף 3.3V ל-ESP32)
- GND → GND
- SDA → GPIO21 (ברוב לוחות ESP32)
- SCL → GPIO22 (ברוב לוחות ESP32)
אם אצלך הלוח שונה—עדיין אפשר לבחור פינים אחרים, אבל 21/22 הם ברירת-מחדל נפוצה.
6.2 כתובת I2C נפוצה
- לרוב:
0x3C - לפעמים:
0x3D
נבדוק זאת עם סורק I2C עוד רגע.
7) התקנת ספריות ל-OLED
ב-Arduino IDE:
- Tools → Manage Libraries
- חפש והתקן:
- Adafruit SSD1306
- Adafruit GFX Library
ה-IDE יתקין גם תלות כמו Adafruit BusIO.
8) סורק I2C כדי לוודא שה-OLED מזוהה
העלה את הקוד הבא:
#include <Wire.h>
void setup() {
Serial.begin(115200);
delay(300);
Wire.begin(21, 22); // SDA, SCL
Serial.println("\nI2C scan...");
for (uint8_t addr = 1; addr < 127; addr++) {
Wire.beginTransmission(addr);
uint8_t err = Wire.endTransmission();
if (err == 0) {
Serial.print("Found device at 0x");
if (addr < 16) Serial.print("0");
Serial.println(addr, HEX);
}
}
Serial.println("Done.");
}
void loop() {}
ב-Serial Monitor אתה אמור לראות:
- “Found device at 0x3C” (או 0x3D)
אם לא נמצא שום דבר:
- החלף SDA/SCL (טעות חיווט נפוצה).
- ודא VCC ו-GND.
- נסה
Wire.begin(4, 5)רק אם אתה יודע שהלוח ממופה אחרת. - ודא שזה באמת OLED I2C (יש גם SPI עם יותר פינים).
9) תוכנית OLED ראשונה: טקסט + מונה
הקוד הבא מניח:
- תצוגה 128×64
- כתובת
0x3C - I2C על פינים 21/22
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1 // ברוב מודולי I2C אין פין RESET
#define OLED_ADDR 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(115200);
delay(300);
Wire.begin(21, 22); // SDA, SCL
if (!display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR)) {
Serial.println("SSD1306 allocation failed (wrong address/size/wiring?)");
while (true) delay(100);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Hello ESP32 + OLED!");
display.display();
delay(1000);
}
void loop() {
static uint32_t counter = 0;
display.clearDisplay();
display.setCursor(0, 0);
display.println("OLED is working.");
display.print("Counter: ");
display.println(counter++);
display.print("Millis: ");
display.println(millis());
display.display();
delay(200);
}
אם המסך שלך 128×32
שנה:
#define SCREEN_HEIGHT 32
אם הכתובת היא 0x3D
שנה:
#define OLED_ADDR 0x3D
10) תקלות נפוצות ופתרונות מהירים
Upload נכשל / “Timed out waiting for packet header”
- ודא שבחרת Port נכון.
- לחץ והחזק BOOT בזמן תחילת ה-upload (בחלק מהלוחות).
- הורד Upload Speed ל-115200.
- החלף כבל USB.
מסך לבן/שחור ללא טקסט
- כתובת I2C לא נכונה (0x3C/0x3D) → השתמש בסורק I2C.
- גודל מסך לא נכון (128×64 מול 128×32).
- חיווט SDA/SCL הפוך.
המחשב לא מזהה את הלוח בכלל
- דרייבר CP210x/CH340 חסר.
- כבל לא תומך נתונים.
- חיבור USB בעייתי/Hub לא יציב.
בהצלחה
יובל


![6 מטר חוט וויר-אפ [וירוופ] לליפוף ובניית אב טיפוס או פרויקט - חום](https://yaharoni.com/wp-content/uploads/2018/01/חוטי-וירוופ-300x300.jpg)
