Meer informatie over Microcontrollers (16 / 18 stap)

Stap 16: Maak een vrolijk geluid.


Voor onze volgende reeks van experimenten, zullen we om verbinding te maken met de spreker. Naar aanleiding van het bovenstaande diagram toevoegen u één meer jumper draad van poort B.3. Het diagram toont deze nieuwe draad in paars. Nogmaals, de schoonheid van een development kit is dat de meeste van de spreker circuit nog aanwezig; toe te voegen het hele spreker circuit, alles wat u nodig hebt is een enkele jumper wire.

Overwegen, voor een minuut, de elektromagneet die u hebt aangebracht toen je een kind (als u niet meer weet dat de magneet is gemaakt door inwikkeling een draad rond een spijker. Kijk naar het bovenstaande diagram. Wanneer u verbinding maakt met de uiteinden van de draad met een batterij, de nagel wordt gemagnetiseerde, en u kunt oprapen van dingen zoals paperclips.) Een luidspreker is net als een elektromagneet; Wanneer u stroom, en stop stroomt door de spoel van een spreker, veroorzaakt het een membraan te trillen, dat klinkt.

Nu, neem een kijkje op het schema van het circuit van de spreker. Nu, houden met onze precedent van het gebruik van poort B voor uitvoer en Port D voor input, Port B.3 zullen beheersen de spreker. Neem een kijkje op het schema, hierboven. Als poort B.3 is ingesteld op hoog, zal huidige stromen van grond door de speaker en aan de uitgang-Pins. Dit zal hetzelfde zijn als wanneer u de draaduiteinden in uw electro-magneet op een accu aangesloten en de electro-magneet binnen de spreker zal activeren. Wanneer u een laag op Pin B.3 uitvoert, zal er geen positieve punt in het circuit, dus geen huidige zullen vloeien, en de electro-magneet wordt uitgeschakeld.

Op dezelfde manier zullen dat we lussen gebruikt om te schakelen de LEDs in- en uitschakelen herhaaldelijk, we weer kunt lussen magnetiseren en gedemagnetiseerd, waardoor de electro-magneet binnen de spreker. Het belangrijkste verschil zal zijn dat we zullen veel korter vertragingstijden binnen onze lussen. Met behulp van uw sjabloon, toevoegen van het volgende programma en sla het met een naam als Speaker Test.

Config PortB = Output

' Hoofdprogramma
Doet "luidspreker lijn in-/ uitschakelen
set PortB.3
waitms 1
Reset PortB.3
waitms 1
Loop

Nogmaals, neem een kijkje op dit programma: we zien een standaard lus, niets nieuws hier. Ook zien we dat we binnen de lus, poort B.4 (de luidspreker-pin) te hoog, wachten 1millisecond en opnieuw het terug naar lage en wachten op een ander 1 milliseconde instellen. Omdat deze uitspraken binnen een lus, dit zal herhalen zijn, draaien de magneet in de luidspreker in- en uitschakelen op 500 keer per seconde – twee milliseconden aan en uit, en herhaalde.

Het compileren van uw programma en download het naar de ' 2313. Wat gebeurt er? Met de luidspreker hoort activeren bij 500 Hz (Hertz, of keer per seconde) u een Toon vanuit de spreker. Wijzig de vertragingstijden, wat gebeurt er? Zie hoe groot kunt u de vertragingstijd voordat het niet langer klinkt een Toon, maar eerder een aantal klikken. Probeer verschillende waarden voor de twee vertragingstijden; Wat doet dat met de tonen?

Er is één meer instructie set die ik wil voeren; de lus for... Next. Deze lus bevat de mogelijkheid voor de controller te houden van de telling van het aantal keren dat de lus wordt uitgevoerd. In het basis-formaat is de lus begint met een voor instructie, waarna het eindigt met een volgende verklaring. U kunt best begrijpen deze lus met een voorbeeld:

Voor cntr = 1 tot 100
set PortB.4
waitms 1
Reset PortB.4
waitms 1
Volgende cntr ' schakelen luidspreker lijn 100 keer

