Raspberry Pi Port Expander (2 / 3 étapes)

Étape 2: Raccordement entre Hard - et Software

De communiquer via SPI il faut configurer la framboise pour permettre les communications de SPI. La meilleure façon de le faire est de permettre le SPI via à raspi-config.

Comment parler de la MCP23S17 ? Via SPI, mais quelle dose que cela signifie.

SPI est un bus de communication maître-esclave. Bus signifie, nous pouvons nous connecter autant de périphériques que nous voulons, en fonction des possibilités de nos puces et comment beaucoup chipselect a de notre Conseil d’administration. Avec la framboise qui a obtenu le chipselect 2, nous pouvons utiliser deux fois 8 jetons. Pour plus d’informations, veuillez lire cet article.

Dans l’ensemble, nous devons envoyer un code binaire pour communiquer avec nos appareils. premier octet , que nous devons envoyer est toujours notre opcode périphérique qui contient l’adresse matérielle de notre dispositif (0b0100) ainsi que l’adresse de la puce, que nous voulons un accès (0b000 et 0 b 001) et un peu de lecture/écriture (0b00/0b01). Pour faire un octet de ce genre de choses, nous devons utiliser un opérateur de bits ou opérateur.

En javascript, nous pouvons faire cela avec ce code :

 var hard_addr = 0b01000000; // we appended 4 zeros to avoid a bit shift var chip_addr = 0b0010; // 0b0000 we also appended one zero to avoid a bit shift var read_code = 0b01; // 0b00 // A = hard_addr, B = chip_addr, C = read_code // AAAABBBC var device_opcode = hard_addr | chip_addr | read_code; // 0b01000011 

deuxième octet est la commande que nous voulons que l’esclave de le faire et troisième octet est la valeur que nous souhaitons écrire, si nous voulons écrire. Si nous voulons lire que nous il suffit d’écrire 0 x 00 car cet octet supplémentaire signifie un autre tique et le temps pour l’esclave d’exécuter et de répondre. Il y a beaucoup de différentes commandes que vous pouvez aussi voir dans ce pdf. Parce que la puce peut gérer les entrées et les sorties sur son propre, nous assignons juste tous en tant que sortie.

Pour la communication, j’utilise la bibliothèque mcp23s17 pour nodejs. Voici un court exemple de se connecter, lire et écrire des données :

 // load the library MCPLib = require('mcp23s17'); // create new instance width device and chip_adress // needed default settings are set (more options will follow) mcp_1 = new MCPLib.MCP23S17( '/dev/spidev0.0', 0 ); // connect decive mcp_1.connect(); var status = 0b10000000; setInterval( function(){ if( status == 0b00000000 ){ status = 0b10000000; } else { status = 0b00000000; } mcp_1.write( 'B', status ); mcp_1.read( 'B', function( s ){ console.log( s ); }); }, 500); 

Articles Liés

Raspberry Pi porte de garage avec streaming vidéo du statut de la porte.

Raspberry Pi porte de garage avec streaming vidéo du statut de la porte.

Ce Instructable modifie deux autres guides. Viens de recevoir un capteur magnétique accroché avec statut porte sur la page.Étape 1: Faire cette première de InstructablesVous devez faire ce Instructable @Étape 2: Obtenir la caméra fonctionne sur Raspb
Surveiller un État UPS plus âgé dont le Raspberry Pi

Surveiller un État UPS plus âgé dont le Raspberry Pi

Voici un petit mod que j'ai fait pour un VS575C OPTI-UPS.L'onduleur dispose d'un port série et fonctionne bien avec Windows, le long avec un numéro de série à l'adaptateur USB et l'Opti-UPS « Sentry » logiciel, le système UPS peut dire Windows quand
Costume de Robot enfant avec effets sonores, détecteur de Candy et plus

Costume de Robot enfant avec effets sonores, détecteur de Candy et plus

j'ai fait ma fille ce costume de robot pour l'halloween. J'ai été inspiré par ce costume Kid Robot. J'ai pris la mienne dans un peu d'une direction différente et ajouté quelques nouveautés plus comme les lampes dans les antennes et les oreilles, un t
Boîtier de l’ordinateur Pinebox Portable 3

Boîtier de l’ordinateur Pinebox Portable 3

