Lär dig mer om mikrokontroller (16 / 18 steg)

Steg 16: Göra ett Joyful ljud.



För vår nästa uppsättning experiment, kommer vi att ansluta högtalaren. Efter diagrammet ovan, lägga till en mer jumper tråd från port B.3. Diagrammet visar denna nya tråd i lila. Igen, skönheten i ett development kit är som mest av högtalaren kretsar är redan där. för att lägga till hela högtalaren kretsen, allt du behöver är en enda jumper tråd.

Överväga, för en minut, elektromagneten som du gjorde när du var liten (om du inte kommer ihåg att magneten görs genom att Linda en tråd runt en spik. Titta på diagrammet ovan. När du ansluter ändarna av kabeln till ett batteri, nageln blir magnetiserat och du kan plocka upp saker som papper-klipp.) En högtalare är mycket lik en elektromagnet; När du gör nuvarande flöde och stopp strömmar genom spolen på en högtalare, orsakar det ett membran att vibrera, gör ljud.

Nu, ta en titt på den Schematisk bild av kretsen som talare. Nu, att hålla med våra prejudikat av använder Port B för utdata och Port D för indata, Port B.3 styr talaren. Ta en titt på schematiskt, ovan. När porten B.3 är inställd på hög, kommer nuvarande flöde från marken genom högtalaren och till produktionen stift. Detta kommer att fungera på samma sätt som när du anslutit kabeländarna i din electro-magnet till ett batteri, och kommer att aktivera electro-magnet inuti högtalaren. När du exporterar en låg på Pin B.3, blir det ingen positiv punkt i banan, så att ingen ström flyter, och electro-magneten att stängas av.

På samma sätt kommer att vi brukade loopar slå lysdioderna på och av flera gånger, vi igen använda loopar att magnetisera och de magnetisera electro-magnet inuti högtalaren. Den största skillnaden blir att vi kommer att använda mycket kortare förseningstid inom våra slingor. Använder din mall, Lägg till följande program och spara den med ett namn som högtalare Test.

Config PortB = utgång

"Huvudprogrammet
Göra "växla högtalare linje
ställa in PortB.3
waitms 1
återställa PortB.3
waitms 1
Loop

Igen, ta en titt på detta program: vi ser en standardslinga, inget nytt här. Vi se även vi inne i slingan, bildat port B.4 (högtalare pin) hög, vänta 1millisecond och sedan återställa det tillbaka till låg och vänta på en annan 1 millisekund. Eftersom dessa uttalanden är inom en loop, detta kommer att upprepa, slå magneten i högtalaren på och av på 500 gånger per sekund – två millisekunder av och på, och upprepade.

Kompilera programmet och ladda ner den till 2313. Vad händer? Med talare bör aktivering vid 500 Hz (Hertz eller gånger per sekund) du höra en ton kommer från högtalaren. Prova att ändra fördröjningstiderna, vad händer? Se hur stort du kan få fördröjningstiden innan det inte längre låter som en ton, utan snarare ett antal klick. Prova med olika värden för två fördröjningstiderna; Vad gör som till toner?

Det är en mer uttalande som jag vill presentera; for...next slinga. Denna slinga finns möjlighet för den registeransvarige att hålla räkningen på hur många gånger det utför slingan. I det är grundläggande format, loopen börjar med en för uttalande, och då är det slutar med ett nästa uttalande. Du kan bäst förstå denna slinga med ett exempel:

För cntr = 1 till 100
ställa in PortB.4
waitms 1
återställa PortB.4
waitms 1
Nästa cntr "växla högtalare linje 100 gånger

Lägg märke till likheten med andra slingor som vi redan har täckts. Det är en början till slingan (den för uttalande) och ett slut (nästa uttalande) och allt inuti får upprepas ett antal gånger. I början av slingan, den för sats använder ett särskilt område av minne, heter en variabel, för att hålla ett tal. Variabeln ges namnet "cntr", och det första ligger lika med den första siffran i den för uttalande (i detta fall 1). Inuti for...next loop sedan utförs de kommandon. I slutet av slingan, med nästa uttalande, två saker hända: först variabeln är jämfört med det högsta numret i den för uttalande (i detta fall 100), om antalet är lika (eller högre) sedan nästa uttalande avslutas loopen och programmet fortsätter efter slingan. För det andra, om variabeln, "cntr", är mindre än antalet som gräns (100), sedan "cntr" ökas och programflöde loopar tillbaka till den för uttalande.

