Taula de continguts:
- Pas 1: Com funciona I2c
- Pas 2:
- Pas 3: Ús
- Pas 4: llegiu el valor
- Pas 5: llegiu Vale From Channel
- Pas 6: escriviu valor
- Pas 7: funcions addicionals
- Pas 8: Exemples de diagrama de connexió
- Pas 9: gràcies
Vídeo: PCF8591 (i2c Analog I / O Expander) Ús fàcil i ràpid: 9 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Biblioteca per utilitzar IC i2c pcf8591 amb arduino i esp8266.
Aquest CI pot controlar (fins a 4) l'entrada analògica i / o 1 sortida analògica com mesurar la tensió, llegir el valor del termistor o esvair un led.
Pot llegir valor analògic i escriure valor analògic amb només 2 fils (perfecte per ESP-01).
Intento simplificar l’ús d’aquest CI, amb un conjunt mínim d’operacions.
Podeu trobar la versió actualitzada al meu lloc
Pas 1: Com funciona I2c
I2C funciona amb els seus dos cables, l'SDA (línia de dades) i SCL (línia de rellotge).
Ambdues línies són de drenatge obert, però estan arrossegades amb resistències.
Normalment hi ha un mestre i un o diversos esclaus a la línia, tot i que hi pot haver diversos mestres, però en parlarem més endavant.
Tant els amos com els esclaus poden transmetre o rebre dades, per tant, un dispositiu pot estar en un d’aquests quatre estats: transmissió mestra, recepció del mestre, transmissió d’esclau, recepció d’esclaus.
Pas 2:
Podeu trobar la meva biblioteca aquí.
Per descarregar.
Feu clic al botó DESCÀRREGUES de l'extrem superior dret i canvieu el nom de la carpeta sense comprimir PCF8591.
Comproveu que la carpeta PCF8591 contingui PCF8591.cpp i PCF8591.h.
Col·loqueu la carpeta de biblioteca PCF8591 a la vostra carpeta / libraries /.
És possible que hàgiu de crear la subcarpeta de biblioteques si és la vostra primera biblioteca.
Reinicieu l'IDE.
Pas 3: Ús
Constructor: heu de passar l'adreça d'i2c (per comprovar l'adreça, utilitzeu aquesta guia I2cScanner)
PCF8591 (adreça uint8_t);
per a esp8266 si voleu especificar el pin SDA e SCL, utilitzeu això:
PCF8591 (adreça uint8_t, uint8_t sda, uint8_t scl);
Pas 4: llegiu el valor
IC com podeu veure a la imatge tenen 4 entrades analògiques i 1 sortida analògica.
Per tant, podeu llegir totes les entrades analògiques en una transmissió (el valor és de 0 a 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 voleu llegir una sola entrada o canal analògic:
int ana = pcf8591.analogRead (AIN0); // llegir analògic 0
Pas 5: llegiu Vale From Channel
Aquest CI té diversos tipus de lectura i podeu utilitzar l'entrada analògica o canal analògic (quan utilitzeu entrada i canal analògics de lectura única a les imatges).
Per exemple, per llegir el valor del canal 0 a dues entrades diferencials, heu de fer:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // llegir analògic 0
Pas 6: escriviu valor
Si voleu escriure un valor analògic, heu de fer-ho (el valor és de 0 a 255):
pcf8591.analogWrite (128);
Pas 7: funcions addicionals
Una característica addicional és llegir una tensió d'escriptura: per al càlcul de la tensió heu de passar algun paràmetre:
- microcontrollerReferenceVoltage: obtingueu la tensió del voltatge del microcontrolador (només AVR no esp8266 per esp 3.3v fix)
- referenceVoltage: si el microcontrollerReferenceVoltage és fals, tingueu aquest valor L'ordre és:
void voltageWrite (valor flotant, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
Un exemple és:
pcf8591.voltageWrite (2.7); // Sortida de 2,7 volts
retard (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Llegiu la tensió de l’analògic 0
Serial.println (ana0V);
Pas 8: Exemples de diagrama de connexió
Pas 9: gràcies
Sèrie de projectes i2c (Col·lecció):
- Sensor d'humitat de temperatura
- Expansor analògic
- Expander digital
- Pantalla LCD
Recomanat:
Otto DIY Robot Walking: tutorial ràpid i fàcil de fer: 7 passos
Otto DIY Robot Walking: tutorial ràpid i fàcil de fer: en aquest tutorial aprendrem a programar fàcilment el robot Otto DIY per caminar. Mireu un vídeo de demostració
DHT12 (sensor d’humitat i temperatura barat i2c), d’ús fàcil i ràpid: 14 passos
DHT12 (sensor d’humitat i temperatura barat i2c), d’ús fàcil i ràpid: podeu trobar actualitzacions i altres al meu lloc https://www.mischianti.org/2019/01/01/dht12-library-en/. M’agrada el sensor que es pot utilitzar amb 2 fils (protocol i2c), però m'encanta el de baix cost. Es tracta d'una biblioteca Arduino i esp8266 per a la sèrie DHT12 o
Caixa / armari personalitzat inusual (ràpid, fàcil, modular, econòmic): 7 passos
Capsa / caixa personalitzada inusual (ràpida, fàcil, modular, econòmica): l’objectiu d’aquest manual és mostrar-vos com fabricar una caixa / caixa modular personalitzada i barata. Us mostraré com fer-ho amb eines i pressupost. Aquest és el meu primer instructable (l’anglès tampoc no és el meu primer idioma), així que si us plau
Echo Dot Hanger, fàcil, ràpid i econòmic: 7 passos
Echo Dot Hanger, Easy, Quick and Cheap !: Per mrcisaleaffan Publicat el 26 de juliol de 2018 Si us agrada aquest instructiu, voteu-lo al "Ús indegut de la creativitat" Introducció: Echo Dot Hanger, Easy, Quick and Cheap Aquest passat Nadal he rebut un altaveu intel·ligent Alexa Echo. Sinc
DIY MusiLED, LEDs sincronitzats de música amb aplicació Windows i Linux amb un clic (32 i 64 bits). Fàcil de recrear, fàcil d'utilitzar, fàcil de transportar: 3 passos
DIY MusiLED, LEDs sincronitzats de música amb aplicació Windows i Linux amb un clic (32 i 64 bits). Fàcil de recrear, fàcil d'utilitzar i fàcil de portar: aquest projecte us ajudarà a connectar 18 LED (6 vermells + 6 blaus + 6 grocs) a la vostra placa Arduino i analitzar els senyals en temps real de la targeta de so de l'ordinador i transmetre'ls a els LED per il·luminar-los segons els efectes del ritme (Snare, High Hat, Kick)