Merk de gelijkenis met andere lussen die hebben we al onder; Er is een begin van de lus (de voor verklaring) en het einde (de volgende verklaring) en alles binnen krijgt een bepaald aantal keren herhaald. Aan het begin van de loop, de voor instructie wordt gebruikgemaakt van een bijzonder gebied van geheugen, een variabele, om een aantal genoemd. De variabele krijgt de naam "cntr", en het eerste ligt gelijk aan het eerste nummer in de voor-instructie (in dit geval 1). De opdrachten binnen de lus worden vervolgens uitgevoerd. Aan het eind van de lus, met de volgende instructie, twee dingen gebeuren: eerst de variabele wordt vergeleken met het hoogste nummer in het instructie (in dit geval 100), als het getal is gelijk (of hoger) dan de volgende instructie sluit de lus, en het programma blijft na de lus. Ten tweede, als de variabele, "cntr", is minder dan het maximum aantal (100), vervolgens "cntr" wordt verhoogd, en programmeerstroom lussen terug naar de verklaring.

Om een variabele gebruikt, moet u instellen naar het bijzondere gebied van geheugen. Om dit te doen moet u een nieuwe configuratie-instructie toevoegen. Na de uitgang config-instructie, voeg de volgende regel:

Dim cntr als byte

Dit zal één byte van geheugen (een geheugenlocatie) te houden van het nummer dat we cntr noemen gereserveerd. Één byte kan een willekeurig geheel getal tussen 0 en 255 bevatten. We gebruiken deze vreemde spelling van teller omdat de woord-teller zelf is gereserveerd voor BASIC te gebruiken. Dus we alleen zijn naam veranderen en alles werkt prima. Als u wilt tijdens uw experimenteren, gebruik van meer dan 255 in uw lus for... Next, vergeet niet te wijzigen van de byte-parameter-Probeer lang. (Kijk naar de BASCOM-handleiding voor meer informatie over variabelen, en de byte en de lange typen.)

Dus, de eerste keer door de lus, de variabele "cntr" zal de nummer één. Aan het eind van de lus, de volgende instructie zal controleren en zien dat "cntr" minder dan 100 (de limiet, als instellen door de voor instructie,) zal verhogen "cntr" naar 2, en dan moeten de programma lus terug naar de verklaring.

De volgende keer door de lus, wordt alles herhaald, behalve dat "cntr" het nummer 2 bevat. Dit wordt herhaald, met de variabele "cntr" wordt verhoogd telkens wanneer, totdat zij 100 tot. Als "cntr" gelijk aan 100 is, zal dan de volgende instructie zeggen "dat is vaak genoeg door de lus, ga op de volgende verklaring."

Zoals u zien kunt, is dit een manier sommige stappen een aantal keer herhalen. Hoe helpt dat ons hier? Hoe zit het als we een lus schrijven om de spreker magneet aan en uit een bepaald aantal keren in-/ uitschakelen? Aangezien we weten hoe lang laten we de magneet op en hoe lang we laten de magneet af, kunnen we berekenen hoe lang het duurt om de Toon. Een andere blik op de bovenstaande lus; Hoe lang zal dat duren? Als we bedenken dat de magneet is ingeschakeld voor 1 milliseconde en vervolgens uitgeschakeld voor een andere 1 milliseconde, en vervolgens het lussen voor 100 keer, wij vinden dat de Toon voor 200 milliseconden, of 1/5 duren moet th van een seconde. Eigenlijk, het duurt iets meer dan 200 milliseconden omdat elk van de andere instructies, met inbegrip van de verklaringen van de lus zelf, een kleine hoeveelheid tijd zal nemen. Echter, voor de toepassing van deze klasse, we kunnen negeren de overhead tijd-houd het enkel aan de achterkant van je geest, voor het geval u nodig betere timing later.

Tip: voor hogere frequenties, neem een kijkje op de BASCOM-AVR handmatige onder de verklaring van de waitus.

Ik denk dat mijn oude zaklamp liep weg met verlegenheid!

Gerelateerde Artikelen

Meer informatie over versnelling met Rocket auto's!

Meer informatie over versnelling met Rocket auto's!

