Përmbajtje:

Rocola Luis Hernández E Ignacio Casado: 7 hapa
Rocola Luis Hernández E Ignacio Casado: 7 hapa

Video: Rocola Luis Hernández E Ignacio Casado: 7 hapa

Video: Rocola Luis Hernández E Ignacio Casado: 7 hapa
Video: El Puma Dice Que No Le Importa Sus Hijas #shorts #viral 2024, Nëntor
Anonim
Rocola Luis Hernández E Ignacio Casado
Rocola Luis Hernández E Ignacio Casado

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

Programim
Programim
Programim
Programim

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:

  1. Definir el tono a tocar (zgjidhni el pin del buzzer, la nota y la duración de la misma).
  2. Definir las notas (en letras), dándoles un valor único de Hz.
  3. 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:

  1. Usando la función setTone, que definimos antes (Harry Potter)
  2. 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

4. Escoger Canciones Para Programarla
4. Escoger Canciones Para Programarla
4. Escoger Canciones Para Programarla
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

Unir Programas
Unir Programas

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

Convertirlo En Físico
Convertirlo En Físico
Convertirlo En Físico
Convertirlo En Físico

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

Máquinas Utilizadas
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

Rekomandime
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: