Boîte à musique du pauvre AVR (2 / 6 étapes)

Étape 2: Le code Source a expliqué

Le programme s’écoule comme suit :

Départ :
Registres de claires
Définir la direction de données sur les ports d’intérêt

Loop0 :
Si aucune entrée, ne produit aucune sortie
si input, continuer

NOTE0 :
est entrée = note0 ?
dans l’affirmative, les valeurs de charge dans des registres de minuterie qui permettent les fonctions de sortie produisent la fréquence de l’onde carrée correcte
Sinon, poursuivez

(Produire une boucle NoteX pour chaque note possible sur 8 octaves)

Salut:
relance de sortie haute (1)

Timerhi :
définit combien de temps la sortie reste élevée

NOx
Restituer la sortie pour basse (0)

timerlo :
définit combien de temps la sortie reste faible (0)

entrée :
Vérifiez si l’entrée a changé
dans l’affirmative, utilisez sales coups pour revenir à loop0
Si non, allez à Salut

Il y a plusieurs « rjmp îles » qui permettent au programme retour au début... Ce microcontrôleur ne supporte pas l’opcode jmp et rjmp ne peut que vous faire à une fonction à une distance d’un certain nombre d’instructions. Nous résoudre ce problème en « semis » le programme avec des instructions de rjmp qui sont ignorés sur le chemin « down » au programme, mais peut être utilisé pour monter retour jusqu’au début de programme.

ATTENTION BUG : Quelque part 3/4 vers le bas de l’échelle, il y a un groupe de quelques notes (3-4) qui ne sont pas tout à fait raison. Sur les 3 valeurs utilisées pour r30, je soupçonne le plus utilisé est incorrect (trop bas), j’ai probablement mal calculé le nombre d’horloge cycles quelque part, ou peut-être mettre une valeur erronée pour r29 quelque part... Je vais me contenter de travailler autour de lui, corrigez-le si vous le souhaitez (et dites-moi où l’erreur a été!)

Avertissement d’inefficacité : Je sais, j’aurais pu juste utiliser PWM et autres tables d’EEPROM, mais au moment où j’ai pensé à elle, elle travaillait déjà de cette façon.

Articles Liés

Guide de l’Idiot à la programmation d’AVR sur le bon marché (avec l’IDE Arduino!)

Guide de l’Idiot à la programmation d’AVR sur le bon marché (avec l’IDE Arduino!)

Microcontrôleurs sont, sans aucun doute, incroyable de petites choses. Ils sont polyvalents, puissants et extrêmement minuscules. Malheureusement, ce dernier trait est également partagé par mon portefeuille et mes compétences en programmation. Ma com
Réveil de jouer de la musique

Réveil de jouer de la musique

Ce Instructable sera sur la conception d'un lecteur de musique, de l'utilisation des divers éléments constitutifs. Vous comprendrez la communication entre le microcontrôleur, mémoire, ordinateur, écran LCD, CCF, télécommande IR et le décodeur de fich
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
Le portail « Toujours vivant » microcontrôleurs AVR

Le portail « Toujours vivant » microcontrôleurs AVR

encore un autre, mais instructable, axés sur le portail différent !Celui-ci vous montre comment à :  1) construire un appareil très bon marché qui joue une version 8 bits de Still Alive de portail2) sur le même matériel, mais avec une puce différente
Boîte à musique électronique alimenté par Arduino (sorte de)

Boîte à musique électronique alimenté par Arduino (sorte de)

musique est le meilleur moyen universel d'expression. Quel langage culturel ou l'âge que l'idée véhiculée si la musique ne différeraient pas beaucoup. Il est sûr de dire que tout le monde aime la musique, un type ou une autre. Quand sa pièce préférée
Comment faire des ongles de musique

Comment faire des ongles de musique

Étape 1: Rassembler des matériaux Vous aurez besoin: 1) deux différentes couleurs de vernis à ongles (je suggère très blanc/rose et lumière mauve) 2) vernis à ongles (je suggère un avec l'acétone à 100 %, il faudra le vernis à ongles 5 x plus vite) 3
Lecteur de musique à l’aide de Teensy 3.1

Lecteur de musique à l’aide de Teensy 3.1

Teensy 3.1 d'achetant dispose d'un puissant processeur ARM avec des instructions de la DSP. Applications audio sont facilitées par d'achetant adaptateur audio et audio logithèque. Mon lecteur de musique est une exploration initiale de ce potentiel et
Connexion Nokia 3310 LCD USB utilisant AVR

Connexion Nokia 3310 LCD USB utilisant AVR

que faire avec un vieux téléphone, un microcontrôleur et beaucoup de temps ?Vous accrochez écran LCD de l'ancien téléphone vers l'ordinateur USB bien sûr !Dans ce projet, que nous allons communiquer avec un Nokia 3310 LCD via USB ! Comment allons-nou
Beverly-Crusher : peu écrasant. 1-bit Arduino musique.

Beverly-Crusher : peu écrasant. 1-bit Arduino musique.

J'ai avait été à la recherche d'un outil pour convertir l'audio jusqu'à une profondeur de 1-bit mais abandonné et a écrit mon propre. Prend en charge l'exportation pour Arduino sketch.Ici, je vous offre un programme audio de broyage qui rend égalemen
Arduino + WiFi, musique réactive LED luminaire

Arduino + WiFi, musique réactive LED luminaire

cette instructable donne des instructions pour construire un Saiko5 WiFi activé appareil d'éclairage LED basé sur la plate-forme d'amateur Arduino . Il inclut des instructions étape par étape de conception de carte pour brasure sur l'affaire intégrat
Serveur de musique Raspberry Pi avec filtre intégré et DSP

Serveur de musique Raspberry Pi avec filtre intégré et DSP

Salut ' iblers j'ai envie de partager ce projet avec vous : transformer votre pi framboise en un serveur de musique puissante qui peut lire des fichiers audio à haute résolution, séparer des signaux audio par fréquence (crossover) et haut-parleur et
Boîtes à musique de LED (Hummingbird)

Boîtes à musique de LED (Hummingbird)

Pour ce projet, nous allons faire des boîtes acrylique qui sont chronométrés à la lumière de n'importe quelle chanson de votre choix.Étape 1: Recueillir vos matériaux et vos outilsPour ce projet, vous aurez besoin de beaucoup de différents matériaux
Raspberry Pi musique doigts

Raspberry Pi musique doigts

Créer de la musique est toujours amusant, mais faire avec votre propre instrument de musique bricolage est beaucoup mieux!!Que vous soyez musicien professionnel à la recherche de ce nouvel instrument Suivant pour essayer ou un amateur passionné qui a
Réparer les morts d’AVR - Attiny fusebit médecin (HVSP)

Réparer les morts d’AVR - Attiny fusebit médecin (HVSP)

tu l'as fait une erreur lors de la programmation fusebits, ou volontairement désactivé réinitialiser pin (RSTDISBL) ou programmation ISP (SPIEN) ? Pas besoin d'acheter ou de rendre incommode programmeur HV seulement pour débloquer deux ou trois minus