Page 182

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

void loop() {
  int16_t data = analogRead(5);
  int32_t volts = analogReadMilliVolts(5);
  Serial.println(data);
  Serial.println(volts / 1000.0);
}

 

Page 183

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

void loop() {
  int16_t data;
  unsigned long s = micros();
  for (int i = 0; i < 100000; i++) {
    data = analogRead(5);
  }
  s = micros() - s;
  Serial.println(s);
  s = micros();
  for (int i = 0; i < 100000; i++) {
    data = analogReadMilliVolts(5);
  }
  s = micros() - s;
  Serial.println(s);
}

 

 

Page 185 Not supported on the NANO ESP32

volatile bool adc_coversion_done = false;

void ARDUINO_ISR_ATTR adcComplete(void) {
  adc_coversion_done = true;
}

void setup() {
  uint8_t adc_pins[] = { 1, 2, 3, 4 };
  analogContinuous(adc_pins, 4, 5, 1000, &adcComplete);
  analogContinuousStart();
  Serial.begin(9600);
}

void loop() {
  adc_continuous_data_t *result = NULL;
  if (adc_coversion_done == true) {
    adc_coversion_done = false;

    if (analogContinuousRead(&result, 0)) {
      for (int i = 0; i < 4; i++) {
        Serial.printf("\nADC PIN %d data:",
                                           result[i].pin);
        Serial.printf("\n   Avg raw value = %d",
                                   result[i].avg_read_raw);
        Serial.printf("\n   Avg millivolts value = %d",
                                result[i].avg_read_mvolts);
      }
      delay(1000);
    }
  }
}

 

Page 186 Note: Only works on an ESP32 or ESP32 S2

void setup() {
}

void loop() {
  for (uint8_t i = 0; i < 256; i++) {
    dacWrite(25, i);
  }
}

 

Page 187 Note: Only works on an ESP32 or ESP32 S2

void setup() {
}
void loop() {
  for (uint8_t i = 0; i < 256; i+= 32) {
    dacWrite(25, i);
  }
}

 

Page 187 Note: Only works on an ESP32 or ESP32 S2

uint8_t wave[256];

void setup() {
   for (int i = 0; i < 256; i++) {
    wave[i] = (uint8_t)((128.0 +
            sinf((float)i * 2.0 * 3.14159 / 255.0) * 128.0));
  }
}
void loop() {
  for (int i = 0; i < 256; i++) {
    dacWrite(25, wave[i]);
  }
}

 

Page 190

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

void loop() {
  int touch = touchRead(4);
  Serial.println(touch);
  delay(1000);
}

 

Page 191 

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

void loop() {
  int touch = touchRead(4);
  if (touch > 25000) {
    Serial.println("pressed");
  }
  delay(1000);
}

 

Page 192

void ISR(void){
  digitalWrite(2, !digitalRead(2));
}

void setup() {
  pinMode(2, OUTPUT);
  touchAttachInterrupt(4,ISR,50000);
  Serial.begin(9600);
}

void loop() {  
}