ΔΙΕΚ ΑΙΓΑΛΕΩ -ΤΕΠB3 – SCARY DETECTOR

ΔΙΕΚ ΑΙΓΑΛΕΩ -ΤΕΠB3 – SCARY DETECTOR

ΤΙΤΛΟΣ PROJECT: Scary Detector

ΑΤΟΜΑ ΟΜΑΔΑΣ:

  1. Χριστόπουλος Βασίλης 
  2. Μανώλης Περιβολάρης
  3. Λευτέρης Στεργιούλης
  4. Χεκιμίδης Σίμος

    Χρησιμοποιώντας τον Raspberry Pi 2 Model B+, υλοποιήσαμε ένα αυτόνομο scary detector, το οποίο θα λειτουργεί ως εσωτερικός συναγερμός. Το detector αυτό θα εντοπίζει όποιον ή ό,τι το προσεγγίζει στα 20 εκατοστά και μέσω ενός mini speaker και ενός RGB LED θα παράγει τρομακτικούς ήχους και φωτισμό για να ειδοποιεί για τυχόν εισβολείς. Ακόμα θα κουνάει το δεξί του φτερό με την βοήθεια ενός servo.

Για τον κώδικα χρησιμοποιήσαμε την γλώσσα προγραμματισμού Python και το περιβάλλον IDLE 3.5.

ΣΥΜΜΕΤΟΧΕΣ – ΒΟΗΘΕΙΑ ΠΟΥ ΛΑΒΑΜΕ

Θα θέλαμε να ευχαριστήσουμε για την συμμετοχή τους και την πολύτιμη βοήθειά τους :

  • Το καθηγητή κ.Αυγέρη και την ομάδα του από το τμήμα Αυτοματιστών του ΔΙΕΚ Αιγάλεω, οι οποίοι ανέλαβαν την κόλληση όλου του κυκλώματος του σπιτιού μας

ΥΛΙΚΑ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΗΣΑΜΕ:

  1. Raspberry Pi B+ (Κόστος: 50) – Δωρεάν για εμάς από το ΙΕΚ
  2. Μίνι φορητό ηχείο (Κόστος: 12,24 €) 
  3. ElecFreaks HC-SR04 Ultrasonic Module Distance (Κόστος: 1,61)
  4. RGB LED (Κόστος: 0,20)
  5. 3 Resistors 330ohm (Κόστος: 0,5 ευρώ)
  6. Servo Module (Generic) (Κόστος: 6,5)
  7. Kingston Canvas Select microSDHC 16GB U1 with Adapter (Κόστος: 3,50)
  8. Λούτρινο ζωάκι (με τη μορφή της κουκουβάγιας) (Κόστος: 5 €)

ΤΟ ΚΥΚΛΩΜΑ – Η ΚΑΤΑΣΚΕΥΗ

 

 

 

 

 

 

 

 

ΒΗΜΑΤΑ ΥΛΟΠΟΙΗΣΗΣ

1ο ΒΗΜΑ – Έλεγχος RGB LED 

Αρχικά, με τη χρήση της Python, προχωρήσαμε στην υλοποίηση κυκλώματος και κώδικα που θα ελέγχει ένα RGB LED. Στόχος ήταν να κάνουμε το LED να ανάβει λαμβάνοντας διαφορετικές αποχρώσεις, ανάλογα με το πέρασμα του χρόνου. Σχετικό είναι το πρώτο βίντεο που παραθέτουμε.

2o BHMA – Προσθήκη ήχων 

Με τη χρήση μίνι φορητού ηχείου και τη σύνδεσή του στην αναλογική θύρα (3.5mm stereo jack) του Raspberry PI, πετύχαμε την αναπαραγωγή ήχων τύπου wav, αποθηκευμένων στη μνήμη του Raspberry σε φάκελο με το όνομα wav, κατά τη διάρκεια που το RGB LED μας είναι αναμμένο.

