Taula de continguts:
- Pas 1: Pas 1: anell LED amb tacte captiu
- Pas 2: Pas 2: Afegir so
- Pas 3: Pas addicional: preparar el Stump "Arduino Ready"
Vídeo: Arduino MusicStump: lleuger, tacte captiu i un brunzidor: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Un arbre interactiu amb un anell LED a la part superior, un brunzidor per fer so i un sensor tàctil captiu que canvia el color a mesura que el toqueu. Per fer aquesta cosa divertida, necessitareu el següent:
Electrònica: - 1x Arduino Uno
- Cables de 15x
1x soldador amb punta rodona
1x tacte captiu de 8 tecles Adafruit (CAP1188)
- 1x cable d'alimentació Arduino
- 1x 8 anells LED
- 1x timbre
- 1 pistola de cola calenta
- Descarregueu la biblioteca de CAP1188
- Descarregueu la biblioteca d'Adafruit Neopixel
Extra (carcassa):
- 1x soca d'arbre
1x pal per a l'interior
- Plat de fusta per col·locar-ho tot a dins
- Farcit d’animals de peluix per a l’exterior
També podeu utilitzar una altra cosa com a fora, sigueu creatius.
Ara comencem …
Pas 1: Pas 1: anell LED amb tacte captiu
Ara bé, si teniu sort, el vostre anell LED ja té pins connectats. Si no, és hora de soldar!
Les coses que farem servir per a aquest projecte són:
- DI (entrada digital, pin 6 ~
5V (per a alimentació, pin de 5V)
- GND (el terra, pin GND)
Aquest és l’anell LED per ara. Ara el toc captiu.
Col·loqueu-lo en una placa de connexió i connecteu-ho tot de la manera següent: SDA / MISO en pin (entrada analògica) A4SCK en pin (entrada analògica) A5VIN in (alimentació) 5VGND en un cable GND pin1x a C1 (al propi Captive touch)
Ara per provar, pengeu el següent codi al vostre Arduino:
// Julia Emmink // Llum i codi tàctil per a l’arbre interactiu 19 /// Fet amb l’ús de Adafruit Neopixel i Adafruit captive touch (CAP1188) (s’ha d’instal·lar) i el LED parpelleja sense demora
// NEOPIXEL ~~~~~~~~~~~~~~~~~~
#incloure
#define PIXELSPIN 6 // On heu connectat l'anell LED
#define NUMPIXELS 8 // La quantitat de LEDs que hi ha al vostre anell #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
píxels llargs sense signes Interval = 500; // el temps que hem d’esperar
color llarg sense signarWipePreviousMillis = 0; teatre llarg sense signarChasePreviousMillis = 0; longbow rainbowPreviousMillis sense signar = 0; rainbowCyclesPreviousMillis llarg sense signar = 0;
int theatreChaseQ = 0;
uint16_t currentPixel = 0; // en quin píxel estem operant
// TOUCH ~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// Reset Pin s'utilitza per a I2C o SPI
#define CAP1188_RESET 9
// El pin CS s'utilitza per al programari o maquinari SPI
#define CAP1188_CS 10
// Aquests es defineixen per al programari SPI, per al maquinari SPI, comproveu el vostre
// pins SPI de la placa a la documentació Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Utilitzeu I2C, sense pin de restabliment.
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
configuració nul·la () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~ currentPixel = 0; pixels.begin (); // Això inicialitza la biblioteca NeoPixel. pixels.show (); // Això envia el color de píxels actualitzat al maquinari.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println ("prova CAP1188!");
if (! cap.begin ()) {
Serial.println ("CAP1188 no trobat"); mentre que (1); } Serial.println ("CAP1188 trobat!"); }
bucle buit () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~ uint8_t tocat = cap.touched (); if (tocat == 0) {if ((sense signar llarg) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixels. Color (0, 255, 125)); }} else {if ((sense signar llarg) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixels. Color (100, 0, 150)); }}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~ // Es desfà del color pixels.setPixelColor (currentPixel, c); pixels.setPixelColor (Pixel actual - 1, pixels. Color (0, 0, 0)); pixels.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.setPixelColor (7, pixels. Color (0, 0, 0));
}
}
Posa-ho a prova i diverteix-te! Com veieu quan toqueu el cable C1, el color canvia. (Si no és la primera vegada, desconnecteu l'Arduino i torneu-lo a connectar a l'ordinador).
Pas 2: Pas 2: Afegir so
Amb l'ús d'un pràctic tutorial he fet això. El tutorial es mostra a continuació:
github.com/xitangg/-Pirates-of-the-Caribbe…
És hora d’agafar el vostre timbre! Poseu el (-) del brunzidor en un dels pins GND i el (+) al pin 10 ~
Això és tot, ara és hora de tornar a executar el codi i escoltar aquella preciosa melodia de Pirates del Carib! Ara divertiu-vos provant!
// Julia Emmink // Llum, tacte i codi musical per a l’arbre interactiu 2018-01-19 // Fet amb l’ús de l’Adafruit Neopixel i Captive Touch (CAP1188) (s’ha d’instal·lar) i el LED parpelleja sense demora
// NEOPIXEL ~~~~~~~~~~~~~~~~~ # inclou
#define PIXELSPIN 6
#define NUMPIXELS 8 #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
píxels llargs sense signes Interval = 500; // el temps que hem d’esperar
color sense signar llarg ColorWipePreviousMillis = 0; teatre llarg sense signarChasePreviousMillis = 0; rainbow long unsignedPreviousMillis = 0; rainbowCyclesPreviousMillis llarg sense signar = 0;
int theatreChaseQ = 0;
uint16_t currentPixel = 0; // en quin píxel estem operant
// MÚSICA ~~~~~~~~~~~~~~~~~~~~~
const int buzzer = 10; // Definiu el pin 10, es poden utilitzar altres pins PWM (5, 6 o 9) // Els pins 3 i 11 no es poden utilitzar quan s’utilitza la funció de to a Arduino Uno const int velocitat de cançó = 1,5; // Canvieu a 2 per obtenir una versió més lenta de la cançó, com més gran sigui el número, la cançó serà més lenta // *************************** ************** #define NOTE_C4 262 // Definició de freqüència de notes #define NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_B4 494 #define NOTE_C5 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 notes = {// Nota de la cançó, 0 és un repòs / pols 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 duration = {/ / durada de cada nota (en ms) La nota trimestral s'estableix en 250 ms 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// TOUCH ~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// Reset Pin s'utilitza per a I2C o SPI
#define CAP1188_RESET 9
// El pin CS s'utilitza per al programari o maquinari SPI
#define CAP1188_CS 10
// Aquests es defineixen per al programari SPI, per al maquinari SPI, comproveu el vostre
// pins SPI de la placa a la documentació Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Utilitzeu I2C, sense pin de restabliment.
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
configuració nul·la () {
// MÚSICA ~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203 és el nombre total de notes musicals a la cançó int wait = durata * velocitat de la cançó; to (timbre, notes , espera); // to (pin, freqüència, durada);} // s’utilitza el retard, de manera que no passa al següent bucle abans que s’acabi de reproduir el to // Podeu fer clic a Restableix a Arduino per reproduir la cançó // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~ currentPixel = 0; pixels.begin (); // Això inicialitza la biblioteca NeoPixel. pixels.show (); // Això envia el color de píxels actualitzat al maquinari.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println ("prova CAP1188!"); if (! cap.begin ()) {Serial.println ("CAP1188 no trobat"); mentre que (1); } Serial.println ("CAP1188 trobat!");
}
bucle buit () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~ uint8_t tocat = cap.touched (); if (tocat == 0) {if ((sense signar llarg) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixels. Color (0, 255, 125)); }} else {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixels. Color (100, 0, 150)); }}
for (int i = 0; i = pixelsInterval) {
colorWipePreviousMillis = millis (); colorWipe (pixels. Color (0, 255, 125)); }} else {if ((sense signar llarg) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixels. Color (100, 0, 150)); }}
retard (esperar);
}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~ // Es desfà del color 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));
}
}
Pas 3: Pas addicional: preparar el Stump "Arduino Ready"
Si decidiu utilitzar una soca d’arbre, heu de fer el següent.
- Aconsegueix una soca d'arbre (en tinc una d'un vell arbre de Nadal de franc)
- Mesureu el vostre Arduino i vegeu com voleu tenir el cablejat a la soca de l'arbre
- Buida la soca (he utilitzat una broca de l’escola)
- Liureu les vores rugoses
- Afegiu petits detalls divertits
Els detalls que he afegit són un petit logotip que he fet amb un tallador làser. També vaig apilar tots els meus aparells electrònics a dins d’un pal dins del meu arbre i hi vaig afegir peluix de peluix a l’exterior per deixar passar la llum i donar aquesta petita suavitat extra.
Recomanat:
Com utilitzar el sensor PIR i un mòdul de brunzidor: tutorial de Visuino: 6 passos
Com utilitzar el sensor PIR i un mòdul de brunzidor: tutorial de Visuino: en aquest tutorial aprendrem a utilitzar un sensor PIR i un mòdul de brunzidor per fer un so cada vegada que un sensor PIR detecta un moviment. Mireu un vídeo de demostració
Controleu el so del brunzidor amb Arduino: 7 passos
Controleu el so del brunzidor amb Arduino: hi ha moltes obres interactives que es poden completar amb Arduino, el més comú i el més utilitzat és la visualització de so i llum. Els components més habituals que poden fer sonar són el brunzidor i la trompa. Compareu els dos, el brunzidor és més senzill
Tutorial Arduino Uno # 2: la cançó del brunzidor: 4 passos (amb imatges)
Tutorial # 2 d'Arduino Uno: la cançó del brunzidor: Hola a tothom, ja que vaig veure que el meu primer tutorial havia estat una bona aposta, vaig decidir que faré una sèrie de tutorials d'Arduino Uno
Domòtica mitjançant Portal captiu: 9 passos
Domòtica mitjançant Captive Portal: aquí crearem un projecte molt interessant de domòtica basada en Portal captiu que utilitza nodeMCU des de zero .. Així doncs, comencem
ESP32 Portal captiu per configurar la configuració IP estàtica i DHCP: 8 passos
ESP32 Portal captiu per configurar els paràmetres IP estàtics i DHCP: ESP 32 és un dispositiu amb WiFi i BLE integrats. És una mena de benefici per als projectes IoT. Simplement doneu les vostres configuracions d’SSID, contrasenya i IP i integreu les coses al núvol. Però, gestionar la configuració d’IP i les credencials d’usuari pot ser un cap