Inhoudsopgave:
- Stap 1: Hoe I2c werkt
- Stap 2:
- Stap 3: Gebruik:
- Stap 4: Waarde lezen
- Stap 5: Lees Vale van kanaal
- Stap 6: waarde schrijven
- Stap 7: Extra functies
- Stap 8: Voorbeelden Aansluitschema
- Stap 9: Bedankt
Video: PCF8591 (i2c analoge I/O-expander) Snel en eenvoudig gebruik - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Bibliotheek om i2c pcf8591 IC te gebruiken met arduino en esp8266.
Dit IC kan (tot 4) analoge input en/of 1 analoge output aansturen zoals spanning meten, thermistorwaarde uitlezen of een led laten vervagen.
Kan analoge waarde lezen en analoge waarde schrijven met slechts 2 draden (perfect voor ESP-01).
Ik probeer het gebruik van dit IC te vereenvoudigen, met een minimale set handelingen.
U kunt een bijgewerkte versie vinden op mijn site
Stap 1: Hoe I2c werkt
I2C werkt met zijn twee draden, de SDA (datalijn) en SCL (kloklijn).
Beide lijnen zijn open-drain, maar worden opgetrokken met weerstanden.
Meestal is er één master en één of meerdere slaves aan de lijn, hoewel er meerdere masters kunnen zijn, maar daar komen we later op terug.
Zowel masters als slaves kunnen gegevens verzenden of ontvangen, daarom kan een apparaat zich in een van deze vier toestanden bevinden: master verzenden, master ontvangen, slave verzenden, slave ontvangen.
Stap 2:
Mijn bibliotheek vind je hier.
Downloaden.
Klik op de DOWNLOADS-knop in de rechterbovenhoek, hernoem de niet-gecomprimeerde map PCF8591.
Controleer of de map PCF8591 PCF8591.cpp en PCF8591.h bevat.
Plaats de bibliotheekmap PCF8591 in uw map /libraries/.
Mogelijk moet u de submap bibliotheken maken als dit uw eerste bibliotheek is.
Start de IDE opnieuw.
Stap 3: Gebruik:
Constructor: u moet het adres van i2c doorgeven (gebruik deze handleiding I2cScanner om het adres te controleren)
PCF8591(uint8_t adres);
voor esp8266 als u SDA e SCL-pin wilt specificeren, gebruik dit:
PCF8591(uint8_t adres, uint8_t sda, uint8_t scl);
Stap 4: Waarde lezen
IC zoals je kunt zien in de afbeelding hebben 4 analoge input en 1 analoge output.
Dus om alle analoge invoer in één overdracht te lezen, kunt u doen (de waarde is van 0 tot 255):
PCF8591::AnalogInput ai = pcf8591.analogReadAll();
Serial.print(ai.ain0); Serieel.print(" - "); Serial.print(ai.ain1); Serieel.print(" - "); Seriële.afdruk(ai.ain2); Serieel.print(" - "); Seriële.println(ai.ain3);
als u een enkele analoge ingang of kanaal wilt lezen:
int ana = pcf8591.analogRead(AIN0); // lees analoge 0
Stap 5: Lees Vale van kanaal
Dit IC heeft meerdere soorten lezen en u kunt een analoge ingang of een analoog kanaal gebruiken (wanneer u een enkele leesbare analoge ingang gebruikt en het kanaal op de foto's staat).
Om bijvoorbeeld de waarde van kanaal 0 in Two differential input te lezen, moet u het volgende doen:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // lees analoge 0
Stap 6: waarde schrijven
Als u een analoge waarde wilt schrijven, moet u doen (de waarde is van 0 tot 255):
pcf8591.analogWrite(128);
Stap 7: Extra functies
Extra functie is het lezen van een schrijfspanning: voor de berekening van de spanning moet u een parameter doorgeven:
- microcontrollerReferenceVoltage: haal spanning uit microcontrollerspanning (alleen AVR geen esp8266 voor esp 3.3v vast)
- referenceVoltage: als microcontrollerReferenceVoltage false, neem deze waarde De opdracht is:
void voltageWrite (float-waarde, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
Een voorbeeld is:
pcf8591.voltageWrite(2.7); // 2.7Volt uitgang
vertraging (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Lees spanning van analoge 0
Serieel.println(ana0V);
Stap 8: Voorbeelden Aansluitschema
Stap 9: Bedankt
i2c projectserie (Collectie):
- Temperatuur vochtigheidssensor
- Analoge uitbreiding
- Digitale uitbreiding
- LCD scherm
Aanbevolen:
Ongebruikelijke aangepaste doos/behuizing (snel, eenvoudig, modulair, goedkoop): 7 stappen
Ongebruikelijke aangepaste doos/behuizing (snel, eenvoudig, modulair, goedkoop): het doel van deze Instructables is om u te laten zien hoe u een goedkope, aangepaste, modulaire doos/behuizing kunt maken. tools en budget. Dit is mijn eerste Instructables (ook Engels is niet mijn eerste taal), dus wees alsjeblieft
POMODORO TECHNIEK TIMER - EENVOUDIG GEBRUIK HARDWARE APPARAAT VOOR TIJDBEHEER: 4 stappen
POMODORO TECHNIEK TIMER - EENVOUDIG GEBRUIK HARDWARE-APPARAAT VOOR TIJDBEHEER: 1. Wat is dit? De pomodoro-techniek is een tijdmanagementvaardigheid die de werktijd in blokken van 25 minuten verdeelt en 5 minuten pauzetijd volgt. details zoals hieronder: https://francescocirillo.com/pages/pomodoro-techni… Deze timer is een makkelijk te gebruiken ha
Snel en eenvoudig de stekker van de laptop repareren: 5 stappen
Quick and Easy Laptop Power Plug Fix: Achtergrond: Ik heb 2 HP laptops thuis en helaas zijn de beide stekkers die naar de stroomaansluiting van de notebooks gaan al een tijdje los. Mijn zus die het beu is om te proberen de stekker zo te draaien dat de AC-adapter een
Bouw een projectbox - snel, goedkoop & Eenvoudig.: 5 stappen
Bouw een projectbox - snel, goedkoop & Makkelijk.: We hadden een beschermende projectdoos nodig in onze winkel met een raam aan de voorkant, zodat we de status van onze componenten in de gaten konden houden. De projectdozen die we online vonden, werkten niet. -Degenen die goed geprijsd waren, waren veel te klein om in onze componenten te passen
Video's van internet naar uw iPod krijgen, snel, eenvoudig en GRATIS!: 5 stappen
Video's van internet naar uw iPod krijgen, snel, eenvoudig en GRATIS!: Soms zie je een video op YouTube en wil je die op je iPod. Dat deed ik, en ik kon er niet achter komen, maar toen deed ik het, dus besloot ik het met internet te delen. Deze handleiding is alleen van toepassing op YouTube als je dezelfde downloadsoftware gebruikt