• Categories
  • Recent
  • Popular
  • Tags
  • Users
  • Groups
  • Register
  • Login
MakerGram Logo

MakerGram

  • Register
  • Login
  • Search
  • Categories
  • Recent
  • Popular
  • Tags
  • Users
  • Groups

ESP32 with a capacitive sensor

ESP32
2
5
1.0k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F
    FlorianB last edited by 1 Jun 2020, 12:49

    Hi! I am trying to add an capacitive sensor to the ESP32, that will work through glass with 3mm thickness and an distance of 8 to 2 cm. I have bought sensors which only work on touch, i have looked into the touchRead() function but cant get a steady value increase/decrease with distance and only a real touch gets me enough difference to count it as a "touch". I have checked Arduino examples with foil where a resistor can set the sensitivity but nothing worked on my ESP32. i have spent hours looking for an example, can somebody point me to one please?

    salmanfaris 1 Reply Last reply 1 Jun 2020, 15:12 Reply Quote 0
    • salmanfaris
      salmanfaris @FlorianB last edited by 1 Jun 2020, 15:12

      @FlorianB Can you share the code, output window/error and details of the sensor module?

      F 2 Replies Last reply 1 Jun 2020, 15:36 Reply Quote 0
      • F
        FlorianB @salmanfaris last edited by 1 Jun 2020, 15:35

        @salmanfaris I haven't found a good sensor module for this at all. I used a thing which was calles touch sensor and it returns only 1/0. Tried to use touchRead() but it is not sensitive apparently, only 40 and 1 more or less.

        #define touch_pin_numer 33

        const int VALUE_THRESHOLD = 30;
        int TOUCH_SENSOR_VALUE;
        void setup()
        {
        Serial.begin(115200);
        delay(1000);

        }
        void loop(){
        TOUCH_SENSOR_VALUE = touchRead(touch_pin_numer);
        Serial.println(TOUCH_SENSOR_VALUE);
        if(TOUCH_SENSOR_VALUE < VALUE_THRESHOLD)
        {
        Serial.println ("Touch ON");
        }
        else{
        Serial.println ("Touch OFF");
        }
        }

        should show something between 40 (current max) and 1 (current min) the closer the finger gets but it shows 40/41/39 and 1 - nothing inbetween. got this code from the web

        salmanfaris 1 Reply Last reply 5 Jun 2020, 06:53 Reply Quote 0
        • F
          FlorianB @salmanfaris last edited by 1 Jun 2020, 15:36

          @salmanfaris best if you could point me to an example that works as described: getting different values depending on hoe close the finger is without really touching. nothing i tried did work yet

          1 Reply Last reply Reply Quote 0
          • salmanfaris
            salmanfaris @FlorianB last edited by salmanfaris 5 Jun 2020, 06:54 5 Jun 2020, 06:53

            @FlorianB said in ESP32 with a capacitive sensor:

            I haven't found a good sensor module for this at al

            One of my friend used TP223 Touch button module from Ali express, and it's worked fine also @Akhil also used on of module.

            another option is that you can build capacitive sensor your own with resistors.

            1 Reply Last reply Reply Quote 0
            1 out of 5
            • First post
              1/5
              Last post

            Recent Posts

            • @mahesh02 From the current Arduino ESP32 board files, we don't need to install the ESP-NN separately.

              But try to choose the esp32 board version 3.1.3 and check, as I also faced issues with the latest esp32 board file.

              26 Mar 2025, 10:52 • read more
            • M

              Im having the same error as below, it will be really awesome if you can help me.

              In file included from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_classifier_types.h:40,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_model_types.h:40,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:38,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/mahesh02-project-1_inferencing.h:49,
              from C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:27:
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/model-parameters/model_metadata.h:108:2: warning: #warning 'EI_CLASSFIER_OBJECT_DETECTION_COUNT' is used for the guaranteed minimum number of objects detected. To get all objects during inference use 'bounding_boxes_count' from the 'ei_impulse_result_t' struct instead. [-Wcpp]
              #warning 'EI_CLASSFIER_OBJECT_DETECTION_COUNT' is used for the guaranteed minimum number of objects detected. To get all objects during inference use 'bounding_boxes_count' from the 'ei_impulse_result_t' struct instead.
              ^~~~~~~
              In file included from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/memory.hpp:38,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/ei_alloc.h:34,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/ei_vector.h:34,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/numpy_types.h:40,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/ei_dsp_handle.h:35,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_model_types.h:41,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:38,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/mahesh02-project-1_inferencing.h:49,
              from C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:27:
              c:\users\mahesh\onedrive\documents\arduino\libraries\mahesh02-project-1_inferencing\src\edge-impulse-sdk\porting\ei_classifier_porting.h:310: warning: "EI_PORTING_ARDUINO" redefined
              #define EI_PORTING_ARDUINO 0

              c:\users\mahesh\onedrive\documents\arduino\libraries\mahesh02-project-1_inferencing\src\edge-impulse-sdk\porting\ei_classifier_porting.h:279: note: this is the location of the previous definition
              #define EI_PORTING_ARDUINO 1

              In file included from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/speechpy.hpp:35,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_dsp.h:40,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:41,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/mahesh02-project-1_inferencing.h:49,
              from C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:27:
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp: In static member function 'static int ei::speechpy::feature::mfe(ei::matrix_t*, ei::matrix_t*, ei::signal_t*, uint32_t, float, float, uint16_t, uint16_t, uint32_t, uint32_t, uint16_t)':
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:236:52: warning: missing initializer for member 'ei::speechpy::ei_stack_frames_info::frame_ixs' [-Wmissing-field-initializers]
              stack_frames_info_t stack_frame_info = { 0 };
              ^
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:236:52: warning: missing initializer for member 'ei::speechpy::ei_stack_frames_info::frame_length' [-Wmissing-field-initializers]
              In file included from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/speechpy.hpp:35,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_dsp.h:40,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:41,
              from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/mahesh02-project-1_inferencing.h:49,
              from C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:27:
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp: In static member function 'static int ei::speechpy::feature::mfe_v3(ei::matrix_t*, ei::matrix_t*, ei::signal_t*, uint32_t, float, float, uint16_t, uint16_t, uint32_t, uint32_t, uint16_t)':
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:436:52: warning: missing initializer for member 'ei::speechpy::ei_stack_frames_info::frame_ixs' [-Wmissing-field-initializers]
              stack_frames_info_t stack_frame_info = { 0 };
              ^
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:436:52: warning: missing initializer for member 'ei::speechpy::ei_stack_frames_info::frame_length' [-Wmissing-field-initializers]
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp: In static member function 'static int ei::speechpy::feature::spectrogram(ei::matrix_t*, ei::signal_t*, float, float, float, uint16_t, uint16_t)':
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:576:52: warning: missing initializer for member 'ei::speechpy::ei_stack_frames_info::frame_ixs' [-Wmissing-field-initializers]
              stack_frames_info_t stack_frame_info = { 0 };
              ^
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:576:52: warning: missing initializer for member 'ei::speechpy::ei_stack_frames_info::frame_length' [-Wmissing-field-initializers]
              In file included from C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/mahesh02-project-1_inferencing.h:49,
              from C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:27:
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h: In function 'EI_IMPULSE_ERROR {anonymous}::process_impulse(ei_impulse_handle_t*, ei::signal_t*, ei_impulse_result_t*, bool)':
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:307:23: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]
              ei_printf("ERR: Out of memory, can't allocate matrix_ptrs[%lu]\n", ix);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:312:23: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]
              ei_printf("ERR: Out of memory, can't allocate matrix_ptrs[%lu]\n", ix);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h: In function 'EI_IMPULSE_ERROR {anonymous}::process_impulse_continuous(ei_impulse_handle_t*, ei::signal_t*, ei_impulse_result_t*, bool)':
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:558:27: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]
              ei_printf("ERR: Out of memory, can't allocate matrix_ptrs[%lu]\n", ix);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
              C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:563:27: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]
              ei_printf("ERR: Out of memory, can't allocate matrix_ptrs[%lu]\n", ix);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
              C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino: In function 'void loop()':
              C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:181:38: warning: missing initializer for member 'ei_impulse_result_t::bounding_boxes_count' [-Wmissing-field-initializers]
              ei_impulse_result_t result = { 0 };
              ^
              C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:181:38: warning: missing initializer for member 'ei_impulse_result_t::classification' [-Wmissing-field-initializers]
              C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:181:38: warning: missing initializer for member 'ei_impulse_result_t::anomaly' [-Wmissing-field-initializers]
              C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:181:38: warning: missing initializer for member 'ei_impulse_result_t::timing' [-Wmissing-field-initializers]
              C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:181:38: warning: missing initializer for member 'ei_impulse_result_t::copy_output' [-Wmissing-field-initializers]
              C:\Users\Mahesh\AppData\Local\Temp\arduino_modified_sketch_680639\esp32_camera.ino:181:38: warning: missing initializer for member 'ei_impulse_result_t::postprocessed_output' [-Wmissing-field-initializers]
              cc1plus.exe: some warnings being treated as errors
              Using library mahesh02-project-1_inferencing at version 1.0.1 in folder: C:\Users\Mahesh\OneDrive\Documents\Arduino\libraries\mahesh02-project-1_inferencing
              exit status 1
              Error compiling for board AI Thinker ESP32-CAM.

              23 Mar 2025, 17:23 • read more
            • This also happened to me when I was given a task from my company, So what I can recommend is:
              Ensure that the correct board, "AI Thinker ESP32-CAM," is selected in the Tools menu of your Arduino IDE.
              If the board is not listed, you may need to install it through the Board Manager. Search for "ESP32" and install the latest version.
              Ensure that necessary libraries like ESP32-CAM, WiFi, and HTTPClient are installed. You can install them through the Library Manager.

              Carefully check your code for typos, missing semicolons, or incorrect syntax.
              Verify that you're using the correct function names and parameters.

              12 Dec 2024, 04:50 • read more
            • Hi @PumpedMedusa, The rage is depends on the Antenna and how much TX power you have.

              To choose antenna, first you need figure out - where your nodes will be, take a look at the below image. The antenna act like a "torch" if you have more dbi that mean it's focus will be increase and it can reach more distance but the angle it have it less, like a laser.

              458a3da2-175a-4968-917c-56c5a1b763f8-image.png

              also, obstacle such as buildings, tress and mountains will affect the signal and deplete it.

              afe5eba4-b192-4263-8596-80c912fc1f23-image.png

              So, answer for you question - What is the best LoRa module to use for long distance network? - It's really depends on where you planning to put the nodes and how high you putting the gateway. Let me know know your thoughts.

              27 Oct 2024, 08:11 • read more
            • @Parves-DOMINO Did you able to solve the issue?

              27 Oct 2024, 08:05 • read more
            By MakerGram | A XiStart Initiative | Built with ♥ NodeBB
            Copyright © 2023 MakerGram, All rights reserved.
            Privacy Policy | Terms & Conditions | Disclaimer | Code of Conduct