Ultrasons, ruban à mesurer (11 / 13 étapes)

Etape 11 : Quelques mots sur protocole SPI et sa position dans ce projet

Brève description du protocole SPI
Un bus SPI (Serial Peripheral Interface) offre la communication bidirectionnelle entre deux appareils. Similaire au protocole I²C précédemment utilisé, c’est aussi maître/esclave basé. Il est souvent appelé interface de quatre fils ; Toutefois, un bus SPI utilise souvent fils 3, 5, 6 ou même plus pour communiquer. Le bus SPI peut être étendu en ajoutant des esclaves à lui : leur MOSI, MISO, épingles SCLK sont câblées ensemble, leur pin select esclave doit être retiré séparément. La broche select esclave pour l’esclave SPI est comme la séquence d’octets adresse esclave pour un dispositif I²C.

Habituellement, cela prend 8 horloges pour effectuer un transfert de données. Alors que l’appareil maître envoie un peu à l’esclave (sur la ligne MOSI), l’esclave envoie un peu le maître (ligne de MISO). Ce transfert est synchronisé par le signal d’horloge sur le net SCLK. La fréquence de ce signal d’horloge peut aller jusqu'à des dizaines de MHz.

Le protocole SPI et le PIC12LF1840T39A
Au cœur d’un PIC de SPI module est le registre à décalage SPIxSR, le changement se produit avec chaque signal d’horloge sur la broche SCLK. Similaire aux autres périphériques séries, c’est trop double tamponné, le contenu de SSP1SR ne peut pas être écrit, ou lire directement. Les données nécessaires à envoyer doit être écrit dans SSP1BUF, cela agit comme un registre de transmission à l’écriture. Lors de la transmission, les données sont automatiquement chargées dans SSP1SR et sont cadencées partir d’ici.
Réception se faite à nouveau via le registre à décalage interne. Lorsque 8 bits sont cadencées dans le SSP1SR, l’octet est chargé intu SSP1BUF, l’utilisateur peut le lire a partir de là. Cette fois, le SSPBUF a agi comme un registre de réception.
Les modules SPI, construits dans les photos peuvent travailler jusqu'à 10 MHz. En particulier, dans notre cas nous allons utiliser ~ 10 KHz.

À notre grande tristesse, le SPI et I²C lignes sont multiplexées aux mêmes broches. Autrement dit, il va falloir bit-bang, l’un d’eux. J’ai écrit des routines pour un autre instructable de mes amis, j’ai copié sur ce processeur, mais frappé quelques difficultés, alors je leur ai écrit encore une fois, cette fois sans les interruptions impliquées.
Parce que je me sers peu cogné SPI, je ne vais pas vraiment dans les détails à ce sujet. Je vais plutôt mettre l’accent sur l’analyse de la feuille de données MAX7219, pour voir ce que je dois mettre sur les broches pour le faire fonctionner !
Voici une image de la feuille de données MAX7219 :

Vous pouvez voir comment les lignes doivent être affichés/masqués, comme le temps passe. C’est exactement ce que dois ressembler sur une portée, quand j’ai terminé mes signaux. Regardez l’exemple de code et d’analyser ce qui est écrit là, que vous verrez comment il agit pour générer le modèle binaire, que nous avons besoin.

Cela peut être réutilisé, il suffit de remplacer le #define-s dans le fichier d’en-tête, ou partout où vous les placés. J’ai une interruption conduite version trop, mais je me suis débarrassé de lui, parce que j’ai que c’était coupable pour mon écran de non-travail. Plus tard il s’est avéré l’affichage était sur la couche supérieure au lieu de la couche inférieure - cela me donnait des maux de tête. Toutefois, à ce moment-là j’ai déjà roulé sur l’algorithme de bit-bang SPI axée sur le retard et n’a pas voulu revenir.

Une fois que le code que vous avez écrit que génère la forme d’onde exacte qu’elle est censée générer, vous pouvez passer à envoyer des commandes à votre écran ! Il y a beaucoup de façons de tester votre algorithme, il y a simulator, analyseurs, étendues qui peuvent vous aider avec ceci.
Il s’agit d’une transmission de la parole unique, il a cropped out et agrandie de l’image suivante avec l’échange de données

Une capture de la communication, l’affichage de numéros sont actualisées au cours de ce transfert

Bon, il semble que nous avons nous-mêmes obtenues par le biais de cette chose affichage trop. Il faut maintenant configurer cette photo pour avoir son module MSSP configuré comme un maître I²C.

Articles Liés

Ruban à mesurer à ultrasons

Ruban à mesurer à ultrasons

