Week 8: Input Devices

About 📓

  • Group assignment: Probe an input device's analog levels and digital signals

  • Individual assignment: Measure something: add a sensor to a microcontroller board that you have designed and read it

  • Process ✏️

    For this week I was determined to make my ESP32C3 display speed, distance, and time from my accelerometer.
    To do this, I wanted to similuate the code and microcontroller in Wokwi, so that when I moved to hardwre I'd be good to go.

    Here are the tools that I used:

  • ESP32C3 ➡️ which later turned to the RP2040
  • MPU 6050
  • Arduino IDE
  • Measure Something Process

    For my final project, I'm focused on creating a scrunchie that measures running distance, time, and speed. Simuliating this in Wokwi was a great step to control my output.

    Wokwi

    Set up enviorment

    Once my simulated enviroment was set, it was time to move to setting up my input devices!

    Wokwi

    Set up hardware

    Sadly, this did not work. I had a hard time figuring out why,

    Wokwi


    Let's just say... spiral development at it's finest.

    After many tries, I had to scratch this process and download new libraries.

    So... here's part 2:

    ESP32C3 is not processing data from the accelerometer. I soldered the headers to my MPU6050, but I am not getting an updated output in my serial monitor.
    I know my baud of 115200 was right too. I went to office hours to try to figure this out, and Leo was a HUGE help.

    We did some testing, and decided to swap the ESP32C3 for the RP2040. One of the key differences between these microcontrollers is the access to Wifi, but for my final project,
    I likely won’t even need that. I plan to use an SD card to collect data from my accelerometer.

    Once I switched to the RP2040, I had to update my pins on my breadboard for the I2C inputs (SDA and SCL).

    Wokwi

    Wokwi

    Once we made some headway on that front and I wasn't using a workout to connect pins, we started to see some progress.

    I was constantly referring to the Arduino documenation while making this microcontroller switch (link to doucmentation).
    the hello.ino code the Neil provided was very helpful too. Especailly when I wasn't sure on what exactly was the root problem,
    working off of this samplr code was a great tool


    Revisiting a few weeks later...

    Hello again! I am revisiting input week with a WORKING heartrate monitor (MAX30102).
    Super excited and getting the hang of working with i2c, soldering, and inputs/ outputs. Please see below for my Arduino code!
     Big centered image of project  Big centered image of project

    Probing Input Devices

    The group project was to probe input devices for digital and analog signals. We used an oscilloscope to measure varying signals.

    Probing an input device's analog levels and digital signals using an oscilloscope is a fundamental technique in electronics and circuit analysis.
    An oscilloscope is a versatile instrument that allows for visualizing and measuring electrical signals over time.

    Oscilloscope

    Reflection 🤔

    For this week I was determined to make my ESP32C3 display speed, distance, and time from my accelerometer.

    This was a really useful project for me because it pushed me to scope my final project even more. Now I'm leaning in the direction of creating a sensor in the shape of a hair scrunchie. This sensor will take in Data from the accelerometer with distance speed and time and GPS location so that you can easily navigate back to where you were or people can find you when you're on the move.

    Because I'm still new to electronics Anthony & the amazing TF’s help have been so informative. it's true that just by learning and doing the sheer Act of putting wires together and soldering these sensors teaches you so much in the process. I was a bit frustrated because my work week code didn't directly Translate to my Arduino code and I was really frustrated when I was burning multiple microcontrollers.

    Project Resources 🔗

    ESP2C3 Code (FAILED!)

    RP2040 (WORKING!)

    Working RP2040 / MPU 6050 Arduino Code

    MPU-6050 IMU hello-world