Table des matières:
- Étape 1: Comment fonctionne I2c
- Étape 2:
- Étape 3: Utilisation
- Étape 4: Lire la valeur
- Étape 5: Lire Vale From Channel
- Étape 6: écrivez la valeur
- Étape 7: Fonctionnalités supplémentaires
- Étape 8: Exemples de schéma de connexion
- Étape 9: Merci
Vidéo: PCF8591 (extenseur d'E/S analogiques i2c) Utilisation simple et rapide : 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Bibliothèque pour utiliser i2c pcf8591 IC avec arduino et esp8266.
Ce circuit intégré peut contrôler (jusqu'à 4) entrée analogique et/ou 1 sortie analogique comme mesurer la tension, lire la valeur de la thermistance ou éteindre une led.
Peut lire la valeur analogique et écrire la valeur analogique avec seulement 2 fils (parfait pour ESP-01).
J'essaie de simplifier l'utilisation de ce circuit intégré, avec un ensemble minimal d'opérations.
Vous pouvez trouver la version mise à jour sur mon site
Étape 1: Comment fonctionne I2c
I2C fonctionne avec ses deux fils, le SDA (ligne de données) et le SCL (ligne d'horloge).
Ces deux lignes sont à drain ouvert, mais sont tirées vers le haut avec des résistances.
Habituellement, il y a un maître et un ou plusieurs esclaves sur la ligne, bien qu'il puisse y avoir plusieurs maîtres, mais nous en reparlerons plus tard.
Les maîtres et les esclaves peuvent transmettre ou recevoir des données. Par conséquent, un appareil peut se trouver dans l'un de ces quatre états: transmission maître, réception maître, transmission esclave, réception esclave.
Étape 2:
Vous pouvez trouver ma bibliothèque ici.
Télécharger.
Cliquez sur le bouton TÉLÉCHARGEMENTS dans le coin supérieur droit, renommez le dossier non compressé PCF8591.
Vérifiez que le dossier PCF8591 contient PCF8591.cpp et PCF8591.h.
Placez le dossier de la bibliothèque PCF8591 dans votre dossier /libraries/.
Vous devrez peut-être créer le sous-dossier des bibliothèques s'il s'agit de votre première bibliothèque.
Redémarrez l'IDE.
Étape 3: Utilisation
Constructeur: vous devez passer l'adresse d'i2c (pour vérifier l'adresse utilisez ce guide I2cScanner)
PCF8591 (adresse uint8_t);
pour esp8266, si vous voulez spécifier la broche SDA et SCL, utilisez ceci:
PCF8591 (adresse uint8_t, uint8_t sda, uint8_t scl);
Étape 4: Lire la valeur
IC comme vous pouvez le voir sur l'image ont 4 entrées analogiques et 1 sortie analogique.
Donc, pour lire toutes les entrées analogiques en une seule transmission, vous pouvez faire (la valeur est de 0 à 255):
PCF8591::AnalogInput ai = pcf8591.analogReadAll();
Serial.print(ai.ain0); Serial.print(" - "); Serial.print(ai.ain1); Serial.print(" - "); Serial.print(ai.ain2); Serial.print(" - "); Serial.println(ai.ain3);
si vous voulez lire une seule entrée ou canal analogique:
int ana = pcf8591.analogRead(AIN0); // lecture analogique 0
Étape 5: Lire Vale From Channel
Ce circuit intégré a plusieurs types de lecture et vous pouvez utiliser une entrée analogique ou un canal analogique (lorsque vous utilisez une entrée analogique à lecture unique et un canal sont dans les images).
Par exemple pour lire la valeur de la voie 0 dans Deux entrées différentielles il faut faire:
int ana = pcf8591.analogRead(CHANNEL0, TWO_DIFFERENTIAL_INPUT); // lecture analogique 0
Étape 6: écrivez la valeur
Si vous voulez écrire une valeur analogique vous devez faire (la valeur est de 0 à 255):
pcf8591.analogWrite(128);
Étape 7: Fonctionnalités supplémentaires
La fonction supplémentaire est de lire une tension d'écriture: pour le calcul de la tension, vous devez passer certains paramètres:
- microcontrollerReferenceVoltage: obtenir la tension à partir de la tension du microcontrôleur (uniquement AVR no esp8266 pour esp 3.3v fixe)
- referenceVoltage: si le microcontrôleurReferenceVoltage est faux, prenez cette valeur La commande est:
void voltageWrite (valeur flottante, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead(uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
Un exemple est:
pcf8591.voltageWrite(2.7); // sortie 2,7 Volts
retard(3000);
float ana0V = pcf8591.voltageRead(AIN0); // Lire la tension de l'analogique 0
Serial.println(ana0V);
Étape 8: Exemples de schéma de connexion
Étape 9: Merci
Série de projets i2c (Collection):
- Capteur de température et d'humidité
- Extenseur analogique
- Extenseur numérique
- Affichage LCD
Conseillé:
Utilisation de capteurs analogiques avec ESP8266 : 5 étapes
Utilisation de capteurs analogiques avec ESP8266 : Un convertisseur analogique-numérique (CAN, A/D, A–D ou A-to-D) est un système qui transforme un signal analogique en un signal numérique. Les convertisseurs A/N traduisent les signaux électriques analogiques à des fins de traitement de données. Avec des produits alliant performances, puissance
Comment lire plusieurs valeurs analogiques à l'aide d'une seule broche analogique : 6 étapes (avec images)
Comment lire plusieurs valeurs analogiques à l'aide d'une seule broche analogique : Dans ce didacticiel, je vais vous montrer comment lire plusieurs valeurs analogiques à l'aide d'une seule broche d'entrée analogique
DHT12 (capteur d'humidité et de température bon marché i2c), utilisation simple et rapide : 14 étapes
DHT12 (capteur d'humidité et de température pas cher i2c), utilisation rapide et facile : vous pouvez trouver la mise à jour et d'autres sur mon site https://www.mischianti.org/2019/01/01/dht12-library-en/.J'aime le capteur qui peut être utilisé avec 2 fils (protocole i2c), mais j'aime le moins cher. Il s'agit d'une bibliothèque Arduino et esp8266 pour la série DHT12 o
Raspberry Pi - Tutoriel Java de l'extenseur d'entrée/sortie PCA9536 : 4 étapes
Raspberry Pi - Tutoriel Java d'extension d'entrée/sortie PCA9536 : Le PCA9536 est un périphérique CMOS à 8 broches qui fournit 4 bits d'extension d'entrée/sortie parallèle à usage général (GPIO) pour les applications I2C-bus/SMBus. Il se compose d'un registre de configuration 4 bits pour servir à la sélection d'entrée ou de sortie, 4 bits
Éclairage de pièce à LED rapide, rapide, bon marché et esthétique (pour tout le monde) : 5 étapes (avec photos)
Éclairage de salle LED rapide, rapide, bon marché et beau (pour tout le monde) : Bienvenue à tous :-) Ceci est mon premier instructable, donc les commentaires sont les bienvenus :-) Ce que j'espère vous montrer, c'est comment faire un TINY buget.Ce dont vous avez besoin :CâblesLEDsRésistances (510Ohms pour 12V)AgrafesFer à souderCutters et autres basi