MakerGram Logo

    MakerGram

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

    Max30102,MPU6050 and Esp8266

    ESP32
    3
    3
    508
    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.
    • A
      Adithya SM last edited by

      I am having some trouble connecting both the MAX30102 and MPU6050 sensors to my ESP8266 board. Both sensors use the I2C communication protocol to interface with the microcontroller.

      I have tried writing some baremetal code to read data from both sensors, but I am not getting any output values from either of them. I have also checked my wiring connections and confirmed that the sensors are receiving power.

      I would really appreciate any suggestions or advice on how to troubleshoot and resolve this issue. Specifically, I would like to know if there are any common issues that arise when using I2C communication with multiple sensors on an ESP8266 board. Additionally, if anyone has successfully interfaced these sensors with an ESP8266 board and can share their code or any tips, it would be greatly appreciated.

      salmanfaris 1 Reply Last reply Reply Quote 0
      • saheen_palayi
        saheen_palayi last edited by

        Hey @Adithya-SM
        Could you drop your code here?

        1 Reply Last reply Reply Quote 1
        • salmanfaris
          salmanfaris @Adithya SM last edited by

          @Adithya-SM Can you confirm the I2C address is correct? You can use this I2C Scanner to program to find the correct address

          
          // --------------------------------------
          // i2c_scanner
          //
          // Modified from https://playground.arduino.cc/Main/I2cScanner/
          // --------------------------------------
          
          #include <Wire.h>
          
          // Set I2C bus to use: Wire, Wire1, etc.
          #define WIRE Wire
          
          void setup() {
            WIRE.begin();
          
            Serial.begin(9600);
            while (!Serial)
               delay(10);
            Serial.println("\nI2C Scanner");
          }
          
          
          void loop() {
            byte error, address;
            int nDevices;
          
            Serial.println("Scanning...");
          
            nDevices = 0;
            for(address = 1; address < 127; address++ ) 
            {
              // The i2c_scanner uses the return value of
              // the Write.endTransmisstion to see if
              // a device did acknowledge to the address.
              WIRE.beginTransmission(address);
              error = WIRE.endTransmission();
          
              if (error == 0)
              {
                Serial.print("I2C device found at address 0x");
                if (address<16) 
                  Serial.print("0");
                Serial.print(address,HEX);
                Serial.println("  !");
          
                nDevices++;
              }
              else if (error==4) 
              {
                Serial.print("Unknown error at address 0x");
                if (address<16) 
                  Serial.print("0");
                Serial.println(address,HEX);
              }    
            }
            if (nDevices == 0)
              Serial.println("No I2C devices found\n");
            else
              Serial.println("done\n");
          
            delay(5000);           // wait 5 seconds for next scan
          }
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Recent Posts

          • O

            PHILADELPHIA Stealing a base against Phillies catcher J.T. Realmuto is never an easy feat. And it becomes even more challenging when Zack Wheeler, known for his ability to limit runners, is on the mound. Hitting a home run off Wheeler is tough too. But that didnt stop former Phillies teammate Rhys Hoskins, now with the Brewers, from trying to pull off both feats and sharing a moment of camaraderie with his old teammates during the Phillies' 3-1 victory on Monday night.

            In the fifth inning, Hoskins worked a walk to lead off the inning. Then, taking advantage of Wheelers delivery, he made a strong jump off first base and easily slid into second ahead of Realmutos throw. Hoskins couldnt resist glancing toward home plate with a smile as he locked eyes with the two-time Gold Glove catcher. Realmuto chuckled and tossed the ball back to Wheeler, asking the umpire for a fresh one.

            But Realmuto got the final laugh just two pitches later. When Brewers center fielder Blake Perkins hit a two-out single up the middle https://www.philliesplayerfanstore.com/max_kepler_jersey-281
            , Phillies center fielder Johan Rojas sprinted to field the ball and made a strong throw to Realmuto at the plate. As Hoskins slid toward home, Realmuto applied the tag, ending the inning.

            Realmuto spun around and gave Hoskins a friendly tap on the back, which Hoskins quickly returned before they both made their way back to their respective dugouts, grinning.

            Of course, I wish I couldve scored, Hoskins said. But Rojas made an excellent throw, and thats something well joke about forever.

            The stolen base attempt was part of an eventful inning for Hoskins, who shared an embrace with Bryce Harper at first base, much to the crowd's delight. A few batters later, Hoskins successfully stole second, marking his 17th career stolen base in seven seasons.

            Its worth noting that Wheeler, heading into Mondays game, had only allowed 17 stolen bases in five seasons with the Phillies https://www.philliesplayerfanstore.com/nick_castellanos_jersey-209
            , and just 11 of those were with Realmuto behind the plate. So, how did Hoskins manage to pull it off?

            https://www.philliesplayerfanstore.com

            • read more
          • @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.

            • 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.

            • 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.

            • 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.

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