Välkommen till vår spännande resa in i elektronikens värld! I den här första bloggen i vår serie tar vi dig med på en interaktiv och praktisk upplevelse där du lär dig hur du förvandlar ljud till ljus med hjälp av en Arduino och några andra komponenter. Föreställ dig att tända och släcka lampor bara genom att klappa eller knäppa med fingrarna – det är elektronikens magi, och det är vad vi ska utforska idag.
Snart kommer du att upptäcka att du kan skapa fantastiska saker med bara några enkla komponenter och din nyfikenhet som bränsle!
Låt oss först ta en titt på de elektronikkomponenter vi kommer att arbeta med i den här bloggen.
Komponenter som används i vårt första projekt i serien.
| 1x KY-037 ljudsensor |
| Arduino UNO |
| 1x kopplingsdäck |
| 1 x LED |
| 1x 220 Ohm motstånd |
| Bygelkablar/dupontkablar |
För att bygga vår krets kommer vi att använda en breadboard , även känd som en lödfritt kopplingsdäck . En breadboard är ett genialt verktyg som gör att vi kan göra kopplingar mellan våra komponenter utan att behöva löda. Det gör det enkelt att experimentera och snabbt ändra vår krets efter behov.
Huvudhörnstenen i vårt projekt är Arduino - en mångsidig mikrokontrollerplattform som låter oss programmera och styra elektroniska kretsar. Arduino fungerar som hjärnan i vårt projekt och kommer att upptäcka ljudet med hjälp av en ljudsensor som heter KY-037 .
För att visa effekten av ljudet kommer vi att använda en LED (Light Emitting Diode) . Denna kompakta ljuskälla tänds när Arduino upptäcker ett ljud över en viss tröskel. Motståndet vi kommer att använda hjälper till att skydda lysdioden från skador.
För att koppla ihop alla komponenter kommer vi att använda bygelkablar . Dessa flexibla och färgglada kablar gör att vi kan göra anslutningar mellan Arduino, ljudsensorn , lysdioden och motståndet på ett enkelt och tydligt sätt.
TIPS: Som allmän praxis används ofta röda ledningar för strömförsörjning och positiva anslutningar, medan svarta ledningar används för jord (GND) och negativa anslutningar. När du arbetar med elektroniska komponenter och mikrokontroller kan det vara en bra idé att följa denna färgkodningskonvention för att enkelt identifiera och skilja mellan dessa anslutningar.
Nu när vi har introducerat våra elektroniska komponenter, låt oss ta en närmare titt på hur de fungerar.Vi börjar med Arduino UNO.
Arduino UNO
En Arduino UNO är en fantastisk liten enhet som fungerar som hjärtat och hjärnan i otaliga elektroniska projekt. Den är designad för att vara enkel att använda och programmerbar, vilket gör den perfekt för både nybörjare och erfarna elektronikentusiaster.
Stiften ansluter Arduino till andra komponenter. Klassiska UNO har digitala in-/utgångar och analoga ingångar men inga särskilda kapacitiva touchstift. Anslutningskablar kopplar ihop komponenterna och utökar funktionerna. Beröringsavkänning kräver extra kretsar eller lämpligt bibliotek.
Ett enkelt sätt att känna igen Arduino-stift är genom siffrorna eller bokstäverna som är markerade bredvid dem. Dessa siffror och bokstäver representerar de individuella stiften och är viktiga för att ansluta och styra komponenter till Arduino.
Arduino IDE (Integrated Development Environment) är ett kraftfullt verktyg som låter dig skriva och ladda upp kod till Arduino . När du skriver kod i Arduino IDE, används dessa pin-nummer för att "ringa" specifika pins och definiera deras beteende. Det är på så sätt som du kan styra alla möjliga olika komponenter som är kopplade till Arduino.
Arduino-sketcher använder programmeringsspråket C++ , men oroa dig inte om du inte är bekant med det. Arduino IDE ger ett användarvänligt gränssnitt och ett antal användbara funktioner som hjälper dig att programmera Arduino utan problem.
Med Arduino kan du väcka dina kreativa idéer till liv och skapa allt från blinkande ljus och rörelsestyrda enheter till intelligenta robotar och avancerade sensorbaserade projekt. Den enda gränsen är fantasin!
LED
Den här enheten har två terminaler som ger ljus till världen. Låt oss ta en titt på dem.
Först har vi anoden (+), den positiva terminalen. Som en metafor kan du tänka på att anoden tar emot energi så att LED:en kan lysa; elektriskt går konventionell ström in genom anoden vid normal framriktad drift.
På andra sidan har vi katoden (-), den negativa terminalen. Konventionell ström lämnar katoden vid framriktad drift. Den slutna kretsen låter LED:en lysa; det beror inte på jordens magnetiska dragningskraft.

