feat: add TTP223 touch sensor support and wiring configuration
This commit is contained in:
parent
07a919b6ba
commit
2bf7c9fb7d
@ -19,6 +19,12 @@ const uint16_t SCALE_LEVEL_WEIGHT = 500;
|
||||
uint16_t defaultScaleCalibrationValue = 430;
|
||||
// ***** HX711
|
||||
|
||||
// ***** TTP223 (Touch Sensor)
|
||||
// TTP223 circuit wiring
|
||||
const uint8_t TTP223_PIN = 15;
|
||||
// ***** TTP223
|
||||
|
||||
|
||||
// ***** Display
|
||||
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
|
||||
// On an ESP32: 21(SDA), 22(SCL)
|
||||
|
@ -11,6 +11,8 @@ extern const uint8_t LOADCELL_SCK_PIN;
|
||||
extern const uint8_t calVal_eepromAdress;
|
||||
extern const uint16_t SCALE_LEVEL_WEIGHT;
|
||||
|
||||
extern const uint8_t TTP223_PIN;
|
||||
|
||||
extern const int8_t OLED_RESET;
|
||||
extern const uint8_t SCREEN_ADDRESS;
|
||||
extern const uint8_t SCREEN_WIDTH;
|
||||
|
30
src/main.cpp
30
src/main.cpp
@ -39,7 +39,6 @@ void setup() {
|
||||
setupWebserver(server);
|
||||
|
||||
// Spoolman API
|
||||
// api.cpp
|
||||
initSpoolman();
|
||||
|
||||
// Bambu MQTT
|
||||
@ -48,6 +47,7 @@ void setup() {
|
||||
// NFC Reader
|
||||
startNfc();
|
||||
|
||||
// Scale
|
||||
start_scale();
|
||||
|
||||
// WDT initialisieren mit 10 Sekunden Timeout
|
||||
@ -56,6 +56,9 @@ void setup() {
|
||||
|
||||
// Aktuellen Task (loopTask) zum Watchdog hinzufügen
|
||||
esp_task_wdt_add(NULL);
|
||||
|
||||
// Touch Sensor
|
||||
pinMode(TTP223_PIN, INPUT_PULLUP);
|
||||
}
|
||||
|
||||
|
||||
@ -91,6 +94,12 @@ const unsigned long wifiCheckInterval = 60000; // Überprüfe alle 60 Sekunden (
|
||||
void loop() {
|
||||
unsigned long currentMillis = millis();
|
||||
|
||||
// Überprüfe den Status des Touch Sensors
|
||||
if (digitalRead(TTP223_PIN) == LOW)
|
||||
{
|
||||
tareScale();
|
||||
}
|
||||
|
||||
// Überprüfe regelmäßig die WLAN-Verbindung
|
||||
if (intervalElapsed(currentMillis, lastWifiCheckTime, wifiCheckInterval))
|
||||
{
|
||||
@ -158,25 +167,6 @@ void loop() {
|
||||
{
|
||||
lastWeightReadTime = currentMillis;
|
||||
|
||||
// Prüfen ob die Waage korrekt genullt ist
|
||||
if ((weight > 0 && weight < 5) || weight < -1)
|
||||
{
|
||||
if(scaleTareCounter < 5)
|
||||
{
|
||||
scaleTareCounter++;
|
||||
}
|
||||
else
|
||||
{
|
||||
scaleTareRequest = true;
|
||||
scaleTareCounter = 0;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
scaleTareCounter = 0;
|
||||
}
|
||||
|
||||
// Prüfen ob das Gewicht gleich bleibt und dann senden
|
||||
if (weight == lastWeight && weight > 5)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user