Модуль ADC\DAC PCF8591, код из видео

Модуль собран на микросхеме PCF8591, это 8 битный ЦАП и АЦП в одном корпусе.

Ниже код из видео.

Купить железку:

можно тут.

Код:

#include <Wire.h>

#define PCF8591 0x48 


void setDAC(byte val){
   Wire.beginTransmission(PCF8591);         // соединяемся с PCF8591
   Wire.write(0x40);                        // включаем DAC     
   Wire.write(val);                         // пишем в DAC значение
   Wire.endTransmission();                  // завершаем соединение
}

byte getADC(byte ch){
  if(ch > 3) ch = 0;                        // проверка
   Wire.beginTransmission(PCF8591);         // соединяемся с PCF8591
   Wire.write(ch);                          // запрашиваем 
   Wire.endTransmission();                  // завершаем соединение
   Wire.requestFrom(PCF8591, 2);            // забераем 2 байта
   byte val0 = Wire.read();
   byte val1 = Wire.read();                 // во втором то что нам нужно
   return val1;                             // возвращаем
}

void setup(){
  Serial.begin(9600);
  Wire.begin();
 
}

void loop(){
  
 for (int i = 0; i < 255; i += 40) setDAC(i);    // генерируем пилообразный сигнал
 
//  for (int i = 0; i <= 3; i++) {          // отправляем в монитор порта значение с ADC
//    Serial.print(i);
//    Serial.print(": ");
//    Serial.print(getADC(i)); 
//    Serial.print(" | ");
// }
// Serial.println();

//  setDAC(getADC(1));            // изменяем яркость светодиода в зависимости от освещенности
//  delay(100);                   
}