Hur man skapar en öl flaska LED VU-Meter (11 / 17 steg)

Steg 11: Läsa den LM3915 utgångar



Slutligen har vi traskade genom allt det andra där det är nödvändigt att få projektet fungerar och nu får vi faktiskt börja arbeta på VU-Meter aspekt av projektet. Det första som vi behöver göra är räkna ut vilka utgångar av LM3915 foder i vilka ingångar för PIC18F4550. Så ska vi dra ut det schematiskt (återigen) och märker att anslutningarna är följande:

Utgångar: ingångar
LED1:RB7
LED2:RB6
LED3:RB5
LED4:RB4
LED5:RB3
LED6:RB2
LED7:RD7
LED8:RD6
LED9:RD5
LED10:RD4

Återigen, om du undrar varför ingångarna är typ av bakåt förtjänar att routning av PCB. Nu när vi har anslutningarna, ska jag visa dig hur vi lagrar indata.

Det första vi gör är att deklarera en variabel som 16-bitars. Vi kommer endast att använda de lägre 10 bitarna eftersom vi bara har 10 olika ljudnivåer.

UInt16 nivå. Vi deklarerar en 16-bitars heltal utan tecken som kommer att lagra ljudnivån från LED1 - LED10

Ser som vi inte använder en full PORT (RB0 - RB7 eller RD0 - RD7) för över uppgifterna i, vi kommer att ha att maskera av de oönskade bitarna. De bitar som vi inte behöver är RB0, RB1, RD0, RD1, RD2 och RD3. De första 4 bitarna som vi kommer att få i är RD4 - RD7, så vi ska maskera bort de nedersta bitarna (RD0 - RD3) och ange den variabel "nivån" till att övre nibble (RD4 - RD7).

Level = 0x00F0 & PORTD; Maskera bort de nedersta bitarna och göra "nivå" lika med den övre Mumsa av PORTD

Nu när vi har de värden som lagras på utgångar LED7 - LED10, måste vi få våra variabel "nivå" redo att kunna lagra de nästa 6 bitarna av data som finns på RB2 - RB7. För att göra plats för dessa nästa 6 bitar vi vänster bitars SKIFT "nivå" av 2. Så just nu "nivå" skulle se ut så här i binär form:

xxxx = RD4, RD5, RD6 RD7 respektive

Level = 00000000xxxx0000 < = finns bara plats för 4 bitar data på slutet. Vi måste passa 6 bitar data

Så för att lite SKIFT "nivå" två platser, satte vi detta som vår nästa kodrad:

level = nivå << 2. Lite SKIFT "nivå" två platser och redo att ta emot data från RB2 - RB7

Detta är nu hur "nivå" skulle titta efter att det har varit lite skiftade lämnade två ställen:

Level = 000000xxxx000000 < = nu har vi tillräckligt med utrymme för RB2 - RB7

Slutligen, vi kan nu hämta de sista 6 bitarna av data som är utdata från LED1 - LED6 och förvara den i "nivå". Här är nästa rad i koden för att göra det:

level = nivå | ((0xFC & PORTB) >> 2); Maskera bort bitarna RB0 och RB1, sedan bitars SKIFT RB2 - RB7 två platser till höger och lagra den i botten 6 bitar av "nivå"

Denna linje är lite mer kryptiskt, men det gör exakt samma sak som vi gjorde med PORTD förutom det skiftar data två platser till höger. På insidan parentes vi mask utanför RB0 och RB1 och sedan skifta resultatet just två. Nu när de data som vi vill ha är i de lägsta 6 bitarna, vi kommer eller det med "nivå" som kommer att helt enkelt placera RB2 - RB7 i de lägsta 6 bitarna av "nivå". Här är vad det kommer att sluta se ut som:

xxxx = RD4, RD5, RD6 RD7 respektive
Yyyyyy = RB2, RB3, RB4, RB5, RB6, RB7 respektive

Level = 000000xxxxyyyyyy

Nästa kommer att vi matcha värdena för "nivå" med den motsvarande ljudnivån.

Se Steg
Relaterade Ämnen

Hur man skapar en miniatyr tomat hydroponiska rigg

historiaHydrokultur är odlingen av växter genom att placera rötterna i flytande näringslösningar inte i jord. Processen kan låta konstigt i början, men en kort titt på historien av Aztekerna indikerar att denna trädgårdsodling strategi har använts i...

Hur man skapar en Arduino kompatibel Bluetooth 4.0 modul

UPPDATERING: Låter göra robotar, mitt hem digital hackerspace, köptes av RobotShop. Jag vill inte gå in, men de nya ägarna förbjudit mig själv och de flesta veteran medlemmarna. Som sagt, de flesta av länkarna där kommer att brytas. Lyckligtvis kunde...

Hur man skapar Lumi Inkodye t-tröjor!

Hur man skapar Lumi Inkodye T-shirts!I detta Instructable jag ska visa dig hur för att skapa sval sett Lumi t-shirts, men jag kommer också att avslöja några lärdomar. Jag hoppas du kan undvika några av de misstag som vi gjort i våra första Lumi ävent...

Hur man skapar en framgångsrik KICKSTARTER kampanj - Fallstudie: GOFISH CAM: Extreme Action-äventyr kameran för fiske

HUR MAN SKAPAR EN FRAMGÅNGSRIK KICKSTARTER KAMPANJFallstudie: GOFISH CAM: Extreme Action-äventyr kameran för fiske2014 kom två bröder med en idé till en undervattensfiske kamera på en fisketur. Efter att medel från vänner och familj, och investera me...

Hur man gör en flaska försvinna för en annimation

jag trodde id göra en instructable att Visa folk hur man gör en flaska försvinna som du kanske har sett i några av mina videor NjutSteg 1: material Exacto knivWebcamDatorVattenflaskastop motion proAdobe PremiereSteg 2: Filmning pågår Börja ta bilder...

Hur man skapar ett Fake blåmärke

hur man skapar ett blåmärke använder smink. Bra för agerar roller eller på kul.Steg 1: Samla material Behöver du: • en färgpalett med grönt, lila, blå och svart • en primer • fluffig borste och och ögonskugga borsteSteg 2: Prime din hud Med din prime...

Hur man gör en flaska vatten raket

lära sig hur man gör en flaska vatten raket steg med en förklaring av varje komponent.1) MATERIAL2) skapa grundläggande kroppen3) FENOR4) FALLSKÄRM5) slutmontering6) resonemangSteg 1: material -3 2L läsk flaskor-Plastpåse-tejp-garn-kartong-tennisboll...

Hur man skapar en rundstrålande sol spis!

Hej! Om du har kommit hit sedan undrar du hur man skapar en sol spis. Det finns en massa olika Solköken ute och vår design är en av många. Vår är centrerad kring en design som fångar solen från alla håll och inte har till vara vände hela dagen. Hoppa...

Hur man skapar 3D ikoner

Ibland känns det som man måste ha någon form av magiska färdigheter för att göra 3D ikoner men jag är här för att visa att det inte alls är fallet! Det kräver bara lite detektivarbete för att räkna ut där högdagrar och skuggor är tänkt att vara!Behöv...

Hur man skapar en Downhill Ski-cykel

Bor i en kylig nordliga klimat gör det möjligt för invånarna att njuta av snön i flera månader under vintern. För ivrig mountainbikecyklister, som kan hindra mängden ridning tid på snabb, packad smuts stigar. Inte vilja att bromsas av snö under vinte...

Hur man skapar en enkel karaktär i Adobe Flash CS5.5

lärande Adobe Flash kan vara svårt. Kolla in min Instructable att lära sig hur man skapar en enkel steg för steg karaktär på Adobe Flash CS5.5 och göra det flytta.Steg 1: Komma igång Först öppna Adobe Flash CS5.5 och välj i ActionScript 3.0. Välj Ova...

Hur man skapar en julgran med fischertechnik element

jag spela med olika pedagogiska manipulatives för en levande. (Besök www.weirdrichard.com). Under åren har jag byggt olika holiday tema modeller med allehanda leksaker. Det är enkelt att skapa awesome jul och Yule scener med fischertechnik bitar och...

Hur man skapar en WordPress blogg med en sociala medier funktion

Hej, heter jag Dan Lee, stolt Virginia Tech student och blogga hobby som har skapat blogg webbplatser det senaste året. Jag förstår att skapa en blogg kan vara frustrerande ibland. Så, jag delar en instruktion om hur man skapar en blogg i 12 viktiga...

Hur man skapar en svävare

vad kan vara roligare än ridning över marken på en stor, mäktig svävare? Denna ska tutorial undervisar dig hur man bygger en svävare för eget bruk.Steg 1: material Hur man skapar en svävareMaterial:"4 ft x 4 ft bit plywood"Tarp eller plast dusch...

Hur man skapar en manet kostym med enda kartong

hur man skapar en manet kostym med enda kartongSteg 1: IntroduktionSyftet med detta skolprojekt är att konstruera en marint tema kostym med endast kartong och platta konstruktion. Jag måste bygga en manet dräkt av kartong med platta konstruktion. Spe...

Hur man gör en laddningsbar led ficklampa med en gammal mobil batteri

i detta instructable kommer jag att visa att "Hur man gör en laddningsbar led ficklampa med en gammal mobil batteri"? >>>Steg för stegSteg 1: Vad du behöver!Två 1W Ledtvå kylfläns (för ledde svalna)sladdarmobila batterimobila jacklödkol...

Hur man skapar en låg budget film del 2

om du inte har redan först läsa "hur man skapar en låg budget film" före behandlingen detta instructable.Hej och välkommen igen till hur du skapar en låg budget film. i detta instructable jag ger dig mer tips och tricks på gör din no-budget film...

Hur man skapar en Candy Stripe vänskap armband

Hur man skapar en Candy Stripe vänskap armbandSaker du behöver:Broderi flossUrklipp eller Tape (att hålla ditt armband ned)SaxAtt göra en Candy Stripe vänskap armband är mycket enkel och kräver endast en typ av Knut. Det kan se konstigt ut på först m...

Hur man skapar en smycken Organizer

lära sig hur man skapar en smycken Organizer ur vanliga garderoben saker...