PICAXE - musique adaptées, production de brouillard, LED Light Show et amplificateur Audio tout en un (5 / 12 étapes)

Étape 5: Electronique - programmation

j’ai programmé le Picaxe 18M 2 puce en utilisant le logiciel gratuit de "PICAXE programmation Editor" et le câble de programmation Picaxe à transférer le programme dans la puce.
Le programme lui-même est écrit en langage de programmation « De base » et permet essentiellement de la puce pour extraire l’audio « tapé » de l’amplificateur grâce à une diode et le convertir en une valeur numérique utilisant les puces « Analogue à DC » capacité de convertisseur (ADC), la puce puis utilise cette valeur en combinaison avec les positions de 2 des potentiomètres utilisés pour « Luminosité LED » et « Sensibilité LED » grâce à une formule mathématique pour décider combien de LED à lumière vers le haut , le résultat de ceci est del « danse » au rythme de la musique dépend de la « puissance » de la musique à ce moment dans le temps.
La deuxième partie de la programmation a été le « System Menu » qui pourrait être accessible en appuyant sur les deux boutons en même temps, ce système de menu permettait à l’utilisateur de choisir entre 1 des 4 modèles prédéfinis de LED, dont la vitesse peut être contrôlée par la les boutons de commande et le programme original de « musique contrôlait LEDs » rendant cet appareil utile même quand on l’utilise pas comme un amplificateur de musique.

Voici le programme que j’ai écrit, je suis relativement nouveau sur Picaxe programming (en BASIC) donc il peut y avoir plus simple et plus mémoire des moyens efficaces de création de ce programme mais cela fonctionne très bien (texte précédés d’un apostraphy ' sont des notes et ne font pas partie du programme) :

principal :
pause de 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, (80 $ 254) ' première ligne d’affichage à cristaux liquides
serout b.5, n2400, (« dessins de Saint »)
serout b.5, n2400, (254, $C0) ' deuxième ligne d’affichage à cristaux liquides
b.5 serout, n2400, ("Presents... ")
faire une pause 250
0 haute
faire une pause 250
haut 0, 1
faire une pause 250
haut 0, 1, 2
faire une pause 250
haut 0, 1, 2, 3
pause de 500
0 faible
faire une pause 250
bas de 0, 1
faire une pause 250
faible 0, 1, 2
faire une pause 250
faible 0, 1, 2, 3
Goto VUMeterText

VUMeterText :


serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, ("la musique aux lumières!")
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (« Press », 8 « + », 9"4 Menu")
Goto vumètre

Vumètre :
Si pinc.7 = 1 then
Goto PresetsFlashQ
d’autre
readadc c.1, b1 ' c.1 de la broche est l’entrée audio du circuit amplificateur audio
readadc b.7, b2 ' pin b.7 est le potentiomètre « Sensibilité LED »
readadc c.0, b3 ' pin c.0 est le potentiomètre « Luminosité LED »
Laissez b2 = b2/20
Laissez b3 = 255 - b3
Si b3 < = 127 puis
Laissez b3 = 127 - b3
Laissez w4 = b3 * 15
Laissez w3 = b2 * b1-w4
d’autre
Laissez b3 = b3 - 128
Laissez w4 = b3 * 15
Laissez w3 = b2 * b1 + w4
endif
Si w3 > 4000 puis
Laissez w3 = 0
endif
Si w3 > 600 puis quatre
Si w3 > 450 puis trois
Si w3 > 300 puis deux
Si w3 > 150 puis une
Si w3 < = 150 ensuite mettre à zéro
endif
Goto vumètre

Zero :
faible 0, 1, 2, 3
Goto vumètre

un :
faible 0, 1, 2, 3
0 haute
Goto vumètre

deux :
faible 0, 1, 2, 3
haut 0, 1
serout b.5, n2400, ($C0 254)
Goto vumètre

trois :
faible 0, 1, 2, 3
haut 0, 1, 2
serout b.5, n2400, ($C0 254)
Goto vumètre

quatre :
faible 0, 1, 2, 3
haut 0, 1, 2, 3
serout b.5, n2400, ($C0 254)
Goto vumètre

PresetsFlashQ :
Si pinc.6 = 1 then
Goto PresetsFlash
d’autre
Goto vumètre
endif

PresetsFlash :
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, (« Menu principal »)
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (8, "Preset 1", 9)
faible 0, 1, 2, 3
0 haute
pause 100
haut 0, 1
pause 100
haut 0, 1, 2
pause 100
haut 0, 1, 2, 3
pause 100
0 faible
pause 100
bas de 0, 1
pause 100
faible 0, 1, 2
pause 100
faible 0, 1, 2, 3
pause 100
Goto Preset1

Preset1 :
faible 0, 1, 2, 3
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, (« Menu principal »)
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (8, "Preset 1", 9)
faire une pause 200
Goto Preset1loop

Preset1loop :
Si pinc.7=1 alors goto Preset1L ' broche 7 est la touche « Gauche »
Si pinc.6=1 alors goto Preset1R ' broche 6 est le bouton « Droit »
Goto Preset1loop

Preset1R :
pause 100
Si pinc.7=1 alors goto Preset1RunText
Goto Preset2

Preset1L :
pause 100
Si pinc.6=1 alors goto Preset1RunText
Goto PresetVU

Preset1RunText :
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, ("Preset 1")
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (« Press », 8 « + », 9"4 Menu")
faire une pause 200
Goto Preset1Run

Preset1Run :
faible 0, 1, 2, 3
0 haute
Si pinc.6=1 et pinc.7=1 puis goto Preset1
readadc c.0, b5
faire une pause b5
haut 0, 1
Si pinc.6=1 et pinc.7=1 puis goto Preset1
readadc c.0, b5
faire une pause b5
haut 0, 1, 2
Si pinc.6=1 et pinc.7=1 puis goto Preset1
readadc c.0, b5
faire une pause b5
haut 0, 1, 2, 3
Si pinc.6=1 et pinc.7=1 puis goto Preset1
readadc c.0, b5
faire une pause b5
0 faible
Si pinc.6=1 et pinc.7=1 puis goto Preset1
readadc c.0, b5
faire une pause b5
bas de 0, 1
Si pinc.6=1 et pinc.7=1 puis goto Preset1
readadc c.0, b5
faire une pause b5
faible 0, 1, 2
Si pinc.6=1 et pinc.7=1 puis goto Preset1
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
Si pinc.6=1 et pinc.7=1 puis goto Preset1
readadc c.0, b5
faire une pause b5
Si pinc.6=1 et pinc.7=1 puis goto Preset1
Goto Preset1Run

Preset2 :
faible 0, 1, 2, 3
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, (« Menu principal »)
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (8, "Preset 2", 9)
faire une pause 200
Goto Preset2loop

Preset2loop :
Si pinc.7=1 alors goto Preset2L
Si pinc.6=1 alors goto Preset2R
Goto Preset2loop

Preset2R :
pause 100
Si pinc.7=1 alors goto Preset2RunText
Goto Preset3

Preset2L :
pause 100
Si pinc.6=1 alors goto Preset2RunText
Goto Preset1

Preset2RunText :
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, ("Preset 2")
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (« Press », 8 « + », 9"4 Menu")
faire une pause 200
Goto Preset2Run

Preset2Run :
faible 0, 1, 2, 3
0 haute
Si pinc.6=1 et pinc.7=1 puis goto Preset2
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
1 haut
Si pinc.6=1 et pinc.7=1 puis goto Preset2
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
2 haute
Si pinc.6=1 et pinc.7=1 puis goto Preset2
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
3 haut
Si pinc.6=1 et pinc.7=1 puis goto Preset2
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
2 haute
Si pinc.6=1 et pinc.7=1 puis goto Preset2
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
1 haut
Si pinc.6=1 et pinc.7=1 puis goto Preset2
readadc c.0, b5
faire une pause b5
Goto Preset2Run

Preset3 :
faible 0, 1, 2, 3
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, (« Menu principal »)
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (8, "Preset 3", 9)
faire une pause 200
Goto Preset3loop

Preset3loop :
Si pinc.7=1 alors goto Preset3L
Si pinc.6=1 alors goto Preset3R
Goto Preset3loop

Preset3R :
pause 100
Si pinc.7=1 alors goto Preset3RunText
Goto Preset4

Preset3L :
pause 100
Si pinc.6=1 alors goto Preset3RunText
Goto Preset2

Preset3RunText :
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, ("Preset 3")
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (« Press », 8 « + », 9"4 Menu")
faire une pause 200
Goto Preset3Run

Preset3Run :
faible 0, 1, 2, 3
0 haute
Si pinc.6=1 et pinc.7=1 puis goto Preset3
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
2 haute
Si pinc.6=1 et pinc.7=1 puis goto Preset3
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
1 haut
Si pinc.6=1 et pinc.7=1 puis goto Preset3
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
3 haut
Si pinc.6=1 et pinc.7=1 puis goto Preset3
readadc c.0, b5
faire une pause b5
Goto Preset3Run

Preset4 :
faible 0, 1, 2, 3
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, (« Menu principal »)
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (8, "Preset 4", 9)
faire une pause 200
Goto Preset4loop

Preset4loop :
Si pinc.7=1 alors goto Preset4L
Si pinc.6=1 alors goto Preset4R
Goto Preset4loop

Preset4R :
pause 100
Si pinc.7=1 alors goto Preset4RunText
Goto PresetVU

Preset4L :
pause 100
Si pinc.6=1 alors goto Preset4RunText
Goto Preset3

Preset4RunText :
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, ("Preset 4")
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (« Press », 8 « + », 9"4 Menu")
faire une pause 200
Goto Preset4Run

Preset4Run :
faible 0, 1, 2, 3
haut 0, 3
Si pinc.6=1 et pinc.7=1 puis goto Preset4
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
haut de 1, 2
Si pinc.6=1 et pinc.7=1 puis goto Preset4
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
haut 0, 1, 2, 3
Si pinc.6=1 et pinc.7=1 puis goto Preset4
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
haut de 1, 2
Si pinc.6=1 et pinc.7=1 puis goto Preset4
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
haut 0, 3
Si pinc.6=1 et pinc.7=1 puis goto Preset4
readadc c.0, b5
faire une pause b5
faible 0, 1, 2, 3
haut 0, 1, 2, 3
Si pinc.6=1 et pinc.7=1 puis goto Preset4
readadc c.0, b5
faire une pause b5
Goto Preset4Run

PresetVU :
faible 0, 1, 2, 3
serout b.5, n2400, (80 $ 254) ' première ligne d’affichage
serout b.5, n2400, (« Menu principal »)
serout b.5, n2400, (254, $C0) « deuxième ligne de l’affichage
serout b.5, n2400, (8,"Music2Lights", 9)
faire une pause 200
Goto PresetVUloop

PresetVUloop :
Si pinc.7=1 alors goto PresetVUL
Si pinc.6=1 alors goto PresetVUR
Goto PresetVUloop :

PresetVUR :
pause 100
Si pinc.7=1 alors goto VUMeterText
Goto Preset1

PresetVUL :
pause 100
Si pinc.6=1 alors goto VUMeterText
Goto Preset4

Articles Liés

Faire un Altoids poche RVB couleur changer Led Light Show

Faire un Altoids poche RVB couleur changer Led Light Show

dans ce instructable je vais vous montrer comment faire une poche de Altoids RGB Led Light Show, il est disponible sur Ebay à ce lien http://www.ebay.com/itm/400397765920?ssPageName=STRK:MESELX:IT&_trksid=p3984.m1555.l2649 Voici ce que vous aurez bes
Arduino contrôlée musique LED Light Show par marque

Arduino contrôlée musique LED Light Show par marque

Matériaux (voir photographié) :Arduino UnoBouclier du spectreHeaders empilablesFer à souderBroches mâleCasque (câble Audio)Matériaux (non illustrées) :Carte de prototypageLumières LED uniqueRésistancesÉtape 1: Soudez vous spectre blindage pour réglet
Wi-Fi contrôlée Bougie LED / Light Show

Wi-Fi contrôlée Bougie LED / Light Show

INTRODUCTIONCe projet est une bougie électronique sans fil de couleur.  Plusieurs de ces dispositifs peuvent être placées dans une pièce et contrôlées avec un ordinateur compatible Wi-Fi pour créer des effets spéciaux ou synchronisé à la musique des
50W RGB LED Light Show

50W RGB LED Light Show

Nous étions à une vente de tag et j'ai vu un coup de pied 6 place citrouille pour 10 $. Il semblait pour avoir peu d'utilité, alors j'ai attrapé il. Je suis rentré et il a trouvé 5 ampoules intérieur ont démoli un peu. C'est OK puisque j'ai voulu y a
La méthode de connexion RVB Led Lights bande

La méthode de connexion RVB Led Lights bande

La méthode de connexion RGB Led Strip s'allumeÉtape 1: Connecter mâle 4 broches à 4 broches connecteur femelle câble directement Adapté pour : RGB conduit bande lumineuse avec câble de connecteur mâle/femelleEtape 2: Connectez avec Clips simple 4 bro
Musique de l’Arduino PWM LED Light

Musique de l’Arduino PWM LED Light

sur mes vacances de deux semaines entre les cours d'été et l'école de mon 5ème année j'ai décidé de m'amuser avec mon 1W led s que je n'ai jamais utilisé, même si je les ai eu pour toujours.Cela servait à pont sur ma maison, si nous avions quelque ch
Musique LED Light Box schéma de Circuit de modification

Musique LED Light Box schéma de Circuit de modification

il s'agit de mon schéma modifié pour être utilisé avec musique LED Light Box Instructable du motadacruz.L'idée est que, au lieu d'utiliser seulement un canal de votre câble audio, en utilisant deux transistors vous pouvez utiliser les deux canaux et
Comment pirater un téléphone vieux rétro à LED unité & amplificateur Audio

Comment pirater un téléphone vieux rétro à LED unité & amplificateur Audio

bricolage-Hack A rotatif ancien téléphone vers unité LED & amplificateur Audio de téléphone portable.Ce hack fournit quelques questions utiles, par exemple, nous lisons des livres dans la nuit à l'aide de notre ancien téléphone rétro charmant, dans l
Phare de LED Light - travaux préliminaires

Phare de LED Light - travaux préliminaires

IntroductionDepuis que j'ai posté ma vidéo sur mes tentatives jusqu'ici à créer une balayage lumière décorative phare chez moi, j'ai reçu quelques demandes d'afficher ce que j'ai jusqu'ici, même si le projet a été récemment en veilleuse en raison d'o
Lumineux USB Powered LED Light

Lumineux USB Powered LED Light

ce Instructable va montrer comment construire un très brillant alimenté par usb a mené la lumière. Cela peut être très pratique tout en travaillant sur votre ordinateur ou éclairage vers le haut de votre clavier dans l'obscurité. Une autre possibilit
Longboard LED Lights

Longboard LED Lights

Cette Instructables montre comment j'ai ajouté quelques lumières LED pour mon longboard de façon très propre et robuste. Vous pouvez définir les lumières à une couleur spécifique ou utiliser une décoloration ou modes de clignotement.Mon longboard est
Simple LED lights bande parti en utilisant arduino

Simple LED lights bande parti en utilisant arduino

Inspiré parprojet de GreatScottLabJe ne pouvais pas trouver toutes ces pièces alors j'ai commandé un frein à Conseil pour MSGEQ7 puce et utilisé dans ma construction. Il a aussi 3 transistors MOSFET pour RGB led strip.MSGEQ7 est un égaliseur graphiqu
10W RGB LED Light Painting multi-outils

10W RGB LED Light Painting multi-outils

Peinture avec la lumière ou « Light Painting » utilise la lumière où un peintre traditionnel utiliseriez peinture, donc dans la peinture lumineuse au lieu d'un pinceau traditionnel, l'artiste utilise une source lumineuse. n'importe quelle source lumi
BRICOLAGE-Hack A Retro vieux téléphone à LED unité & Cellphone amplificateur Audio

BRICOLAGE-Hack A Retro vieux téléphone à LED unité & Cellphone amplificateur Audio

ce hack fournit quelques questions utiles, par exemple, nous pouvons lire des livres dans la nuit à l'aide de notre ancien téléphone rétro charmant, dans le même temps en utilisant le téléphone comme un téléphone portable ou n'importe quel amplificat