PICAXE - musik lyhörda, dimma producerar, LED Light Show och Audio förstärkare i ett (5 / 12 steg)

Steg 5: Elektronik - programmering



jag programmerade Picaxe 18M 2 chip med gratis programvara som "PICAXE programmering Editor" och Picaxe programmering kabeln för att överföra programmet till chipet.
Själva programmet är skrivet i programmeringsspråket "Grundläggande" och i princip tillåter chip att ta ljud "knackade bort" från förstärkaren genom en diod och konvertera den till ett digitalt värde med marker 'Analog till DC' (ADC) omvandlare förmåga, chip sedan använder det här värdet i kombination med 2 av potentiometrar används för "LED ljusstyrka" och "LED Sensitivity" genom en matematisk formel att besluta hur många lysdioder till ljus upp ståndpunkter , detta leder lysdioder som "dansar" i takt med musiken beroende av "makt" av musik på den punkten i tid.
Den andra delen av programplaneringen var "Menyn System" som kan nås genom att trycka på båda knapparna samtidigt, detta menyn system tillåts att användaren kan välja mellan 1 av 4 förinställda LED mönster, vars hastighet kan styras av på den kontroll knoppar, och det ursprungliga "musik kontrollerade lysdioder" program att göra enheten användbar även när den inte används som en musik förstärkare.

