INHOUDSOPGAWE:

Money Heist BELLA CIAO -liedjie in Arduino Uno: 9 stappe (met foto's)
Money Heist BELLA CIAO -liedjie in Arduino Uno: 9 stappe (met foto's)

Video: Money Heist BELLA CIAO -liedjie in Arduino Uno: 9 stappe (met foto's)

Video: Money Heist BELLA CIAO -liedjie in Arduino Uno: 9 stappe (met foto's)
Video: Bella Ciao Cover Using Arduino Uno 2024, Julie
Anonim
Image
Image

In hierdie tutoriaal sal ek u wys hoe u Money Heist Song Bella Ciao in enige Arduino kan speel met behulp van 'n piëzo -elektriese zoemer. Hierdie oulike projek is toegewy aan alle Money Heist -aanhangers oor die hele wêreld. Dus, laat ons begin.

Voorrade

Hardeware

  • Arduino Uno
  • Piëzo -elektriese zoemer
  • USB A tot B kabel

Sagteware

Arduino IDE

Kode en die kring

Laai die kode af van ons GitHub -bewaarplek

Stap 1: Wat is Arduino?

Arduino is 'n open source elektroniese platform wat gebaseer is op hardeware en sagteware wat maklik is om te gebruik. Arduino -borde kan insette lees - lig op 'n sensor, 'n vinger op 'n knoppie of 'n Twitter -boodskap - en dit in 'n uitset verander - 'n motor aktiveer, 'n LED aanskakel, iets aanlyn publiseer. U kan u bord vertel wat u moet doen deur 'n stel instruksies aan die mikrobeheerder op die bord te stuur. Om dit te kan doen, gebruik u die Arduino -programmeertaal (gebaseer op bedrading) en die Arduino -sagteware (IDE), gebaseer op verwerking.

Deur die jare was Arduino die brein van duisende projekte, van alledaagse voorwerpe tot ingewikkelde wetenskaplike instrumente. 'N Wêreldwye gemeenskap van vervaardigers - studente, stokperdjies, kunstenaars, programmeerders en professionele persone - het bymekaargekom rondom hierdie open source -platform, en hul bydraes het 'n ongelooflike hoeveelheid toeganklike kennis opgelewer wat vir beginners sowel as kundiges baie kan help.

Stap 2: Arduino UNO

Piëzo -elektriese gonser
Piëzo -elektriese gonser

Die Arduino UNO is die beste bord om aan die gang te kom met elektronika en kodering. As dit u eerste ervaring is om aan die platform te werk, is die UNO die sterkste bord waarmee u kan begin speel. Die UNO is die mees gebruikte en gedokumenteerde bord van die hele Arduino -familie.

Arduino Uno is 'n mikrobeheerbord gebaseer op die ATmega328P (datablad). Dit het 14 digitale in-/uitsetpenne (waarvan 6 as PWM-uitgange gebruik kan word), 6 analoog-insette, 'n 16 MHz keramiekresonator (CSTCE16M0V53-R0), 'n USB-aansluiting, 'n kragaansluiting, 'n ICSP-kop en 'n resetknoppie. Dit bevat alles wat nodig is om die mikrobeheerder te ondersteun; Koppel dit eenvoudig aan 'n rekenaar met 'n USB-kabel of voer dit aan met 'n AC-na-DC-adapter of battery om aan die gang te kom. betaal vir 'n paar dollar en begin weer.

Stap 3: Piëzo -elektriese zoemer

'N Piëzo-zoemer is 'n klankproduserende toestel. Die belangrikste werkbeginsel is gebaseer op die teorie dat, wanneer 'n elektriese potensiaal oor 'n piëzo -elektriese materiaal aangewend word, 'n drukvariasie ontstaan. 'N Piëzo -zoemer bestaan uit piëzo -kristalle tussen twee geleiers. As 'n potensiaalverskil oor hierdie kristalle toegepas word, stoot hulle die een geleier en trek die ander geleier aan hul interne eienskap. Die deurlopende trek -en -druk -aksie genereer 'n skerp klankgolf. Piezo -gonsers lewer 'n harde en skerp geluid. Hulle word dus tipies as alarmbane gebruik. Hulle word ook gebruik om 'n gebeurtenis, sein of sensorinvoer te waarsku. 'N Spesiale kenmerk van die piezo -zoemer is dat die klanksterkte of die vlak nie afhang van die spanningsvlak nie, dit werk slegs in 'n spesifieke spanningsbereik. Gewoonlik kan 'n piëzo -zoemer 'n geluid van 2 tot 4 kHz genereer.

Stap 4: Hoe om die notas te speel?

Eerstens moet ons die frekwensies van die note (aangenaam om te hoor) definieer met die "int" -funksie. Definieer dan die waarde van BPM (u kan dit duidelik aanpas) en definieer die nootwaardes daarvolgens.

int rounda = 0; int roundp = 0; int wit = 0; int whitep = 0; int swart = 0; int blackp = 0; int quaver = 0; int quaverp = 0; int semiquaver = 0; int semiquaverp = 0;

Ek het toe die waarde van die BPM gedefinieer (u kan dit duidelik verander).

int bpm = 120;

Volgens die gedefinieerde waarde van BPM definieer die nootwaardes.

swart = 35000/bpm; blackp = swart*1.5; wit = swart*2; whitep = wit*1,5; rounda = swart*4; roundp = rounda*1,5; quaver = swart/2; quaverp = quaver*1.5; semiquaver = swart/4; semiquaverp = semiquaver*1.5;

Met hierdie gedefinieerde waardes kan u maklik 'n noot speel met die opdrag "toon" soos hierdie.

toon (pen, noot, duur);

In hierdie projek gebruik ons dieselfde metode.

toon (BuzzerPin, Mi, swart); vertraging (swart+50);

Op hierdie manier het ek die melodie vir die Bella Ciao Song gemaak. Dit gaan alles oor die kode.

Probeer om die kode self te skryf. vermy kopieplak.

Laai die kode nou na ons Arduino -bord.

Stap 5: Laai die kode op na Arduino

Laai die kode op na Arduino
Laai die kode op na Arduino
Laai die kode op na Arduino
Laai die kode op na Arduino

Maak die kode oop in Arduino Software. Kies die bordmodel wat u gebruik. Hier gaan ek met die Arduino Uno. Gaan na "Tools> Boards" om die bord te kies.

Kies nou die poort waar u Arduino gekoppel is. Gaan na "Tools> PORT" om die poort te kies.

Nadat u die regte een gekies het, klik op die oplaai -knoppie om die kode na die Arduino op te laai.

Stap 6: Verbind die zoemer met Arduino

Verbind die zoemer met Arduino
Verbind die zoemer met Arduino

Ons het ons mikrobeheerder suksesvol geprogrammeer om die Bella ciao Notes te speel. Nou moet ons die Piezo Buzzer koppel om die musiek te hoor. Koppel dus die Rooi draad van die Piezo -zoemer aan die 11de pen van Arduino Uno en die Black Wire aan 'GND' soos in die stroombaan -diagram getoon.

Stap 7: Hoe om hierdie projek in Tinkercad -kringe te maak?

Hoe om hierdie projek in Tinkercad -kringe te maak?
Hoe om hierdie projek in Tinkercad -kringe te maak?
Hoe om hierdie projek in Tinkercad -kringe te maak?
Hoe om hierdie projek in Tinkercad -kringe te maak?
Hoe om hierdie projek in Tinkercad -kringe te maak?
Hoe om hierdie projek in Tinkercad -kringe te maak?

Ons is almal in lockdown weens COVID19. Wees dus nie bekommerd as u nie die werklike komponente het nie. U kan hierdie projek in tinkercad -kringe simuleer en die werking daarvan verstaan.

Gaan van hier na die Tinkercad -webwerf. Klik op die "Sluit nou aan" -knoppie as u nog nie 'n rekening het nie. Ek sal aanmeld met my vorige rekening. Sodra u in die Tinker cad -dashboard is, klik op die 'stroombane' wat aan die linkerkant van die skerm verskyn. Klik op die knoppie Skep nuwe stroombaan. Nou is u nuwe projek geskep. Soek nou na Arduino UNO en sleep dit vanaf die balk aan die regterkant na die hoofskerm. Soek nou na Buzzer en sleep die zoemer na die hoofskerm. Maak nou die verbinding soos in die diagram.

Klik op die afdeling "Kode" om u Arduino te programmeer. Vee die voorafgemaakte blokke uit en verander die venster van blokmodus na teksmodus. Plak die kode in deur die vorige leë kode te vervang. Klik nou op die Start Simulation -knoppie om u projek in aksie te sien.

U kan my projek herhaal deur hier te klik.

Stap 8: Arduino -kode

/ * * * Geskep deur Pi BOTS MakerHub * * E -pos: [email protected] * * Github: https://github.com/pibotsmakerhub * * Kopiereg (c) 2020 Pi BOTS MakerHub * * WhatsApp: +91 9400 7010 88 * */ int BuzzerPin = 11; // Koppel Buzzer aan Arduino pin 11 int Si2 = 1975; int LaS2 = 1864; int La2 = 1760; int SolS2 = 1661; int Sol2 = 1567; int FaS2 = 1479; int Fa2 = 1396; int Mi2 = 1318; int ReS2 = 1244; int Re2 = 1174; int DoS2 = 1108; int Do2 = 1046; // Lae oktaaf int Si = 987; int LaS = 932; int La = 880; int SolS = 830; int Sol = 783; int FaS = 739; int Fa = 698; int Mi = 659; int ReS = 622; int Re = 587; int DoS = 554; int Do = 523; // definieer die note int rounda = 0; int roundp = 0; int wit = 0; int whitep = 0; int swart = 0; int blackp = 0; int quaver = 0; int quaverp = 0; int semiquaver = 0; int semiquaverp = 0; int bpm = 120; ongeldige opstelling () {pinMode (BuzzerPin, OUTPUT); swart = 35000/bpm; blackp = swart*1.5; wit = swart*2; whitep = wit*1,5; rounda = swart*4; roundp = rounda*1,5; quaver = swart/2; quaverp = quaver*1.5; semiquaver = swart/4; semiquaverp = semiquaver*1.5; } leemte -lus () {toon (BuzzerPin, Mi, swart); vertraging (swart+50); toon (BuzzerPin, La, swart); vertraging (swart+50); toon (BuzzerPin, Si, swart); vertraging (swart+50); toon (BuzzerPin, Do2, swart); vertraging (swart+50); toon (BuzzerPin, La, swart); vertraging (2*wit+50); toon (BuzzerPin, Mi, swart); vertraging (swart+50); toon (BuzzerPin, La, swart); vertraging (swart+50); toon (BuzzerPin, Si, swart); vertraging (swart+50); toon (BuzzerPin, Do2, swart); vertraging (swart+50); toon (BuzzerPin, La, swart); vertraging (2*wit+50); toon (BuzzerPin, Mi, swart); vertraging (swart+50); toon (BuzzerPin, La, swart); vertraging (swart+50); toon (BuzzerPin, Si, swart); vertraging (swart+50); toon (BuzzerPin, Do2, wit*1.3); vertraging (2*swart+50); toon (BuzzerPin, Si, swart); vertraging (swart+50); toon (BuzzerPin, La, swart); vertraging (swart+50); toon (BuzzerPin, Do2, wit*1.3); vertraging (2*swart+50); toon (BuzzerPin, Si, swart); vertraging (swart+50); toon (BuzzerPin, La, swart); vertraging (swart+50); toon (BuzzerPin, Mi2, swart); vertraging (wit+50); toon (BuzzerPin, Mi2, swart); vertraging (wit+100); toon (BuzzerPin, Mi2, swart); vertraging (wit+50); toon (BuzzerPin, Re2, swart); vertraging (swart+50); toon (BuzzerPin, Mi2, swart); vertraging (swart+50); toon (BuzzerPin, Fa2, swart); vertraging (swart+50); toon (BuzzerPin, Fa2, wit*1.3); vertraging (rounda+100); toon (BuzzerPin, Fa2, swart); vertraging (swart+50); toon (BuzzerPin, Mi2, swart); vertraging (swart+50); toon (BuzzerPin, Re2, swart); vertraging (swart+50); toon (BuzzerPin, Fa2, swart); vertraging (swart+50); toon (BuzzerPin, Mi2, wit*1.3); vertraging (rounda+100); toon (BuzzerPin, Mi2, swart); vertraging (swart+50); toon (BuzzerPin, Re2, swart); vertraging (swart+50); toon (BuzzerPin, Do2, swart); vertraging (swart+50); toon (BuzzerPin, Si, wit*1.3); vertraging (wit+50); toon (BuzzerPin, Mi2, wit*1.3); vertraging (wit+50); toon (BuzzerPin, Si, wit*1.3); vertraging (wit+50); toon (BuzzerPin, Do2, wit*1.3); vertraging (wit+50); toon (BuzzerPin, La, rounda*1.3); vertraging (rounda+50); }

Stap 9: Kyk na ons Youtube -video

Dit is al. Volg ons vir meer interessante projekte. Volg ons asseblief op Instagram:

Dankie.

Aanbeveel: