Πίνακας περιεχομένων:
- Βήμα 1: Ανταλλακτικά, Εργαλεία, Αναλώσιμα
- Βήμα 2: Διάγραμμα και κωδικός κυκλώματος
- Βήμα 3: Κατασκευή κυκλώματος από πρωτότυπο σε συγκολλημένο
- Βήμα 4: Μορφή & Υλικό
- Βήμα 5: Τώρα ας χρησιμοποιήσουμε τα κρυστάλλινα σπίτια
Βίντεο: Crystal House: 5 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Τα ζευγάρια και οι οικογένειες που χωρίζουν λόγω μεγάλης απόστασης αισθάνονται συχνά τη λαχτάρα για σύνδεση. Το Crystal House είναι χτισμένο για ζευγάρια και οικογένειες να συνδέονται μεταξύ τους μέσω φώτων. Τα Crystal Houses συνδέονται με σήματα wifi. Όταν πατάτε το κουμπί σε ένα Crystal House, τα φώτα του άλλου Crystal House λαμβάνουν το σήμα και θα ενεργοποιηθούν. Είναι εύκολο και διασκεδαστικό να το φτιάξετε! Θα περάσω βήμα προς βήμα από υλικά/εργαλεία που χρησιμοποιούνται, κατασκευή/δοκιμή κυκλώματος χρησιμοποιώντας Arduino και κατασκευή της δομής του Crystal House
Βήμα 1: Ανταλλακτικά, Εργαλεία, Αναλώσιμα
- Συγκεντρωμένο φτερό Huzzah ESP8266 (δύο)
- Perma-Proto Μισό μέγεθος ψωμιού (δύο)
- Μπαταρία λιθίου -3,7 1200mAh (δύο)
- Mini On/Off Push-Button Switch (τέσσερα)
- Μίνι κουμπί NeoPixel (τέσσερα)
- Breadboard Wire
- Συγκολλητικό σίδερο & συγκολλητικό
- Απογυμνωτής καλωδίων
- Εργαλείο τρίτου χεριού
- Τετράγωνο ξύλινο ραβδί
- Ακρυλικό φύλλο
- Καθαρή κρυστάλλινη πέτρα
- Διαφανές χαρτί
- υπερκόλλα
Βήμα 2: Διάγραμμα και κωδικός κυκλώματος
// Instructables Internet of Things Class δείγμα κώδικα // Συνδυασμός εισόδων και εξόδων // Δύο πλήκτρα αποστολής εντολών στην τροφοδοσία AIO // LED και κινητήρας δόνησης (ή οποιαδήποτε ψηφιακή έξοδος) flah/buzz σύμφωνα με τα δεδομένα τροφοδοσίας // // Τροποποιήθηκε από τον Becky Stern 2017 // με βάση παραδείγματα από τη βιβλιοθήκη Adafruit IO Arduino: // https://github.com/adafruit/Adafruit_IO_Arduino // // Η Adafruit επενδύει χρόνο και πόρους παρέχοντας αυτόν τον ανοιχτό κώδικα. // Υποστηρίξτε το Adafruit και το υλικό ανοιχτού κώδικα αγοράζοντας // προϊόντα από το Adafruit! // // Γράφτηκε από τον Todd Treece για τις βιομηχανίες Adafruit // Πνευματικά δικαιώματα (γ) 2016 Adafruit Industries // Άδεια χρήσης υπό την άδεια MIT. // // Όλο το παραπάνω κείμενο πρέπει να περιλαμβάνεται σε οποιαδήποτε αναδιανομή. #περιλαμβάνω
-
#define NeoPIN1 15
// Παράμετρος 1 = αριθμός εικονοστοιχείων σε λωρίδα // Παράμετρος 2 = αριθμός pin Arduino (οι περισσότεροι ισχύουν) // Παράμετρος 3 = σημαίες τύπου pixel, προσθέστε μαζί όπως απαιτείται: // NEO_KHZ800 800 KHz bitstream (τα περισσότερα προϊόντα NeoPixel w/WS2812 LED) // NEO_KHZ400 400 KHz (κλασικά «v1» (όχι v2) εικονοστοιχεία FLORA, προγράμματα οδήγησης WS2811) // NEO_GRB Τα εικονοστοιχεία είναι συνδεδεμένα για GRB bitstream (τα περισσότερα προϊόντα NeoPixel) // NEO_RGB Pixels είναι ενσύρματα για RGB bitstream (v1 FLORA pixel, όχι v2) // NEO_RGBW Τα εικονοστοιχεία είναι συνδεδεμένα για RGBW bitstream (προϊόντα NeoPixel RGBW) Adafruit_NeoPixel strip = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800).
/*********************** Adafruit IO Configuration ********************* *********
/ επισκεφτείτε το io.adafruit.com εάν πρέπει να δημιουργήσετε λογαριασμό, // ή εάν χρειάζεστε το κλειδί IO του Adafruit. #define IO_USERNAME "Your user name" #define IO_KEY "Your IO_KEY"
/***************************** Διαμόρφωση WIFI **************** **********************
#define WIFI_SSID "Your wifi" #define WIFI_PASS "Your password"
#include "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
/*********************** Ο κύριος κώδικας ξεκινά εδώ ******************** **********/
#Include #include #include #include
// #define LED_PIN 15 #define BUTTON1_PIN 4 #define BUTTON2_PIN 14 // #define MOTOR_PIN 5 // αυτός ο πείρος χρειάζεται δυνατότητα PWM
// κατάσταση κουμπιού int button1current = 0; int button1last = 0; int button2current = 0; int button2last = 0;
// ρυθμίστε την "ψηφιακή" ροή AdafruitIO_Feed *command = io.feed ("command"); AdafruitIO_Feed *command2 = io.feed ("command2");
void setup () {strip.setBrightness (60); strip.begin (); strip.show (); // Αρχικοποιήστε όλα τα εικονοστοιχεία σε "απενεργοποίηση" // ορίστε τις καρφίτσες κουμπιών ως εισόδους με εσωτερική pinMode αντίσταση έλξης (BUTTON1_PIN, INPUT_PULLUP). pinMode (BUTTON2_PIN, INPUT_PULLUP); // ορίστε το pin pin και τον κινητήρα ως ψηφιακές εξόδους // pinMode (MOTOR_PIN, OUTPUT); // pinMode (LED_PIN, OUTPUT);
// ξεκινήστε τη σειριακή σύνδεση Serial.begin (115200);
// σύνδεση στο io.adafruit.com Serial.print ("Σύνδεση στο Adafruit IO"); io.connect (); // ρυθμίστε ένα πρόγραμμα χειρισμού μηνυμάτων για τη ροή "εντολή". // η λειτουργία handleMessage (ορίζεται παρακάτω) // θα καλείται κάθε φορά που λαμβάνεται ένα μήνυμα // από το adafruit io. command-> onMessage (handleButton1); command2-> onMessage (handleButton2);
// περιμένετε μια σύνδεση ενώ (io.status () <AIO_CONNECTED) {Serial.print ("."); καθυστέρηση (500)? }
// είμαστε συνδεδεμένοι Serial.println (); Serial.println (io.statusText ());
// βεβαιωθείτε ότι όλες οι ροές λαμβάνουν αμέσως τις τρέχουσες τιμές τους εντολή-> get (); command2-> get (); }
void loop () {
// io.run (); απαιτείται για όλα τα σκίτσα. // θα πρέπει να υπάρχει πάντα στο επάνω μέρος της λειτουργίας βρόχου σας //. διατηρεί τον πελάτη συνδεδεμένο στο // io.adafruit.com και επεξεργάζεται τυχόν εισερχόμενα δεδομένα. io.run ();
// πιάστε την τρέχουσα κατάσταση του κουμπιού. // πρέπει να αναποδογυρίσουμε τη λογική επειδή // χρησιμοποιούμε INPUT_PULLUP. εάν (digitalRead (BUTTON1_PIN) == LOW) {button1current = 1; } if (digitalRead (BUTTON2_PIN) == LOW) {button2current = 1; } if (digitalRead (BUTTON2_PIN) == HIGH && digitalRead (BUTTON1_PIN) == HIGH) {button1current = 0; button2current = 0; }
// επιστροφή αν η τιμή δεν έχει αλλάξει εάν (button1current == button1last && button2current == button2last) return?
// αποθηκεύστε την τρέχουσα κατάσταση στην "ψηφιακή" ροή του adafruit io Serial.print ("κουμπί αποστολής 1 κατάσταση ->"); Serial.println (button1current); εντολή-> αποθήκευση (button1current);
// αποθηκεύστε την τρέχουσα κατάσταση στην "ψηφιακή" ροή του adafruit io Serial.print ("κουμπί αποστολής 2 κατάσταση ->"); Serial.println (button2current); command2-> save (button2current);
// αποθηκεύστε την κατάσταση του τελευταίου κουμπιού button1last = button1current; button2last = button2current; }
// αυτή η λειτουργία καλείται κάθε φορά που λαμβάνεται ένα μήνυμα "εντολής" // από το Adafruit IO. ήταν προσαρτημένο στη // ροή εντολών στην παραπάνω συνάρτηση setup (). void handleButton1 (AdafruitIO_Data *data) {
int command = data-> toInt ();
εάν (εντολή == 1) {// ανάβει το πρώτο pixel Serial.print ("ελήφθη από την εντολή (κουμπί 1) <-"); Serial.println (εντολή); // analogWrite (MOTOR_PIN, 200); // καθυστέρηση (500). // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (0, strip. Color (200, 100, 0)); // Κίτρινη λωρίδα. Εμφάνιση (); } else {Serial.print ("ελήφθη από την εντολή (κουμπί 1) <-"); Serial.println (εντολή); strip.setPixelColor (0, strip. Color (0, 0, 0)); // off strip.show (); }} // αυτή η λειτουργία καλείται κάθε φορά που λαμβάνεται ένα μήνυμα "εντολής" // από το Adafruit IO. ήταν προσαρτημένο στη // ροή εντολών στην παραπάνω συνάρτηση setup (). void handleButton2 (δεδομένα AdafruitIO_Data *) {
int command2 = data-> toInt ();
if (command2 == 1) {// φωτίστε το πρώτο pixel Serial.print ("ελήφθη από την εντολή2 (κουμπί 2) <-"); Serial.println (command2); // analogWrite (MOTOR_PIN, 200); // καθυστέρηση (500). // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (1, ταινία. Χρώμα (255, 128, 128)); // Κίτρινη λωρίδα. Εμφάνιση (); } else {Serial.print ("ελήφθη από την εντολή2 (κουμπί 2) <-"); Serial.println (command2); strip.setPixelColor (1, strip. Color (0, 0, 0)); // off strip.show (); }}
Βήμα 3: Κατασκευή κυκλώματος από πρωτότυπο σε συγκολλημένο
Θα σας ενθάρρυνα να δοκιμάσετε ένα breadboard για να δοκιμάσετε το κύκλωμα. Δεδομένου ότι χτίζουμε δύο συσκευές, θα μπορούσαμε να δοκιμάσουμε σε δύο σανίδες. Συγκόλλησα το Neopixel και το κουμπί on.off σε ένα καλώδιο πρωτοτύπων, επειδή είναι ευκολότερο στη χρήση. Αργότερα, μπορείτε εύκολα να κολλήσετε τα καλώδια πρωτοτύπων.
Αφού πετύχουμε με το κύκλωμα πρωτοτύπων, ήρθε η ώρα να φτιάξουμε το πραγματικό μας κύκλωμα. Χρησιμοποιώ το breadboard Perma-proto αφού είναι μικρότερο και η σύνδεση του κυκλώματος θα είναι πολύ καλύτερη από το πρωτότυπο κύκλωμα. Όταν πρόκειται για συγκόλληση, απαιτεί πολλή υπομονή. Μην τα παρατάς ακόμα! Φτάνεις εκεί!
Μόλις ολοκληρώσετε το κύκλωμά σας και ανεβάσετε τον κωδικό στο ESP8266, οι δύο συσκευές θα πρέπει να λειτουργούν όπως αναφέραμε στην αρχή.
Βήμα 4: Μορφή & Υλικό
Τώρα ας φτιάξουμε το Crystal House μας!
Κόψτε το ξύλο σε 6 ίντσες. Χρειαζόμαστε συνολικά 18 κομμάτια. Δεδομένου ότι θέλω κάποια παραλλαγή από αυτά τα δύο κρυστάλλινα σπίτια, χρησιμοποίησα 7 κομμάτια στο ένα και 9 κομμάτια στο άλλο. Κολλήστε τα κομμάτια σε μια δομή κουτιού. Έκοψα δύο ακρυλικά φύλλα σε 6 επί 6 ίντσες και τα κόλλησα στο κάτω μέρος των κρυστάλλινων σπιτιών.
Μόλις τελειώσετε τη δομή των σπιτιών. Ας διακοσμήσουμε τα σπίτια! Έκοψα ένα κομμάτι διαφανές χρωματιστό χαρτί και τα κόλλησα στο ακρυλικό φύλλο. Μετά από αυτό, χρησιμοποίησα μερικούς διαφανείς πλαστικούς κρυστάλλους και τους κόλλησα στη βάση. Δεδομένου ότι έχω ένα διαφανές χρωματιστό χαρτί στο κάτω μέρος των κρυστάλλων, οι κρύσταλλοι αντανακλώνται σε διαφορετικά χρώματα.
Βήμα 5: Τώρα ας χρησιμοποιήσουμε τα κρυστάλλινα σπίτια
Δώστε στον αγαπημένο σας το κρυστάλλινο σπίτι που φτιάξατε. Πείτε τους ότι είναι σημαντικοί! Μπορείτε πάντα να τροποποιήσετε την εξωτερική δομή χρησιμοποιώντας διαφορετικά υλικά και χρώματα. Να μου πεις πως πάει!
Συνιστάται:
Smart Crystal Light String: 9 βήματα (με εικόνες)
Smart Crystal Light String: Καθώς πλησιάζουν τα Χριστούγεννα και είμαι σε πλήρη έρευνα για τον αυτοματισμό του σπιτιού και τα έξυπνα αντικείμενα, αποφάσισα φέτος να προσπαθήσω να φτιάξω μια έξυπνη, ωραία εμφάνιση, φωτεινή σειρά RGB. Έκανα πολλή έρευνα σχετικά με τις λύσεις DIY στο διαδίκτυο, από τη μία πλευρά κάποια
Προγραμματισμός ATmega328 Με Arduino IDE χρησιμοποιώντας 8MHz Crystal: 4 βήματα
Προγραμματισμός ATmega328 Με Arduino IDE χρησιμοποιώντας 8MHz Crystal: Σε αυτό το Instuctable θα καλύψω έναν βήμα προς βήμα οδηγό προγραμματισμού ενός ATmega328P IC (Ο ίδιος μικροελεγκτής που υπάρχει στο Arudino UNO) χρησιμοποιώντας Arduino IDE και ένα Arduino UNO ως προγραμματιστή για να κάνετε τον εαυτό σας προσαρμοσμένο Arduino, για να φτιάξετε τα έργα σας
Super Easy Crystal Mood Light: 6 βήματα
Super Easy Crystal Mood Light: Γεια σας κατασκευαστές! Αυτό είναι ένα εξαιρετικά απλό έργο arduino που θα λειτουργήσει ως εργαλείο εκμάθησης καθώς και ένα κακό φοβερό φως διάθεσης. Είναι μόνο μερικά κομμάτια, ώστε να μπορείτε να το χτυπήσετε μαζί στο χρόνο που απαιτείται για την εκτύπωση της βάσης. Κάνει ένα σπουδαίο μάθημα
Καρφίτσα Crystal Quartz με αίσθηση ήχου και μουσικής με Playground Circuit Express: 8 βήματα (με εικόνες)
Καρφίτσα Crystal Quartz με ανίχνευση ήχου και μουσικής με Playground Circuit Express: Αυτή η καρφίτσα με ηχητική αντίδραση κατασκευάζεται χρησιμοποιώντας ένα κύκλωμα εξπρές παιδικής χαράς, φτηνά χύμα κρύσταλλα χαλαζία, σύρμα, χαρτόνι, πλαστικό, καρφίτσα ασφαλείας, βελόνα και κλωστή, θερμή κόλλα, ύφασμα, και μια ποικιλία εργαλείων. Αυτό είναι ένα πρωτότυπο, ή πρώτο σχέδιο, του
Crystal CMoy Free Form Ενισχυτής ακουστικών: 26 βήματα (με εικόνες)
Crystal CMoy Free Form Ενισχυτής ακουστικών: Αυτό το κύκλωμα ενισχυτή ακουστικών είναι διαφορετικό από τις συμβατικές σύγχρονες τεχνικές κατασκευής, καθώς είναι ενσύρματο, P2P (σημείο σε σημείο) ή καλωδίωση χωρίς μορφή, όπως στις παλιές καλές ημέρες της βαλβίδας πριν από την επέμβαση PCB και τρανζίστορ.R