Სარჩევი:

PCF8591 (i2c ანალოგი I/O Expander) სწრაფი მარტივი გამოყენება: 9 ნაბიჯი
PCF8591 (i2c ანალოგი I/O Expander) სწრაფი მარტივი გამოყენება: 9 ნაბიჯი

ვიდეო: PCF8591 (i2c ანალოგი I/O Expander) სწრაფი მარტივი გამოყენება: 9 ნაბიჯი

ვიდეო: PCF8591 (i2c ანალოგი I/O Expander) სწრაფი მარტივი გამოყენება: 9 ნაბიჯი
ვიდეო: Arduino 103: Reading Analog Input 2024, ნოემბერი
Anonim
PCF8591 (i2c ანალოგი I/O Expander) სწრაფი მარტივი გამოყენება
PCF8591 (i2c ანალოგი I/O Expander) სწრაფი მარტივი გამოყენება

ბიბლიოთეკა გამოიყენებს i2c pcf8591 IC arduino და esp8266.

ამ IC- ს შეუძლია გააკონტროლოს (4 -მდე) ანალოგური შეყვანა და/ან 1 ანალოგური გამომავალი, როგორიცაა ძაბვის გაზომვა, თერმისტორის მნიშვნელობის წაკითხვა ან LED- ის ქრებოდა.

შეუძლია წაიკითხოს ანალოგური მნიშვნელობა და ჩაწეროს ანალოგური მნიშვნელობა მხოლოდ 2 მავთულით (იდეალურია ESP-01– ისთვის).

ვცდილობ გავამარტივო ამ IC– ის გამოყენება, მინიმალური კომპლექტი ოპერაციით.

თქვენ შეგიძლიათ იპოვოთ განახლებული ვერსია ჩემს საიტზე

ნაბიჯი 1: როგორ მუშაობს I2c

როგორ მუშაობს I2c
როგორ მუშაობს I2c

I2C მუშაობს მის ორ მავთულზე, SDA (მონაცემთა ხაზი) და SCL (საათის ხაზი).

ორივე ეს ხაზი ღიაა, მაგრამ გაყვანილია რეზისტენტებით.

როგორც წესი, ხაზზე არის ერთი ბატონი და ერთი ან მრავალი მონა, თუმცა შეიძლება იყოს მრავალი ბატონი, მაგრამ ამაზე მოგვიანებით ვისაუბრებთ.

ბატონებსა და მონაებს შეუძლიათ მონაცემების გადაცემა ან მიღება, შესაბამისად, მოწყობილობა შეიძლება იყოს ამ ოთხივე მდგომარეობიდან ერთში: სამაგისტრო გადაცემა, სამაგისტრო მიღება, მონა გადაცემა, მონა მიღება.

ნაბიჯი 2:

აქ შეგიძლიათ ნახოთ ჩემი ბიბლიოთეკა.

Ჩამოტვირთვა.

დააწკაპუნეთ DOWNLOADS ღილაკს ზედა მარჯვენა კუთხეში, დაარქვით სახელი არაკომპრესირებულ საქაღალდეს PCF8591.

შეამოწმეთ, რომ PCF8591 საქაღალდე შეიცავს PCF8591.cpp და PCF8591.h.

მოათავსეთ PCF8591 ბიბლიოთეკის საქაღალდე თქვენი / ბიბლიოთეკები / საქაღალდე.

შეიძლება დაგჭირდეთ ბიბლიოთეკების ქვესაქაღალდის შექმნა, თუ ეს თქვენი პირველი ბიბლიოთეკაა.

გადატვირთეთ IDE.

ნაბიჯი 3: გამოყენება

კონსტრუქტორი: თქვენ უნდა მიუთითოთ i2c მისამართი (მისამართის შესამოწმებლად გამოიყენეთ ეს სახელმძღვანელო I2cScanner)

PCF8591 (uint8_t მისამართი);

esp8266– სთვის, თუ გსურთ მიუთითოთ SDA e SCL pin გამოიყენეთ ეს:

PCF8591 (uint8_t მისამართი, uint8_t sda, uint8_t scl);

ნაბიჯი 4: წაიკითხეთ მნიშვნელობა

წაიკითხეთ ღირებულება
წაიკითხეთ ღირებულება

IC როგორც ხედავთ სურათზე აქვს 4 ანალოგური შეყვანა და 1 ანალოგური გამომავალი.

ასე რომ თქვენ შეგიძლიათ წაიკითხოთ ყველა ანალოგური შეყვანა ერთ ტრანსმისიაში (მნიშვნელობა არის 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);

თუ გსურთ ერთი ანალოგური შესვლის ან არხის წაკითხვა:

int ana = pcf8591.analogRead (AIN0); // წაიკითხეთ ანალოგი 0

ნაბიჯი 5: წაიკითხეთ ვალე არხიდან

წაიკითხეთ ვალე არხიდან
წაიკითხეთ ვალე არხიდან

ამ IC– ს აქვს წაკითხვის მრავალი ტიპი და შეგიძლიათ გამოიყენოთ ანალოგური შეყვანის ან ანალოგური არხი (როდესაც იყენებთ ერთ წაკითხულ ანალოგიურ შეყვანას და არხი სურათებშია).

მაგალითად, რომ წაიკითხოთ 0 არხის მნიშვნელობა ორ დიფერენციალურ შეყვანისას, თქვენ უნდა გააკეთოთ:

int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // წაიკითხეთ ანალოგი 0

ნაბიჯი 6: დაწერეთ მნიშვნელობა

თუ გსურთ დაწეროთ ანალოგური მნიშვნელობა, თქვენ უნდა გააკეთოთ (მნიშვნელობა არის 0 -დან 255 -მდე):

pcf8591.analogWrite (128);

ნაბიჯი 7: დამატებითი მახასიათებლები

დამატებითი ფუნქციაა წერის ძაბვის წაკითხვა: ძაბვის გამოთვლისთვის თქვენ უნდა გაიაროთ რამდენიმე პარამეტრი:

  • მიკროკონტროლი მითითება ძაბვა: მიიღეთ ძაბვა მიკროკონტროლის ძაბვისგან (მხოლოდ AVR არ esp8266 for esp 3.3v დაფიქსირდა)
  • referenceVoltage: if microcontrollerReferenceVoltage false მიიღოს ეს მნიშვნელობა ბრძანება არის:

void voltageWrite (float value, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);

float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);

მაგალითებია:

pcf8591.voltageWrite (2.7); // 2.7 ვოლტი გამომავალი

დაგვიანება (3000);

float ana0V = pcf8591.voltageRead (AIN0); // წაიკითხეთ ძაბვა ანალოგიდან 0

Serial.println (ana0V);

ნაბიჯი 8: მაგალითები კავშირის დიაგრამა

მაგალითები კავშირის დიაგრამა
მაგალითები კავშირის დიაგრამა

ნაბიჯი 9: მადლობა

i2c პროექტის სერია (კოლექცია):

  • ტემპერატურის ტენიანობის სენსორი
  • ანალოგური გაფართოება
  • ციფრული გაფართოება
  • LCD ეკრანი

გირჩევთ: