FireBeetle 2 ESP32 – Workshop Guide

FireBeetle 2 ESP32 – Workshop Guide

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: Σύνδεση με τον υπολογιστή

  1. Συνδέουμε την πλακέτα στον υπολογιστή με USB-C. Θα πρέπει να δούμε τα led της πλακέτας να ανάβουν.
  2. Ανοίγουμε το Arduino IDE.
  3. Πηγαίνουμε:
    Tools → Board → Boards Manager
    Αναζητούμε ESP32 → Install.
    Αν είναι ήδη εγκαταστημένη θα φαίνεται ως installed και δεν χρειάζεται να κάνουμε κάτι.
  4. Επιλέγουμε πλακέτα:
    Tools → Board → ESP32 Arduino → FireBeetle 2 ESP32-E
  5. Επιλέγουμε θύρα (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)

✔ Τι δοκιμάζω πρώτα:

  1. Tools → Upload Speed → 115200
  2. Πατάω Upload
  3. Όταν δω Connecting…, πατάω μία φορά το Reset.

✔ Αν πάλι όχι — τότε κάνουμε το “μαγικό καλωδιάκι”

Ενώνουμε με jumper:
D5 (GPIO0) → GND

  1. Πατάμε Upload.
  2. Μόλις δούμε Connecting…, πατάμε Reset.
  3. Το πρόγραμμα φορτώνει.
  4. Βγάζουμε το jumper και πατάμε Reset για κανονική λειτουργία.

💡 Γιατί χρειάζεται το jumper;
Δίνει στην πλακέτα “σήμα εκκίνησης” για να καταλάβει ότι θέλουμε να της φορτώσουμε νέο πρόγραμμα.

Mission 4: Συνδέουμε τον αισθητήρα επιτάχυνσης (LIS2DH)

Ο αισθητήρας επιτάχυνσης μάς δείχνει τις δονήσεις και την κίνηση.
Μετράει X, Y, Z — είναι σαν να αισθάνεται πώς κινείται το καρότσι.

Σύνδεση με 4 καλώδια:

LIS2DHFireBeetle
VCC → 3.3V/5V
GND → GND
SDA → D21
SCL → D22

💡 Γιατί I2C (2 καλώδια δεδομένων);
Έτσι μπορούμε να βάλουμε πολλούς αισθητήρες με ελάχιστα καλώδια.

Mission 5: Βάζουμε τη βιβλιοθήκη του αισθητήρα

  1. Tools → Manage Libraries
  2. Αναζητούμε LIS2DH
  3. Εγκαθιστούμε: 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 αισθητήρα,
  • διαβάζουμε δεδομένα σε πραγματικό χρόνο.

Από εδώ και πέρα, θα ενώσουμε τα κομμάτια για να δημιουργήσουμε το σύστημα καταγραφής δονήσεων του καροτσιού μας.»

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γιατί δεν ξεκινάτε τη συζήτηση;

Αφήστε μια απάντηση