💡 Φτιάξε έναν AI Ανιχνευτή Συναισθημάτων με Arduino & Python!
💡 Φτιάξε έναν AI Ανιχνευτή Συναισθημάτων με Arduino & Python!
Θέλεις να δημιουργήσεις ένα τρελό και φθηνό project που να συνδυάζει Arduino και προγραμματισμό; Σήμερα θα σου δείξω πώς να φτιάξεις έναν AI ανιχνευτή συναισθημάτων που θα αντιλαμβάνεται το συναίσθημά σου μέσω κάμερας και θα ελέγχει φυσικά αντικείμενα μέσω Arduino!
🔄 Πώς λειτουργεί;
Ένα πρόγραμμα Python χρησιμοποιεί AI (Deep Learning) για να αναγνωρίσει το συναίσθημα του χρήστη μέσω κάμερας.
Στέλνει εντολές στο Arduino μέσω σειριακής επικοινωνίας (Serial Communication).
Το Arduino ανάβει LED ή κινεί ένα servo ανάλογα με το συναίσθημα του χρήστη.
🛠️ Υλικά που θα χρειαστείς
✅ Ένας υπολογιστής με κάμερα (π.χ. Laptop ή Raspberry Pi) ✅ Arduino Nano ή Uno (~3-5€) ✅ Ένα LED ή Servo Motor (~2-3€) ✅ Python με OpenCV & DeepFace (AI βιβλιοθήκη)
💻 Κώδικας Python (AI μέρος)
Το παρακάτω script αναγνωρίζει το συναίσθημά σου και στέλνει εντολή στο Arduino:
import cv2
from deepface import DeepFace
import serial
# Σύνδεση με Arduino (προσαρμόστε το port)
arduino = serial.Serial("COM5", 9600)
# Εκκίνηση κάμερας
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
try:
analysis = DeepFace.analyze(frame, actions=['emotion'])
emotion = analysis[0]['dominant_emotion']
if emotion == "happy":
arduino.write(b'1') # Ανάβει LED
elif emotion == "neutral":
arduino.write(b'2') # Μεσαία φωτεινότητα
elif emotion == "angry":
arduino.write(b'3') # Σβήνει LED ή κινεί servo
print(f"Συναίσθημα: {emotion}")
except:
pass
cv2.imshow("Emotion Detector", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
🛠️ Κώδικας Arduino
Το Arduino λαμβάνει εντολή και αντιδρά ανάλογα:
const int ledPin = 9;
const int servoPin = 6;
char command;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(servoPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
command = Serial.read();
if (command == '1') {
analogWrite(ledPin, 255); // Χαρά: έντονο φως
} else if (command == '2') {
analogWrite(ledPin, 128); // Ουδέτερο: μεσαίο φως
} else if (command == '3') {
analogWrite(ledPin, 0); // Θυμός: κλείνει LED
}
}
}
🔍 Δοκίμασέ το!
✅ Τρέξε τον Python κώδικα ✅ Άνοιξε την κάμερα και δείξε διαφορετικά συναισθήματα ✅ Το Arduino θα αλλάξει φωτισμό ή θα κινήσει το servo ανάλογα με το συναίσθημά σου!
💡 Πώς μπορείς να το βελτιώσεις;
Προσθήκη Wi-Fi για απομακρυσμένο έλεγχο.
Χρήση ήχου ή μουσικής για ανάδραση.
Ενσωμάτωσέ το σε ένα Smart Home System!
Έτοιμος να το δοκιμάσεις; Ανέβασε τις δημιουργίες σου και πες μου τις ιδέες σου στα σχόλια! 🚀
Σχόλια
Δημοσίευση σχολίου