Beverly-Crusher : peu écrasant. 1-bit Arduino musique. (3 / 5 étapes)

Étape 3: Faire l’Arduino comprendre notre awesomeness musical

Comment conserver les données de l’échantillon sur le microcontrôleur

Vous vous souvenez certainement de l’étape précédente, que nous avons pris nos renseignements sous-échantillonnée et emballé dans un paquet peu soigné de la taille de 1 octet ou 8 bits.

Cela économise de l’espace sur le microcontrôleur comme vous le savez, mais vous demandez peut-être comment nous stocker et accéder à ces informations pour une lecture plus tard sur l’arduino.

Entrer dans avr/pgmspace.h :

 #include <avr/pgmspace.h> 

Ce fichier d’en-tête permet de programmer les données de notre exemple directement dans la mémoire flash sur l’Arduino, yay !

Il est assez facile à utiliser qu’avec un tout petit peu de considération sur la façon dont nous lisons les informations.

 prog_uchar onebitraw[] PROGMEM = { 0XFF, 0XFF, 0XEF, 0XFF,..... }; 

Je suppose que les 2 points clés à faire sur ce morceau de code ci-dessus sont que nous utilisons prog_uchar comme le type de données que nous sauvegardons, c’est important pour nous pour pouvoir lire les données de la mémoire quand on joue l’échantillon. L’autre chose remarquable est que nous utilisons le mot clé PROGMEM, cela s’appuie sur le fichier d’en-tête que j’ai mentionné avr/pgmspace.h et cela indique au compilateur où stocker ce tableau de données.

prog_uchar indique au compilateur que nous sauvegardons les données du type unsigned char.

Un char est simplement de 1 octet, donc il peut stocker une valeur comprise entre 0 et 255, 8 bits et.

Nous spécifions non signé parce que nous sauvegardons des nombres positifs uniquement de 0 et plus. Cela est essentiel parce que nous ne sommes pas vraiment ranger nombres comme vous le savez, nous sommes effectivement stocker 8 échantillons sonores à l’intérieur de cette valeur, cela finit par être convertie en une valeur numérique et nous pouvons déplacer autour comme si c’est un nombre, mais la réalité est que ce n’est pas tout à fait ce qu’il semble, mais le compilateur ne sais pas ou se soucient cette configuration. Si nous étions en utilisant une méthode de stockage signé, nous serions dans un désordre bon.

Si vous avez envie de savoir plus au sujet non signés, signés et deux compléter ensuite cet article de wiki devrait être une lecture intéressante pour vous. http://en.wikipedia.org/wiki/Two's_complement

Arithmétique de pointeur est wayyy plus facile qu’il n’y paraît

Pour l’Arduino à relire nos informations de la section PROGMEM de mémoire nous va avoir besoin d’utiliser la fonction pgm_read_byte_near() ; C’est très facile à utiliser et la seule chose qui complique c’est qu’il nécessite d’utiliser des opérations arithmétiques de pointeur pour spécifier quel octet de mémoire que vous souhaitez... Comme suit :

 pgm_read_byte_near(onebitraw + which_one); 

Dans cet exemple, que j’ai jeter dessus, vous verrez « onebitraw », que j’utiliserai pour exprimer le stockage de nos échantillons audio. Maintenant vous pouvez être familiarisé avec l’utilisation des indices de tableau comme variable [index] et ce n’est pas différent sauf nous remplacer le [index] + index plutôt... Donner un sens ? La raison est que nous avons stocké des nos données audio comme un bloc d’octets, un après l’autre, si nous savons que chacun d'entre eux est tout simplement un plus long que celui avant elle.

Voir ? Très simple !

Articles Liés

Coeur 8 bits Arduino Valentin

Coeur 8 bits Arduino Valentin

Voir la votre 8-bit aimer cette Saint-Valentin en imprimant et en câblage jusqu'à votre propre « 8-bit Heart ».J'ai pris mes résistances à l'aide de cette résistance calc :http://LED.linear1.org/LED.wizEnsuite, j'ai divisé le résultat par trois pour
Démarreur de l’Arduino musique

Démarreur de l’Arduino musique

L'Arduino est l'un des plus jolis microcontrôleurs. Pour quelque chose de sisimple, il peut faire une quantité étonnante de projets. Un tel projet qui m'intéressait était le projet de mélodie numérique. Si vous en avez la la Arduinos où l'Atmel puce
Arduino - musique

Arduino - musique

dans cette vidéo nous allons examiner comment obtenir l'arduino pour jouer de la musique.  Cette vidéo sera également un prélude dans la façon de faire la même chose en utilisant un microcontrôleur pic simple.Code de l'exemple de l'Arduino :http://Ar
Arduino jouer de la musique de (micro) sans bouclier

Arduino jouer de la musique de (micro) sans bouclier

micromusic, musique 8 bit, arduino musique !Étape 1: sujetPour un projet d'un collectif d'art, j'ai fait une lecture de musique avec Arduino. La musique commence avec capteur à ultrasons.Étape 2: CodeLe code pour la musique, vous écrivez à la main, j
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
Construire des contrôleurs de jeu peu coûteux (Arduino + traitement, unité, etc.)

Construire des contrôleurs de jeu peu coûteux (Arduino + traitement, unité, etc.)

Salut tout le monde !Dans mon temps libre j'ai fait une série de contrôleurs peu coûteux qu'arduino d'utilisation pour s'interfacer avec n'importe quelle plateforme de votre choix (ils étaient en effet peu coûteux mais avoir un aide sûr mignon laser)
Pirater un vieil iPod à l’aide d’un androïde et un Arduino.

Pirater un vieil iPod à l’aide d’un androïde et un Arduino.

Ce tutoriel vous montre comment utiliser un Arduino pour transformer ce vieux lecteur de musique poussiéreux en une station d'accueil Bluetooth contrôlée.Même si elle a un écran criqué ou une pile déchargée, qu'il peut toujours être utilisé.Les direc
Pédale de guitare Arduino lo-fi

Pédale de guitare Arduino lo-fi

peu écrasant, taux réductrices, étranges bruits : pédale d'effets/guitare DIY 10 bits avec un Arduino pour DSP de lo-fi.Découvrez la vidéo de démo sur Vimeo.Étape 1: matériauxOutilsArduino (Diecimila, ou avec réinitialisation automatique)Fer à souder
Sondage et un PCB à l’aide d’un Arduino basé sur CNC de fraisage

Sondage et un PCB à l’aide d’un Arduino basé sur CNC de fraisage

Jusqu'à récemment les PCB sonder à l'aide d'un Arduino machine CNC basée était qu'un simple rêve. Merci aux gens à Chilipeppr.com, nous avons maintenant un banc outil web pour l'ensemble de notre Arduino produits CNC à base. La meilleure partie ; C'e
Voiture pour Arduino Communication : Bus CAN, reniflant et radiodiffusion avec Arduino

Voiture pour Arduino Communication : Bus CAN, reniflant et radiodiffusion avec Arduino

De Wikipedia, le bus Controller Area Network (CAN) est un « véhicule bus standard conçu pour permettre des microcontrôleurs et des appareils de communiquer entre eux dans un véhicule sans ordinateur hôte ». Ces appareils peuvent également être dénomm
Débutant de l’Arduino et Basic Electronics Kit Primer

Débutant de l’Arduino et Basic Electronics Kit Primer

j'ai appris qu'une de mes nièces avait un intérêt dans la programmation.  Elle travaillait avec la robotique à l'école secondaire et a un stage d'été où ils avaient Arduinos.  Je pense qu'elle était en mesure d'emprunter un Arduino pour expérimenter
Arduino Programmable Constant courant puissance résistance charge fictive

Arduino Programmable Constant courant puissance résistance charge fictive

Heureux de voir que vous êtes arrivé sur cette page pour savoir comment construire une charge fictive programmable courant continu constant. Cette charge vous permettra de tirer un ensemble courant de n'importe quelle source. Cette charge peut égalem
Obtention de données Arduino vers une Page web

Obtention de données Arduino vers une Page web

Étant nouveau sur Arduino j'ai étais un peu débordé par les différentes façons de faire les choses. C'est donc ce que je suis venu avec !J'utilise un clone d'Arduino UNO R3, mais les connexions que selon moi sont les mêmes pour la plupart de l'Arduin
Peu de frapper et booléennes mathématiques sans les mathématiques

Peu de frapper et booléennes mathématiques sans les mathématiques

vue d'ensembleQuand je suis peu cogner ou programmation de microcontrôleurs, parfois que j'ai vraiment envie de se concentrer sur ce que les modèles binaires ressemblent, vraiment visualiser ce que font les zéros et uns.  Mais le devoir de faire le c