Använda en variabel, måste du ställa in det särskilda området i minnet. För att göra detta måste du lägga till en ny konfiguration uttalande. Efter utgång config uttalande, tillägga den följande lina:

Dim cntr som byte

Detta kommer att avsätta en byte i minnet (en minnesplats) att hålla antalet som vi kallar cntr. En byte kan hålla ett heltal mellan 0 och 255. Vi använder denna konstiga stavning av counter eftersom ordet räknaren själv är reserverad för BASIC ska användas. Så vi ändrar bara namnet och allt fungerar bra. Om under din experimenterar, vill du använda mer än 255 i din for...next loop, kom ihåg att ändra parametern byte-prova att använda länge. (Titta på BASCOM manualen för mer information om variabler, och byten och långa typer.)

Så, första gången genom öglan, kommer variabeln "cntr" hålla nummer ett. I slutet av slingan, nästa uttalande kommer att kolla och se att "cntr" är mindre än 100 (gränsen, som ställs in genom den för satsen) kommer att öka "cntr" till 2, och då har programmet loop tillbaka till den för uttalande.

Nästa gång genom öglan, upprepas allt, förutom att "cntr" innehåller nummer 2. Detta upprepas med variabeln "cntr" som ökas varje gång, tills den når 100. När "cntr" är lika med 100, kommer att då nästa uttalande säga "det är tillräckligt många gånger genom öglan, gå till nästa uttalande."

Som ni kan se, är detta ett sätt att upprepa vissa steg ett visst antal gånger. Hur hjälper oss här? Hur omkring om vi skriver en slinga för att växla talaren magneten på och av ett visst antal gånger? Eftersom vi vet hur länge vi lämna magneten på och hur länge vi lämna magneten bort, kan vi beräkna hur länge tonen räcker. Ta en titt på ovanstående loopen; Hur länge kommer det sista? Om vi anser att magneten är till för 1 millisekund och stänger sedan av under en annan 1 millisekund, och sedan det loopar för 100 gånger, finner vi att tonen ska pågå för 200 millisekunder, eller 1/5: e sekund. Faktiskt, det kommer att pågå i drygt 200 millisekunder eftersom var och en av de andra rapporterna, inklusive uttalanden av loop själva, kommer att ta en liten mängd tid. Men för tillämpningen av den här klassen, kan vi bortse från overhead tid – bara hålla det på baksidan av ditt sinne, om du behöver bättre timing senare.

Tips: för högre lägrade frekvenser, ta en titt på BASCOM-AVR manuell under waitus uttalande.

Jag tror att min gamla ficklampa bara sprang iväg med förlägenhet!

Se Steg
Relaterade Ämnen

Förbereda för A sjukhuset bo & att göra dig mer bekväm

det kommer en tid i de flesta människors liv när de har att få medicinsk behandling. Detta kan vara för en rad olika krämpor, några mild och lite mer allvarlig. Oavsett anledning, kan det vara nödvändigt för dig att bo på sjukhus under din behandling...

Använda Gorilla lim på dig Merit Badge sash

i detta Instructable, jag kommer att lära dig föräldrar till scouterna eller är en Boy Scout, men du inte gillar sömnad, använder Gorilla lim!Varning: Om du inte vill att fläckar på insidan av bågen, sedan gör inte detta.Material:1 flaska Gorilla lim...

Lär dig mer om han bästa Pokies i Nya Zeeland

Hitta alla de mest intressant och viktig information om hur du väljer rätt pokies resmål i Nya Zeeland med denna video. Här kommer du allt du behöver för att få din online spelarkarriär kommer, och sedan mycket att hjälpa dig att utveckla ännu mer. T...

Lär dig mer om rörelse med ljus målning

Fick ett ljus? Då är du redo för den underbara världen av ljus målning. Ljus målning är ett otroligt sätt att använda en kamera för att göra vacker konst och illusioner. Här är bara ett urval av några av de fantastiska möjligheterna. Men nu kan du an...

Lär dig mer om L3GD20 Breakout styrelsen

L3GD20 sensorn är en strömsnål chip som mäter vinkelformig hastighet. Med andra ord, är det en del som känner av rörelse och förändringar i orientering. Den kan kommunicera med andra marker med SPI (Serial perifera Interface) eller I2C (Inter-Integra...

Lär dig mer om mitten av århundradet Modern Design

lära sig om mitten av århundradet Modern Design (Eames Era)Det är där modern design började folk, se till att titta på hela videon!Alla beslutsfattare, mod'ers och byggare bör definitivt forskning mitten av århundradet modern design.JAG KOMMER ATT UP...

DIY muskel Sensor / EMG krets för en mikrokontroller

mätning muskel aktiveringen via elektrisk potential, kallad Elektromyografi (EMG) , har traditionellt använts för medicinsk forskning och diagnostik av neuromuskulära sjukdomar. Dock med tillkomsten av någonsin krymper ännu mer kraftfull mikrokontrol...

Lär dig hur man gör en drake!

Vad?- kan du göra din egen drake! Jag fick idén efter en dag av tristess och tittar på MythBusters It verkade som en av de sakerna som "Det kommer aldrig att fungera".How?- Denna sak faktiskt flyger bra, och är lätt för att göra, behöver du bara...

Hur man gör dig till en fågel!

Början och mitten av 60-talet såg framsteg till ripstop nylon härkomst enheter i både Frankrike och USA. Ripstop nylon är ett material som används för att ersätta silke fallskärmar på 1940-talet. Officiella Ram Air trädkronorna uppfanns 1963 och unde...

Hur berätta om nästa bränsle spara tanken är legitim eller ingenting mer än en Gimmick för att stjäla dina pengar

De flesta alla vet om bränsleekonomi men inte många av oss förstå varför våra bilar få miltal de får, eller varför bilar få värre körsträcka i stad än de gör på motorvägen. Förhoppningsvis kan jag hjälpa ta bort mysteriet med denna artikel. Också, fö...

Lär dig allt om fett: Vad gör oss fett?

Lär dig mer om olika fetter: transfetter, omättade fetter (Poly, Mono), mättade fetter, omega 3, omega 6 och det som egentligen gör oss feta....

Låt oss lära dig Super kondensatorer! (En praktisk Guide till Super kondensatorer)

Hej Instructables gemenskapens!KOLLA IN VÅR SUPER KONDENSATOR FICKLAMPA KICKSTARTER KAMPANJ:http://www.Kickstarter.com/projects/172204344/The-Forever-rechargeable-Talking-Super-Capacitor-f?ref=LiveLåt oss tala om SUPER KONDENSATORER!Tack för att titt...

Lär dig grunderna i hur fläta (fläta) - steg för steg handledning

En fläta (eller fläta) är en struktur som bildar ett mönster av sammanflätning en eller flera delar av håret. Fläta har funnits i tusentals år och kan vara används en mängd olika sätt. Fläta är en färdighet som är bra att ha, speciellt om du älskar a...

Hur man gör en hund älskar dig

Steg 1: Ge han/hon behandlar Inte till många eller det wil gör honom eller henne fett!Steg 2: Ge han eller hon massor av kramar Inte bästa bilden men ni fattar poängenSteg 3: Ge han eller hon massor av uppmärksamhetDenna del är mycket enkelt allt du...

Hur man tar saker Apart utan att döda dig själv

som många av er kanske redan vet, gamla bruksföremål och trasiga saker är ofta guld-bryter av delar som är bra för användning som motorer, fans och circuitboards, om du är villig att desolder dem. Fast jag vet de flesta av er vet alla grunderna i dem...

Science Fair: Uttråkad inte mer

Science fair styrelser har inte utvecklas under de senaste 50 + år. Är det dags att bryta bort från den "titta men inte röra" mentalitet av Science mässor. Genom att använda Arduino, stora knappar, rättvis servon och lysdioder kan vi lägga till...

Gör dig 3D-modeller till en verklighet, utan en 3D-skrivare

någonsin haft en bra idé för något att 3D utskrift? Eller ville göra en cool projekt som krävs 3D-utskrifter? Men du inte har en 3D-skrivare? För de flesta av oss, som inte har en 3D-skrivare, kan detta vara ett riktigt stort problem, och en irritera...

Oortodoxa airsoft taktik för att hjälpa dig att vinna kriget

detta instructable handlar om att hitta sätt att vinna kriget. Sätt ingen förväntar. Som sådan, är improvisation ett måste. Denna guide ger dig förslag på oortodoxa sätt att ge dig fördelar, men kommer också få du funderar på hur du kan improvisera d...

Lär dig att rita en tecknad figur

Say goodbye till stick män för evigt! Detta Instructable kommer att lära dig grundläggande principer som kan hjälpa dig att dra dina egna imponerande seriefiguren. Beroende på hur bekväm du är på att teckna, kan bemästra detta enkla tecken ta allt fr...