Πίνακας περιεχομένων:

Happy Hack Light Switch: 3 Βήματα
Happy Hack Light Switch: 3 Βήματα

Βίντεο: Happy Hack Light Switch: 3 Βήματα

Βίντεο: Happy Hack Light Switch: 3 Βήματα
Βίντεο: How to make a Paper Fortune Teller 2024, Νοέμβριος
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Τις τελευταίες 2 εβδομάδες δουλέψαμε σε ένα σχολικό έργο που ονομάζεται "Happy hacking". Με αυτό το έργο προσπαθήσαμε να κάνουμε ένα "Happy hack" για έναν δημόσιο χώρο. Λοιπόν, τι είναι το "Happy hack"; Στην περίπτωσή μας έπρεπε να κάνουμε κάτι θετικό με βάση μια απογοήτευση. Η χρήση του Arduino ήταν απαραίτητη για αυτό το έργο. Το "Happy hack" που αποφασίσαμε να κάνουμε ήταν μια εγκατάσταση για την από απόσταση αναστροφή του διακόπτη φώτων.

Βήμα 1: Υλικά:

1x Arduino Uno

1x Breadboard

2x σερβο

1x υπέρυθρο αισθητήρα

Σύρμα 11x

1x υπέρυθρο αποστολέα (αφαίρεση τηλεόρασης)

ταινία-κασέτα

Βήμα 2: Πώς να συνδεθείτε:

Βάλτε έναν δέκτη υπερύθρων Arduino στον πίνακα ψωμιού. υποθέτοντας ότι η μπροστινή πλευρά του δέκτη είναι η πλευρά με τη σφαίρα πάνω του:

  • Συνδέστε ένα καλώδιο από το πιο αριστερό «πόδι» στη θύρα Uno Arduino «6».
  • Συνδέστε ένα καλώδιο από το μεσαίο "πόδι" στη σειρά "-" στη σανίδα ψωμιού.
  • Συνδέστε ένα καλώδιο από το πιο δεξιό "πόδι" στη σειρά "+" στον πίνακα ψωμιού.

Βεβαιωθείτε ότι ένα καλώδιο βρίσκεται μεταξύ της σειράς "-" στο breadboard και μιας θύρας "γείωσης" στο Arduino uno και βεβαιωθείτε ότι ένα καλώδιο βρίσκεται μεταξύ της σειράς "+" στο breadboard και της θύρας "5V" στο Arduino uno.

Τώρα συνδέστε τα 2 servos,

  • Και τα δύο με ένα σύρμα από το πιο σκούρο σύρμα στο σερβο, στη σειρά «-» στο ψωμί.
  • Και τα δύο με ένα σύρμα από το μεσαίο σύρμα στο σερβο, στη σειρά «+» στο ψωμί.

Τώρα, για ένα από τα servos συνδέστε το υπόλοιπο σερβο καλώδιο στη θύρα Arduino uno '9' και συνδέστε το άλλο σερβο στη θύρα uno Arduino '10'.

Βήμα 3: Κωδικός:

#περιλαμβάνω //

#περιλαμβάνω //

#περιλαμβάνω //

IRrecv irrecv (6);

decode_results αποτελέσματα?

Servo theServo1;

Servo theServo2;

bool lightOn = false;

bool disco = false?

void setup () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, ΕΙΣΟΔΟΣ);

Serial.begin (9600);

irrecv.enableIRIn (); // Εκκινήστε τον δέκτη

irrecv.blink13 (αληθινό);

}

void loop () {

εάν (irrecv.decode (& αποτελέσματα)) {

Serial.println (results.value); // Παίρνετε ένα διαφορετικό αποτέλεσμα για κάθε κουμπί. Ελέγξτε λοιπόν στη σειριακή οθόνη τι αξία έχουν τα κουμπιά σας.

if (results.value == 3772793023) {// Αυτό είναι το αποτέλεσμα του κουμπιού λειτουργίας (3772793023). Αυτό είναι πιθανώς διαφορετικό με το τηλεχειριστήριό σας.

lightOn =! lightOn;

αν (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

αν (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

καθυστέρηση (1000)?

}

if (results.value == 3772839943) {// Αυτό είναι το αποτέλεσμα του κουμπιού πληροφοριών μας (37728).

ντίσκο =! ντίσκο;

καθυστέρηση (1000)?

}

Serial.println (results.value);

irrecv.resume (); // Λάβετε την επόμενη τιμή

}

αν (ντίσκο) {

lightOn =! lightOn;

αν (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

αν (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

καθυστέρηση (2000).

}

}

Συνιστάται: