Përmbajtje:
- Hapi 1: Materialet
- Hapi 2: Programimi
- Hapi 3: 4. Escoger Canciones Para Programarla
- Hapi 4: Programet Unir
- Hapi 5: Konverto Fasikon
- Hapi 6: Máquinas Utilizadas
- Hapi 7: Rekomandime
Video: Rocola Luis Hernández E Ignacio Casado: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Esta es una rocola que cuenta con dos canciones, tema e Harry Potter dhe la canción de Despacito de Luis Fonsi
Hapi 1: Materialet
1 Protoboard
1 Arduino UNO
kabllo kërcyes macho-hembra y macho-macho
1 pantalla LCD 16x2
2 Buzzer pasivo
2 Shtyp butonin
1 kabllo USB për Arduino
1 fuente de poder externa
Hapi 2: Programimi
Për më tepër, është e nevojshme të përfshihet në bibliotekën e LCD -së në programin dhe konfigurimin e të cilave ju nevojitet një lidhje e tillë. Për më tepër, ndryshimet e menjëhershme të përcaktuara në vendndodhjen e tyre, humbni 2 botone, pa ndryshuar "anti-derrames" ose për një zile.
#përfshi
// librería para manar pantallas LCD
LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // Indica que pines se estan utilizando
int cantidad = 0;
const int botonI = 10; const int botonD = 9; int antiterramet = 0; // një ndryshore e tillë mund të shërbejë për të gjithë ekranin e LCD -së 3, pasi të jetë e mundur në buzzer_pin = 6;
Después de eso, hay que nombrar a las funciones que van a:
- Definir el tono a tocar (zgjidhni el pin del buzzer, la nota y la duración de la misma).
- Definir las notas (en letras), dándoles un valor único de Hz.
- Përcaktoni la estructura de las notas (nota, gjysmë-nota, etj).
Y por ultimo, definir el tempo en milisegundos
void setTone (int pin, int note, int duration) {tone (pin, shënim, kohëzgjatje); vonesa (kohëzgjatja); noTone (pin); } struct MusicStruct {int A = 550; int As = 582; int B = 617; int C = 654; int Cs = 693; int D = 734; int Ds = 777; int E = 824; int F = 873; int Fs = 925; int G = 980; int Gs = 1003; int A2 = 1100; int A2s = 1165; int B2 = 1234; int C3 = 1308; int C3s = 1385; int D3 = 1555; } Muzikë; struct LengthStruct {noton gjysma = 0.5; noton një = 1.0; noton një_gjysmë = 1.5; noton dy = 2.0; noton dy_gjysma = 2.5; } Gjatësia;
int tempo = 400; // velocidad de la composicion
Después de definir todo eso, podemos empezar la parte interesante del programa.
Primero, hay que:
- Seriali i monitorit
- Definir los modos de los pines de los botones y el buzzer
- Përzgjidhni LCD -në dhe kursorin e zgjedhur në pozicionin zyrtar
void setup () {Serial.begin (9600); pinMode (botonI, INPUT_PULLUP); pinMode (botonD, INPUT_PULLUP);
// Zgjedhja e pantalla LCD
lcd.filloni (16, 2); // Enciende lcd lcd.qartë (); lcd.setCursor (0, 0); // El proximo mensaje apracecera en la cordenada 0, 0 pinMode (buzzer_pin, OUTPUT);
}
Luego, necesitamos instanciar las funciones de las funciones, që janë në një mënyrë të caktuar, në një kohë të caktuar, mund të lexoni 2 mundësi për të parë një vlerësim të vlefshëm të projektit (despacito y el tema principal of Harry Potter).
Usaremos 2 formas de tocar canciones en este proyecto:
- Usando la función setTone, que definimos antes (Harry Potter)
- Usando la función tone del buzzer del Arduino (Despacito)
Nota del autor: La función para despacito solo toca los primeros 12 zgjedhje nga la canción, origjinal el código era nga 856 linja
void jarri () {setTone (buzzer_pin, Music. B, tempo * Length.one); setTone (buzzer_pin, Music. E, tempo * Length.one_half); setTone (buzzer_pin, Music. G, tempo * Length.fail); setTone (buzzer_pin, Music. F, tempo * Length.one); setTone (buzzer_pin, Music. E, tempo * Length.two); setTone (buzzer_pin, Music. B2, tempo * Length.one); setTone (buzzer_pin, Music. A2, tempo * Length.two_half); setTone (buzzer_pin, Music. Fs, tempo * Length.two_half); setTone (buzzer_pin, Music. E, tempo * Length.one_half); setTone (buzzer_pin, Music. G, tempo * Length.fail); setTone (buzzer_pin, Music. F, tempo * Length.one); setTone (buzzer_pin, Music. Ds, tempo * Length.two); setTone (buzzer_pin, Music. F, tempo * Length.one); setTone (buzzer_pin, Music. B, tempo * Length.two_half);} void Despacito () {tone (buzzer_pin, 587, 709.720327982); vonesë (788.578142202); vonesë (10.3082110092); toni (buzzer_pin, 554, 709.720327982); vonesë (788.578142202); vonesë (5.15410550459); ton (buzzer_pin, 493, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); toni (buzzer_pin, 369, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 493, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 493, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 493, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 493, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); ton (buzzer_pin, 440, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 493, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); ton (buzzer_pin, 391, 412.843850917); vonesë (458.715389908); vonesë (5.15410550459); ton (buzzer_pin, 391, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 391, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 391, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 391, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 391, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 493, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 493, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 493, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 493, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); ton (buzzer_pin, 554, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 587, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); ton (buzzer_pin, 440, 412.843850917); vonesë (458.715389908); vonesë (5.15410550459); ton (buzzer_pin, 440, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 440, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 440, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 440, 41.7482545872); vonesë (46.3869495413); vonesë (36.0787385321); toni (buzzer_pin, 440, 37.109559633); vonesë (41.2328440367); vonesë (30.9246330275); ton (buzzer_pin, 440, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 587, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 587, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 587, 46.3869495413); vonesë (51.5410550459); vonesë (30.9246330275); toni (buzzer_pin, 587, 46.3869495413); vonesë (51.5410550459); vonesë (20.6164220183); toni (buzzer_pin, 587, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); ton (buzzer_pin, 659, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 659, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); toni (buzzer_pin, 554, 691.165548165); vonesë (767.961720183); vonesë (314.40043578); toni (buzzer_pin, 587, 552.004699541); vonesë (613.338555046); vonesë (5.15410550459); toni (buzzer_pin, 554, 552.004699541); vonesë (613.338555046); vonesë (5.15410550459); ton (buzzer_pin, 493, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); toni (buzzer_pin, 369, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 369, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 493, 46.3869495413); vonesë (51.5410550459); vonesë (30.9246330275); toni (buzzer_pin, 493, 46.3869495413); vonesë (51.5410550459); vonesë (20.6164220183); ton (buzzer_pin, 493, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); toni (buzzer_pin, 493, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 493, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); ton (buzzer_pin, 440, 134.52215367); vonesë (149.469059633); vonesë (5.15410550459); ton (buzzer_pin, 493, 273.683002294); vonesë (304.092224771); vonesë (5.15410550459); }
Una vez tengamos todo esto, podemos pasar a la parte mas importante del programa del Arduino… el Loop ()
Primero, definimos un label llamado leibel (espectacular nombre, lo sé), para que lleve al inicio del loop () cuando termine cada canción. Për më tepër, ju mund të vlerësoni një ndryshim të ndryshëm anti-derrames në instanciamos anteriormente, para se të shikoni LCD ekranet tuaja të shumta në letra të tjera në det të papërgjegjshëm.
Luego, hay que poner que cada vez que se oprima un botón se cambie el valor que define la canción que se toca.
lak void () {leibel: if ((antiderrames == 0) && (digitalRead (botonI) == 1) && (digitalRead (botonD) == 1)) {lcd.setCursor (0, 0); lcd.print ("Elegir cancion"); // CAMBIA el icono lcd.setCursor (0, 1); lcd.print ("1 o 2"); } else {if (digitalRead (botonI) == 0) {vonesë (400); lcd.qartë (); nëse (kantidad == 0) {kantidad = 1; } antiderramet ++; } if (digitalRead (botonD) == 0) {vonesë (400); lcd.qartë (); nëse (kantidad == 1) {kantidad = 0; } antiderramet ++; } if (cantidad == 0) {lcd.setCursor (0, 0); lcd.print ("Harry Potter"); // CAMBIA el icono lcd.setCursor (0, 1); lcd.print ("Tema"); jarri (); antiderrame = 0; lcd.qartë (); goto leibel; // volvemos al inicio
}
tjetër nëse (cantidad == 1); {
lcd.setCursor (0, 0); lcd.print ("Despacito"); // CAMBIA el icono lcd.setCursor (0, 1); lcd.print ("Luis Fonsi"); Despacito (); antiderrame = 0; lcd.qartë (); goto leibel; // volvemos al inicio}}}
Ju mund të programoni programin tuaj, por mund të përdorni funksionimin e ekranit të ekranit LCD 16x2, për të mbrojtur programin tuaj dhe për të hapur një kohë para programit përfundimtar.
Hapi 3: 4. Escoger Canciones Para Programarla
Se buscaron 2 canciones para programarlas y así incluirlas para la rocola. En este caso serían las canciones të "Despacito" de Luis Fonsi dhe el tema de la película Harry Potter.
Hapi 4: Programet Unir
Después de tener la programación de los botones, la pantalla y las canciones; se unieron para así probar si eran compatibles y si no, modificarlos en tinkercad.
Hapi 5: Konverto Fasikon
Después de comprobar que sí funcionara en la página de tinkercad, ju mund të kopjoni pajisjet tuaja për të humbur rezultatet. Për më tepër, është e pamundur të përdorësh një armë që nuk mund të përdorësh, por nuk mund të përdorësh pantalla për të cilat mund të kontaktosh me shitjen. Për më tepër, në prezantimin përfundimtar të vetëm të los botones dhe zërit.
Hapi 6: Máquinas Utilizadas
Shfrytëzojeni shërbimet e krijuesit të Hapësirës për krijimin e një makine që bëni në të gjithë qarkun.
Shfrytëzoni ngjitjen e shkopit të makinës për dekorimin e karcasë
Se utilizo el taladro de pedestal del Maker-space para hacer los agujeros para el buzzer dhe el cable del Arduino
Hapi 7: Rekomandime
Algunas recomendaciones si se piensa replicar este proyecto para mejores resultados es:
- Probar previamente el programa en la página de Tinkercad para ver cómo funciona. Así como verificar los cableados y conexiones entre el protoboard y el arduino.
- Për më tepër, verifikoni se si të kontaktoni me njëra -tjetrën, si dhe të kuptoni se si të gjithë përbërësit.
- Të gjitha kopjet e harduerit të faqes Tinkercad, të lidhura me një formë të përzgjedhur për të mos u përplasur me një verifikim që nuk ju lejon të zgjidhni ndonjë vendndodhje.
- Medir las dimensiones para la caja, así se podrá evitar que quede demasiado grande o muy pequeña.
Recommended:
Rocola Digital: 4 hapa
Rocola Digital: Una rocola es un dispositivo që prodhon muzikë. Ju mund të përdorni një sistem të rregullt që operonte në bazë të monedave për riprodhimin e videove ose mundësive. Në këtë rast, ju mund të krijoni një mënyrë të funksionimit nga forma manuale, falënderoni tre botones.
Rocola (Jukebox) Manufactura Digital: 7 hapa
Rokola (Jukebox) Prodhimi dixhital: Rocola programada con arduino. Contiene tres canciones: Starwars, Game of thrones y Coffin dance
Rocola Con Arduino: 4 hapa
Rocola Con Arduino: Esta es una guía para que puedas hacer tu propia rocola con canciones famosas clásicas, si Never Gonna Give You Up, Take On Me, ose el tema clásico de Doom para poner un poco de rock en la lista. Aquí se proporciona la guía para el ensamblaje eléctr
Rocola Digital: 3 hapa
Rocola Digital: Projekti juaj konsiston në realizimin e një sistemi dixhital, mund të përdorni një funksion kryesor të riprodhimit të afroksimadamenteve të 20 segundeve të 3 kanaleve të shpërndarjes, duke përfshirë një depo pause/riprodhimi, dos botones para cambiar las cancione
Hyrje: Rokola; Fernando Lavarreda; Diego Hernández: 5 hapa
Hyrje: Rokola; Fernando Lavarreda; Diego Hernández: Për më tepër udhëzime për të përcaktuar detajet e mëparshme të një procesi të nevojshëm për ndërtimin e një rocola haciendo uso nga Arduino dhe un buzzer pasivo. Siç e dini, Arduino është një komunitet i creadores që provon një mikrokontrollues