💡 Φτιάξε έναν AI Ανιχνευτή Συναισθημάτων με Arduino & Python!

 

💡 Φτιάξε έναν AI Ανιχνευτή Συναισθημάτων με Arduino & Python!

Θέλεις να δημιουργήσεις ένα τρελό και φθηνό project που να συνδυάζει Arduino και προγραμματισμό; Σήμερα θα σου δείξω πώς να φτιάξεις έναν AI ανιχνευτή συναισθημάτων που θα αντιλαμβάνεται το συναίσθημά σου μέσω κάμερας και θα ελέγχει φυσικά αντικείμενα μέσω Arduino!

🔄 Πώς λειτουργεί;

  1. Ένα πρόγραμμα Python χρησιμοποιεί AI (Deep Learning) για να αναγνωρίσει το συναίσθημα του χρήστη μέσω κάμερας.

  2. Στέλνει εντολές στο Arduino μέσω σειριακής επικοινωνίας (Serial Communication).

  3. Το 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!

Έτοιμος να το δοκιμάσεις; Ανέβασε τις δημιουργίες σου και πες μου τις ιδέες σου στα σχόλια! 🚀

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

Αυτόματο Φως Νύχτας

🚀 Διαγωνισμός Ρομποτικής & Αυτοματισμού! 🤖

🚗🤖 Φτιάξε το Δικό σου Μίνι Ρομποτικό Αυτοκίνητο με Arduino!