Inhoudsopgave:

Arduino Nano-spraakrecorder met de MAX9814-microfoon - Ajarnpa
Arduino Nano-spraakrecorder met de MAX9814-microfoon - Ajarnpa

Video: Arduino Nano-spraakrecorder met de MAX9814-microfoon - Ajarnpa

Video: Arduino Nano-spraakrecorder met de MAX9814-microfoon - Ajarnpa
Video: How to make an LED VU-meter using Arduino. 2024, November
Anonim
Arduino Nano-spraakrecorder met de MAX9814-microfoon
Arduino Nano-spraakrecorder met de MAX9814-microfoon
Arduino Nano-spraakrecorder met de MAX9814-microfoon
Arduino Nano-spraakrecorder met de MAX9814-microfoon
Arduino Nano-spraakrecorder met de MAX9814-microfoon
Arduino Nano-spraakrecorder met de MAX9814-microfoon

Ik kreeg een MAX9814-microfoon van AZ-bezorging op Amazon en wilde het apparaat testen. Daarom heb ik dit eenvoudige project gemaakt op basis van Great Scott's Spy Bug (gepubliceerd onder deze creative commons-licentie). Ik heb de projectstructuur behoorlijk aangepast om de efficiëntie te verbeteren en een paar nieuwe functies toe te voegen. Dit is mijn eerste Instructables-project, dus het zal niet perfect zijn, maar ik ben bereid om te leren en sta open voor advies.

Testresultaten van de microfoon met verschillende versterkingen worden aan het einde toegevoegd, dus als u alleen de kwaliteit van 40dB, 50dB en 60dB versterkingen wilt vergelijken, kunt u daar naartoe gaan.

Ik hoop dat dit project nuttig zal zijn voor mensen die proberen een microfoon in hun project te implementeren. Ik hoop ook dit project zo toegankelijk mogelijk te maken voor beginners, dus ik heb veel opmerkingen aan mijn code toegevoegd, maar ik ben ook blij mijn werk te herzien om extra verduidelijking toe te voegen die nuttig zou zijn. De bedrading is erg beginnersvriendelijk, maar het implementeren van de software is wat lastiger.

Bekijk alle projectbestanden en stel verbeteringen voor aan mijn code in mijn GitHub-repository.

Benodigdheden:

Amazone:

  • MAX9814 microfoon met versterker
  • Breadboard
  • Arduino Nano (het is een pakket van 3, maar je had er maar één nodig!)
  • SD-kaartlezer
  • LED's
  • Weerstanden
  • Tastbare knoppen
  • USB B Mini-kabel (voor Arduino Nano)
  • USB-powerbank (ik gebruikte een goedkope die lokaal was gekocht)

Stap 1: Circuit en uitleg van het apparaat

Circuit en uitleg van apparaat
Circuit en uitleg van apparaat

Ik heb mijn circuit aangepast om te werken met het Arduino Nano-apparaat, maar je kunt je circuit op verschillende Arduino-apparaten laten werken door de pincodes bovenaan mijn code te bewerken (volgende sectie). Om het circuit op uw apparaat in te stellen, zoekt u "Arduino [Your model] pinout" en er moeten veel afbeeldingen zijn die illustreren welke functies elke pin kan uitvoeren (bijv. Analoge ingang, SS, MOSI enz.). De meeste apparaten worden ook geleverd met gelabelde pinnen. Ik tekende dit schema met behulp van de EasyEDA-editor, maar maakte het met een soldeerloze breadboard, omdat ik dit zo snel mogelijk wilde maken en de lay-out snel opnieuw wilde configureren.

Stap 2: Programmeren

Programmeren
Programmeren

Ik heb een eenvoudige code geschreven om de audio op het apparaat op te nemen. Ik gebruikte de code van Great Scott als inspiratie, maar veranderde de structuur om de efficiëntie en eenvoud te vergroten. Ik heb ook de beperkingen op het aantal bestanden dat kan worden opgenomen verwijderd en meer opmerkingen toegevoegd die beginners moeten helpen bij het navigeren. Download de voltooide code hieronder en open deze met behulp van de Arduino IDE. Download de vereiste modules ("SD.h", "SPI.h" en "TMRpcm.h") met behulp van de Arduino Package manager (weergegeven in de afbeeldingen hierboven).

