Სარჩევი:

როკოლა ლუის ერნანდესი იგნასიო კასადო: 7 ნაბიჯი
როკოლა ლუის ერნანდესი იგნასიო კასადო: 7 ნაბიჯი

ვიდეო: როკოლა ლუის ერნანდესი იგნასიო კასადო: 7 ნაბიჯი

ვიდეო: როკოლა ლუის ერნანდესი იგნასიო კასადო: 7 ნაბიჯი
ვიდეო: Cholo soy... y no me compadezcas - Luis Abanto Morales 2024, ივლისი
Anonim
როკოლა ლუის ერნანდესი იგნასიო კასადო
როკოლა ლუის ერნანდესი იგნასიო კასადო

Esta es una rocola que cuenta con dos canciones, el tema de Harry Potter y la canción de Despacito de Luis Fonsi

ნაბიჯი 1: მასალები

1 პროტობორდი

1 Arduino UNO

კაბელები jumper macho-hembra y macho-macho

1 პანტალა LCD 16x2

2 ბუზერი პასივო

2 დააჭირეთ ღილაკს

USB კაბელი Arduino– სთვის

1 fuente de poder externa

ნაბიჯი 2: პროგრამირება

პროგრამირება
პროგრამირება
პროგრამირება
პროგრამირება

პირველ რიგში, ეს არის ბიბლიოთეკის ჩართვა LCD პროგრამით და კონფიგურაციით, რომლითაც დაგეგმილია კავშირი. ეს არის ის ფაქტი, რომ არსებობს ცვლადი, რომელიც განისაზღვრება cancion, los pines de los 2 botones, una variable "anti-derrames" y el pin para el buzzer.

#ჩართეთ

// თავისუფალი პანელის პანელის 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 antidrames = 0; // ეს არის ცვლადი, რომელიც ემსახურება ამ ეკრანს და LCD ეკრანს 3 cosas al mismo tiempo int buzzer_pin = 6;

Después de eso, hay que nombrar a las funciones que van a:

  1. განსაზღვრეთ el too tocar (según 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. Definir la estructura de las notas (ნოტა, ნახევრად ნოტა და სხვა).

Y por ultimo, definir el tempo en milisegundos

void setTone (int pin, int note, int ხანგრძლივობა) {ტონი (pin, შენიშვნა, ხანგრძლივობა); დაგვიანება (ხანგრძლივობა); noTone (პინი); } 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; } მუსიკა; struct LengthStruct {ათწილადი ნახევარი = 0.5; float one = 1.0; ათწილადი ერთი_ნახევარი = 1.5; ათწილადი ორი = 2.0; float two_half = 2.5; } სიგრძე;

int ტემპი = 400; // velocidad de la composicion

Después de definir todo eso, podemos empezar la parte interesante del programa.

Primero, თივა que:

  • სერიის მონიტორი
  • განსაზღვრეთ los modos de los pines de los botones y el buzzer
  • ჩართეთ LCD და შეაფასეთ კურსორი ოფიციალურად

