I dette projekt vil vi skabe Clapper-kredsløb ved hjælp af begrebet ADC (Analog til digital konvertering) i ARDUINO UNO. Vi skal bruge en MIC og Uno til at fornemme lyden og udløse et svar. Denne Clap ON Clap OFF-knap tænder eller slukker for enheden ved hjælp af klappelyden som switch. Vi har tidligere bygget Clap switch og Clap ON Clap OFF switch ved hjælp af 555 Timer IC.
Ved klappning vil der være et peak signal ved MIC'en, der er meget højere end normalt, dette signal føres til forstærkeren, dog et High Pass Filter. Dette forstærkede spændingssignal tilføres ADC, som konverterer denne høje spænding til et tal. Så der vil være et højdepunkt i ADC-læsningen af UNO. På denne spidsdetektion skifter vi en LED på tavlen på hvert klapp. Dette projekt er blevet forklaret detaljeret nedenfor.
MIC eller mikrofon er en lydfølende transducer, som grundlæggende omdanner lydenergi til elektrisk energi, så med denne sensor har vi lyd som skiftende spænding. Vi optager eller fornemmer normalt lyd gennem denne enhed. Denne transducer bruges i alle mobiltelefoner og bærbare computere. En typisk MIC ser ud,
Bestemmelse af polariteten på kondensatormikrofon:
MIC har to terminaler, den ene er positiv og den anden er negativ. Mikrofonens polaritet kan findes ved hjælp af et Multi-Meter. Tag den positive sonde fra Multi-Meter (sæt måleren i DIODE TESTING-tilstand) og tilslut den til en terminal på MIC og den negative sonde til den anden terminal på MIC. Hvis du får aflæsningerne på skærmen, er terminalen for positiv (MIC) ved negativ terminal på Multi-Meter. Eller du kan simpelthen finde terminalerne ved at se på den, den negative terminal har to eller tre lodningslinjer, der er forbundet til mikrofonens metalhus. Denne forbindelse, fra negativ terminal til metalkasse, kan også testes ved hjælp af kontinuitetstester for at finde ud af den negative terminal.
Nødvendige komponenter:
Hardware:
ARDUINO UNO, strømforsyning (5v), en kondensatormikrofon (forklaret ovenfor)
2N3904 NPN transistor,
100nF kondensatorer (2 stykker), en 100uF kondensator,
1K Ω modstand, 1MΩ modstand, 15KΩ modstand (2 stykker), en LED,
Og Breadboard & tilslutning af ledninger.
Software: Arduino IDE - Arduino om natten.
Kredsløbsdiagram og arbejdsforklaring:
Den kredsløbsdiagram af Clapper kredsløb er vist i figuren nedenfor:
Vi har opdelt bearbejdningen i fire dele, det vil sige: Filtrering, forstærkning, analog-digital konvertering og programmering til at skifte LED
Når der er lyd, opfanger MIC den og konverterer den til spænding, lineær i forhold til lydens størrelse. Så for en højere lyd har vi højere værdi og for lavere lyd har vi lavere værdi. Denne værdi føres først til højpasfiltret til filtrering. Derefter tilføres denne filtrerede værdi til transistoren til forstærkning, og transistoren tilvejebringer det forstærkede output ved samleren. Dette samlersignal føres til ADC0-kanalen i UNO til analog til digital konvertering. Og endelig er Arduino programmeret til at skifte lysdioden, der er tilsluttet PIN 7 i PORTD, hver gang ADC-kanal A0 går ud over et bestemt niveau.
1. Filtrering:
Først og fremmest vil vi tale kort om RC High Pass Filter, som er blevet brugt til at filtrere støjene ud. Det er let at designe og består af en enkelt modstand og en enkelt kondensator. Til dette kredsløb har vi ikke brug for meget detaljer, så vi holder det enkelt. Et højpasfilter tillader signaler med højfrekvent overgang fra input til output, med andre ord vises indgangssignalet ved udgangen, hvis signalfrekvensen er højere end den foreskrevne filterfrekvens. For øjeblikket behøver vi ikke bekymre os om disse værdier, for her designer vi ikke en lydforstærker. Et højpasfilter er vist i kredsløbet.
Efter dette filter føres spændingssignal til transistoren til forstærkning.
2. Forstærkning:
Spændingen på MIC er meget lav og kan ikke tilføres UNO til ADC (analog til digital konvertering), så til dette designer vi en simpel forstærker ved hjælp af en transistor. Her har vi designet en enkelt transistorforstærker til forstærkning af MIC-spændinger. Dette forstærkede spændingssignal føres yderligere til ADC0-kanalen i Arduino.
3. Analog til digital konvertering:
ARDUINO har 6 ADC-kanaler. Blandt dem kan en eller alle af dem bruges som indgange til analog spænding. UNO ADC har en 10 bit opløsning (så heltalværdierne fra (0- (2 ^ 10) 1023)). Dette betyder, at det vil kortlægge indgangsspændinger mellem 0 og 5 volt i heltalsværdier mellem 0 og 1023. Så for hver (5/1024 = 4,9 mV) pr. Enhed.
Nu, for at UNO kan konvertere analogt signal til digitalt signal, er vi nødt til at bruge ADC Channel af ARDUINO UNO ved hjælp af nedenstående funktioner:
1. analogRead (pin); 2. analogReference ();
UNO ADC-kanaler har en standardreferenceværdi på 5V. Dette betyder, at vi kan give en maksimal indgangsspænding på 5V til ADC-konvertering på enhver indgangskanal. Da nogle sensorer leverer spændinger fra 0-2,5V, så med en 5V-reference får vi mindre nøjagtighed, så vi har en instruktion, der gør det muligt for os at ændre denne referenceværdi. Så for at ændre referenceværdien har vi "analogReference ();"
I vores kredsløb har vi overladt denne referencespænding til standardindstillingen, så vi kan læse værdien fra ADC-kanal 0 ved direkte at kalde funktionen "analogRead (pin);", her "pin" repræsenterer pin, hvor vi tilsluttede det analoge signal, i i dette tilfælde ville det være “A0”. Værdien fra ADC kan tages i et heltal som “int sensorValue = analogRead (A0); ”, Ved denne instruktion lagres værdien fra ADC i heltalet“ sensorValue ”. Nu har vi transistorværdien i digital form i hukommelsen til UNO.
4. Programmer Arduino til at skifte lysdioden på hvert klapp:
Under normale tilfælde leverer MIC normale signaler, og så har vi normale digitale værdier i UNO, men når vi klapper der en top leveret af MIC, med denne har vi en peak digital værdi i UNO, kan vi programmere UNO til at skifte en LED TIL og FRA, når der er en top. Så ved første klap tændes LED'en og forbliver tændt. Ved andet klapp slukkes LED'en og forbliver FRA indtil næste klapp. Med dette har vi klapperkredsløbet. Tjek programkoden nedenfor.