Opnemen naar een WAV-bestand op een SD-kaart is een geavanceerde functie van de TMRpcm-bibliotheek, dus om deze te gebruiken moet u het configuratiebestand van de bibliotheek bewerken. Hoewel dit ontmoedigend klinkt (dat deed het in ieder geval voor mij), is het alleen zoeken naar het bestand "pcmConfig.h" met behulp van de bestandsverkenner en het verwijderen van commentaar op een paar regels code (en het vervolgens opslaan).

  1. Op Uno of niet-mega boards verwijder je de regel #define buffSize 128
  2. Verwijder ook het commentaar #define ENABLE_RECORDING en #define BLOCK_COUNT 10000UL

Als u klaar bent, keert u terug naar de Arduino IDE, sluit u uw Arduino aan, selecteert u deze en compileert en uploadt u het programma. Als u de seriële monitor opent, krijgt u ook wat feedback tijdens runtime.

Stap 3: Voltooid project en testen

Voltooid project en testen
Voltooid project en testen

Toen ik klaar was met de bedrading en debuggen, heb ik het project getest.

WAARSCHUWING door het apparaat opnieuw op te starten, wordt de bestandsnaamteller gereset, waardoor nieuwe bestanden oude bestanden overschrijven.

Het apparaat gebruiken:

  1. steek een USB-stroomkabel in de Arduino
  2. druk op de tactiele knop om de opname te starten (de LED licht op om dit aan te geven)
  3. druk nogmaals op de knop om de opname te beëindigen
  4. herhaal voor zoveel opnamen nodig zijn
  5. koppel de USB-stroomkabel los
  6. Verwijder de SD-kaart
  7. Plaats de SD-kaart in een computer of telefoon
  8. Open de bestanden in de door jou gekozen afspeeltoepassing

Het oorspronkelijke doel van dit project was om de MAX9814-microfoon te testen, dus ik voerde drie tests uit om erachter te komen welk effect de ingebouwde versterker op het resultaat had. Bij het produceren van de opnamen heb ik een van de symfonieën van Mozart als controlevariabele gebruikt. Ik speelde het af op de luidspreker van mijn telefoon, die ik bij alle drie de opnames op een constante afstand op de microfoon hield. De enige variabele die ik heb gewijzigd, was de versterking van de microfoon (aangepast door deze op VCC, GND aan te sluiten of te laten zweven). De resulterende audioclips zijn bijgevoegd. Ik heb ook de 40dB en de 60dB audio gecombineerd in een enkele opname waarbij de 40dB in het linkeroor wordt afgespeeld en de 60dB in het rechteroor. Dit maakt het verschil in kwaliteit zeer merkbaar en benadrukt hoe belangrijk de winst van de MAX9814-module is.

Over het algemeen was ik ongelooflijk blij met de opnameresultaten, vooral omdat de installatie voor het apparaat een van de eenvoudigste is die ik heb gezien (met slechts drie draden en geen externe componenten - zelfs een eenvoudige LED vereist een weerstand). Er moet ook rekening mee worden gehouden dat de Arduino Nano een 10-bit ADC heeft, dus elke amplitude-uitlezing kan slechts een van de 1024 discrete waarden zijn. Vanwege de goede geluidskwaliteit, het compacte formaat en het verwaarloosbare stroomverbruik; Ik hoop het apparaat in toekomstige projecten te gebruiken.

Als ik niet genoeg in detail ben gegaan, zou ik graag helpen en extra verduidelijking toevoegen. Dit is mijn eerste Instructables, dus elk advies dat ik nu krijg, kan worden weerspiegeld in al mijn toekomstige projecten. Als je suggesties hebt om mijn codes te verbeteren, voeg ik ze graag toe aan mijn project op GitHub en deze Instructables.

Aanbevolen: