top of page

Programming / Circuits

Anchor 1

MATLAB Class Assignments - ENGR 215 Computational Methods for Engineers and Scientists

I can use Matlab to:

 

Find relationships with data for scientific research or for studying an experiment I did for a company

 

Demonstrating my work by using Matlab as a visual tool

 

Solving problems that would take me forever if I were using Excel or calculating by hand

 

As an automation tool to save time and money

I feel confident if I have to program with Matlab in my career. If I was told to program again, I can trust that I can learn even more by researching online by searching Google, Stack Overflow, and using Matlab's userfriendly documentation.

One assignment that challenged me the most was to create a script that takes data from an ANSI tensile test, specifically from an Instron machine. The script outputted a graph of stress vs strain as well as the elastic modulus, toughness, ultimate tensile strength, and other properties of the tests. 

Techniques Acquired:

  • numerical methods (root finding, intercept finding, integration functions, differentiation functions, ode solvers)

  • plotting (2D, 3D, interpolations, regressions)

  • matrix manipulation by creating cells and structures

  • basic programming (functions, loops, recursion, etc.)

  • Most Important of All: I learned how to be patient when reading Matlab's documentation and when searching through other people's tutorials/solutions on forums.

Click to Learn More

Anchor 2

Integrating Sensors With a Microcontroller (ESP32) Using Python

Skills learned

  • Programming in Python

    • Plotting using Matplotlib​

  • Electronic Lab Bench Safety

    • Oscilloscopes, Multimeters, Power Sources​

  • Using an ESP32​

    • REPL​

    • Shell49

    • Connecting to Serial

    • Connecting to Wifi

    • Power Saving Mode

    • Reflashing the boot software boot.py

  • Internet of Things

    • Using MQTT​

  • Integrating electronic components

    • INA219 Current/Voltage measurer​

    • Solar cell

    • LiPo battery

For the class ME100 Internet of Things, I was able to create a system that is able to wake up from power-saving mode to occasionally read the voltage and current of a solar cell. The system uses a microcontroller, specifically, an ESP32. The system is coded in Python and utilizes an INA219 voltage/current sensing component.

 

The data is transmitted to a Matlab internet server using MQTT so I can read the data on my computer from a remote place. The system is portable since it runs off of a LiPo battery.

 

To save energy, the microcontroller was programmed to turn on for a brief moment, then to return to a power-saving mode. 

Phases for this project

  1. Setting up ESP32 to connect to WIFI and install boot.py

  2. Using MQTT for IoT capability

    1. ESP32 reads voltage/current and acts as the publisher​

    2. MQTT broker (iot.eclipse.org) sends the data publicly 

    3. Use my computer to see the plots the MQTT, broker creates

  3. Making the system be portable with energy-efficient power management

    1. Using a small LiPo battery ​

    2. Program deep sleep for the majority of the time (10 microA)

    3. Program awake (Wifi + processor) 6 measurements per hour, 10 seconds each (10 seconds @ 200 mA)

Anchor 3

Arduino, Ultrasonic Sensor - Park n' Beep - A Car Collision Retrofitting Detection Module

Skills Learned

  • Working with a team I met in less than a week

  • Creating diagrams like the Arduino circuit graphic, using Tinkercad, to communicate with an audience our work

  • Learning how the HC-SR04 ultrasonic sensor physical mechanics/how it works using spec sheets 

    • Learning important specifications: working voltage, current, max/min range, working angle ​

  • Reading forums and other programmer solutions to solve our my team's issues faster

  • Physically testing the practical limitations of the HC-SR04 using measurement

​For my 2019 winter break, I spent two weeks with students interested in doing research, but have never done research before. This program introduced us to using an Arduino, programming, reading circuit component manuals, and reading research papers. 

In the last week, I was paired with three other students to design some kind of useful product that utilized an Arduino and an ultrasonic sensor (HC-SR04). Our group decided to create an obstacle detection system that can be attached to the end of a car.

Click to Learn More

bottom of page