Dans le cadre d'un projet plus vaste (un ordinateur portable de la Raspberry PI, c'est une conception pour une boîte en bois contenant l'ordinateur.Il est divisé en trois instructables (bien que la construction des trois parties a été effectuée en pa
Extrême Surface Mount souder

Extrême Surface Mount souder

donc vous envisagez de construire un super widget et voulait utiliser le dernier QFN / MLF (trame de plomb micro) paquet de pièces. Mais alors vous avez effectivement regardé, s'est rendu compte comment minuscules c'est vraiment (photo 1) et a décidé
Raspberry Pi - PCA9536 Input/Output Expander Java Tutorial

Raspberry Pi - PCA9536 Input/Output Expander Java Tutorial

Le PCA9536 est un dispositif CMOS 8 broches qui fournit 4 bits d'expansion d'entrée/sortie (GPIO) parallèle généraliste pour des applications I2C-bus/SMBus. Il se compose d'un registre 4 bits Configuration ont pour but d'entrée ou de sortie sélection
Raspberry Pi - PCA9536 Input/output Expander Python Tutorial

Raspberry Pi - PCA9536 Input/output Expander Python Tutorial

Le PCA9536 est un dispositif CMOS 8 broches qui fournit 4 bits d'expansion d'entrée/sortie (GPIO) parallèle généraliste pour des applications I2C-bus/SMBus. Il se compose d'un registre 4 bits Configuration ont pour but d'entrée ou de sortie sélection
Configuration du port ethernet Raspberry Pi pour commande à distance

Configuration du port ethernet Raspberry Pi pour commande à distance

cette instructable va montrer comment configurer le port ethernet de la Raspberry Pi rapidement et l'exécuter à distance.  Ceci élimine le besoin de connecter un moniteur, le clavier et la souris pour utiliser l'appareil.Il s'agit d'une Instructable
Raspberry Pi au travail : serveur de ports Console série

Raspberry Pi au travail : serveur de ports Console série

Il est longtemps passé du dernier millénaire (modern). Nous sommes maintenant à l'ère du « Cloud Computing », pourtant il y a toujours ceux qui le personnel des centres de données 24/7... Lorsqu'inévitablement « Legacy Systems » Lurk , exécutant quel
Raspberry Pi 2 porte-cartes (découpe Laser)

Raspberry Pi 2 porte-cartes (découpe Laser)

Lorsque vous travaillez sur mon travail de cours de sciences d'informatique des GCSE, qui portait à l'aide de framboise Pis on m'a demandé de créer un cas qui pourrait être découpé au laser de carte pour le reste de la classe à utiliser. J'ai trouvé
Raspberry Pi - SMS Garage porte Butler

Raspberry Pi - SMS Garage porte Butler

La plupart télécommandes de porte de garage Raspberry Pi eu ports ouverts ou autres caractéristiques je n'étais pas trop friand de. J'ai donc créé ma propre qui contient beaucoup plus de sécurité, journalisation des qui ouvre le garage, capture vidéo
Ouvrir la porte, la porte ou le portillon avec votre Smartphone et Raspberry PI

Ouvrir la porte, la porte ou le portillon avec votre Smartphone et Raspberry PI

Cette fois je voudrais montrer comment transformer votre Smartphone en une « télécommande » pour ouvrir la porte/portillon ou porte à l'aide de Raspberry PI.Nous aurons besoin :Smartphone avec Android (version 3.1.x ou supérieur) ou un iPhone avec iO
Bonjour tout le monde à Raspberry Pi par Seeeduino (port Uart)

Bonjour tout le monde à Raspberry Pi par Seeeduino (port Uart)

Je suis un démarreur de Raspberry Pi et j'ai trouvé que Raspberry Pi n'a pas le port usb qui peut se connecter directement au pc, alors que j'ai ramasser un Seeeduino comme un Uart convertisseur Usb à mastic mon Pi. : pÉtape 1: Jetez un oeil sur la f
Lire et écrire à partir d’un port série avec Raspberry Pi

Lire et écrire à partir d’un port série avec Raspberry Pi

Dans ce tutoriel nous allons voir comment utiliser le port série sur Raspberry Pi. Nous allons utiliser le port série disponible sur framboisier avec un adaptateur de 5 v TTL/RS232 3-5 et un adaptateur USB-série. Par défaut, port série de l'IP de la