Liste der Anhänge anzeigen (Anzahl: 1)
ESP8266 D1 mini durch ESP32 D1 mini ersetzen
hallo allerseits,
ich habe ein projekt mit ESP8266 (links im bild) ausgeführt, es funktionierte so weit alles, nun möchte ich etwas ähnliches mit dem ESP32 (rechts im bild) realisieren.
Anhang 35358
an beiden controlern ist ein 4-tastenfeld angeschlossen. Am ESP8266 am A0, dem einzigen pin, den man analog auslesen kann. Mit drei widerständen funktioniert auch das identifizieren und auswerten der einzelnen tasten....
Nun zum ESP32.
Das pinout der beiden inneren pinreihen des ESP32 ist ja identisch mit dem pinout des ESP8266, deshalb wollte ich auch am ESP32 den "A0" - hier GPIO36 nutzen. Was ich auch mache, es klappt einfach nicht. Weder mit "normal" analog auslesen des GPIO36, noch mit hilfe der adc-library (#include "driver/adc.h") wie es im netz auch behandelt wird...
Hat sich jemand mit sowas schon mal beschäftigt? Ich habe inzwischen schon zwei tage dran verbracht - wäre für jeden tipp dankbar...
Liste der Anhänge anzeigen (Anzahl: 2)
das ist der aufbau
Anhang 35359
so ist der ESP verdrahtet
Anhang 35360
code_1
Code:
//node 32s
#include "driver/adc.h"
//tastenfeld
uint8_t taste_keypad;
void setup()
{
Serial.begin(115200);
adc1_config_width(ADC_WIDTH_BIT_12);
adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_DB_0);
}
void loop()
{
taste_keypad = adc1_get_raw(ADC1_CHANNEL_0);
Serial.println(taste_keypad);
delay(2000);
}
code_2
Code:
//node 32s
//tastenfeld
uint8_t taste_keypad;
void setup()
{
Serial.begin(115200);
//tasten abfrage initialisieren
pinMode(36, INPUT_PULLUP);//A0
}
void loop()
{
taste_keypad = analogRead (36);
Serial.println(taste_keypad);
delay(2000);
}
bei beiden codebeispielen wird "255" auf dem serial monitor ausgegeben, wobei code_2 für den ESP8266 geschrieben wurde und dort auch die vier tastenwerte ausgegeben werden.
Ich denke das liegt an der "initialisierung" des GPIO36, ich habe aber nicht rausfinden können wo dort das problem liegt. Wie gesagt, code_2 (mit A0 statt GPIO36) funktioniert bei ESP8266