void setup () {Serial.begin (9600); pinMode (botonI, INPUT_PULLUP); pinMode (botonD, INPUT_PULLUP);

// Sección de pantalla LCD

lcd. დასაწყისი (16, 2); // Enciende lcd lcd.clear (); 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, que van dar dar orden, tono, tiempo de las 2 canciones que vamos tener en este proyecto (despacito y el tema principal de Harry Potter).

Usaremos 2 formas de tocar canciones en este proyecto:

  1. Usando la función setTone, que definimos antes (ჰარი პოტერი)
  2. Usando la función tone del buzzer del Arduino (Despacito)

Nota del autor: La función para despacito solo toca los primeros 12 segundos de la canción, originalment código era de 856 ხაზები

void jarri () {setTone (buzzer_pin, Music. B, tempo * Length.one); setTone (buzzer_pin, Music. E, ტემპი * Length.one_half); setTone (buzzer_pin, Music. G, ტემპი * სიგრძე. ნახევარი); setTone (buzzer_pin, Music. F, tempo * Length.one); setTone (buzzer_pin, Music. E, ტემპი * Length.two); setTone (buzzer_pin, Music. B2, ტემპი * Length.one); setTone (buzzer_pin, Music. A2, ტემპი * Length.two_half); setTone (buzzer_pin, Music. Fs, ტემპი * Length.two_half); setTone (buzzer_pin, Music. E, ტემპი * Length.one_half); setTone (buzzer_pin, Music. G, ტემპი * სიგრძე. ნახევარი); setTone (buzzer_pin, Music. F, tempo * Length.one); setTone (buzzer_pin, Music. Ds, ტემპი * Length.two); setTone (buzzer_pin, Music. F, tempo * Length.one); setTone (buzzer_pin, Music. B, tempo * Length.two_half);} void Despacito () {ტონი (buzzer_pin, 587, 709.720327982); დაგვიანება (788.578142202); დაგვიანება (10.3082110092); ტონი (buzzer_pin, 554, 709.720327982); დაგვიანება (788.578142202); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 440, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 391, 412.843850917); დაგვიანება (458.715389908); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 391, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 391, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 391, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 391, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 391, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 554, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 587, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 440, 412.843850917); დაგვიანება (458.715389908); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 440, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 440, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 440, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 440, 41.7482545872); დაგვიანება (46.3869495413); დაგვიანება (36.0787385321); ტონი (buzzer_pin, 440, 37.109559633); დაგვიანება (41.2328440367); დაგვიანება (30.9246330275); ტონი (buzzer_pin, 440, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 587, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 587, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 587, 46.3869495413); დაგვიანება (51.5410550459); დაგვიანება (30.9246330275); ტონი (buzzer_pin, 587, 46.3869495413); დაგვიანება (51.5410550459); დაგვიანება (20.6164220183); ტონი (buzzer_pin, 587, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 659, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 659, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 554, 691.165548165); დაგვიანება (767.961720183); დაგვიანება (314.40043578); ტონი (buzzer_pin, 587, 552.004699541); დაგვიანება (613.338555046); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 554, 552.004699541); დაგვიანება (613.338555046); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 369, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 46.3869495413); დაგვიანება (51.5410550459); დაგვიანება (30.9246330275); ტონი (buzzer_pin, 493, 46.3869495413); დაგვიანება (51.5410550459); დაგვიანება (20.6164220183); ტონი (buzzer_pin, 493, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 440, 134.52215367); დაგვიანება (149.469059633); დაგვიანება (5.15410550459); ტონი (buzzer_pin, 493, 273.683002294); დაგვიანება (304.092224771); დაგვიანება (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. უპირველეს ყოვლისა, ეს არის ძალიან მნიშვნელოვანი ცვლადი ანტი-დერმატები, რომლებიც განკუთვნილია წინამორბედებისათვის, რადგან ეს არის LCD– ის მრავალი სხვა მოდელი და ზღვა შეუსაბამო.

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.

void loop () {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) {დაგვიანებით (400); lcd. წმინდა (); თუ (cantidad == 0) {cantidad = 1; } ანტიდერამები ++; } if (digitalRead (botonD) == 0) {დაგვიანებით (400); lcd. წმინდა (); თუ (cantidad == 1) {cantidad = 0; } ანტიდერამები ++; } if (cantidad == 0) {lcd.setCursor (0, 0); lcd.print ("ჰარი პოტერი"); // CAMBIA el icono lcd.setCursor (0, 1); lcd.print ("თემა"); ჯარი (); ანტიდერამები = 0; lcd. წმინდა (); Goto leibel; // volvemos al inicio

}

სხვა შემთხვევაში (cantidad == 1); {

lcd.setCursor (0, 0); lcd.print ("Despacito"); // CAMBIA el icono lcd.setCursor (0, 1); lcd.print ("ლუის ფონსი"); დესპაციტო (); ანტიდერამები = 0; lcd. წმინდა (); Goto leibel; // volvemos al inicio}}}

პროგრამის პროგრამა, რომელიც მხარს უჭერს პროგრამის ფუნქციონირებას LCD პანელზე 16x2, დამცავი პროგრამის დამცავი პროგრამის დასრულების შემდეგ.

ნაბიჯი 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. ჰარი პოტერის "Despacito" de Luis Fonsi y el tema de la película en este caso serían las canciones de.

ნაბიჯი 4: Unir პროგრამები

Unir პროგრამები
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.

ნაბიჯი 5: გადააკეთეთ კლასიკური მუსიკა

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, აკოპირებს აპარატურას ლოს შედეგებისათვის. ეს არის ემბარგო, რომელიც ხელს უშლის არახელსაყრელ პირობებს, რადგანაც ჩვენ არ შეგვიძლია გამოვიყენოთ ჩვენი პანტალლა, რაც არ არის გამორიცხული, რომ გავუმკლავდე სოლდარლოს. ეს არის ის, რაც წარმოგიდგენთ საბოლოო სოლო ჩათვლით los botones და el buzzer.

ნაბიჯი 6: Máquinas Utilizadas

Máquinas Utilizadas
Máquinas Utilizadas

გამოიყენეთ cortadora láser del Maker-Space para crear la carcasa donde irían todos los circuitos.

გამოიყენეთ cortadora de vinilo para hacer სტიკერი y decorar la carcasa

Se utilizo el taladro de pedestal del Maker-space para hacer los agujeros para el buzzer y el cable del Arduino

ნაბიჯი 7: რეკომენდაციები

რეკომენდაციები
რეკომენდაციები

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. როგორც წესი, გადამოწმებულია los cableados y conexiones entre el protoboard y el arduino.

- როგორც იქნა, დადასტურდა, რომ კონტაქტში შევიყვანე და შევინახე, როგორც ყველა კომპონენტი.

- ყველა ტექნიკური უზრუნველყოფა Tinkercad– ის გამოყენებით, რომელიც დაკავშირებულია ფორმაში, სადაც თქვენ არ გექნებათ ინფორმაცია, რომლითაც შეგიძლიათ გამოიყენოთ იგი.

- Medir las dimensiones para la caja, así se podrá evitar que quede demasiado grande o muy pequeña.

გირჩევთ: