Inhoudsopgave:
- Stap 1: Standaard Ukelele Tuning
- Stap 2: Een puur digitaal theoretisch model maken
- Stap 3: Vervolgens het analoge circuit
- Stap 4: Analoge signalen lezen met DAQ Assistant
- Stap 5: Conclusie
Video: Ukelele-tuner met LabView en NI USB-6008 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Als een probleemgebaseerd leerproject voor mijn LabVIEW & Instrumentation-cursus aan het Humber College (Electronics Engineering Technology), heb ik een ukelele-tuner gemaakt die een analoge ingang (ukulele-snaartoon) zou nemen, de grondfrequentie zou vinden, zou beslissen welke noot probeerde te stemmen, en vertel de gebruiker of de snaar omhoog of omlaag moet worden gestemd. Het apparaat dat ik gebruikte om de analoge invoer naar digitale invoer te vertalen, was de National Instruments USB-6008 DAQ (data-acquisitieapparaat), en de gebruikersinterface werd geïmplementeerd met LabVIEW.
Stap 1: Standaard Ukelele Tuning
De eerste stap was het achterhalen van de fundamentele frequenties van muzieknoten en op welk bereik de ukelele-snaren doorgaans worden afgestemd. Ik gebruikte deze twee grafieken en besloot dat ik mijn toonbereik tussen 262 Hz (C) en 494 Hz (Hoge B) zou maken. Alles onder de 252 Hz zou als te laag worden beschouwd voor het programma om te ontcijferen welke noot er werd gespeeld, en alles hoger dan 500 Hz zou als te hoog worden beschouwd. Het programma vertelt de gebruiker echter nog steeds hoeveel Hz ze verwijderd zijn van de dichtstbijzijnde ontcijferbare noot, en of de snaar omhoog (noot te laag) of omlaag (noot te hoog) moet worden gestemd om een beschikbare noot te bereiken.
Bovendien heb ik bereiken voor elke noot gemaakt, in plaats van slechts een enkele frequentie, zodat het programma gemakkelijker zou kunnen vinden welke noot werd gespeeld. Het programma zou de gebruiker bijvoorbeeld vertellen dat er een C wordt gespeeld als de noot een grondfrequentie heeft tussen 252 Hz (halverwege naar B) en 269 Hz (halverwege naar C#), maar om te beslissen of hij moet worden gestemd of lager, zou het nog steeds de noot die wordt gespeeld vergelijken met de grondfrequentie van C die 262 Hz is.
Stap 2: Een puur digitaal theoretisch model maken
Voordat ik me in de analoge kant van het project stortte, wilde ik zien of ik een LabVIEW-programma kon maken dat op zijn minst de hoofdverwerking van een geluidssample zou doen, zoals het lezen van een audio.wav-sample, het vinden van de grondfrequentie en het maken van de vereiste vergelijkingen met de frequentiekaart om te bepalen of het geluid omhoog of omlaag moet worden gestemd.
Ik gebruikte de SoundFileSimpleRead. VI die beschikbaar is in LabVIEW om een .wav-bestand te lezen van een pad dat ik heb aangewezen, het signaal in een geïndexeerde array te plaatsen en dat signaal in de HarmonicDistortionAnalyzer. VI te voeren om de grondfrequentie te vinden. Ik nam ook het signaal van de SoundFileSimpleRead. VI en verbond het rechtstreeks met een golfvormgrafiekindicator, zodat de gebruiker de golfvorm van het bestand op het voorpaneel kan zien.
Ik heb 2 case-structuren gemaakt: een om te analyseren welke noot er werd gespeeld en de andere om te bepalen of de snaar omhoog of omlaag moest worden gedraaid. In het eerste geval heb ik bereiken gemaakt voor elke noot, en als het grondfrequentiesignaal van de HarmonicDistortionAnalyzer. VI in dat bereik was, zou het de gebruiker vertellen welke noot werd gespeeld. Nadat de noot was bepaald, werd de waarde van de gespeelde noot afgetrokken van de werkelijke grondfrequentie van de noot, en vervolgens werd het resultaat verplaatst naar het tweede geval dat het volgende bepaalde: als het resultaat boven nul is, moet de snaar lager worden gestemd; als het resultaat onwaar is (niet boven nul), dan controleert de case of de waarde gelijk is aan nul, en als het waar is, zou het programma de gebruiker informeren dat de noot goed is; als de waarde niet gelijk is aan nul, betekent dit dat deze kleiner moet zijn dan nul en dat de snaar moet worden gestemd. Ik nam de absolute waarde van het resultaat om de gebruiker te laten zien hoeveel Hz ze verwijderd zijn van de ware noot.
Ik besloot dat een meterindicator het beste zou zijn om de gebruiker visueel te laten zien wat er moet gebeuren om de noot op de juiste manier te laten klinken.
Stap 3: Vervolgens het analoge circuit
De microfoon die ik voor dit project heb gebruikt, is de CMA-6542PF condensator electret-microfoon. De datasheet voor deze microfoon staat hieronder. In tegenstelling tot de meeste condensatormicrofoons van dit type hoefde ik me geen zorgen te maken over de polariteit. De datasheet laat zien dat de bedrijfsspanning voor deze microfoon 4,5 - 10 V is, maar 4,5 V wordt aanbevolen, en het stroomverbruik is maximaal 0,5 mA, dus dat is iets om op te letten bij het ontwerpen van een voorversterkercircuit. De werkfrequentie is 20Hz tot 20kHz, wat perfect is voor audio.
Ik implementeerde een eenvoudig voorversterkercircuitontwerp op breadboard en paste de ingangsspanning aan, om ervoor te zorgen dat er niet meer dan 0,5 mA over de microfoon was. De condensator wordt gebruikt om de DC-ruis te filteren die mogelijk is gekoppeld aan de elektrische signalen (uitgang), en de condensator heeft polariteit, dus zorg ervoor dat u het positieve uiteinde aansluit op de microfoonuitgangspen.
Nadat het circuit voltooid was, verbond ik de uitgang van het circuit met de eerste analoge ingangspen (AI0, pen 2) van de USB-6008, en verbond de aarde van het breadboard met de analoge aardingspen (GND, pen 1). Ik heb de USB-6008 met een USB op de pc aangesloten en het was tijd om aanpassingen te maken aan het LabVIEW-programma om een echt analoog signaal op te nemen.
Stap 4: Analoge signalen lezen met DAQ Assistant
In plaats van de SoundFileSimpleRead. VI en de HarmonicDistortionAnalyzer. VI te gebruiken, heb ik de DAQ Assistant. VI en de ToneMeasurements. VI gebruikt om de analoge ingang af te handelen. De DAQ Assistant-configuratie is redelijk eenvoudig en de VI zelf leidt je door de stappen. De ToneMeasurements. VI heeft veel uitgangen om uit te kiezen (amplitude, frequentie, fase), dus ik heb de frequentie-uitgang gebruikt die de grondfrequentie van de ingangstoon geeft (van de DAQ Assistant. VI). De uitvoer van de ToneMeasurements. VI moest worden geconverteerd en in een array worden geplaatst voordat deze in de casusstructuren kon worden gebruikt, maar de rest van de LabVIEW-programmering/indicatoren bleef hetzelfde.
Stap 5: Conclusie
Het project was een succes, maar er waren zeker veel gebreken. Toen ik de tuner aan het bedienen was in een luidruchtig klaslokaal, was het erg moeilijk voor het programma om te bepalen wat ruis was en wat de toon was die werd gespeeld. Dit komt waarschijnlijk doordat het voorversterkercircuit erg basic is en de microfoon erg goedkoop. Toen het echter stil was, werkte het programma met een goede betrouwbaarheid om de noot te bepalen die probeerde te worden gespeeld. Vanwege tijdgebrek heb ik geen aanvullende wijzigingen aangebracht, maar als ik het project zou herhalen, zou ik een betere microfoon kopen en meer tijd besteden aan het voorversterkercircuit.
Aanbevolen:
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Ukelele-robot: 15 stappen
Ukelele Robot: Een product dat bestaat uit een melodie en een ukelele introduciendo ya sea acorde by acorde o la instrucción de tocar alguna de las melodías disponibles secuenciados)
LED-ukelele: 6 stappen (met afbeeldingen)
LED Ukelele: Hallo, mijn naam is Elaine. Dit project combineert veel dingen die ik leuk vind, dus ik hoop dat je er ook van geniet! De LED-ukelele die we gaan bouwen leert je hoe je de vier meest gespeelde akkoorden speelt: C, G, Am en F. Geen eerdere musical ervaring nodig
ECG-circuit (PSpice, LabVIEW, Breadboard): 3 stappen
ECG-circuit (PSpice, LabVIEW, Breadboard): Opmerking: dit is GEEN medisch apparaat. Dit is alleen voor educatieve doeleinden met behulp van gesimuleerde signalen. Als u dit circuit gebruikt voor echte ECG-metingen, zorg er dan voor dat het circuit en de circuit-naar-instrumentverbindingen de juiste isolatiete
DIY ECG met behulp van een Analog Discovery 2 en LabVIEW: 8 stappen
DIY ECG met behulp van een Analog Discovery 2 en LabVIEW: In deze Instructable laat ik je zien hoe je een zelfgemaakte elektrocardiograaf (ECG) maakt. Het doel van deze machine is het versterken, meten en registreren van het natuurlijke elektrische potentieel dat door het hart wordt gecreëerd. Een ECG kan een schat aan informatie onthullen over