Συναγερμός laser με Arduino

Μια εισαγωγική δραστηριότητα για την δημιουργία και τον προγραμματισμό κυκλωμάτων με το Arduino. Σκοπός μας είναι να κατασκευάσουμε έναν απλό συναγερμό πόρτας με την χρήση δέσμης laser, ενώ παράλληλα τα παιδιά έρχονται σε επαφή με την δημιουργία απλών ψηφιακών κυκλωμάτων και τον προγραμματισμό τους μέσα από το βασικό περιβάλλον Arduino. Καλό είναι ήδη οι μαθητές μας να γνωρίζουν τον γενικό τρόπο σύνδεσης αισθητήρων και ενεργοποιητών στο Arduino, την χρήση του breadboard και των καλωδίων.

Γενικό πλάνο για την τοποθέτηση του συστήματος συναγερμού σε μια πόρτα

Δημιουργία ομάδων και υλικά που θα χρειαστούμε

Για κάθε ομάδα θα χρειαστούμε

  • ένα arduino uno,
  • έναν αισθητήρα φωτός,
  • ένα buzzer,
  • ένα laser module,
  • ένα breadboard και
  • καλώδια dupont.
  • Επίσης κάθε ομάδα θα χρειαστεί ένα laptop με το Arduino εγκατεστημένο και ένα καλώδιο usb για την σύνδεση της μονάδας με τον υπολογιστή.

Ανάλογα λοιπόν με τα υλικά που έχουμε διαθέσιμα δημιουργούμε τις ομάδες μας. Το ιδανικό είναι κάθε ομάδα να έχει το πολύ 3-4 παιδιά. Μπορούμε να μοιράσουμε και ένα φύλλο καταγραφής της ομάδας όπου τα παιδιά θα σημειώσουν τα στοιχεία τους.

Δημιουργία σχηματικού συνδέσεων

Πριν δώσουμε τα ηλεκτρονικά στοιχεία στις ομάδες για να κάνουν τις συνδέσεις μπορούμε να τους μοιράσουμε το παρακάτω φύλλο εργασίας, στο οποίο τους ζητάμε να ζωγραφίσουν πρώτα τις συνδέσεις χρησιμοποιώντας μαρκαδόρους, σύμφωνα με τις οδηγίες.

Όταν η ομάδα ολοκληρώνει σωστά τον σχεδιασμό του σχηματικού, τότε δίνουμε και τα ηλεκτρονικά στοιχεία για να προχωρήσει στην κατασκευή του κυκλώματος με οδηγό το σχέδιο που έχουν κατασκευάσει.

Προτεινόμενη λύση του φύλλου εργασίας

Προγραμματισμός και δοκιμές

Με παρόμοιο τρόπο θα κινηθούμε και για τον προγραμματισμό του συστήματος. Αντί να εξηγήσουμε αναλυτικά και βήμα προς βήμα την δομή ενός προγράμματος Arduino, μοιράζουμε σε κάθε ομάδα ένα φύλλο εργασίας που περιλαμβάνει ένα half-baked πρόγραμμα και τους ζητάμε να συμπληρώσουν με μολύβι πρώτα τα στοιχεία που λείπουν.

Εξηγούμε και βοηθάμε τις ομάδες όταν έχουν απορίες, αλλά σε γενικές γραμμές προσπαθούμε να μην τους δώσουμε έτοιμες απαντήσεις και να τους αφήσουμε να λύσουν τον γρίφο του προγράμματος. Αφού ολοκληρώσουν το πρόγραμμα σε χαρτί μπορούν να το πληκτρολογήσουν στον υπολογιστή τους, να το φορτώσουν στο Arduino και να το δοκιμάσουν.

void setup() {
  pinMode(8,OUTPUT);  //pin του laser
  pinMode(9,INPUT);   //pin του αισθητήρα φωτός
  pinMode(10,OUTPUT); //pin του ηχείου
}

void loop() {
  // Αρχικά ενεργοποιούμε το laser
  digitalWrite(8,HIGH);

  //Ελέγχουμε τον αισθητήρα φωτός
  //Αν δεν πέφτει φως πάνω του η αντίσταση του
  //στο ρεύμα μειώνεται άρα περνάει πολύ ρεύμα.
  if (digitalRead(9) == HIGH) {
    digitalWrite(10,HIGH);  //Ενεργοποιούμε το ηχείο
    delay(500);            //για μισό δευτερόλεπτο  
    digitalWrite(10,LOW);  //Κλείνουμε το ηχείο
    delay(500);            //για μισό δευτερόλεπτο
  } 
}