- Nødvendige komponenter:
- Design af volumenmåler (VU) skjold til Arduino:
- Bestilling af printkort online:
- Forklaring af kredsløb:
- Programmeringsforklaring:
VU Meter eller Volume Meter er et meget populært og sjovt projekt inden for elektronik. Vi kan overveje volumenmåleren som en equalizer, som findes i musiksystemerne. I hvilken vi kan se dansen af lysdioder i henhold til musikken, hvis musikken er høj, så går equalizeren til sit højdepunkt, og flere lysdioder vil lyse, og hvis musikken er lav, skal et mindre antal lysdioder lyse. Volume Meter (VU) er en indikator eller repræsentation af intensiteten af lydniveauet over lysdioder og kan også fungere som en volumenmåleenhed.
Tidligere byggede vi VU-måleren uden brug af mikrocontroller, og lydindgang blev taget fra kondensatormikrofon. Denne gang bygger vi VU-meter ved hjælp af Arduino og tager lydindgangen fra 3,5 mm jackstik, så du nemt kan levere lydindgang fra din mobil eller bærbare computer ved hjælp af AUX-kabel eller 3,5 mm lydstik. Du kan nemt bygge det på Breadboard, men her designer vi det på PCB som et Arduino Shield ved hjælp af EasyEDA online PCB-simulator og designer.
Nødvendige komponenter:
- Arduino UNO
- VU Meter Arduino Shield (Selvdesignet)
- Strømforsyning
Komponenter til VU Meter Arduino-skjold:
- 3,5 mm lydstik
- Modstande af SMD-type 100 ohm (10)
- LED'er
- Burg strimler
Design af volumenmåler (VU) skjold til Arduino:
Til design af VU Meter Shield til Arduino har vi brugt EasyEDA, hvor vi først har designet en skematisk og derefter konverteret den til printkortlayoutet ved hjælp af Auto Routing-funktionen i EasyEDA.
EasyEDA er et gratis onlineværktøj og one-stop-løsning til let at udvikle dine elektronikprojekter. Du kan tegne kredsløb, simulere dem og få deres printkortlayout med et enkelt klik. Det tilbyder også skræddersyet PCB-service, hvor du kan bestille det designede printkort til meget lave omkostninger. Tjek her den komplette vejledning om, hvordan du bruger Easy EDA til fremstilling af skemaer, printkortlayouter, simulering af kredsløb osv.
EasyEDA har for nylig lanceret sin nye version (3.10.x), hvor de har introduceret mange nye funktioner og forbedret den samlede brugeroplevelse, hvilket gør EasyEDA lettere og anvendelig til at designe kredsløb. Ny version inkluderer: forbedret MAC-oplevelse, forbedret dialog til komponentsøgning, opdater PCB-layout med et enkelt klik, tilføj designnoter i en ramme under skematisk og mange flere, du kan finde alle de nye funktioner i EasyEDA version 3.10 her. Yderligere vil de snart lancere sin Desktop-version, som kan downloades og installeres på din computer til offline brug.
Vi har gjort Circuit- og PCB-designet til dette VU Meter Shield offentligt, så du kan bare følge linket for at få adgang til Circuit Diagram og PCB-layout.
Nedenfor er øjebliksbillede af øverste lag af printkortlayout fra EasyEDA, du kan se ethvert lag (top, bund, topsilk, bundmælk osv.) På printkortet ved at vælge laget fra vinduet 'Lag'.
Hvis du finder et problem med at bruge EasyEDA, så tjek vores tidligere oprettede 100 watt inverter kredsløb, hvor vi har forklaret processen trin for trin.
Bestilling af printkort online:
Når du er færdig med designet af PCB, kan du klikke på ikonet for Fabrication-output , som fører dig til PCB-ordresiden. Her kan du se din PCB i Gerber Viewer eller downloade Gerber-filer på din PCB og sende dem til enhver producent, det er også meget nemmere (og billigere) at bestille det direkte i EasyEDA. Her kan du vælge antallet af printkort, du vil bestille, hvor mange kobberlag du har brug for, printkorttykkelsen, kobbervægten og endda printkortfarven. Når du har valgt alle mulighederne, skal du klikke på "Gem i indkøbskurv" og gennemføre din ordre, så får du dine printkort et par dage senere.
Efter få dage med bestilling af printkortet fik vi vores VU Meter Arduino Shield PCB, og vi fandt printkortene i flot emballage, og kvaliteten af printkortet er ret imponerende.
Efter at have fået printkortene, har vi monteret og loddet alle nødvendige komponenter og burgstrimler over printkortet, du kan se det endelige kig her:
Nu skal vi bare placere dette VU Meter Shield over Arduino. Juster stifterne på dette skjold med Arduino og tryk det hårdt over Arduino. Upload nu bare koden til Arduino og tænd for kredsløbet, så er du færdig! Dit VU Meter er klar til at danse på musik. Tjek videoen i slutningen for demonstration.
Forklaring af kredsløb:
I dette VU Meter Arduino Shield har vi brugt 8 lysdioder, hvor 2 lysdioder er i rød farve til højere lydsignal, 2 gule lysdioder er til at formidle lydsignal og 4 grønne lysdioder er til lavere lydsignal. Vi kan tilføje nogle flere muligheder i dette skjold ved at forbinde LCD, ESP8266 Wi-Fi-modul, DHT11 H&T-modul, spændingsregulator, flere VCC, + 5v, + 3.3v og GND-ben. Men her i demonstration af dette projekt har vi kun samlet LED'er, lydstik og power-LED. Her i dette skjold har vi brugt nogle SMD-komponenter, der er modstande og lysdioder. Vi har også to muligheder for at anvende lydsignal til dette kort, der er direkte på stifter eller ved hjælp af lydstik.
Kredsløb til dette projekt er meget simpelt, vi har en tilsluttet 8 lysdioder ved pin-numre D3-D10. Audio Jack er direkte forbundet med den analoge pin A5 fra Arduino.
Hvis du har brug for at tilslutte LCD, kan du tilslutte LCD'et ved J1 og J7 (se nedenstående kredsløb) med forbindelser som LCD (14, 15,16,17,18,2).
Programmeringsforklaring:
Programmet af denne Arduino VU Meter er meget let. Her i denne kode har vi ikke givet noget navn til en bestemt LED. Jeg husker bare forbindelsen og skriver kode direkte.
I den givne ugyldige opsætning () -funktion initialiserer vi outputstifterne til LED'er. Her kan vi se en for-løkke , hvor vi initialiserer værdien af i = 3 og kører den til 10. Her er i = 3 den tredje pin af Arduino, og hele for loop initialiserer pin D3-D10 af Arduino.
ugyldig opsætning () {for (i = 3; i <11; i ++) pinMode (i, OUTPUT); }
Nu i ugyldig loop () -funktion læser vi den analoge værdi fra A5-stiften i Arduino og gemmer den værdi i en variabel, nemlig 'værdi' . Nu divideres denne 'værdi' med 10 for at få et resultat, og dette resultat bruges direkte til at få pin nr af Arduino ved hjælp af loop.
ugyldig sløjfe () {int værdi = analogRead (A5); værdi / = 10; for (i = 3; i <= værdi; i ++) digitalWrite (i, HIGH); for (i = værdi + 1; i <= 10; i ++) digitalWrite (i, LAV); }
Det kan forklares ved eksempel, som om den analoge værdi er 50, divider den nu med 10, får vi:
Værdi = 50
Værdi = værdi / 10
Værdi = 50/10 = 5
Nu har vi brugt til loop som:
for (i = 3; i <= værdi; i ++) digitalWrite (i, HIGH);
I ovenstående er 'for' sløjfe i = 3 D3 og værdi = 5 betyder D5.
Så det betyder, at sløjfe vil gå fra D3 til D5, og lysdioder, der er tilsluttet ved D3, D4 og D5 vil være 'TIL'
Og i nedenstående 'for' sløjfe i = værdi + 1 betyder værdi = 5 + 1 betyder D6 og i <= 10 betyder D10.
for (i = værdi + 1; i <= 10; i ++) digitalWrite (i, LAV);
Midlerløkken går fra D6 til D10, og lysdioder, der er tilsluttet på D6-D10, vil være 'FRA'.
Så det er sådan, vi kan bygge vores eget VU Meter Arduino Shield, hvor LED'er lyser i henhold til lydens intensitet, som du kan tjekke i Video nedenfor. Du kan direkte levere input fra din mobil eller laptop ved hjælp af 3,5 mm lydstik eller AUX-kabel og have det sjovt med den smukke lyseffekt.