Mission 1: Γνωρίζω την πλακέτα μου
Το FireBeetle 2 ESP32 είναι μια μικρή “έξυπνη” πλακέτα που θα χρησιμοποιήσουμε για να μετράμε δονήσεις και κίνηση στο project μας.

Μερικά σημαντικά σημεία της μονάδας:

- USB Type C → συνδέει την πλακέτα στον υπολογιστή και επίσης φορτίζει την μπαταρία
- RST Reset Button → ξεκινά ξανά το πρόγραμμα
- User Button (27/D4) → δικό μας κουμπί για μελλοντική χρήση
- PH2.0 → εδώ συνδέουμε την μπαταρία
- ESP32 → Ο εγκέφαλος της μονάδας
- Charge → Φωτεινή ένδειξη φόρτισης της μπαταρίας
- 2/D9 LED → Ενσωματωμένο φως LED
- 5/D8 RGB LED → Ενσωματωμένο φως LED που αλλάζει χρώματα
- Low Power → Ένδειξη για χαμηλή στάθμη μπαταρίας
💡 Γιατί τα μαθαίνουμε αυτά;
Γιατί η κατασκευή που θα φτιάξουμε θα χρειαστεί τροφοδοσία και δεδομένα. Αυτά τα σημεία είναι η “καρδιά” των συνδέσεών μας.
Mission 2: Σύνδεση με τον υπολογιστή
- Συνδέουμε την πλακέτα στον υπολογιστή με USB-C. Θα πρέπει να δούμε τα led της πλακέτας να ανάβουν.
- Ανοίγουμε το Arduino IDE.
- Πηγαίνουμε:
Tools → Board → Boards Manager
Αναζητούμε ESP32 → Install.
Αν είναι ήδη εγκαταστημένη θα φαίνεται ως installed και δεν χρειάζεται να κάνουμε κάτι. - Επιλέγουμε πλακέτα:
Tools → Board → ESP32 Arduino → FireBeetle 2 ESP32-E - Επιλέγουμε θύρα (Tools → Port → COM…).
💡 Γιατί τα κάνουμε αυτά;
Για να “μιλήσει” ο υπολογιστής με την πλακέτα μας και να μπορεί να της φορτώσει προγράμματα.
Mission 3: Το πρώτο πρόγραμμα – Blink
Θέλουμε να δούμε ότι η πλακέτα ζωντάνεψε. Άρα, αναβοσβήνουμε το ενσωματωμένο LED.
int ledPin = D9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
Πατάμε Upload.
💡 Γιατί Blink;
Είναι όπως όταν ανάβει μια συσκευή για πρώτη φορά.
Αν δουλέψει, ξέρουμε ότι όλα είναι σωστά ρυθμισμένα.
🟥 Troubleshooting: Αν ΔΕΝ φορτώνει (Wrong boot mode 0x13)
Μερικές φορές το FireBeetle δεν μπαίνει στη λειτουργία “φόρτωσης προγράμματος”.
Ο υπολογιστής του μιλάει, αλλά η πλακέτα εξακολουθεί να τρέχει το παλιό της πρόγραμμα.
Το λάθος είναι: Wrong boot mode (0x13)
✔ Τι δοκιμάζω πρώτα:
- Tools → Upload Speed → 115200
- Πατάω Upload
- Όταν δω Connecting…, πατάω μία φορά το Reset.
✔ Αν πάλι όχι — τότε κάνουμε το “μαγικό καλωδιάκι”
Ενώνουμε με jumper:
D5 (GPIO0) → GND
- Πατάμε Upload.
- Μόλις δούμε Connecting…, πατάμε Reset.
- Το πρόγραμμα φορτώνει.
- Βγάζουμε το jumper και πατάμε Reset για κανονική λειτουργία.
💡 Γιατί χρειάζεται το jumper;
Δίνει στην πλακέτα “σήμα εκκίνησης” για να καταλάβει ότι θέλουμε να της φορτώσουμε νέο πρόγραμμα.
Mission 4: Συνδέουμε τον αισθητήρα επιτάχυνσης (LIS2DH)
Ο αισθητήρας επιτάχυνσης μάς δείχνει τις δονήσεις και την κίνηση.
Μετράει X, Y, Z — είναι σαν να αισθάνεται πώς κινείται το καρότσι.
Σύνδεση με 4 καλώδια:
| LIS2DH | FireBeetle |
|---|---|
| VCC → | 3.3V/5V |
| GND → | GND |
| SDA → | D21 |
| SCL → | D22 |
💡 Γιατί I2C (2 καλώδια δεδομένων);
Έτσι μπορούμε να βάλουμε πολλούς αισθητήρες με ελάχιστα καλώδια.
Mission 5: Βάζουμε τη βιβλιοθήκη του αισθητήρα
- Tools → Manage Libraries
- Αναζητούμε LIS2DH
- Εγκαθιστούμε: DFRobot LIS2DH
💡 Γιατί χρειάζομαι βιβλιοθήκη;
Για να μην γράφουμε εμείς πολύπλοκο κώδικα.
Η βιβλιοθήκη κάνει όλη τη “δύσκολη δουλειά”.
Mission 6: Πρώτη μέτρηση με τρεις άξονες
Αυτό το πρόγραμμα δείχνει X, Y, Z σε πραγματικό χρόνο.
#include <DFRobot_LIS2DH.h>
#include <Wire.h>
DFRobot_LIS2DH_I2C acce;
void setup() {
Serial.begin(115200);
while(!acce.begin()){
Serial.println("Δεν βρέθηκε ο αισθητήρας...");
delay(1000);
}
Serial.println("LIS2DH OK!");
acce.setRange(DFRobot_LIS2DH::e16_g);
}
void loop() {
Serial.print("X: "); Serial.print(acce.readAccX());
Serial.print(" Y: "); Serial.print(acce.readAccY());
Serial.print(" Z: "); Serial.println(acce.readAccZ());
delay(200);
}
Ανοίγουμε Serial Monitor → 115200 baud.
💡 Τι σημαίνουν οι αριθμοί;
- X/Y αλλάζουν όταν γέρνεις τον αισθητήρα αριστερά/δεξιά/μπρος/πίσω.
- Z αλλάζει όταν υπάρχει κάθετη δόνηση (π.χ. λακκούβα).
Mission 7: Παίζουμε με τον αισθητήρα
Δοκιμάστε:
- Κρατήστε τον αισθητήρα στο χέρι και περπατήστε
- Χτυπήστε απαλά το τραπέζι
- Βάλτε τον αισθητήρα σε αντικείμενα που κινούνται
- Γείρετέ τον προς όλες τις κατευθύνσεις
Θα δείτε τις τιμές να αλλάζουν!
Τελικό σχόλιο
Σήμερα μάθαμε να:
- συνδέουμε τον μικροελεγκτή firebeetle esp32
- αποσφαλματώνουμε το boot mode,
- δουλεύουμε με I2C αισθητήρα,
- διαβάζουμε δεδομένα σε πραγματικό χρόνο.
Από εδώ και πέρα, θα ενώσουμε τα κομμάτια για να δημιουργήσουμε το σύστημα καταγραφής δονήσεων του καροτσιού μας.»