Για την υλοποίηση του κώδικα χρησιμοποιήθηκαν οι δυνατότητες του module wave, που αναγνωρίζει μονοφονικούς και στερεοφωνικούς wav ήχους , η εντολή aplay και οι δυνατότητες του module contextlib (context manager) για την μέτρηση της διάρκειας του κάθε ηχητικού αρχείου wav.

3o BHMA – Αναγνώριση της απόστασης του εισβολέα

Με την χρήση ενός distance sensor HC-SR04, μετρήσαμε την απόσταση από το αντικείμενο ή το άτομο που προσεγγίζει τον detector, δημιουργώντας αντίστοιχο module (read_distance). Όταν η απόσταση γίνει μικρότερη από 20 cm, τότε ξεκινούν τα γεγονότα του ήχου, του RGB LED και του servo.

4o BHMA – Έλεγχος κίνησης του δεξιού χεριού του detector

Με την χρήση ενός mini servo (τύπου FS90r), το οποίο τοποθετήσαμε κάτω από το δεξιό χέρι-φτερό του detector, ελέγχουμε την περιστροφή του άξονα του servo κατά 180 μοίρες (τέρμα αριστερά έως τέρμα δεξιά) κάθε φορά που εκκινείται το γεγονός του servo, δηλαδή κάθε φορά που εντοπίζεται κάποιος εισβολέας σε απόσταση κοντινότερη των 20cm. Το αποτέλεσμα είναι μια μικρή κίνηση του δεξιού χεριού του detector μας.

5ο ΒΗΜΑ – Remote control του Raspberry PI – Put the program at startup

Με την χρήση του λογισμικού VNC Viewer, FTP cables και switch δικτύου, μπορούμε να ελέγχουμε τον controller μας από μακριά, από κάποιο Windows PC ή laptop συνδεδεμένο στο ίδιο δίκτυο. Για την επικοινωνία Windows PC με Raspberry Pi συμβουλευτήκαμε το παρακάτω  Link:

Ακόμα βρήκαμε τον τρόπο να κάνουμε την εφαρμογή μας να ξεκινάει αυτόματα (at startup) όταν ο controller συνδεθεί στο ρεύμα. Το πρόγραμμα ξεκινάει με φωνητικό μήνυμα, με εγκατάσταση του espeak package και την τροποποίηση του αρχείου /etc/rc.local.

Με αυτόν τον τρόπο κάναμε την κατασκευή μας περισσότερο αυτόνομη.

Μπορείτε να παρακολουθήσετε το αποτέλεσμα της δουλειάς μας:

Μπορείτε να δείτε τον κώδικα της εφαρμογής μας, στο παρακάτω Link:

https://github.com/sugarsandra/tepa3/blob/master/scary_detector.py

ΔΥΣΚΟΛΙΕΣ

  • Περιορισμένος χρόνος για την κατασκευή. Η όλη ιδέα υλοποιήθηκε μέσα σε 8 μόνο συναντήσεις, κατά τη διάρκεια των μαθημάτων στο ΔΙΕΚ Αιγάλεω.
  • Δυσκολίες στο έλεγχο της κίνησης του mini servo, με την τεχνική PWM, ώστε ο άξονάς του να κινείται σε εύρος 180 μοιρών.
  • Η κίνηση στο χέρι δεν έγινε όσο εμφανής θα θέλαμε.

ΠΡΟΟΠΤΙΚΕΣ

  • Απομακρυσμένος έλεγχος του Raspberry μέσω Bluetooth ή και WIFI (με Raspberry Pi 3)
  • Τελειοποίηση της κίνησης του άξονα του servo και πιθανή επέκταση με δεύτερο servo για κίνηση και άλλου σημείου του σώματος (π.χ. και του αριστερού φτερού)
  • Δημιουργία γραφικού περιβάλλοντος και ενσωμάτωσή του στον κώδικα της εφαρμογής
  • Μεταφορά της εφαρμογής σε λειτουργικό Android, ώστε ο χειρισμός να γίνεται και από το κινητό μας τηλέφωνο