För att identifiera katoden och anoden för en lysdiod kan du titta på dess fysiska egenskaper. Vanligtvis är det längsta benet på lysdioden anoden , medan det korta benet är katoden. Det är en bra ledtråd, men kontrollera kapslingens märkning eller databladet om du är osäker.
Så... Kom alltid ihåg att ansluta anoden mot positiv matning och katoden mot negativ/jord, med lämpligt seriemotstånd eller strömdrivning. Anslut aldrig en lös LED direkt över matningen.
Kopplingsdäck
Låt oss nu utforska mer i detalj hur breadboards eller kopplingsdäck fungerar. En breadboard är en smart enhet som, som sagt, gör att vi kan bygga elektroniska kretsar utan att behöva löda. Det är som en spelplan där vi snabbt och enkelt kan placera våra elektroniska komponenter och göra kopplingar mellan dem.
Breadboards består av en serie hål eller kontakter ordnade i rader och kolumner. Dessa hål är anslutna elektriskt i specifika mönster. Vanligtvis har breadboards en vertikal mittremsa som är uppdelad i två sektioner, och de ytterligare horisontella raderna på varje sida, precis som den breadboard vi kommer att använda i det här projektet.

Figur 1
Illustration av en typisk kopplingsdäck. Den är uppdelad i olika sektioner och rader som möjliggör en enkel och flexibel anslutning av elektroniska komponenter.
I det här fallet är de två första horisontella raderna markerade som A. Anslutningen i själva kopplingsdäcket visas av färgerna blått och rött.
De två mittersta sektionerna är markerade som B och C. Här visas anslutningarna med de grå linjerna som förbinder hålen.
Och den sista horisontella raden är markerad som D, och anslutningarna visas här på samma sätt som vid A.
I bildens orientering går kontaktgrupperna lodrätt och matningsskenorna vågrätt. Orienteringen bestämmer inte förbindelserna: kontrollera kortet eftersom skenor kan vara delade och sidorna om mittspalten är separata.
När vi placerar en elektronisk komponent, t.ex. en bygeltråd, motstånd eller en komponent med stift, som en lysdiod, in i hålen på kopplingsdäcket, anslutningar görs mellan lämpliga hål, beroende på deras placering.
Så när vi vill koppla våra komponenter på kopplingsdäcket använder vi bygelkablar. Dessa ledningar förs in i hålen på kopplingsdäcket och kopplar samman komponenterna genom att utnyttja de elektriska anslutningarna mellan hålen. Vi kan placera ena änden av bygeltråden i ett hål på kopplingsdäcket och den andra änden i ett annat hål för att ansluta komponenterna.
Kopplingsdäck är flexibla: flytta komponenter, ändra anslutningar och experimentera utan lödning. Felkopplingar kan fortfarande skada komponenter, så bryt strömmen före ändringar och kontrollera anslutningarna. De är användbara både för nybörjare och erfarna.
Nu när vi har en grundläggande förståelse för hur breadboards fungerar, är det dags att introducera en viktig komponent i vårt projekt - ljudsensorn KY-037.
Mikrofonsensorkonfiguration
Låt oss se hur man konfigurerar en sådan ljudsensor här.
Denna lilla och mångsidiga sensor är designad för att upptäcka ljud och omvandla det till en elektrisk signal som vår Arduino kan bearbeta.

