- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: ESP8266 D1 mini durch ESP32 D1 mini ersetzen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    das mit den anderen pins hat nicht für die analoge abfrage der pins funktioniert. Nun habe ich 4 digitale GPIOS genommen (16,17,21,22) und frage diese mit dem code ab:

    Code:
    //board "node32s"
    
    // RGB LED
    #define ledPin_bl 19
    #define ledPin_gn  23
    #define ledPin_rt 5
    
    
    //tastenfeld
    #define taste_1 21
    #define taste_2 22
    #define taste_3 16
    #define taste_4 17
    
    //int ausgang_1 = 13;
    
    boolean zustand_taste_1 = LOW;
    boolean zustand_taste_2 = LOW;
    boolean zustand_taste_3 = LOW;
    boolean zustand_taste_4 = LOW;
    
    #include <SoftwareSerial.h>
    SoftwareSerial BTserial(18, 26); //9,10
    
    void setup()
    {
      Serial.begin(115200);
    //  pinMode(ausgang_1, OUTPUT);
    
      //tastenfeld
      pinMode(taste_1, INPUT);
      pinMode(taste_2, INPUT);
      pinMode(taste_3, INPUT);
      pinMode(taste_4, INPUT);
    
      //RGB LED
      pinMode(ledPin_bl, OUTPUT);
      pinMode(ledPin_gn, OUTPUT);
      pinMode(ledPin_rt, OUTPUT);
    
    
    
      BTserial.begin(115200);
    
    }
    
    void loop()
    {
      zustand_taste_1 = digitalRead(taste_1);
      zustand_taste_2 = digitalRead(taste_2);
      zustand_taste_3 = digitalRead(taste_3);
      zustand_taste_4 = digitalRead(taste_4);
    
    
      if (zustand_taste_1 == HIGH)
      {
        digitalWrite(zustand_taste_1, HIGH);
        BTserial.println("e");
    
        digitalWrite(ledPin_bl, HIGH);
        //digitalWrite(ledPin_rt, HIGH);
        delay(500);
        digitalWrite(ledPin_bl, LOW);
        //digitalWrite(ledPin_rt, LOW);
        delay(500);
    
        Serial.println("taste 1 gedrückt");
        delay(1000);
      }
    
      if (zustand_taste_2 == HIGH)
      {
        digitalWrite(zustand_taste_2, HIGH);
        BTserial.println("f");
    
        digitalWrite(ledPin_rt, HIGH);
        delay(500);
        digitalWrite(ledPin_rt, LOW);
        delay(500);
    
        Serial.println("taste 2 gedrückt");
        delay(1000);
      }
    
      if (zustand_taste_3 == HIGH)
      {
        digitalWrite(zustand_taste_3, HIGH);
        BTserial.println("g");
    
        digitalWrite(ledPin_gn, HIGH);
        delay(500);
        digitalWrite(ledPin_gn, LOW);
        delay(500);
    
        Serial.println("taste 3 gedrückt");
        delay(1000);
      }
    
      if (zustand_taste_4 == HIGH)
      {
        digitalWrite(zustand_taste_4, HIGH);
        BTserial.println("h");
    
        digitalWrite(ledPin_rt, HIGH);
        digitalWrite(ledPin_gn, HIGH);
        delay(500);
        digitalWrite(ledPin_gn, LOW);
        digitalWrite(ledPin_rt, LOW);
        delay(500);
    
        Serial.println("taste 4 gedrückt");
        delay(1000);
      }
    
    }
    die abfrage als solche funktioniert nun einwandfrei, ein anderes problem tauchte auf:

    die tasten (es ist ein folientastenfeld) verhalten sich nun als induktive tasten, will heissen ich muss sie gar nicht drücken, sondern nur mit dem finger in die nähe kommen und schon schalten sie. Ist ungünstig, weil ich eine haptische rückmeldung über das drücken einer taste brauche

    Ich glaube, die pins sind zu empfindlich. Wie kann ich diese empfindlichkeit reduzieren?

    btw: wenn ich die pindefinition um "_PULLUP" ergänze, werden die tasten der reihe nach durchgeschaltet, ohne das man was tut...
    gruß inka

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    716
    Hallo Inka,

    wie in meinen Post #4 erwähnt funktioniert INPUT_PULLUP nicht nach meiner Erfarhung. Du musst die Widerstände manuell setzen. So ab 1 kOhm oder höher würde ich empfehlen.

    Viele Grüße
    Andreas

Ähnliche Themen

  1. ESP32-C3: Espressif bringt zu ESP8266 kompatiblen RISC-V-Controller
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 23.11.2020, 09:50
  2. Classic-Mini-Konsole: Sega bringt Mini-Arcade zum Mitnehmen
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 07.07.2020, 16:10
  3. Antworten: 7
    Letzter Beitrag: 07.07.2020, 10:28
  4. Mini Robotics Mini Robot Kit (9-Servo)
    Von pinsel120866 im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 4
    Letzter Beitrag: 16.11.2008, 16:01
  5. mini mini Roboter
    Von roro13 im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 62
    Letzter Beitrag: 08.05.2006, 18:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen