Μετράμε το φως του περιβάλλοντος με αισθητήρα φωτεινότητας & ESP32-C6

Μετράμε το φως του περιβάλλοντος με αισθητήρα φωτεινότητας & ESP32-C6

🎯 Τι θα μάθουμε

Σε αυτό το εργαστήριο θα:

  • γνωρίσουμε τον αισθητήρα Ambient Light Sensor
  • καταλάβουμε τι σημαίνει αναλογική μέτρηση
  • τον συνδέσουμε στο FireBeetle 2 ESP32-C6
  • δούμε πώς αλλάζουν οι τιμές όταν αλλάζει το φως

🧠 Τι είναι ο αισθητήρας φωτεινότητας;

Ο Ambient Light Sensor βασίζεται σε μία φωτοαντίσταση (LDR).
Όσο περισσότερο φως πέφτει πάνω του:

  • τόσο αλλάζει η ηλεκτρική του αντίσταση
  • και το κύκλωμα μας δίνει διαφορετική αναλογική τιμή

📌 Δεν μας λέει “lux”, αλλά μας λέει:

πόσο φως υπάρχει σχετικά (λίγο – πολύ)


🧰 Υλικά που θα χρειαστούμε

  • 1 × FireBeetle 2 ESP32-C6
  • 1 × Αισθητήρας Ambient Light Sensor (DFR0026) της DFRobot
  • 3 × καλώδια Dupont
  • 1 × breadboard
  • 1 × καλώδιο USB-C

🔌 Συνδεσμολογία

Ο αισθητήρας έχει 3 ακροδέκτες:

Ακροδέκτης αισθητήραΣύνδεση στο ESP32-C6
VCC3.3V
GNDGND
AOGPIO2 (A1 / ADC)

📌 Σημαντικό:

  • Χρησιμοποιούμε 3.3V (όχι 5V)
  • Το AO σημαίνει Analog Output → πάει σε ADC pin

🧠 Τι είναι το ADC;

Το ADC (Analog-to-Digital Converter):

  • μετατρέπει μια αναλογική τάση
  • σε έναν αριθμό

Στο ESP32-C6, η τιμή που διαβάζουμε είναι συνήθως:

  • από 0 έως 4095

💻 Προετοιμασία στον υπολογιστή

  1. Ανοίγουμε το Arduino IDE
  2. Επιλέγουμε board: FireBeetle 2 ESP32-C6
  3. Συνδέουμε την πλακέτα με USB
  4. Δεν χρειάζεται καμία βιβλιοθήκη

🧑‍💻 Ο κώδικας

Αντιγράφουμε τον παρακάτω κώδικα:

#define LIGHT_SENSOR_PIN 2  // GPIO2 (A1)

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("Ξεκίνησε η μέτρηση φωτεινότητας...");
}

void loop() {
  int lightValue = analogRead(LIGHT_SENSOR_PIN);

  Serial.print("Τιμή φωτεινότητας: ");
  Serial.println(lightValue);

  delay(500);
}

▶️ Δοκιμή

  1. Πατάμε Upload
  2. Ανοίγουμε Serial Monitor
  3. Ορίζουμε ταχύτητα 115200 baud
  4. Παρατηρούμε τις τιμές όταν:
    • καλύπτουμε τον αισθητήρα με το χέρι
    • ανάβουμε φακό κινητού
    • τον φέρνουμε κοντά στο παράθυρο

💡 Οι αριθμοί αλλάζουν → ο αισθητήρας “βλέπει” το φως


🧩 Προβλήματα & λύσεις

  • ❌ Η τιμή δεν αλλάζει ✔ Έλεγξε αν το καλώδιο είναι στο AO και όχι στο DO
  • ❌ Διαβάζω μόνο 0 ή 4095 ✔ Έλεγξε αν έβαλες 3.3V και όχι 5V
  • ❌ Δεν εμφανίζεται τίποτα ✔ Έλεγξε το baud rate

Σχόλια

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

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