🎯 Τι θα μάθουμε
Σε αυτό το εργαστήριο θα:
- γνωρίσουμε τον αισθητήρα 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 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| AO | GPIO2 (A1 / ADC) |
📌 Σημαντικό:
- Χρησιμοποιούμε 3.3V (όχι 5V)
- Το AO σημαίνει Analog Output → πάει σε ADC pin
🧠 Τι είναι το ADC;
Το ADC (Analog-to-Digital Converter):
- μετατρέπει μια αναλογική τάση
- σε έναν αριθμό
Στο ESP32-C6, η τιμή που διαβάζουμε είναι συνήθως:
- από 0 έως 4095
💻 Προετοιμασία στον υπολογιστή
- Ανοίγουμε το Arduino IDE
- Επιλέγουμε board: FireBeetle 2 ESP32-C6
- Συνδέουμε την πλακέτα με USB
- Δεν χρειάζεται καμία βιβλιοθήκη
🧑💻 Ο κώδικας
Αντιγράφουμε τον παρακάτω κώδικα:
#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);
}
▶️ Δοκιμή
- Πατάμε Upload
- Ανοίγουμε Serial Monitor
- Ορίζουμε ταχύτητα 115200 baud
- Παρατηρούμε τις τιμές όταν:
- καλύπτουμε τον αισθητήρα με το χέρι
- ανάβουμε φακό κινητού
- τον φέρνουμε κοντά στο παράθυρο
💡 Οι αριθμοί αλλάζουν → ο αισθητήρας “βλέπει” το φως
🧩 Προβλήματα & λύσεις
- ❌ Η τιμή δεν αλλάζει ✔ Έλεγξε αν το καλώδιο είναι στο AO και όχι στο DO
- ❌ Διαβάζω μόνο 0 ή 4095 ✔ Έλεγξε αν έβαλες 3.3V και όχι 5V
- ❌ Δεν εμφανίζεται τίποτα ✔ Έλεγξε το baud rate

