mirror of
https://github.com/nopnop2002/esp-idf-ssd1306.git
synced 2024-10-03 18:18:47 -04:00
Changed from ADC_WIDTH_BIT_12 to ADC_WIDTH_BIT_DEFAULT
This commit is contained in:
parent
e03749df3f
commit
8e912d376a
@ -15,10 +15,10 @@ You will need an analog source to run this demo.
|
|||||||
Connect the analog source to the following GPIO.
|
Connect the analog source to the following GPIO.
|
||||||
These are all channel 0 of ADC1.
|
These are all channel 0 of ADC1.
|
||||||
|
|
||||||
- Analog input gpio for ESP32 is GPIO36.
|
- Analog input gpio for ESP32 is GPIO36. 12Bits width.
|
||||||
- Analog input gpio for ESP32S2 is GPIO01.
|
- Analog input gpio for ESP32S2 is GPIO01. 13Bits width.
|
||||||
- Analog input gpio for ESP32S3 is GPIO01.
|
- Analog input gpio for ESP32S3 is GPIO01. 12Bits width.
|
||||||
- Analog input gpio for ESP32C3 is GPIO00.
|
- Analog input gpio for ESP32C3 is GPIO00. 12Bits width.
|
||||||
|
|
||||||
Schematic I used:
|
Schematic I used:
|
||||||
```
|
```
|
||||||
|
@ -143,9 +143,7 @@ void app_main(void)
|
|||||||
{
|
{
|
||||||
adc_calibration_init();
|
adc_calibration_init();
|
||||||
// ADC1 config
|
// ADC1 config
|
||||||
//ESP_ERROR_CHECK(adc1_config_width(ADC_WIDTH_BIT_DEFAULT));
|
ESP_ERROR_CHECK(adc1_config_width(ADC_WIDTH_BIT_DEFAULT));
|
||||||
//ESP_ERROR_CHECK(adc1_config_width(ADC_WIDTH_BIT_10));
|
|
||||||
ESP_ERROR_CHECK(adc1_config_width(ADC_WIDTH_BIT_12));
|
|
||||||
ESP_ERROR_CHECK(adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_EXAMPLE_ATTEN));
|
ESP_ERROR_CHECK(adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_EXAMPLE_ATTEN));
|
||||||
|
|
||||||
SSD1306_t dev;
|
SSD1306_t dev;
|
||||||
@ -209,8 +207,13 @@ void app_main(void)
|
|||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
//ssd1306_clear_screen(&dev, false);
|
//ssd1306_clear_screen(&dev, false);
|
||||||
int sample = adc1_get_raw(ADC1_CHANNEL_0); // 12 bits sampling
|
int sample = adc1_get_raw(ADC1_CHANNEL_0);
|
||||||
sample = sample / 4; // 12 bits -> 10 bits. Because the original code is for ATMEGA328.
|
if (ADC_WIDTH_BIT_DEFAULT == 3) {
|
||||||
|
sample = sample / 4; // 12 bits -> 10 bits. Because the original code is for ATMEGA328.
|
||||||
|
}
|
||||||
|
if (ADC_WIDTH_BIT_DEFAULT == 4) {
|
||||||
|
sample = sample / 8; // 13 bits -> 10 bits. Because the original code is for ATMEGA328.
|
||||||
|
}
|
||||||
ESP_LOGD(TAG, "sample=%d", sample);
|
ESP_LOGD(TAG, "sample=%d", sample);
|
||||||
float MeterValue = sample * 120.079 / 1023;
|
float MeterValue = sample * 120.079 / 1023;
|
||||||
MeterValue = MeterValue - 60.039;
|
MeterValue = MeterValue - 60.039;
|
||||||
@ -225,7 +228,7 @@ void app_main(void)
|
|||||||
|
|
||||||
// Display the entire image
|
// Display the entire image
|
||||||
ssd1306_show_buffer(&dev);
|
ssd1306_show_buffer(&dev);
|
||||||
vTaskDelay(100 / portTICK_PERIOD_MS);
|
vTaskDelay(1);
|
||||||
|
|
||||||
// Erase needle
|
// Erase needle
|
||||||
_ssd1306_line(&dev, a1, a2, hMeter, vMeter, true);
|
_ssd1306_line(&dev, a1, a2, hMeter, vMeter, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user