figur 2
D0: En digital utgång från tröskelkomparatorn. Aktivt tillstånd kan variera mellan moduler; mät om ljud ger HIGH eller LOW och anpassa koden.
+: Detta är matningsspänningsstiftet. Man måste ansluta den positiva (+) matningsströmmen (vanligtvis 5V) från Arduino eller en extern strömkälla till detta stift för att driva ljudsensorn.
GND: Det här är jordstiftet. Du måste ansluta den till jord/GND-stiftet på Arduino (vanligtvis märkt med -) eller jord på en extern strömkälla för att skapa en gemensam referens för strömmen i kretsen.
A0: Mikrofonens analoga utgång. Klassiska UNO kan sampla den som 0–1023, men ett enstaka värde är inte kalibrerad ljudstyrka eller ljudtrycksnivå. Kvantitativ ljudmätning kräver vågformssampling och kalibrering.
Ljudsensorn KY-037 är utrustad med en inbyggd mikrofon och en justerbar potentiometer. Mikrofonen ger en svag elektrisk signal från ljud. Potentiometern justerar normalt den digitala komparatorns tröskel, inte kalibrerad mikrofonförstärkning eller decibelnivå.
När ljudsensorn upptäcker ett ljud över ett visst tröskelvärde skickas den elektriska signalen till Arduino, vilket gör att vi kan utlösa olika åtgärder, som att slå på eller stänga av vår LED. För att ställa in denna tröskel, det finns några steg vi måste följa.
Först ansluter vi 5V-stiftet på sensorn till 5V på Arduino och jord/GND-stiftet på sensorn till jord/GND på Arduino. Strömindikatorn bör tändas; komparatorindikatorn beror på tröskeln och modulen. Nu använder vi skruvmejseln.
Justera potentiometern försiktigt och följ komparatorindikatorn tills den precis ändrar läge vid önskad ljudnivå. Riktning och indikatorplacering varierar mellan moduler. Hitta ”rätt inställning” där testljudet passerar tröskeln tillförlitligt. Gör små ändringar och prova ljudet som ska utlösa sensorn. Jag ställer in min så att den triggas av ljudet som uppstår när jag knäpper med fingrarna.
Det ställer in en praktisk utlösningströskel för omgivningen, inte en exakt kalibrerad ljudnivå. Testa igen om bakgrundsljud, avstånd eller mikrofonriktning ändras.
Med denna tröskel på plats är vi nu redo att bygga vår första krets. Sedan kommer vi att programmera Arduino och se magin hända när ljud förvandlas till ljus.
Installation av kretsen
I vår krets använder vi följande anslutningar på Arduino:
Stift 2 till ljudsensorn
Pin 4 till lysdioden
Vi använder även stiften för 5V och GND/jord på arduino .
Först ansluter vi ljudsensorn till Arduino genom att ansluta dess GND-stift till Arduinos GND-port och dess VCC-stift till Arduinos 5V-port . Sedan ansluter vi D0-stiftet på ljudsensorn till Pin 2 på Arduino. Detta gör att vi kan ta emot ljudingång från sensorn och reagera på den med vårt Arduino-program via stift 2.
För att skydda vår LED från strömskador använder vi ett motstånd. Vi ansluter ena änden av motståndet till stift 4 på Arduino och den andra änden till anoden (det längsta benet) på lysdioden. Vi ansluter LED :s katod (kortaste benet) direkt till Arduinos GND-port. Seriemotståndet begränsar strömmen; välj värdet efter matning, LED-framspänning och tillåten LED-/GPIO-ström.Nedan är en bild på kretsen.

