Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
esp32:esp32_main [2018/02/23 14:47]
admin [WeMos ESP32 OLED Board]
esp32:esp32_main [2020/11/17 15:59]
admin [DAC and ADC]
Line 2: Line 2:
  
 [[https://espressif.com/en/products/hardware/esp32/resources|Dokumentation and Datasheet]]\\ [[https://espressif.com/en/products/hardware/esp32/resources|Dokumentation and Datasheet]]\\
 +
 +[[https://leanpub.com/kolban-ESP32|Kolban's Book on ESP32]]\\
 +
 [[https://github.com/pcbreflux/espressif]]\\ [[https://github.com/pcbreflux/espressif]]\\
 +
 {{:esp32:esp323_pinout_wroom_pinout.png?600|}}\\ {{:esp32:esp323_pinout_wroom_pinout.png?600|}}\\
 +
 +----
 +===== Serial to USB Driver =====
 +
 +- [[https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers| SiLabs CP2104]]\\
 +- [[https://github.com/himalayanelixir/Arduino_USB_Drivers|CH340]]\\
  
 ---- ----
Line 16: Line 26:
 </html> </html>
  
-=== Upload a Scetch ===+=== Upload a Sketch ===
 The Examples for the ESP32 become visible after selecting **ESP32 DEV MODULE** in the Arduino IDE.\\ The Examples for the ESP32 become visible after selecting **ESP32 DEV MODULE** in the Arduino IDE.\\
-Set the flashing speed to 460800 or lower.\\ +Set the flashing speed to 460800 or lower (115200).\\ 
-Upload your scetch.\\+Upload your sketch.\\
 It could be necessary to start the IDE with administrator rights, too.\\ It could be necessary to start the IDE with administrator rights, too.\\
 +
 +----
 +=== Special Hardware Configuration ====
 +
 +** The I/O pins are not 5V-tolerant! **\\
 +Use 3.3V instead.\\
 +\\
 +The build in LED is on GPIO 2.\\
 +\\
 +GPIO 34, 35, 36, 37, 38 and 39 are input only. And don't have a software pull-up or pull-down functions. One has to use an external 10k pull-up resistor.\\
 +\\
 +GPIO 6, 7, 8, 9, 10 and 11 are used for the SPI flash chip and can't be used  for any other purposes.\\
  
 ---- ----
Line 26: Line 48:
  
 {{:esp32:ita4kni.jpg?600|}}\\ {{:esp32:ita4kni.jpg?600|}}\\
-The OLED is connected to pin5 (SDA) and to pin 4 (SCL).\\+The OLED is connected like that:\\ 
 +    pin5 SDA 
 +    pin4 - SCL
 The I2C address of the screen is 0x3c.\\ The I2C address of the screen is 0x3c.\\
 +    #include "SSD1306.h" 
 +    SSD1306  display(0x3c, 5, 4);
  
 Librarie:\\ Librarie:\\
Line 82: Line 107:
  
 ---- ----
 +==== Adafruit HUZZAH32 – ESP32 Feather Board ====
 +
 +[[https://www.adafruit.com/product/3405|Adafruit HUZZAH32 – ESP32 Feather Board]]\\
 +[[https://learn.adafruit.com/adafruit-huzzah32-esp32-feather|Adafruit Learn Guid]]\\
 +
 +----
 +===== DAC and ADC =====
 +
 +**ADC**\\
 +   analogRead(GPIO);
 +   analogReadResolution(resolution) //set the sample bits and resolution in bits, 9 => (0 – 511) and 12 => (0 – 4095), default 12
 +
 +   analogSetWidth(width) //set the sample bits and resolution
 +   analogSetCycles(cycles) //set the number of cycles per sample, range: 1 - 255, default 8 
 +   analogSetSamples(samples) //set the number of samples in the range, default is 1 sample
 +   analogSetClockDiv(attenuation) //set the divider for the ADC clock, range: 1 - 255, default is 1
 +   analogSetAttenuation(attenuation) //sets the input attenuation for all ADC pins. Default is ADC_11db. Accepted values:
 +    ADC_0db: sets no attenuation (1V input = ADC reading of 1088).
 +    ADC_2_5db: sets an attenuation of 1.34 (1V input = ADC reading of 2086).
 +    ADC_6db: sets an attenuation of 1.5 (1V input = ADC reading of 2975).
 +    ADC_11db: sets an attenuation of 3.6 (1V input = ADC reading of 3959).
 +   analogSetPinAttenuation(pin, attenuation) //sets the input attenuation for the pin, default is ADC_11db
 +   adcAttachPin(pin) //attach a pin to ADC, returns TRUE or FALSE
 +   adcStart(pin) //starts an ADC conversion on attached pin’s bus 
 +   adcBusy(pin) //check if conversion on the pin’s ADC bus is running, returns TRUE or FALSE 
 +   adcEnd(pin) //get the result of the conversion: returns 16-bit integer
 +
 +taken from: [[https://www.malabdali.com/esp32-adc-and-dac/]]
 +
 +**DAC**\\
 +The ESP32 has two DAC pins, GPIO25 and GPIO26. The resolution is 8 bits.\\
 +   dacWrite(25, Value); // 255=3.3V 128=1.65V 0=0.0V
 +For generating a sine wave one finds a good manual here: [[https://www.xtronical.com/basics/audio/dacs-on-esp32/|DAC’s on ESP32]]\\
 +
 +----
 +