Nedan är det program jag skrev, jag är relativt ny på Picaxe programmering (i BASIC) så det kan vara enklare och mer minne effektiva sätt att skapa detta program men detta fungerar alldeles utmärkt (text föregås av en apostraphy "anteckningar och inte en del av programmet):

viktigaste:
Pausa 500
serout B.5, N2400, (254, 64, 32, 36, 44, 63, 63, 44, 36, 32)
serout B.5, N2400, (254, 72, 32, 36, 38, 63, 63, 38, 36, 32)
serout B.5, N2400, (254, 80, 32, 32, 59, 32, 32, 49, 46, 32)
serout b.5, n2400, (254, $80) "första raden i LCD-skärm
serout b.5, n2400, ("Skärtorsdagens Designs")
serout b.5, n2400, (254, $C0) ' andra linje av LCD-skärm
serout b.5, n2400, ("presenterar... ")
Pausa 250
hög 0
Pausa 250
hög 0, 1
Pausa 250
hög 0, 1, 2
Pausa 250
hög 0, 1, 2, 3
Pausa 500
låga 0
Pausa 250
lågt 0, 1
Pausa 250
låg 0, 1, 2
Pausa 250
låg 0, 1, 2, 3
gå till VUMeterText

VUMeterText:
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("musik till ljus!")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, ("Press", 8, "+", 9,"4 menyn")
gå till VUMeter

VUMeter:
om pinc.7 = 1 då
gå till PresetsFlashQ
annat
readadc c.1, b1 "PIN-kod c.1 är ljudingången från förstärkare kretsen
readadc b.7, b2 "pin b.7 är Potentiometer"LED Sensitivity"
readadc c.0, b3 ' pin c.0 är Potentiometer "LED ljusstyrka"
Låt b2 = b2/20
Låt b3 = 255 - b3
om b3 < = 127 då
Låt b3 = 127 - b3
Låt w4 = b3 * 15
Låt w3 = b2 * b1-w4
annat
Låt b3 = b3 - 128
Låt w4 = b3 * 15
Låt w3 = b2 * b1 + w4
endif
om w3 > 4000 sedan
Låt w3 = 0
endif
om w3 > 600 sedan fyra
om w3 > 450 sedan tre
om w3 > 300 sedan två
om w3 > 150 då en
om w3 < = 150 sedan noll
endif
gå till VUMeter

Zero:
låg 0, 1, 2, 3
gå till VUMeter

en:
låg 0, 1, 2, 3
hög 0
gå till VUMeter

två:
låg 0, 1, 2, 3
hög 0, 1
serout b.5, n2400, (254, $C0)
gå till VUMeter

tre:
låg 0, 1, 2, 3
hög 0, 1, 2
serout b.5, n2400, (254, $C0)
gå till VUMeter

fyra:
låg 0, 1, 2, 3
hög 0, 1, 2, 3
serout b.5, n2400, (254, $C0)
gå till VUMeter

PresetsFlashQ:
om pinc.6 = 1 då
gå till PresetsFlash
annat
gå till VUMeter
endif

PresetsFlash:
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Huvudmeny")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, (8, "Preset 1", 9)
låg 0, 1, 2, 3
hög 0
Pausa 100
hög 0, 1
Pausa 100
hög 0, 1, 2
Pausa 100
hög 0, 1, 2, 3
Pausa 100
låga 0
Pausa 100
lågt 0, 1
Pausa 100
låg 0, 1, 2
Pausa 100
låg 0, 1, 2, 3
Pausa 100
gå till Preset1

Preset1:


låg 0, 1, 2, 3
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Huvudmeny")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, (8, "Preset 1", 9)
Pausa 200
gå till Preset1loop

Preset1loop:
om pinc.7=1 sedan goto Preset1L "Pin 7 är på"Vänster"-knappen
om pinc.6=1 sedan goto Preset1R "Pin 6 är på"Rätt"-knappen
gå till Preset1loop

Preset1R:
Pausa 100
om pinc.7=1 sedan goto Preset1RunText
gå till Preset2

Preset1L:
Pausa 100
om pinc.6=1 sedan goto Preset1RunText
gå till PresetVU

Preset1RunText:
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Preset 1")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, ("Press", 8, "+", 9,"4 menyn")
Pausa 200
gå till Preset1Run

Preset1Run:
låg 0, 1, 2, 3
hög 0
om pinc.6=1 och pinc.7=1 sedan goto Preset1
readadc c.0, b5
Pausa b5
hög 0, 1
om pinc.6=1 och pinc.7=1 sedan goto Preset1
readadc c.0, b5
Pausa b5
hög 0, 1, 2
om pinc.6=1 och pinc.7=1 sedan goto Preset1
readadc c.0, b5
Pausa b5
hög 0, 1, 2, 3
om pinc.6=1 och pinc.7=1 sedan goto Preset1
readadc c.0, b5
Pausa b5
låga 0
om pinc.6=1 och pinc.7=1 sedan goto Preset1
readadc c.0, b5
Pausa b5
lågt 0, 1
om pinc.6=1 och pinc.7=1 sedan goto Preset1
readadc c.0, b5
Pausa b5
låg 0, 1, 2
om pinc.6=1 och pinc.7=1 sedan goto Preset1
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
om pinc.6=1 och pinc.7=1 sedan goto Preset1
readadc c.0, b5
Pausa b5
om pinc.6=1 och pinc.7=1 sedan goto Preset1
gå till Preset1Run

Preset2:
låg 0, 1, 2, 3
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Huvudmeny")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, (8, "förinställd 2", 9)
Pausa 200
gå till Preset2loop

Preset2loop:
om pinc.7=1 sedan goto Preset2L
om pinc.6=1 sedan goto Preset2R
gå till Preset2loop

Preset2R:
Pausa 100
om pinc.7=1 sedan goto Preset2RunText
gå till Preset3

Preset2L:
Pausa 100
om pinc.6=1 sedan goto Preset2RunText
gå till Preset1

Preset2RunText:
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Preset 2")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, ("Press", 8, "+", 9,"4 menyn")
Pausa 200
gå till Preset2Run

Preset2Run:
låg 0, 1, 2, 3
hög 0
om pinc.6=1 och pinc.7=1 sedan goto Preset2
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 1
om pinc.6=1 och pinc.7=1 sedan goto Preset2
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 2
om pinc.6=1 och pinc.7=1 sedan goto Preset2
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 3
om pinc.6=1 och pinc.7=1 sedan goto Preset2
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 2
om pinc.6=1 och pinc.7=1 sedan goto Preset2
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 1
om pinc.6=1 och pinc.7=1 sedan goto Preset2
readadc c.0, b5
Pausa b5
gå till Preset2Run

Preset3:
låg 0, 1, 2, 3
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Huvudmeny")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, (8, "Preset 3", 9)
Pausa 200
gå till Preset3loop

Preset3loop:
om pinc.7=1 sedan goto Preset3L
om pinc.6=1 sedan goto Preset3R
gå till Preset3loop

Preset3R:
Pausa 100
om pinc.7=1 sedan goto Preset3RunText
gå till Preset4

Preset3L:
Pausa 100
om pinc.6=1 sedan goto Preset3RunText
gå till Preset2

Preset3RunText:
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Preset 3")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, ("Press", 8, "+", 9,"4 menyn")
Pausa 200
gå till Preset3Run

Preset3Run:
låg 0, 1, 2, 3
hög 0
om pinc.6=1 och pinc.7=1 sedan goto Preset3
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 2
om pinc.6=1 och pinc.7=1 sedan goto Preset3
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 1
om pinc.6=1 och pinc.7=1 sedan goto Preset3
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 3
om pinc.6=1 och pinc.7=1 sedan goto Preset3
readadc c.0, b5
Pausa b5
gå till Preset3Run

Preset4:
låg 0, 1, 2, 3
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Huvudmeny")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, (8, "förinställd 4", 9)
Pausa 200
gå till Preset4loop

Preset4loop:
om pinc.7=1 sedan goto Preset4L
om pinc.6=1 sedan goto Preset4R
gå till Preset4loop

Preset4R:
Pausa 100
om pinc.7=1 sedan goto Preset4RunText
gå till PresetVU

Preset4L:
Pausa 100
om pinc.6=1 sedan goto Preset4RunText
gå till Preset3

Preset4RunText:
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Preset 4")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, ("Press", 8, "+", 9,"4 menyn")
Pausa 200
gå till Preset4Run

Preset4Run:
låg 0, 1, 2, 3
hög 0, 3
om pinc.6=1 och pinc.7=1 sedan goto Preset4
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 1, 2
om pinc.6=1 och pinc.7=1 sedan goto Preset4
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 0, 1, 2, 3
om pinc.6=1 och pinc.7=1 sedan goto Preset4
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 1, 2
om pinc.6=1 och pinc.7=1 sedan goto Preset4
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 0, 3
om pinc.6=1 och pinc.7=1 sedan goto Preset4
readadc c.0, b5
Pausa b5
låg 0, 1, 2, 3
hög 0, 1, 2, 3
om pinc.6=1 och pinc.7=1 sedan goto Preset4
readadc c.0, b5
Pausa b5
gå till Preset4Run

PresetVU:
låg 0, 1, 2, 3
serout b.5, n2400, (254, $80) "första raden i displayen
serout b.5, n2400, ("Huvudmeny")
serout b.5, n2400, (254, $C0) ' andra raden i displayen
serout b.5, n2400, (8,"Music2Lights", 9)
Pausa 200
gå till PresetVUloop

PresetVUloop:
om pinc.7=1 sedan goto PresetVUL
om pinc.6=1 sedan goto PresetVUR
gå till PresetVUloop:

PresetVUR:
Pausa 100
om pinc.7=1 sedan goto VUMeterText
gå till Preset1

PresetVUL:
Pausa 100
om pinc.6=1 sedan goto VUMeterText
gå till Preset4

Se Steg
Relaterade Ämnen

50W RGB LED Light Show

Vi var på en tag försäljning och jag såg en 6 fot spränga pumpa för $10. Det såg ut för att ha lite användning så jag tog den. Jag kom hem och fann han 5 lökar insidan slogs upp lite. Det är OK eftersom jag ville lägga till en arduino kontrollerad RG...

Göra en vind Powered LED Light Show

detta är min andra instructable, jag kommer att visa dig hur man gör detta cool ljusshow, den finns på ebay på denna länk http://www.ebay.com/itm/160959250514?ssPageName=STRK:MESELX:IT&_trksid=p3984.m1555.l2649Steg 1: Vad du behöver 24" pvc pipe...

DIY kraftfulla LED-Panel - Video och arbetslampa

Idag ska jag visa dig hur man gör en LED-panel ljus och billigt. Jag ville ha ett starkt ljus för min arbetsplats, denna panel kommer med över 200 lysdioder och jag använde bara ca 10 spänn för att göra det.Panelen är super ljusa och bra att använda...

Hur-till hacka en Retro gamla telefon att LED enhet & förstärkare

DIY-hacka en roterande gamla telefon till LED enhet & mobiltelefon Audio förstärkare.Detta hack ger några användbara frågor, till exempel vi kan läsa böcker på natten med hjälp av våra gamla härliga retro telefon, under tiden använda telefonen som en...

Arduino + WiFi, musik lyhörd LED ljus fixtur

detta instructable ger anvisningar för att bygga en Saiko5 WiFi aktiverat LED armatur baserad på Arduino hobby plattform. Den innehåller stegvisa instruktioner från styrelsen design till lödning till fall integration, samt instruktioner förklarar hur...

Modifierade kopplingsschemat för musik LED Light Box

detta är min modifierade kopplingsschemat för att användas med motadacruz's musik LED Light Box Instructable.Tanken är att, istället för att bara använda en kanal från din audio kabel, med hjälp av två transistorer kan du använda båda kanalerna och b...

Aquarium LED Light Controller baserat på Raspberry Pi

Att ha ett akvarium är bra för en hobby och för ett yrke.En av de viktigaste komponenterna i ett akvarium är ordentlig belysningssystemet (bland andra).Det finns mycket litteratur på internet om detta tema, från de mycket grundläggande på timer switc...

LED Light Cube

Denna enkla papper LED light cube är lätt att göra och kan vara ett bra att få-att-veta-du starter projekt för grupper.Jag använde detta projekt som en isbrytare i ett läger i senaste sommar. Ge varje deltagare en kub mall och vellum rutor, bad jag d...

Att göra en LED touch penna och UV-lyhörd skrivytan

skapa en touch-switch känslig LED ljuspenna! Detta instructable använder delar de flesta amatörer har förmodligen ligga runt huset för att göra en penna som sänder ut ljus från en LED. Jag använde en ultraviolett LED till "ghost-skriva" med; Du...

LED Light Box med sydvästra Design

Hej, detta är Scott med elementärt LED. Här är en snabb tillbaka berättelse om inspirationen till detta projekt. Jag arbetade med flexibel LED Strip ljus och Frostad akryl paneler när fabricera en Rubiks kub lykta för några månader sedan. Mitt mål fö...

Blå LED Light Box i en Altoids(-like) Tin

jag har Seasonal Affective Disorder. I åratal har behandlat jag det av sitta framför ett mycket starkt ljus varje morgon. Vissa människor använder dagsljus eller full-spectrum glödlampor för deras ljusterapi. Men de senaste åren, blåljus, särskilt ly...

Stacked Glass LED Light

Basen för detta projekt var i en låda med gamla båt saker och var inspirationen till detta ljus. Du kunde göra en liknande bas med.060 koppar ark, stansning hörnen, bildar koppar över en träbit och lödning i hörnen. Det kanske även ser coolt att bara...

Hur man installerar iJDMTOY Ford F150 LED Light Bar

Denna iJDMTOY Ford F-150 LED ljus bar-systemet är utformad med en specialdesignad montering fästet och fordon specifika medelstora LED ljus bar. Till skillnad från andra Ford F-150 LED ljus bar system som kräver ändringar, har iJDMTOY LED-ljus bar-sy...

RGB LED Light Pole

{"context":{"location":{},"login-upgrade-img":{},"footer-robot":{},"spinner":{"jQuery110208563661151638446":925},"jQuery110208563661151638446":1},"selector":"#editor-Obje...

MIDI-Light Show

För en klass bestämde min lagkamrat och jag att utveckla ett MIDI-baserat system som har en lyhörd ljus för varje anteckning som spelade. Till exempel, om du ansluter vår lilla setup till ett tangentbord, i avvaktan på vilka noterar du trycker på, få...

Halloween Light Show

Halloween ljusshow. Alla älskar det! Du har det awesome Halloween hus som alla stannar och tittar på!Steg 1: Köpa ljus O Rama light ControllerOm du inte är en awesome programmerare är det mycket lättare att köpa styrenheten. Jag är en DIY typ av kill...

RGB LED bil Dash och dörren belysning

RGB LED strips är ett bra sätt att inconspicuously lägga färg på platser, de vanligtvis kommer med självhäftande stöd att göra det lättare att hålla dem någonstans. Dessa LED strips har blivit ganska lätt och billig att köpa, och folk är fortfarande...

Hur man skriver en egen 4 x 4 x 4 LED Cube Show för Arduino

Det finns många Instructables ute lära dig hur man bygger en LED cube, men endast ett fåtal faktiskt hjälpa dig att skriva koden för att gå med den men hellre bara ge dig några att använda, således stoppa din kreativa potential! Också det finns många...

LED LYT Meter: LED, PIC mikrokontroller och flytta genomsnittliga kod

Hej alla, tack för att kolla min första Instructable. Jag har njutit av att se dina skapelser under åren och älskar vad ni alla bidrar. Detta projekt är en spin off av en som jag nyligen såg här och jag måste ge en ropa ut till Bot1398 eftersom han v...