Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
esp32:esp32_main [2017/12/15 23:40] admin [Programming the ESP32] |
esp32:esp32_main [2020/11/17 16:01] (current) admin [DAC and ADC] |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| [[https:// | [[https:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| [[https:// | [[https:// | ||
| + | |||
| {{: | {{: | ||
| + | |||
| + | ---- | ||
| + | ===== Serial to USB Driver ===== | ||
| + | |||
| + | - [[https:// | ||
| + | - [[https:// | ||
| ---- | ---- | ||
| Line 16: | Line 26: | ||
| </ | </ | ||
| - | === 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.\\ | ||
| + | |||
| + | ---- | ||
| + | === 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 25: | Line 48: | ||
| {{: | {{: | ||
| - | The OLED is connected | + | The OLED is connected |
| + | | ||
| + | pin4 - SCL | ||
| + | The I2C address of the screen is 0x3c.\\ | ||
| + | #include " | ||
| + | SSD1306 | ||
| Librarie:\\ | Librarie:\\ | ||
| [[https:// | [[https:// | ||
| Board: | Board: | ||
| + | Manuals:\\ | ||
| [[http:// | [[http:// | ||
| + | [[https:// | ||
| ---- | ---- | ||
| Line 60: | Line 90: | ||
| ---- | ---- | ||
| ==== Programming the ESP32 ==== | ==== Programming the ESP32 ==== | ||
| - | IO pin 34 and pin 35 don't work! | + | IO pin 34 and pin 35 don't work!\\ |
| + | **ESP-IDF Programming Guide**\\ | ||
| + | [[https:// | ||
| - | DAC:\\ | + | **the 8bit DAC:**\\ |
| [[https:// | [[https:// | ||
| + | # | ||
| + | void setup() { | ||
| + | } | ||
| + | void loop() { | ||
| + | for (int i=0; i<255; i++){ | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | Output is a signal between 0 and 3.2V with 76Hz. | ||
| ---- | ---- | ||
| + | ==== Adafruit HUZZAH32 – ESP32 Feather Board ==== | ||
| + | |||
| + | [[https:// | ||
| + | [[https:// | ||
| + | |||
| + | ---- | ||
| + | ===== DAC and ADC ===== | ||
| + | |||
| + | **ADC**\\ | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 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). | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | taken from: [[https:// | ||
| + | |||
| + | ---- | ||
| + | **DAC**\\ | ||
| + | The ESP32 has two DAC pins, GPIO25 and GPIO26. The resolution is 8 bits.\\ | ||
| + | | ||
| + | For generating a sine wave one finds a good manual here: [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||