
Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39

Ένα διαδραστικό δέντρο με ένα δαχτυλίδι LED στο επάνω μέρος, ένα βομβητή για να κάνει ήχο και έναν αιχμάλωτο αισθητήρα αφής στο εσωτερικό που αλλάζει το χρώμα καθώς το αγγίζετε. Για να κάνετε αυτό το διασκεδαστικό πράγμα θα χρειαστείτε τα εξής:
Ηλεκτρονικά:- 1x Arduino Uno
- 15x καλώδια
- 1x κολλητήρι με στρογγυλή άκρη
- 1x Adafruit 8-key captive touch (CAP1188)
- 1x καλώδιο τροφοδοσίας Arduino
- 1x 8 δακτύλιος LED
- 1x Buzzer
- 1x πιστόλι θερμής κόλλας
-Κατεβάστε τη βιβλιοθήκη του CAP1188
- Κατεβάστε τη βιβλιοθήκη του Adafruit Neopixel
Επιπλέον (περίβλημα):
- 1x κούτσουρο δέντρου
- 1x ραβδί για το εσωτερικό
- ξύλινη πιατέλα για να τα τοποθετήσετε όλα πάνω/μέσα
- Γεμιστά ζώα για το εξωτερικό
Μπορείτε επίσης να χρησιμοποιήσετε κάτι άλλο ως εξωτερικό, να είστε δημιουργικοί!
Τώρα ας ξεκινήσουμε…
Βήμα 1: Βήμα 1: Δαχτυλίδι LED με Captive Touch

Τώρα αν είστε τυχεροί, το δαχτυλίδι LED σας έχει ήδη κολλήσει καρφίτσες. Αν όχι, ήρθε η ώρα της συγκόλλησης!
Τα πράγματα που θα χρησιμοποιήσουμε για αυτό το έργο είναι:
- DI (Digitalηφιακή είσοδος, pin 6
- 5V (για ισχύ, ακίδα 5V)
- GND (Το έδαφος, καρφίτσα GND)
Αυτός είναι ο δακτύλιος LED προς το παρόν. Τώρα το αιχμάλωτο άγγιγμα.
Τοποθετήστε το σε ένα breadboard και συνδέστε τα πάντα ως εξής: SDA/MISO σε ακίδα (αναλογικό σε) A4SCK σε καρφίτσα (αναλογικό σε) A5VIN σε (ισχύ) 5VGND σε καλώδιο GND pin1x στο C1 (στο ίδιο το Captive touch)
Τώρα για δοκιμή, ανεβάστε τον ακόλουθο κώδικα στο Arduino σας:
// Julia Emmink // Κωδικός φωτισμού και αφής για το διαδραστικό δέντρο 19 /// Κατασκευάστηκε με τη χρήση του Adafruit Neopixel και του Adafruit captive touch (CAP1188) (πρόκειται να εγκατασταθεί) και το LED αναβοσβήνει χωρίς καθυστέρηση
// NEOPIXEL
#περιλαμβάνω
#define PIXELSPIN 6 // Όπου συνδέσατε το δαχτυλίδι LED
#define NUMPIXELS 8 // Το ποσό των LED που υπάρχουν στο δαχτυλίδι σας #καθορίστε CALIBRATIONTIME 20000
Εικονοστοιχεία Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
ανυπόγραφα μακριά pixelsInterval = 500; // ο χρόνος που πρέπει να περιμένουμε
ανυπόγραφο μακρύ χρώμαWipePreviousMillis = 0; ανυπόγραφο μακρύ θέατροChasePreviousMillis = 0; ανυπόγραφο μακρύ ουράνιο τόξοΠροηγούμενοςΜίλις = 0; ανυπόγραφο μακρύ ουράνιο τόξοCyclesPrecomeMillis = 0;
int theaterChaseQ = 0;
uint16_t currentPixel = 0; // σε ποιο pixel λειτουργούμε
// Αγγίξτε
#συμπεριλάβω #συμπεριλάβω #συμπεριλάβω
// Το Reset Pin χρησιμοποιείται για I2C ή SPI
#define CAP1188_RESET 9
// Το CS pin χρησιμοποιείται για SPI λογισμικού ή υλικού
#define CAP1188_CS 10
// Αυτά ορίζονται για SPI λογισμικού, για SPI υλικού, ελέγξτε το
// καρφίτσες SPI του πίνακα στην τεκμηρίωση Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Χρησιμοποιήστε I2C, χωρίς καρφίτσα επαναφοράς!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
void setup () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ currentPixel = 0; pixels.begin (); // Αυτό προετοιμάζει τη βιβλιοθήκη NeoPixel. pixels.show (); // Αυτό στέλνει το ενημερωμένο χρώμα pixel στο υλικό.
// Αγγίξτε
Serial.begin (300); Serial.println ("δοκιμή CAP1188!");
αν (! cap.begin ()) {
Serial.println ("Το CAP1188 δεν βρέθηκε"); ενώ (1)? } Serial.println ("Το CAP1188 βρέθηκε!"); }
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); εάν (αγγίξει == 0) {if ((χωρίς υπογραφή μακρύ) (χιλιοστά () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((χωρίς υπογραφή μακρύ) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ // Απαλλάσσεται από το χρώμα pixels.setPixelColor (currentPixel, c); pixels.setPixelColor (currentPixel - 1, pixels. Color (0, 0, 0)); pixels.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.setPixelColor (7, pixels. Color (0, 0, 0));
}
}
Δοκιμάστε το και διασκεδάστε! Όπως βλέπετε όταν αγγίζετε το καλώδιο C1 το χρώμα αλλάζει. (Εάν δεν είναι η πρώτη φορά, απλώς αποσυνδέστε το Arduino και συνδέστε το ξανά στον υπολογιστή σας.)
Βήμα 2: Βήμα 2: Προσθήκη ήχου
Με τη χρήση ενός εύχρηστου σεμιναρίου το έφτιαξα αυτό. Το σεμινάριο είναι παρακάτω:
github.com/xitangg/-Pirates-of-the-Caribbe…
Timeρα να πιάσετε το κουδούνι σας! Τοποθετήστε το (-) του βομβητή σε μία από τις ακίδες GND και το (+) στον πείρο 10
Αυτό είναι περίπου, τώρα ήρθε η ώρα να τρέξουμε ξανά τον κώδικα και να ακούσουμε αυτό το υπέροχο τραγούδι των Πειρατών της Καραϊβικής! Τώρα διασκεδάστε τις δοκιμές!
// Julia Emmink // Κωδικός φωτός, αφής και μουσικής για το διαδραστικό δέντρο 2018-01-19 // Κατασκευασμένο με τη χρήση των Adafruit Neopixel και Captive Touch (CAP1188) (πρόκειται να εγκατασταθεί) και το LED να αναβοσβήνει χωρίς καθυστέρηση
// NEOPIXEL ~~~~~~~~~~~~~~~~~~#περιλαμβάνει
#define PIXELSPIN 6
#define NUMPIXELS 8 #define CALIBRATIONTIME 20000
Εικονοστοιχεία Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
ανυπόγραφα μακριά pixelsInterval = 500; // ο χρόνος που πρέπει να περιμένουμε
ανυπόγραφο μακρύ χρώμαWipePreviousMillis = 0; ανυπόγραφο μακρύ θέατροChasePreviousMillis = 0; ανυπόγραφο μακρύ ουράνιο τόξοΠροηγούμενοςΜίλις = 0; ανυπόγραφο μακρύ ουράνιο τόξοCyclesPrecomeMillis = 0;
int theaterChaseQ = 0;
uint16_t currentPixel = 0; // σε ποιο pixel λειτουργούμε
// ΜΟΥΣΙΚΗ
const int buzzer = 10; // Ορίστε τον πείρο 10, μπορεί να χρησιμοποιήσει άλλους ακροδέκτες PWM (5, 6 ή 9) // Οι καρφίτσες σημείωσης 3 και 11 δεν μπορούν να χρησιμοποιηθούν όταν χρησιμοποιείτε τη λειτουργία τόνου στο Arduino Uno const int songspeed = 1.5; // Αλλάξτε σε 2 για μια πιο αργή έκδοση του τραγουδιού, όσο μεγαλύτερος είναι ο αριθμός τόσο πιο αργό είναι το τραγούδι // ************************** ************** #καθορίστε NOTE_C4 262 // Καθορισμός συχνότητας σημειώσεων #καθορίστε NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_B4 494 #define 523 #define NOTE_D5 587 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_G5 784 #define NOTE_A5 880 #define NOTE_B5 988 // *********************** ****************** int σημειώσεις = {// Σημείωση του τραγουδιού, το 0 είναι ανάπαυση/παλμός NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, NOTE_A4, NOTE_G4, NOTE_A4, 0}; // ************************************** int διάρκεια = { / /διάρκεια κάθε νότας (σε ms) Η Τετάρτη Σημείωση ορίζεται σε 250 ms 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// Αγγίξτε
#συμπεριλάβω #συμπεριλάβω #συμπεριλάβω
// Το Reset Pin χρησιμοποιείται για I2C ή SPI
#define CAP1188_RESET 9
// Το CS pin χρησιμοποιείται για SPI λογισμικού ή υλικού
#define CAP1188_CS 10
// Αυτά ορίζονται για SPI λογισμικού, για SPI υλικού, ελέγξτε το
// καρφίτσες SPI του πίνακα στην τεκμηρίωση Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Χρησιμοποιήστε I2C, χωρίς καρφίτσα επαναφοράς!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
void setup () {
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203 είναι ο συνολικός αριθμός μουσικών νότες σε το τραγούδι int wait = διάρκεια * songspeed; τόνος (βομβητής, σημειώσεις , αναμονή)? // τόνος (καρφίτσα, συχνότητα, διάρκεια);} // η καθυστέρηση χρησιμοποιείται, ώστε να μην μεταβεί στον επόμενο βρόχο πριν τελειώσει η αναπαραγωγή του τόνου // Μπορείτε να κάνετε κλικ στην επαναφορά στο Arduino για επανάληψη του τραγουδιού // NEOPIXEL ~~~~~~~~~~~~~~~ currentPixel = 0; pixels.begin (); // Αυτό προετοιμάζει τη βιβλιοθήκη NeoPixel. pixels.show (); // Αυτό στέλνει το ενημερωμένο χρώμα pixel στο υλικό.
// Αγγίξτε
Serial.begin (300); Serial.println ("δοκιμή CAP1188!"); if (! cap.begin ()) {Serial.println ("Το CAP1188 δεν βρέθηκε"); ενώ (1)? } Serial.println ("Το CAP1188 βρέθηκε!");
}
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); εάν (αγγίξει == 0) {if ((χωρίς υπογραφή μακρύ) (χιλιοστά () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((χωρίς υπογραφή μακρύ) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
για (int i = 0; i = pixelsInterval) {
colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((χωρίς υπογραφή μακρύ) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
καθυστέρηση (αναμονή)?
}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ // Απαλλάσσεται από τα χρώματα pixels.setPixelColor (currentPixel, c); pixels.setPixelColor (currentPixel-1, pixels. Color (0, 0, 0)); pixels.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.setPixelColor (7, pixels. Color (0, 0, 0));
}
}
Βήμα 3: Πρόσθετο βήμα: Κάνοντας το Stump «Arduino Ready»



Εάν αποφασίσετε να χρησιμοποιήσετε ένα κούτσουρο δέντρου, πρέπει να κάνετε τα εξής.
- Πάρτε ένα κούτσουρο δέντρου (πήρα ένα από ένα παλιό χριστουγεννιάτικο δέντρο δωρεάν)
- Μετρήστε το Arduino σας και δείτε πώς θέλετε να έχετε την καλωδίωση στο κούτσουρο του δέντρου
- Κοίλα έξω το κούτσουρο (χρησιμοποίησα μηχανή τρυπανιών από το σχολείο)
- Τρίψτε τις τραχιές άκρες
- Προσθέστε διασκεδαστικές μικρές λεπτομέρειες
Λεπτομέρειες που πρόσθεσα ήταν ένα μικρό λογότυπο που έφτιαξα με κόπτη λέιζερ. Επίσης, στοίβαξα όλα τα ηλεκτρονικά μου μέσα σε ένα ραβδί μέσα στο δέντρο μου και πρόσθεσα γεμιστά ζώα στο εξωτερικό για να περάσει το φως και να δώσει αυτή τη μικρή επιπλέον απαλότητα.
Συνιστάται:
Arduino Control DC Speed and Direction Speed and Direction Using Potentiometer, OLED Display & Buttons: 6 βήματα

Arduino Control DC Motor Speed and Direction Speed and Direction Using Potentiometer, OLED Display & Buttons: Σε αυτό το σεμινάριο θα μάθουμε πώς να χρησιμοποιούμε πρόγραμμα οδήγησης L298N DC MOTOR CONTROL και ποτενσιόμετρο για τον έλεγχο της ταχύτητας και της κατεύθυνσης του κινητήρα DC με δύο κουμπιά και εμφάνιση της τιμής του ποτενσιόμετρου στην οθόνη OLED. Παρακολουθήστε ένα βίντεο επίδειξης
Αυτοματισμός σπιτιού με χρήση του Captive Portal: 9 βήματα

Αυτοματισμός σπιτιού χρησιμοποιώντας Captive Portal: Εδώ, θα δημιουργήσουμε ένα πολύ ενδιαφέρον έργο αυτοματισμού σπιτιού με βάση το Captive Portal χρησιμοποιώντας το nodeMCU από την αρχή..Έτσι, ας ξεκινήσουμε
ESP32 Captive Portal για τη διαμόρφωση των στατικών και DHCP IP ρυθμίσεων: 8 βήματα

ESP32 Captive Portal για Διαμόρφωση Στατικών και DHCP IP Ρυθμίσεων: Το ESP 32 είναι μια συσκευή με ενσωματωμένο WiFi και BLE. Είναι ένα όφελος για τα έργα IoT. Απλώς δώστε τις διαμορφώσεις SSID, κωδικού πρόσβασης και IP και ενσωματώστε τα πράγματα στο cloud. Όμως, η διαχείριση των ρυθμίσεων IP και των διαπιστευτηρίων χρήστη μπορεί να είναι βασική
Sound a Piezo Buzzer With Blynk and XinaBox: 9 βήματα

Sound a Piezo Buzzer With Blynk και XinaBox: Ελέγξτε οποιοδήποτε στοιχείο 5V χρησιμοποιώντας Blynk και xChips. Αυτό το έργο ακούγεται Piezo Buzzer από το τηλέφωνό μου
Light Up Bow From Saran Wrap and Hot Glue and LED Throwie: 6 βήματα (με εικόνες)

Light Up Bow From Saran Wrap and Hot Glue and LED Throwie: Δημιουργήστε ένα χαριτωμένο, φωτεινό, φωτισμένο τόξο με περιτύλιγμα σαράν, ζεστή κόλλα και μερικές τροποποιημένα πέταλα LED. Ναι, με άκουσες … περιτύλιγμα σαράν και ζεστή κόλλα. Είναι η τέλεια χειροτεχνία διακοπών για τη μαμά και τις κόρες να κάνουν μαζί, χωρίς διάλειμμα