Een miniatuur raketmotor, pen buizen, een hete wiel en een klein beetje warme lijm zullen de perfecte hulp voor meer informatie over versnelling!Stap 1: materialenDe Essentials:-Hot wielen auto of een auto van gelijke waarde (vaste, niet een voor de
Meer informatie over het midden van de eeuw moderne Design

Meer informatie over het midden van de eeuw moderne Design

informatie over het midden van de eeuw moderne Design (Eames Era)Dit is waar moderne mensen begonnen, zorg ervoor dat de hele video te bekijken!Alle makers, mod'ers en bouwers moeten zeker onderzoeksdesign midden van de eeuw moderne.IK ZAL HET BIJWER
Meer informatie over de beste Pokies hij in Nieuw-Zeeland

Meer informatie over de beste Pokies hij in Nieuw-Zeeland

De meest interessante en belangrijke informatie vinden over hoe kiest u een bestemming van de juiste pokies in Nieuw-Zeeland met deze video. Hier zult u alles wat die u nodig hebt om uw online carrière gaan, en dan veel te helpen u bij het ontwikkele
Meer informatie over de 555

Meer informatie over de 555

In dit instructable ik leert u alles wat u ooit zou moeten weten over de 555 timer IC. Als u al over de chip die u zou kunnen kijken op mijn diavoorstelling getiteld "47 projecten weet te doen met een 555" het leert u elke basisproject en dit pr
Meer informatie over de beste maandelijkse Steak Gift Club

Meer informatie over de beste maandelijkse Steak Gift Club

Geef het geschenk dat blijft geven het hele jaar lang. Met het geschenk van een Chicago Steak-bedrijf Gift Club-lidmaatschap, kunt u iemand Toon dat u zorg keer op keer. Diverse plannen beschikbaar zijn en het maakt een grote stimulans of relatiegesc
Meer informatie over de beste Australische Friendly Casinos

Meer informatie over de beste Australische Friendly Casinos

Ontdek dat de beste Australische online slots entertainment op het comfort van uw huis. Bekijk deze video en alle beste informatie vinden die bij uw vingertoppen. We zijn ervan overtuigd dat de online casino's die wij hebben herzien en gewaardeerd de
Meer informatie over de beste plaatsen om te spelen Pokies

Meer informatie over de beste plaatsen om te spelen Pokies

Bent u een liefhebber van pokies en op zoek naar online pokie bestemmingen? Vervolgens Bekijk deze video en spelen op wereld beste online pokie sites. En bezoek bestonlinepokies.com.au waar wij helpen u uw favorieten spel vinden en maakt het zo veel
Meer informatie over de beste Casino Games en toernooien

Meer informatie over de beste Casino Games en toernooien

Leer de beste casinogames en toernooien voor onderweg met deze video. Australiërs kunnen toetreden tot de bloeiende online pokergemeenschap met behulp van hun mobiele en ervaring al dat deze elite sites te bieden in de palm van hun hand hebben. Onder
Bookhuddle.com, een website voor het ontdekken, organiseren en delen van informatie over het adresboek maken

Bookhuddle.com, een website voor het ontdekken, organiseren en delen van informatie over het adresboek maken

deze post beschrijft de stappen die betrokken zijn bij het maken en lanceren van Bookhuddle.com, een website gericht op het helpen lezers ontdekken, organiseren en delen van informatie over het adresboek.De hier beschreven stappen zou gelden voor de
Informatie over het gebruik van panelen In Adobe Photoshop

Informatie over het gebruik van panelen In Adobe Photoshop

Informatie over het toevoegen, verwijderen, vervangen en panelen in Adobe Photoshop te gebruiken. Deze tutorial is zeer geschikt voor beginners die zijn aan te pakken met Photoshop.
Kevin Brauch van Delicious zomer Cocktail (informatie over een eenvoudig brand truc ook!)

Kevin Brauch van Delicious zomer Cocktail (informatie over een eenvoudig brand truc ook!)

Dit is een van mijn favoriete zomer cocktails, gemaakt door jou echt. Ik ben heel blij met hoe dit uitgewerkt. Hoop dat je geniet ervan zo goed. Laat me weten wat u denken en voor meer recepten en tips check ons op andere platformen. Looking forward
Informatie over het gebruik van Google Sketchup---tutorial #3

Informatie over het gebruik van Google Sketchup---tutorial #3

In deze sessie leert Rich sommige meer werkbalkitems voor sketchup met inbegrip van de lijn/potlood, cirkel, boog, veelhoek, en freehand.
Hoe krijg je alle informatie over een WEBSITE?

Hoe krijg je alle informatie over een WEBSITE?

alle infoStap 1: Stel uw doelgroep wilt krijgen informatie van...het doel van de website, die you gonna WHOIS instellen.Stap 2: Kleine hackenGa naar silentregister.com (dit is niet mijn website)vinden in menu WHOIS LOOKUPOpen datTyp het domein dat u
Rainbow Loom ~ enkel patroon (informatie over twee manieren!)

Rainbow Loom ~ enkel patroon (informatie over twee manieren!)

Hoi! Vandaag, zal ik u tonen hoe te maken van de "Rainbow Loom - enkel patroon". Het is een aanrader voor beginners patroon. Hebt u zette opmerkingen of vragen neem dan ze hieronder. Ik hoop dat u zult genieten van deze tutorial en volg me voor