Ανιχνευτής δόνησης (tilt) με Arduino

Υλικό

  • Arduino
  • Καλώδιο USB
  • Breadboard
  • LED
  • Αντίσταση 220 Ω
  • Μονάδα ανιχνευτή δόνησης
  • Αντίσταση 10 ΚΩ

Προετοιμασία

  • Ανοίξτε το περιβάλλον Arduino web editor και συνδεθείτε
  • Επιβεβαιώστε ότι στον Η/Υ σας λειτουργεί το Arduino agent και ότι το Arduino web editor εντοπίζει τη συσκευή σας σε μία θύρα USB

Φάση 1

  • Αναγνωρίστε τις συνδέσεις του ανιχνευτή
  • Συνδέστε τον ανιχνευτή με το Arduino, συνδέοντας την έξοδό του στην είσοδο 2 του Arduino
  • Συνδέστε την αντίσταση 10 ΚΩ σαν pull-down στην είσοδο
  • Χρησιμοποιήστε τον παρακάτω κώδικα και δείτε τα αποτελέσματα στο Monitor του Arduino web editor
// Sketch for shock switch sensor in pull-down resistor configuration
// Pinout:   https://startingelectronics.org/pinout/shock-sensor/
// Tutorial: https://startingelectronics.org/tutorials/arduino/modules/shock-sensor/
// Change pin number that the shock sensor is connected to here
#define SHOCK_PIN 2

void setup() {
  // initialize serial communication @ 9600 baud:
  Serial.begin(9600);  
  pinMode(SHOCK_PIN, INPUT);          // shock sensor pin set to input
}

void loop() {
  if (digitalRead(SHOCK_PIN)) {       // shock detected?
    // shock detected with pull-down resistor
    Serial.println("Tilt!!!");        // Report tilt detection
    delay(2000);                      // leave LED on for period
  }
  else {
    // shock not detected with pull-down resistor
    Serial.println("Everything calm...");   // Report no tilt
  }
}

Φάση 2

  • Συνδέστε το LED με την αντίσταση σε μια έξοδο του Arduino.
  • Μετατρέψτε τον παραπάνω κώδικα ώστε το LED να ανάβει σε περίπτωση εντοπισμού δόνησης.

Στην ενότητα setup() του παραπάνω προγράμματος θα πρέπει να δηλώσετε ότι ένας ακροδέκτης του Arduino (πχ ο ακροδέκτης 6) θα χρησιμοποιείται ως έξοδος:

pinMode(6, OUTPUT);

Η εντολή που ενεργοποιεί την έξοδο 5V σε αυτό τον ακροδέκτη είναι:

digitalWrite(6, HIGH);

Για να επανέλθει η έξοδος στα 0V:

digitalWrite(6, LOW);

Προέλευση κώδικα: https://startingelectronics.org/tutorials/arduino/modules/shock-sensor/