цифровая электроника
вычислительная техника
встраиваемые системы

 

Arduino и модуль АЦП / ЦАП PCF8591

Автор: Mike(admin) от 9-08-2019, 05:15

Аналого-цифровое преобразование является очень важной задачей во встраиваемой электронике, поскольку большинство датчиков обеспечивают вывод в виде аналоговых значений и для подачи их в микроконтроллер, который понимает только двоичные значения, и мы должны преобразовать их в цифровые значения. Поэтому для обработки аналоговых данных микроконтроллерам необходим аналого-цифровой преобразователь.


Arduino и модуль АЦП / ЦАП PCF8591

Некоторые микроконтроллеры имеют встроенные АЦП, среди них Arduino, MSP430, PIC16F877A, но некоторые микроконтроллеры не имеют таких возможностей, например, 8051, Raspberry Pi и т. д., и мы должны использовать некоторые внешние микросхемы аналого-цифрового преобразователя, такие как ADC0804, ADC0808. В этом уроке в учебных целях мы собираемся проверить, как сопрягать модуль АЦП / ЦАП PCF8591 с Arduino.


PCF8591 – это модуль 8-битного аналого-цифрового или 8-битного цифро-аналогового преобразователя, означающий, что каждый вывод может считывать аналоговые значения до 256. Он также имеет схему LDR и термистор, установленные на плате. Этот модуль имеет четыре аналоговых входа и один аналоговый выход. Он работает с интерфейсом I2C, поэтому на нем есть контакты SCL и SDA для последовательных тактовых импульсов и последовательных данных. Для него требуется напряжение питания 2,5-6 В и низкий ток в режиме ожидания. Мы также можем управлять входным напряжением, регулируя ручку потенциометра на модуле. На плате также есть три перемычки. J4 подключен для выбора схемы доступа к термистору, J5 подключен для выбора схемы доступа к LDR / фоторезистору и J6 подключен для выбора схемы доступа к регулируемому напряжению. Для доступа к этим цепям вы должны использовать адреса этих перемычек: 0x50 для J6, 0x60 для J5 и 0x70 для J4. На плате есть два светодиода D1 и D2, D1 показывает интенсивность выходного напряжения, а D2 показывает интенсивность напряжения питания. Чем выше выходное или питающее напряжение, тем выше интенсивность светодиода D1 или D2. Вы также можете проверить эти светодиоды с помощью потенциометра на линии VCC или на выводе AOUT.


Модуль АЦП / ЦАП PCF8591

Схема подключения PCF8591 к Arduino очень проста. В этом примере сопряжения мы будем считывать аналоговые значения с любого из аналоговых выводов и изменять эти значения с помощью потенциометра 100К. Во-первых, подключите VCC и GND к 5V и GND Arduino. Затем подключите SDA и SCL к A4 и A5 Arduino. Теперь подключите потенциометр 100K к AIN0, как показано на рисунке. Для LCD контакты данных (D4-D7) подключены к цифровым контактам D5-D2 Arduino, а контакты RS и EN подключены к D12 и D11 Arduino. V0 ЖК-дисплея подключен к потнциометру, который используется для управления яркостью ЖК-дисплея.


Схема подключения PCF8591 к Arduino

Arduino и модуль АЦП / ЦАП PCF8591

Код взаимодействия Arduino с АЦП модуля PCF8591 следующий:



#include <LiquidCrystal.h>
#include<Wire.h>
#define PCF8591 (0x90 >> 1)
#define AIN0 0x00
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int Value = 0;
void setup()
{
  Wire.begin();
  lcd.begin(16,2);
}
void loop()
{
  Wire.beginTransmission(PCF8591);
  Wire.write(AIN0);
  Wire.endTransmission();
  Wire.requestFrom(PCF8591, 1);
  Value = Wire.read();
  lcd.print("ADC Value=");
  lcd.print(Value);
  delay(500);
  lcd.clear();
}



© digitrode.ru


Теги: Arduino, АЦП, ЦАП



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий