Contrôleur DJ USB bricolage (9 / 16 étapes)

Étape 9: Firmware - microcontrôleur primaire

Maintenant, on peut programmer le microcontrôleur primaire. Placer les autres MSP430G2553 dans le Launchpad et connectez-le à votre ordinateur. Energia devrait être déjà tous ensemble vers le haut.

Le microcontrôleur principal est responsable de la lecture des différents boutons, le reste des contrôles analogiques (6 au total), interprétant l’entrée de l’encodeur rotatif et en passant données série du microcontrôleur secondaire à travers l’ordinateur connecté.

Comprendre le Code

J’aborderai tout d’abord ce que le microcontrôleur principal fait avec messages du microcontrôleur secondaire parce qu’il est le plus simple. Messages de microcontrôleur secondaire déjà venu en sur la broche RXD pré-formatée, donc le microcontrôleur principal renvoie simplement le message reçu sur son propre broche TXD vers l’ordinateur. Le code pour que cela se trouve dans la boucle principale en bas. C’est tout ce qu’il est pour les messages de clavier pour l’instant.

Maintenant, si nous regardons vers le haut du programme, vous remarquerez que je définis une classe appelée AnalogControl. Cette classe est presque identique à la SPI_Control dans le firmware du microcontrôleur secondaire, mais il lit l’ADC bord au lieu de demander les MCP3008 une valeur. Il a intégré en moyenne et le lissage de code. Ce qui en fait une classe permet de configurer facilement n’importe quel nombre de contrôles analogiques. Vous pouvez définir ce que le contrôle ID est la tige qui la valeur de l’ADC est prélevée et la sensibilité du contrôle.

Suivant est la classe de l’encodeur rotatif. Cela vous permet de configurer facilement n’importe quel nombre d’encodeurs rotatifs ainsi, mais pour moi, on est assez dans ce projet. La classe de l’encodeur rotatif doit simplement savoir ce qui épingle à utiliser. Les deux premiers sont la molette réelle et le troisième est l’entrée du bouton intégré.

Dans la boucle, nous appeler isNew pour chaque contrôle et utiliser sa valeur de retour pour déterminer si nous devons envoyer un changement de contrôle ou non. La fonction isNew contient un lissage intégré analogique des contrôles afin qu’une nouvelle valeur n’est pas envoyée à chaque boucle (résistances mesurées peuvent être légèrement instables pour diverses raisons comme la température et des vibrations), cela empêche le contrôle gigue.

Nous vérifions également un tableau de valeurs booléennes qui indiquent si un contrôle numérique a changé d’État. Cet indicateur est défini dans les routines de service d’interruption pour certains un bouton. Encore une fois, ceci est fait parce que l’envoi de données en série dans un rapport de recherche internationale est inefficace.

Pour obtenir une explication du fonctionne du code de l’encodeur rotatif, consulter ce tutoriel.

Merci pour le tutoriel de bildr ci-dessus, qu’est ce que j’ai basé mon code molette hors de !

Télécharger le Code

Maintenant que vous comprenez le code principal microcontrôleur, nous pouvons transférer au microcontrôleur ! Copiez mon code dans votre fenêtre de Energia et cliquez sur le bouton vérifier. Lorsque le processus de génération est complet et sans erreurs, vous pouvez télécharger le code pour le microcontrôleur.

Ce microcontrôleur reste dans la zone de lancement dans le projet, donc vous pouvez juste le laisser où il est une fois que vous avez terminé de programmation il.

Articles Liés

Faire votre propre clavier ou contrôleur MIDI USB pas cher

Faire votre propre clavier ou contrôleur MIDI USB pas cher

Je cherchais un périphérique contrôleur USB MIDI (ou interface) pour les applications de musique comme le clavier de piano ou orgue ou pédalier. Après quelques recherches, j'ai voulu aller vers une solution plus « fait maison ». Mon choix a été final
Contrôleur DMX USB Pro et terminator pour QLC +

Contrôleur DMX USB Pro et terminator pour QLC +

Aujourd'hui, je veux partager avec vous comment faire un contrôleur de USB DMX professionnel cherche à utiliser avec le logiciel de contrôle tels que QLC + l'éclairage. Dans environ 5 à 10 minutes et environ 35 $ en pièces et d'expédition.Ce projet p
Contrôleur MIDI USB teensy pour contrôler Mobius Looper

Contrôleur MIDI USB teensy pour contrôler Mobius Looper

Motivation :Jouer dans un groupe de 2 pièces, avec les tambours et beaucoup d'autres échantillons en cours de lecture comme playbacks, il fallait utiliser un looper pour ajouter en plus d'éléments de la voie ferrée. Un looper temps basé ne parvient p
Contrôleur de moteur bricolage MOSFET

Contrôleur de moteur bricolage MOSFET

Il s'agit d'un simple pour construire le contrôleur de moteur. Il est pratique pour de nombreux projets à l'aide d'un moteur commandé par un microcontrôleur. Il peut être utilisé comme un contrôleur électronique de vitesse (ESC) et exerce un contrôle
Original Xbox contrôleur d’USB Joystick

Original Xbox contrôleur d’USB Joystick

c'est mon premier ! instructable ! Oui!!!maintenant, je sais il est un peu daté... mais j'ai toujours l'utiliser parce que... Eh bien ça marche et c'est assez facileet comme tout bons instructables il apporte la vie à quelque chose qui n'est plus uti
Contrôleur MIDI USB

Contrôleur MIDI USB

J'ai commencé ce projet en raison de mon amour avec la musique. Je peux jouer divers instruments, mais je suis juste de commencer avec la production musicale. Quelque chose que je pensais était utile sont un contrôleur MIDI qui que j'utiliserais pour
Contrôleur de LED bricolage débutants (

Contrôleur de LED bricolage débutants (<> </>

Vous avez toujours voulu une matrice de LED changeant de couleur au-dessus de votre lit ou dans votre salon ? Vous voulez faire vos propres lumières de Noël ? Vous souhaitez contrôler exactement comment vos LEDs vont se comporter ? Ai une automatique
Comment faire pour configurer un contrôleur USB NES avec NESTOPIA sur le PC

Comment faire pour configurer un contrôleur USB NES avec NESTOPIA sur le PC

NESTOPIA jouer n'est pas la même chose sans un contrôleur NES USB. Dans ce tutoriel, vous apprendrez comment les boutons map et mettre en place la manette NES USB.
Contrôleur de moteur Arduino Lego EV3 enregistrer 45 $

Contrôleur de moteur Arduino Lego EV3 enregistrer 45 $

En faisant un contrôleur de moteur bricolage lego ev3Étape 1: Intro J'ai un kit appelé le lego mindstorms EV3 c'est un incroyable robotique de 349 $ kit qui vraiment est simple à construire comme lego, mais dispose de fonctionnalités vraiment génial
Teensy Monster v1.0 / / bricolage contrôleur MIDI

Teensy Monster v1.0 / / bricolage contrôleur MIDI

Bienvenue sur le monstre Teensy Instructable !Ce Instructable vous aidera à monter votre monstre Teensy, comprendre comment le programmer et fournir de nombreux conseils pour la création d'un contrôleur de bricolage grand.teensymonster.ccAcheter votr
Un cadre pour créer des contrôleurs modulaires abordables & élégants (USB vers MIDI, caché, ou série)

Un cadre pour créer des contrôleurs modulaires abordables & élégants (USB vers MIDI, caché, ou série)

***J'AI CRÉÉ UN NOUVEAU POUR INSTRUCTABLE CONTRÔLEURS DE BRICOLAGE :**************************************************************************************************************************************************************************************
Faire un contrôleur de jeu USB

Faire un contrôleur de jeu USB

Ici à NextFab, nous avons conçu une fonctionnelle complète, contrôleur de jeu USB pour Philly Tech Week. Ce projet sera particulièrement délicat sans certains équipements électroniques plus grave ou un makerspace local avec les outils appropriés, mai
Ajouter contrôleur de jeu USB pour Arduino Leonardo/Micro

Ajouter contrôleur de jeu USB pour Arduino Leonardo/Micro

Remarque importante : Cet article est pour Arduino IDE version 1.6.5 (ou au-dessous). Pour ajouter un contrôleur de jeu USB un Arduino Leonardo ou le Micro à l'aide de l'IDE Arduino version 1.6.6 (ou supérieur) Voir l'Instructable suivant : Arduino L
Contrôleur USB NES avec un arduino !

Contrôleur USB NES avec un arduino !

MISE À JOUR 22/12/2014Mattpbooth utilisateur Instructables a mis à jour le code et il héberge sur github :https://github.com/mattpbooth/ArduinoNESController...Merci Matt !MISE À JOUR 12/03/2011Remplacé un println avec impression (PEEM).MISE À JOUR 12