Figur 3
Illustration av kretsen i projektet.
Vi har förklarat D0, +, GND och A0 och deras syften. Projektet använder D0; A0 beskrivs som referens. Nu kan vi programmera Arduino.
I nästa del av presentationen kommer vi att utforska Arduino-kod och programmera vår Arduino-mikrokontroller. Du behöver inte ha tidigare erfarenhet av programmering för att komma igång. Vi kommer att introducera dig till de grundläggande koncepten och strukturerna för Arduino-programmering och guida dig genom koden som styr vårt ljudsensorprojekt.
Så låt oss gå vidare till Arduino-kod och program!
Arduino-guide för nybörjare
I den här guiden hjälper jag dig att förstå grundinställningen av Arduino-skisser, som är små program som körs på Arduino-mikrokontroller.
Arduino är en fantastisk plattform med öppen källkod som gör det enkelt att skapa interaktiva projekt genom att kombinera hårdvara och mjukvara. Det är otroligt populärt bland hobbyister, studenter och proffs, eftersom det gör det möjligt att bygga allt från enkla blinkande lysdioder till komplexa robotar.
En Arduino-mikrokontroller fungerar som hjärnan i vårt projekt och kan programmeras för att utföra specifika uppgifter. Vi har lärt oss att det är en enhet som kan ta emot input från olika sensorer, utföra beräkningar och styra utenheter som LED eller motorer. Arduino är utrustad med digitala och analoga stift som vi kan koppla våra komponenter till och programmera för att utföra olika åtgärder.
I vårt projekt använder vi Arduinos stift för att ta emot signaler från ljudsensorn och styra vår LED. Med hjälp av Arduino-kod, även kallad skisser, kan vi definiera villkor och åtgärder som ska utföras baserat på den inkommande ljudingången. Det låter oss skapa en lyhörd och ljudkontrollerad upplevelse i vårt elektroniska projekt.
Ladda ner Arduino IDE-plattformen här och öppna programmet så att vi kan dyka in i strukturen för en Arduino Sketch och förstå hur man använder den.
Arduino IDE-konfiguration
När du skriver din första Arduino-skiss behöver du inte ha omfattande programmeringskunskaper. Koden följer en enkel struktur som består av två viktiga funktioner: setup och loop.
setup-funktionen
setup() körs en gång när Arduino startas eller återställs. Den initierar programmets inställningar och resurser.
Du kan tänka på det som att "sätta scenen" för ditt program.
Efter inställningsfunktionen följer loopfunktionen
Loop-funktionen

Efter inställningsfunktionen finns loopfunktionen. Som namnet antyder körs denna funktion kontinuerligt i en slinga tills Arduino stängs av. Det är här du placerar huvudlogiken eller instruktionerna för ditt program. Loop-funktionen låter dig uppdatera, reagera baserat på och upprepa åtgärder så länge som Arduino är påslagen.
Bilden ovan är ett exempel på en loop-funktion som blinkar en lysdiod på och av varje sekund.
Så kom bara ihåg när du skriver ditt första program, fokusera på att implementera dina önskade instruktioner inom installations- och loopfunktionerna. Du kommer att upptäcka att du kan uppnå imponerande resultat med bara dessa grundläggande delar av Arduino-skissen
Koden
Nu hoppar vi helt enkelt rakt in i koden. Man kanske tycker att det går lite snabbt, men ett bra sätt att lära sig är ibland att bara kasta sig in i det och se vad som händer. Så låt oss nu ta en titt på koden för vårt projekt och utforska hur det fungerar.
Nedan kan du se koden och vi kommer att förklara varje del av den. I beskrivningen av koden finns några ord som är hyperlänkar. Dessa tar dig till Arduinos webbplats där du kan hitta en detaljerad förklaring av programmeringskoncepten som används i koden. Om du känner dig förvirrad är det en bra idé att ta en titt på dessa hyperlänkar. Och låt dig inte skrämmas av mängden information - vi har precis börjat med programmering och det finns mycket att lära. Men med bra ansträngning lär du dig snabbt förstå hur koden fungerar!
int soundSensor = 2; // Lydsensoren er tilsluttet pin 2 på Arduino
int LED = 4; // LED'en er tilsluttet pin 4 på Arduino
boolean LEDStatus = false; // Variabel til at holde styr på LED'ens status (tændt/slukket)
void setup() {
pinMode(soundSensor, INPUT); // Indstil lydsensoren som en input-pin
pinMode(LED, OUTPUT); // Indstil LED'en som en output-pin
}
void loop() {
int SensorData = digitalRead(soundSensor); // Læs værdien fra lydsensoren og gem den i variablen SensorData
if (SensorData == 1) { // Hvis lydsensoren registrerer en lyd over tærskelværdien (1)
if (LEDStatus == false) { // Hvis LED'en er slukket
LEDStatus = true; // Sæt LEDStatus til sand (LED'en er tændt)
digitalWrite(LED, HIGH); // Tænd LED'en
delay(200); // Vent i 200 millisekunder
} else {
LEDStatus = false; // Sæt LEDStatus til falsk (LED'en er slukket)
digitalWrite(LED, LOW); // Sluk LED'en
delay(200); // Vent i 200 millisekunder
}
}
}
Vi börjar med att deklarera några variabler.
" int soundSensor = 2 ;" indikerar att vi använder stift 2 på Arduino för att ansluta ljudsensorn och "int LED = 4;" indikerar att vi använder stift 4 för att ansluta lysdioden .
" boolean LEDStatus = false;" skapar en variabel som håller reda på statusen för lysdioden (på eller av) och initierar den så att den är av (falsk).
Tänk på bool som en liten låda som kan ha två möjliga tillstånd: antingen är den öppen eller stängd. Du kan använda den här rutan för att svara på enkla frågor som "Är lampan tänd?" eller "Är dörren öppen?". Om svaret är sant betyder det att lampan lyser eller att dörren är öppen. Om svaret är falskt betyder det att lampan är släckt eller att dörren är stängd. 'bool' är praktiskt när du behöver fatta beslut i ditt Arduino-program baserat på dessa ja/nej-frågor.
I funktionen "void setup()" utförs inställningarna för vår Arduino. Här använder vi en inbyggd funktion i Arduino IDE; pinMode() .
I pinMode() funktionen används det första argumentet för att specificera den specifika pin du vill konfigurera. Detta argument representerar pinnumret på Arduino-kortet, t.ex. 2 eller 4 som i vårt exempel med int soundSensor = 2 och int LED = 4 .
Det andra argumentet i funktionen pinMode() används för att specificera om stiftet ska fungera som ingång eller utgång. Om du vill läsa värden från stiftet, använd INPUT som det andra argumentet. Om du å andra sidan vill skicka eller kontrollera ett tillstånd på stiftet, använd OUTPUT som det andra argumentet.
Så...pinMode(pinNumber, INPUT/OUTPUT);
I vår kod, "pinMode(soundSensor, INPUT);" som talar om för Arduino att stift 2 , där ljudsensorn (soundSensor) är ansluten, måste fungera som en INPUT. Det betyder att vi förväntar oss att få en signal från ljudsensorn på detta stift.
"pinMode(LED, OUTPUT);" indikerar att stift 4 , där lysdioden är ansluten, ska fungera som en OUTPUT. Det betyder att vi avser att skicka en signal till lysdioden för att tända eller släcka den.
Tänk på pinMode() som en instruktion till Arduino om hur man behandlar en viss pin. Du kan jämföra det med att berätta för Arduino om en viss tråd är avsedd att skicka eller ta emot signaler. Föreställ dig att du har en switch där du kan växla mellan två lägen: "skicka" och "ta emot" . När du använder 'pinMode()' berättar du för Arduino vilket tillstånd stiftet ska vara i. Att sätta 'pinMode()' på OUTPUT betyder att du vill skicka signaler genom det stiftet. Om du ställer in den på INPUT betyder det att du kommer att ta emot signaler från det stiftet.
Nu kommer vi till funktionen "void loop()", som är den del av koden som upprepas i en loop. Här använder vi två inbyggda funktioner i Arduino IDE; digitalRead() och digitalWrite() .
digitalRead() används för att läsa värdet (HÖG eller LÅG) för en digital ingångsstift på Arduino-kortet. Det krävs ett argument som är pinnumret du vill läsa värdet från.digitalWrite() används för att skicka ett digitalt tillstånd (HIGH eller LOW) till ett digitalt utgångsstift på Arduino-kortet. Det krävs två argument: stiftnumret, som är stiftet du vill kontrollera, och tillståndet du vill sätta på stiftet (antingen HIGH eller LOW ).
Först läser vi värdet från ljudsensorn med "int SensorData = digitalRead (soundSensor);".Det läser logiknivån på stift 2. Exemplet reagerar på HIGH (1); om modulen är aktiv LOW måste detektionsvillkoret anpassas.
Vi använder en " if "-sats för att kontrollera om lysdioden ska vara på eller av.
En if -sats (även känd som en villkorlig sats) används för att utföra en specifik åtgärd endast om ett specifikt villkor är uppfyllt.
Syntaxen för en if-sats i C++ är:
if (betingelse) {
// Udfør handlingen, hvis betingelsen er sand
}
Här är en kort förklaring av de olika delarna av if satsen:
-
if: Detta är nyckelordet som börjarifsatsen och indikerar att ett villkor ska utvärderas. - Villkor: Detta är ett logiskt tillstånd som kan vara sant eller falskt. Om villkoret är sant utförs åtgärden i
{}-blocket. Om villkoret är falskt hoppas{}-blocket över och koden fortsätter efterifsatsen. - Åtgärd: Detta är koden som ska köras om villkoret är sant. Det kan vara en enda kodrad eller ett block med flera kodrader omgiven av
{}.
"if (LEDStatus == false)" kontrollerar om lysdioden är släckt. Om så är fallet exekveras koden inuti detta block och LEDStatus sätts till "true". Vi skickar en signal till lysdioden med " digitalWrite (LED, HIGH); ", vilket innebär att vi sätter stift 4 på en hög nivå, vilket tänder lysdioden. Vi väntar sedan i 200 millisekunder med " delay (200);".
Om lysdioden redan lyser (LEDStatus är "true"), exekveras koden i blocket " else ".
else används med if satser och låter dig ange en alternativ åtgärd att vidta när villkoret i if satsen är falskt.
Syntaxen för en if-else sats är följande:
if (betingelse) {
// Udfør handlingen, hvis betingelsen er sand
} else {
// Udfør denne handling, hvis betingelsen er falsk
}
Här är en kort förklaring av else delen av if-else satsen:
-
else: Detta är nyckelordet som indikerar en alternativ åtgärd att vidta om villkoret i den associeradeifsatsen är falsk. - Åtgärd: Detta är koden som ska köras när villkoret i den associerade
if-satsen är falsk. Det kan vara en enda kodrad eller ett block med flera kodrader omgiven av{}.
LEDStatus sätts sedan till "false" när villkoret i vår if-sats inte uppfylls, och vi skickar en signal till lysdioden med "digitalWrite(LED, LOW);" som sätter stift 4 till en låg nivå, vilket stänger av LED. Vi väntar igen i 200 millisekunder med "delay(200);".
Programmet återgår till loop, läser sensorn och ändrar LED-tillståndet. Pausen på 200 ms begränsar bara upprepade växlingar; en långvarig eller brusig aktiv signal kan växla igen. En växling per klapp kräver flankdetektering och lämplig tidsstyrning/filtrering.
Ladda upp sketchen
För att ladda upp din kod till Arduino-kortet måste vi först ansluta Arduino till vår dator med en USB-kabel. Öppna Arduino-mjukvaran och välj rätt Arduino-kort och port från "Verktyg"-menyn.
IDE:n kan identifiera kortet automatiskt. Välj annars den faktiska modellen manuellt; för klassiska UNO väljer du Arduino AVR Boards > Arduino UNO.
Välj porten för det anslutna kortet. I Windows kan Enhetshanteraren under Portar (COM och LPT) hjälpa; Linux och macOS använder andra serienamn. Koppla ur och in kortet för att se vilken port som visas.
När vi har specificerat Arduino IDE, vilket kort vi använder och använder rätt COM-port, är vi redo att ladda upp din kod!

Figur 4
Två knappar är viktiga: den röda cirkeln visar Verify. Den kompilerar och rapporterar kompileringsfel; den testar inte kopplingen eller garanterar rätt funktion.
Den lila cirkeln markerar knappen Ladda upp. Det här är knappen som laddar upp koden till Arduino. Klicka på den för att starta överföringen av din kod.
För att ladda upp din skiss till Arduino måste vi klicka på knappen "Ladda upp". Programvaran kompilerar din kod och överför den till kortet. Om allt går bra bör du se ditt projekt fungera!
Efter att koden har laddats upp kan du börja klappa och knäppa för att se om ditt projekt fungerar!
Med den här bloggen i ryggsäcken har du nu tagit dina första steg in i elektronikens spännande värld. Kom ihåg att programmering och lek med elektronik är en läroresa. Var inte rädd för att göra misstag och experimentera med din kod. Arduino ger en fantastisk plattform för praktisk inlärning, så ha kul och lär dig mycket på vägen!