/ * Style Definitions * / table. MsoNormalTable {mso-style-name: « Table Normal »; mso-tstyle-rowband-taille: 0; mso-tstyle-colband-taille: 0; mso-style-noshow:yes ; mso-style-parent: "";" mso-rembourrage-alt: 0 à 5.4pt 0 à 5.4pt ; mso-para
Ruban à mesurer à ultrasons numérique

Ruban à mesurer à ultrasons numérique

Cette instructable montrera comment construire une mesure de bande numérique à l'aide d'un HC - SR04 capteur de distance à ultrasons et un Arduino Pro Mini. Cela a été inspiré par électronique pour tout le monde est instructable qui peuvent être trou
Horloge de ruban à mesurer en résine

Horloge de ruban à mesurer en résine

Nous avons voulu faire une horloge depuis un certain temps. Nous avons aussi voulu essayer de moulage et de coulée un objet qui a été un peu plus grand et plus détaillées, donc nous avons pu vraiment tester les limites de l'utilisation Famowood Glaze
Automarquage du ruban à mesurer

Automarquage du ruban à mesurer

L'auto-étiquetage ruban à mesurer un mètre ruban est une unité de marquage tout en un. Lorsque vous marquez une mesure traditionnellement, parfois il se sent comme vous avez besoin d'une troisième main. Si vous êtes mesurer et marquer votre mur pour
Mise à jour : ruban à mesurer de réparation - réparation supplémentaire pour Lufkin Pee Wee (étape 4 partir)

Mise à jour : ruban à mesurer de réparation - réparation supplémentaire pour Lufkin Pee Wee (étape 4 partir)

occasionnellement, au printemps sur un mètre à ruban auto-rétractable, va devenir un peu cintrées ou étirée afin que le ruban ne rentre pas entièrement dans l'affaire sur son propre.Eh bien, aucuns plus en train de farcir ne retour dans (cela seuleme
Mesurer la hauteur à l’aide de la trigonométrie (Hack de ruban à mesurer)

Mesurer la hauteur à l’aide de la trigonométrie (Hack de ruban à mesurer)

Mesurer la hauteur à l'aide d'un ruban à mesurer peut être très stressant. Lorsque vous essayez de mesurer quelque chose qui est trop élevé, le mètre-ruban va commencer à plier vers l'arrière. Récemment, j'ai vu certains travailleurs de la difficulté
Cachettes, issu d’un stylo et un ruban à mesurer (deux endroits différents) suivi d’un goodie

Cachettes, issu d’un stylo et un ruban à mesurer (deux endroits différents) suivi d’un goodie

donc j'ai eu quelques idées pour faire ces « portefeuilles » parce que si vous aimez avoir traîner pour quand vous en avez besoin d'argent ou si vous voulez avoir l'argent mais avez peur quelqu'un va vous voler. Laisse le visage. Qui va prendre ta pl
L’antenne de ruban à mesurer

L’antenne de ruban à mesurer

vous cherchez un projet amical facile gamin ? Vous cherchez un projet visant à encourager une nouvelle génération de radioamateurs ?Ce projet est rare, donc c'est quelque chose qui saisira certainement l'attention de tout le monde, en particulier un
Antenne de ruban à mesurer de 433 MHz-costumes suivi émetteur UHF !

Antenne de ruban à mesurer de 433 MHz-costumes suivi émetteur UHF !

Ce Instructable a trait à la conception et évaluation d'un simple ruban à mesurer fondé antenne Yagi à 433 MHz 3 éléments.  Un récepteur efficace a été fait par « persuader » un ~ US$ 4 Dorji 433 MHz demander module de données (Amplitude Shift Keying
Titulaire de ruban à mesurer

Titulaire de ruban à mesurer

Eh bien, j'ai au moins 3/4 d'une douzaine de rubans à mesurer autour de la maison en divers endroits. Casiers, rayonnages, armoire, couple de boîtes à outils ont leur propre. Mais j'ai juste fini un traîneau de scie de table (a va faire un instructab
Catalogue des tricheurs : Broken ruban à mesurer

Catalogue des tricheurs : Broken ruban à mesurer

Voici un autre Instructable dans ma série de « Shop tricheurs. » Ce code triche vous aidera à utiliser votre cassés rubans à mesurer, ainsi vous pouvez obtenir tous les dernier pouce hors d'eux. Si vous voulez connaître certaines de mes autres cheats
Ruban à mesurer en pouces

Ruban à mesurer en pouces

il est toujours un ruban à mesurer dans mon sac à main, sac à dos, aussi bien que même dans mon sac de voyage. N'importe quel moment, n'importe où que c'est nécessaire. Maintenant j'ai besoin pas continuer à chercher mon seul et seulement en plastiqu
Clip de ceinture en métal (pour ruban à mesurer) - fait @TechShop !

Clip de ceinture en métal (pour ruban à mesurer) - fait @TechShop !

Ruban à mesurer est cher de nos jours, en particulier ceux avec des agrafes de ceinture.J'ai eu ce petit dans une quincaillerie et pensé que je ferais moi-mêmeRemarque : Acier n'était probablement pas le meilleur matériel, parce que le MT lui-même ét
Mise à niveau de ruban à mesurer pour couteaux de poche EDC (swiss army type)

Mise à niveau de ruban à mesurer pour couteaux de poche EDC (swiss army type)

je voulais un dirigeant sur mon nouveau couteau de poche EDC (-prendre chaque jour), le Victorinox Cybertool 41.Alors j'ai décidé de me faire une mise à niveau de ruban à mesurer qui peut être facilement fait de différentes façons pour n'importe quel