Skip to content

SheLearningCode/MQTT-LED--Touchsensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

This is a MQTT Project using Arduino, couple of sensors and an ESP32 controller. This is basic C code.

const int buttonPin = D1;    // Button - auf D1, 3v auf S

const int redPin = D2;       // LED - auf GND, LED G auf D2

const int bluePin = D3;     // LED B auf D3

const int greenPin = D4;   // LED R auf D4 , beschriftung auf LED scheint falsch zu sein...

const int touchSensor = D5; // Touch Sensor
   


        
int zaehler = 0;            // Zähler initialisieren

int buttonStatus = 0;        // Status des Buttons initialisieren

int letzterButtonStatus = 0;    // Status des Buttons auf 0 setzen

int touchStatus = 0;

int letzterTouchStatus = 0;


void setup() {
  pinMode(buttonPin, INPUT);    // Button auf Input setzen
  
  pinMode(redPin, OUTPUT);      // Pins der LED auf Output setzen
  
  pinMode(bluePin, OUTPUT);
  
  pinMode(greenPin, OUTPUT);
  
  Serial.begin(115200);         // Geschwindigkeit festlegen, optional, notwendig um Serial.print auszulesen
  
  pinMode(touchSensor, INPUT);
}

void loop() {
  touchStatus = digitalRead(touchSensor); // Status des Touchsensors wird ausgelesen
 if (touchStatus != letzterTouchStatus) {  // wenn der Status des Sensors nicht mit dem gespeicherten Wert
    if (touchStatus == HIGH) {          // übereinstimmt, wird 1 hochgezählt
      zaehler++;
      Serial.println(zaehler);
    } else if (zaehler >= 4){           // wenn der Zähler bei 4 steht, wird er auf 0 zurückgesetzt
      zaehler = 0;
      } else {
    }
    delay(100);                          // kurze Pause, um falsches Auslesen zu vermeiden
 }
   letzterTouchStatus = touchStatus;       // neuen Touch Status speichern

  if (zaehler == 1) {                   // Begin der Schleife, wenn Zähler = 1 -> LED ist Rot
    digitalWrite(redPin, HIGH);         
    digitalWrite(bluePin, LOW);
    digitalWrite(greenPin, LOW);
  } else if (zaehler == 2) {            // Wenn Zähler = 2 -> LED ist Blau
    digitalWrite(redPin, LOW);
    digitalWrite(bluePin, HIGH);
    digitalWrite(greenPin, LOW);
  } else if (zaehler == 3){             // Wenn Zähler = 3 -> LED ist Grün
    digitalWrite(redPin, LOW);
    digitalWrite(bluePin, LOW);
    digitalWrite(greenPin, HIGH);
    } else if (zaehler == 4) {          // Wenn Zähler = 4 -> LED ist aus
    digitalWrite(redPin, LOW);
    digitalWrite(bluePin, LOW);
    digitalWrite(greenPin, LOW);  
      }
      buttonStatus = digitalRead(buttonPin);
      if (buttonStatus != letzterButtonStatus) {
        if (buttonStatus == HIGH) {
            Serial.println("Neue Nachricht: ");
            Serial.println(zaehler);
            }
        delay(50);
        }
  letzterButtonStatus = buttonStatus;
}

About

this is a repo used for my MQTT arduino esp32 project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published