À l’aide de la PCF8575 i2c i/o Expander à lire entrées avec Arduino (2 / 3 étapes)

Étape 2: Le Code

Bon maintenant la partie effrayante - le code.

Si vous souhaitez utiliser des périphériques i2c, qu'il est préférable de comprendre comment fonctionne le code sinon vous allez avoir beaucoup de problèmes sur la route.

I2C est géré à l’aide de l' Arduino bibliothèque de fils.

Pour comprendre l’i2c, vous allez devoir faire un peu de lecture. S’attendre à être très confus dans un premier temps. Si vous envisagez de faire tout autre composant électronique intermédiaire et avancé, apprentissage i2c est impératif.

Je vais essayer de donner une explication très simple d’i2c.

Une chose que vous remarquerez, que vous commencez à travailler avec l’électronique, est que vous avez toujours un désordre de fils. Il y a longtemps que Phillips dit « enfer avec tous ces fils - nous avons besoin d’un moyen pour tous les périphériques de parler à eachother avec seulement deux fils ». Peu de temps après, i2c a été créé. Maintenant vous pouvez acheter des jetons i2c qui à peu près tout faire, et tous ces jetons sont capables de communiquer avec l’aide de seulement deux fils d’eachother. I2C est souvent appelé le « interface de deux fils ».
Alors, comment ces appareils communiquent entre eux ? Eh bien, ils ont tous une adresse, bien que vous avez une adresse postale à votre maison. Avec cette adresse unique, vous pouvez parler à chaque appareil individuellement. L’Arduino, qui serait le maître-i2c-périphérique, peut envoyer des instructions à l’esclave-i2c-dispositifs individuels à l’aide d’un protocole de communication fantaisie. Dans Arduino, la communication-envoi ressemble à ceci :

Wire.beginTransmission(aDeviceAddress) ; //who Etes-vous parler ?
Wire.Send(someDate) ; Quelles données vous envoyez ce dispositif
Wire.endTransmission() ; fin de communication

Et la réception-communication ressemble à ceci :
dataReceived octets [2]; //a tableau de deux octets pour stocker nos données Wire.beginTransmission(aDeviceAddress) ; ///who tu racontes à? Wire.endTransmission() ; //end communication Wire.requestFrom(aDeviceAddress,2) ; //request deux octets de données
if(Wire.available()) {
dataReceived [0] = Wire.receive() ; //read octet 1 dataReceived [1] = Wire.receive() ; //read octet 2 }
La partie réelle délicate d’i2c est interpréter la feuille de données et comprendre comment vous et attend de recevoir ou d’envoyer des données vers l’appareil. Lorsque vous écrivez du code i2c vous devez constamment faire référence à la feuille de données.

Le fichier de code Arduino est joint ci-dessous.

Remarque si vous utilisez Arduino1.0
Les instructions Wire.Send et Wire.receive doivent BE changé à Wire.write et Wire.read

Articles Liés

Capturer l’image à l’aide de capteur à ultrasons avec arduino

Capturer l’image à l’aide de capteur à ultrasons avec arduino

J'ai été dans l'espace de l'ITO pour pas mal de mois et essayant d'intégrer les choses avec la carte Arduino, récemment je suis tombé sur le capteur à ultrasons, il est intéressant. Alors j'ai pensé à créer un petit projet. Le but du projet est de ca
Affichage température sur écran LCD à l’aide de STS-21(I2C)

Affichage température sur écran LCD à l’aide de STS-21(I2C)

SalutSalutations bonnes..!! J'ai (Somanshu Choudhary) pour le compte d'entreprises de technologie Dcube va pour mesurer la température à l'aide d'Arduino nano et affichage sur 16 X 2 LCD c'est l'une des applications de I2C protocole pour lire des don
À l’aide d’un compas intégré de Module GPS Ublox Hobby-Ace avec Arduino Uno

À l’aide d’un compas intégré de Module GPS Ublox Hobby-Ace avec Arduino Uno

J'ai récemment trouvé moi-même aider mon fils à mettre sur pied un ballon d'Altitude élevée (HAB) pour un projet scolaire et une des choses qu'il a acquis pour le projet était un passe-temps-Ace Ublox GPS Module avec boussole intégrée.Initialement, c
Faire I2C LCD de Seedstudio à surveiller les travaux avec un Arduino vieux

Faire I2C LCD de Seedstudio à surveiller les travaux avec un Arduino vieux

J'ai un bosquet a commencé kit par Seedstudio, et j'ai eu des problèmes à l'aide de son écran LCD avec un vieux modèle de l'Arduino (j'utilise un Freediuno. IDE le reconnaît comme un "Duomilanove w / ATmega328", mais je crois que de nombreuses a
Interfaçage TMP-112 avec Arduino nano (I2C)

Interfaçage TMP-112 avec Arduino nano (I2C)

SalutSalutations bonnes..!!J'ai (Somanshu Choudhary) pour le compte d'entreprises de technologie Dcube va pour mesurer la température à l'aide d'Arduino nano, c'est une des applications du protocole I2C pour lire les données analogiques de températur
À l’aide d’affichage Pimoroni-O-Tron avec arduino

À l’aide d’affichage Pimoroni-O-Tron avec arduino

la pimoroni écran-O-Tron 3000 (shop.pimoroni.com) n'est pas seulement un du meilleur affichage pour le Raspberry Pi l'argent peut acheter, le matériel de conduite c'est bien pris en charge sur la plateforme Arduino... Suivez le guide !Étape 1: Matéri
À l’aide d’une horloge temps réel avec Arduino

À l’aide d’une horloge temps réel avec Arduino

Vous avez toujours voulu faire un projet qui a activé sur un calendrier ? À l'aide d'une horloge temps réel (RTC) est un excellent moyen de le faire ! CCF gèrent l'heure et la Date pour vous, constante de temps de maintien et durables mars vers l'ava
Labyrinthe du solveur Robot, à l’aide de l’Intelligence artificielle avec Arduino

Labyrinthe du solveur Robot, à l’aide de l’Intelligence artificielle avec Arduino

(Si vous aimez ce Instructable, n'oubliez pas de voter à ce sujet (ci-dessus : drapeau de coin à droite). Rex, le Robot est en concurrence sur la robotique et des concours de capteurs. Merci beaucoup! ;-)Cet Instructable a été développé lors de mon d
Comment faire pour mesure courant CA à l’aide de capteur à effet Hall avec Arduino ou autres microcontrôleurs commune

Comment faire pour mesure courant CA à l’aide de capteur à effet Hall avec Arduino ou autres microcontrôleurs commune

S'il vous plaît voir une nouvelle approche plus simple iciObjectif : Ce Instructable montre comment faire une boîte d'interface qui, lorsque raccordé à une rallonge, permet de microcontrôleurs communs comme l'Arduino à mesure AC courant comme un sign
Double moteur avec Arduino à l’aide d’un Quad SN754410NE demi H-Bridge

Double moteur avec Arduino à l’aide d’un Quad SN754410NE demi H-Bridge

Un guide étape par étape du projet par ArduinoFunAvec ce Instructable je vais vous montrer comment utiliser un SN754410NE Quad pont en H IC pour contrôler les deux moteurs à courant continu 12 volts.J'ai ajouté une vidéo afin que vous puissiez voir l
La première utilisation de 0,96" I2C écran OLED avec Arduino UNO

La première utilisation de 0,96" I2C écran OLED avec Arduino UNO

Aujourd'hui, je vais vous montrer comment utiliser 0,96" I2C écran OLED avec carte Arduino UNO. Il y a beaucoup de différents types d'écrans OLED. J'ai eu 4-épinglé OLED display avec moi. Cette affiche peut être avec broches SPI au lieu de I2C. Ces v
Écran OLED i2c avec arduino

Écran OLED i2c avec arduino

Dans ce instructable je vais vous montrer comment connecter et tester un 0,96" i2c afficheur OLED module à un arduino.Pièces :Maquette et brancher les filsArduino (dans ce cas en utilisant un clone de 16mhz nano v3 5v)Bloc d'alimentation externe (5v
À l’aide de contrôleurs de RC FM avec Arduino

À l’aide de contrôleurs de RC FM avec Arduino

j'ai récemment déterré mon ancien émetteur RC et le récepteur et la pensée « Comment puis-je contrôler mon arduino avec cela? » donc j'ai allumé mon champ pour voir ce qui se passait au niveau du récepteur. Bien sûr, il envoyait un signal PWM standar
Interface ADC121C avec Arduino nano(I2C)

Interface ADC121C avec Arduino nano(I2C)

SalutSalutations bonnes..!!Aujourd'hui I (Somanshu Choudhary) au nom d'entreprises de technologie Dcube va pour contrôler ADC121C appareil utilisant Arduino, il est une des applications du protocole I2C pour lire les données analogiques via Arduino.É